Details

Time bar (total: 7.8s)

analyze947.0ms (12.2%)

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
0%99.9%0.1%5
0%99.9%0.1%6
0%93.6%6.4%7
6.2%87.4%6.4%8
10.1%81.1%8.7%9
15.6%71%13.4%10
22%63%15%11
29.1%52.9%18.1%12
33.8%45.6%20.5%13
38.8%38.9%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.2s (28.8%)

Results
703.0ms5389×body128valid
598.0ms1150×body2048valid
335.0ms757×body1024valid
261.0ms422×body4096valid
143.0ms1064×body128invalid
129.0ms369×body512valid
43.0ms169×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess44.0ms (0.6%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
685×div-sub_binary64
295×fma-neg_binary64
210×associate-/l*_binary64
209×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
038104
19988
222088
344588
476388
5125688
6223088
7445088
033
Stop Event
saturated
node limit
Compiler

Compiled 20 to 14 computations (30% saved)

simplify30.0ms (0.4%)

Algorithm
egg-herbie
Rules
763×fma-neg_binary64
619×times-frac_binary64
367×fma-def_binary64
242×distribute-rgt-in_binary64
239×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13322
27222
316322
426722
543622
674722
7133522
8268922
9408622
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
31.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
31.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
Compiler

Compiled 111 to 75 computations (32.4% saved)

localize11.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 (*.f64 4 a) c)))) (*.f64 2 a))
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))
0.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
21.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))

series147.0ms (1.9%)

Counts
4 → 96
Calls

36 calls:

16.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c))))
a
inf
11.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
a
-inf
10.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
a
inf
9.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
c
-inf
8.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
b
-inf

rewrite76.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
278×log1p-udef_binary64
166×add-sqr-sqrt_binary64
162×log1p-expm1-u_binary64
162×expm1-log1p-u_binary64
161×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01574
134262
2486562
Stop Event
node limit
Counts
4 → 158

simplify76.0ms (1%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
467×associate-/l*_binary64
432×fma-def_binary64
422×associate-/r*_binary64
142×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212241
14022164
214032078
Stop Event
node limit
Counts
254 → 232

prune191.0ms (2.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2248232
Fresh011
Picked101
Done000
Total2259234
Error
4.1b
Counts
234 → 9
Alt Table
StatusErrorProgram
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
47.1b
(/.f64 (/.f64 (-.f64 (*.f64 b b) (fma.f64 b b (*.f64 c (*.f64 a -4)))) (-.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
57.5b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
43.4b
(/.f64 (neg.f64 c) b)
46.8b
(pow.f64 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 1/2)) -1)
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
46.8b
(*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 1/2 a)))
39.8b
(/.f64 (neg.f64 b) a)
54.6b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) (/.f64 1/2 a)) 3))
Compiler

Compiled 6110 to 3809 computations (37.7% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
0.3b
(fma.f64 b b (*.f64 a (*.f64 c -4)))
0.7b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
21.4b
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))

series141.0ms (1.8%)

Counts
4 → 96
Calls

36 calls:

16.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
inf
11.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
a
-inf
10.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
a
inf
8.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
-inf
6.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
c
inf

rewrite76.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
158×egg-rr
139×add-sqr-sqrt_binary64
132×log1p-expm1-u_binary64
132×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01362
128159
2362659
Stop Event
node limit
Counts
4 → 158

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
742×times-frac_binary64
467×associate-/l*_binary64
432×fma-def_binary64
422×associate-/r*_binary64
142×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212241
14022164
214032078
Stop Event
node limit
Counts
254 → 232

prune161.0ms (2.1%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2266232
Fresh538
Picked101
Done000
Total2329241
Error
4.1b
Counts
241 → 9
Alt Table
StatusErrorProgram
35.7b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
39.8b
(/.f64 (neg.f64 b) a)
57.5b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
49.5b
(/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
43.4b
(/.f64 (neg.f64 c) b)
40.2b
(*.f64 (-.f64 (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b) b) (/.f64 1/2 a))
46.8b
(*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (/.f64 1/2 a)))
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
46.1b
(*.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 1/2 a))
Compiler

Compiled 5906 to 3675 computations (37.8% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
0.2b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
13.6b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series251.0ms (3.2%)

Counts
3 → 24
Calls

24 calls:

29.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
a
-inf
28.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
c
inf
27.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
a
inf
22.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
c
-inf
20.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
c
inf

rewrite180.0ms (2.3%)

Algorithm
batch-egg-rewrite
Rules
937×prod-diff_binary64
442×egg-rr
143×add-sqr-sqrt_binary64
136×log1p-expm1-u_binary64
136×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01345
128745
2391445
Stop Event
node limit
Counts
3 → 442

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
728×times-frac_binary64
385×associate-/l*_binary64
360×associate-/r*_binary64
271×associate-*r*_binary64
249×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0102988
1323908
21054857
Stop Event
node limit
Counts
466 → 487

prune471.0ms (6.1%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New4852487
Fresh268
Picked011
Done000
Total4879496
Error
2.5b
Counts
496 → 9
Alt Table
StatusErrorProgram
39.8b
(/.f64 (neg.f64 b) a)
30.8b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a)))
46.4b
(/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (*.f64 a 2))
40.2b
(*.f64 (-.f64 (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b) b) (/.f64 1/2 a))
57.5b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
49.5b
(/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
43.4b
(/.f64 (neg.f64 c) b)
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
46.1b
(*.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 1/2 a))
Compiler

Compiled 23618 to 15206 computations (35.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a)))
0.2b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
0.2b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)
13.6b
(sqrt.f64 (*.f64 -4 (*.f64 a c)))

series584.0ms (7.5%)

Counts
4 → 28
Calls

33 calls:

67.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
a
-inf
67.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
c
inf
61.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
a
inf
43.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
c
-inf
32.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)
a
inf

rewrite68.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
568×prod-diff_binary64
157×add-sqr-sqrt_binary64
149×log1p-expm1-u_binary64
149×expm1-log1p-u_binary64
148×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01568
132468
2408768
Stop Event
node limit
Counts
4 → 134

simplify57.0ms (0.7%)

Algorithm
egg-herbie
Rules
728×times-frac_binary64
421×associate-/l*_binary64
386×associate-/r*_binary64
369×fma-def_binary64
202×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281230
13971134
212861109
Stop Event
node limit
Counts
162 → 190

prune231.0ms (3%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2950295
Fresh077
Picked011
Done011
Total2959304
Error
2.5b
Counts
304 → 9
Alt Table
StatusErrorProgram
39.8b
(/.f64 (neg.f64 b) a)
30.8b
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a)))
46.4b
(/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (*.f64 a 2))
40.2b
(*.f64 (-.f64 (-.f64 (*.f64 2 (*.f64 (/.f64 c b) a)) b) b) (/.f64 1/2 a))
57.5b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
49.5b
(/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (*.f64 (*.f64 a 2) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
43.4b
(/.f64 (neg.f64 c) b)
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
46.1b
(*.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) (/.f64 1/2 a))
Compiler

Compiled 10462 to 6741 computations (35.6% saved)

regimes1.4s (18.1%)

Accuracy

Total 6.9b remaining (69.2%)

Threshold costs 0b (0%)

Counts
148 → 4
Compiler

Compiled 13152 to 9290 computations (29.4% saved)

bsearch105.0ms (1.4%)

Algorithm
binary-search
Calls

3 calls:

58.0ms
b
23.0ms
b
18.0ms
b
Steps
ItersPointRange
1.648410596510835e-47
∈ [
8.600532443318868e-50
,
7.975834508293734e-38
]
-1.4196138185551953e-103
∈ [
-4.598494536205818e-103
,
-1.3884645000775056e-103
]
-1.2624005950379626e+150
∈ [
-1.1719631462360283e+151
,
-5.881653300789134e+149
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.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
03473
15173
26173
36773
46973
Stop Event
saturated

end127.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 271 to 180 computations (33.6% saved)

Profiling

Loading profile data...