Details

Time bar (total: 7.2s)

analyze620.0ms (8.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
18.7%81.1%0.1%6
21.8%71.8%6.4%7
31.2%62.4%6.4%8
35.9%55.4%8.7%9
37.8%48.8%13.4%10
42.7%42.3%15%11
47.7%34.2%18.1%12
49.1%30.4%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.2s (30.6%)

Results
713.0ms5464×body128valid
588.0ms1114×body2048valid
300.0ms712×body1024valid
266.0ms408×body4096valid
165.0ms1125×body128invalid
117.0ms377×body512valid
39.0ms181×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess37.0ms (0.5%)

Algorithm
egg-herbie
Rules
531×associate-/l*_binary64
461×fma-neg_binary64
449×div-sub_binary64
277×fma-def_binary64
251×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039104
111596
230896
378488
4148288
5283988
033
Stop Event
saturated
node limit
Compiler

Compiled 20 to 14 computations (30% saved)

simplify40.0ms (0.5%)

Algorithm
egg-herbie
Rules
846×fma-def_binary64
544×div-sub_binary64
489×fma-neg_binary64
405×times-frac_binary64
262×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01526
13824
210024
325922
446022
584022
6179022
7299922
8368222
9474222
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
35.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
35.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
35.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
Compiler

Compiled 111 to 74 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
0.6b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
1.5b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
24.6b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series120.0ms (1.7%)

Counts
4 → 96
Calls

36 calls:

10.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
a
-inf
9.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
a
inf
7.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
c
-inf
7.0ms
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
c
inf
5.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
c
-inf

rewrite80.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
169×add-sqr-sqrt_binary64
165×log1p-expm1-u_binary64
165×expm1-log1p-u_binary64
164×add-cbrt-cube_binary64
160×egg-rr
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01574
134762
Stop Event
node limit
Counts
4 → 160

simplify59.0ms (0.8%)

Algorithm
egg-herbie
Rules
743×times-frac_binary64
469×associate-/l*_binary64
434×fma-def_binary64
425×associate-/r*_binary64
158×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01252060
14151984
214751904
Stop Event
node limit
Counts
256 → 236

prune183.0ms (2.5%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2297236
Fresh011
Picked011
Done000
Total2299238
Error
6.1b
Counts
238 → 9
Alt Table
StatusErrorProgram
36.9b
(/.f64 (-.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (*.f64 2 a))
35.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
48.1b
(/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 2 a))
50.4b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (pow.f64 b 2))) (*.f64 2 a))
48.1b
(/.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 (*.f64 a c) -4))) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))))) (*.f64 2 a))
39.5b
(/.f64 (neg.f64 c) b)
44.5b
(-.f64 (/.f64 c b) (/.f64 b a))
44.3b
(neg.f64 (/.f64 b a))
35.3b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
Compiler

Compiled 6277 to 3647 computations (41.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a (*.f64 c -4) (*.f64 b b))
0.2b
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
1.5b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.6b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series117.0ms (1.6%)

Counts
4 → 96
Calls

36 calls:

10.0ms
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
a
-inf
9.0ms
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
a
inf
8.0ms
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
c
-inf
7.0ms
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
c
-inf
7.0ms
(*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) (/.f64 -1/2 a))
c
inf

rewrite66.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
954×prod-diff_binary64
137×add-sqr-sqrt_binary64
131×log1p-expm1-u_binary64
131×expm1-log1p-u_binary64
130×egg-rr
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01362
127962
2361662
Stop Event
node limit
Counts
4 → 130

simplify47.0ms (0.6%)

Algorithm
egg-herbie
Rules
740×times-frac_binary64
465×associate-/l*_binary64
423×associate-/r*_binary64
372×fma-def_binary64
147×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01162045
13811971
213391891
Stop Event
node limit
Counts
226 → 204

prune180.0ms (2.5%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1986204
Fresh437
Picked101
Done011
Total20310213
Error
6.0b
Counts
213 → 10
Alt Table
StatusErrorProgram
35.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
44.4b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
39.5b
(/.f64 (neg.f64 c) b)
42.0b
(*.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) (/.f64 -1/2 a))
44.7b
(*.f64 (*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a))) (/.f64 -1/2 a))
45.6b
(/.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
50.4b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (pow.f64 b 2))) (*.f64 2 a))
44.5b
(-.f64 (/.f64 c b) (/.f64 b a))
47.1b
(/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 (*.f64 a -2) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
35.3b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
Compiler

Compiled 5147 to 3007 computations (41.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))
0.2b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
1.5b
(+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))
24.6b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series188.0ms (2.6%)

Counts
2 → 40
Calls

18 calls:

36.0ms
(/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))
c
inf
30.0ms
(/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))
a
-inf
27.0ms
(/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))
c
-inf
24.0ms
(/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2))
a
inf
11.0ms
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
a
inf

rewrite70.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
972×prod-diff_binary64
156×add-sqr-sqrt_binary64
148×add-cbrt-cube_binary64
148×log1p-expm1-u_binary64
148×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01547
132044
2421144
Stop Event
node limit
Counts
2 → 89

simplify33.0ms (0.5%)

Algorithm
egg-herbie
Rules
801×times-frac_binary64
498×associate-/l*_binary64
432×associate-/r*_binary64
306×fma-def_binary64
116×associate-/r/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01091185
13601168
212681105
Stop Event
node limit
Counts
129 → 135

prune184.0ms (2.6%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2371238
Fresh178
Picked011
Done011
Total23810248
Error
6.0b
Counts
248 → 10
Alt Table
StatusErrorProgram
35.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
44.4b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
39.5b
(/.f64 (neg.f64 c) b)
39.6b
(/.f64 1 (-.f64 (/.f64 a b) (/.f64 b c)))
44.7b
(*.f64 (*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a))) (/.f64 -1/2 a))
45.6b
(/.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
50.4b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (pow.f64 b 2))) (*.f64 2 a))
44.5b
(-.f64 (/.f64 c b) (/.f64 b a))
47.1b
(/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 (*.f64 a -2) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
35.3b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
Compiler

Compiled 6174 to 3775 computations (38.9% saved)

localize3.0ms (0%)

prune5.0ms (0.1%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New000
Fresh077
Picked011
Done022
Total01010
Error
6.0b
Counts
10 → 10
Alt Table
StatusErrorProgram
35.2b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
44.4b
(*.f64 (+.f64 b b) (/.f64 -1/2 a))
39.5b
(/.f64 (neg.f64 c) b)
39.6b
(/.f64 1 (-.f64 (/.f64 a b) (/.f64 b c)))
44.7b
(*.f64 (*.f64 2 (-.f64 b (*.f64 (/.f64 c b) a))) (/.f64 -1/2 a))
45.6b
(/.f64 (*.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (/.f64 -1/2 a)) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))))
50.4b
(/.f64 (-.f64 (neg.f64 b) (sqrt.f64 (pow.f64 b 2))) (*.f64 2 a))
44.5b
(-.f64 (/.f64 c b) (/.f64 b a))
47.1b
(/.f64 (-.f64 (*.f64 b b) (fma.f64 a (*.f64 c -4) (*.f64 b b))) (*.f64 (*.f64 a -2) (-.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))))))
35.3b
(/.f64 1 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))) -1/2)))
Compiler

Compiled 171 to 110 computations (35.7% saved)

regimes2.7s (37.9%)

Accuracy

Total 5.0b remaining (47.1%)

Threshold costs 0b (0%)

Counts
201 → 3
Compiler

Compiled 16832 to 11622 computations (31% saved)

bsearch80.0ms (1.1%)

Algorithm
binary-search
Calls

2 calls:

55.0ms
b
18.0ms
b
Steps
ItersPointRange
8.78674791955544e+79
∈ [
4.512357091273017e+79
,
9.269001199721543e+79
]
-2.0142789486219722e-102
∈ [
-5.237301060789583e-99
,
-1.9894619644440475e-115
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02550
13550
24450
35150
45550
55650
Stop Event
saturated

end124.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 245 to 156 computations (36.3% saved)

Profiling

Loading profile data...