Details

Time bar (total: 7.8s)

analyze999.0ms (12.7%)

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.3s (28.8%)

Results
729.0ms5389×body128valid
610.0ms1150×body2048valid
317.0ms757×body1024valid
269.0ms422×body4096valid
146.0ms1064×body128invalid
131.0ms369×body512valid
38.0ms169×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess45.0ms (0.6%)

Algorithm
egg-herbie
Rules
807×fma-def_binary64
679×div-sub_binary64
295×fma-neg_binary64
214×associate-/l*_binary64
209×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039104
19888
219888
344688
476888
5126188
6223688
7445888
033
Stop Event
saturated
node limit
Compiler

Compiled 20 to 14 computations (30% saved)

simplify30.0ms (0.4%)

Algorithm
egg-herbie
Rules
747×fma-neg_binary64
619×times-frac_binary64
338×fma-def_binary64
314×associate-/l*_binary64
262×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13422
26922
316122
425922
541722
673422
7132622
8261822
9387722
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 4 (*.f64 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)

localize13.0ms (0.2%)

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

series117.0ms (1.5%)

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
6.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
c
-inf

rewrite79.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
277×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
134362
2485962
Stop Event
node limit
Counts
4 → 158

simplify51.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

prune176.0ms (2.2%)

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
47.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))
43.4b
(/.f64 (neg.f64 c) b)
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
39.8b
(/.f64 (neg.f64 b) a)
54.6b
(cbrt.f64 (pow.f64 (*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4)))) (/.f64 1/2 a)) 3))
46.8b
(pow.f64 (/.f64 (*.f64 a 2) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) -1)
57.5b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
46.8b
(*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (/.f64 1/2 a)))
Compiler

Compiled 6110 to 3544 computations (42% saved)

localize10.0ms (0.1%)

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))))

series128.0ms (1.6%)

Counts
4 → 96
Calls

36 calls:

13.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
a
inf
9.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))
b
inf
7.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
a
-inf
7.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
-inf

rewrite79.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

simplify53.0ms (0.7%)

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

prune160.0ms (2%)

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
43.4b
(/.f64 (neg.f64 c) b)
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)))))))
39.8b
(/.f64 (neg.f64 b) a)
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
46.8b
(*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (*.f64 (sqrt.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 a c) -4))))) (/.f64 1/2 a)))
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))
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))
35.7b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
Compiler

Compiled 5906 to 3673 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)))

series235.0ms (3%)

Counts
3 → 24
Calls

24 calls:

28.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
a
-inf
26.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
c
inf
26.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
a
inf
20.0ms
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
c
-inf
18.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
c
inf

rewrite194.0ms (2.5%)

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

simplify54.0ms (0.7%)

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

prune490.0ms (6.2%)

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
43.4b
(/.f64 (neg.f64 c) b)
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)))))))
46.4b
(/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (*.f64 a 2))
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
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)))
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))
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)

localize13.0ms (0.2%)

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)))

series547.0ms (7%)

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
63.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
c
inf
62.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
a
-inf
46.0ms
(*.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 -4 (*.f64 a c)))) b)) (/.f64 1/2 a))
c
-inf
29.0ms
(*.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)))
a
-inf

rewrite72.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

simplify40.0ms (0.5%)

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

prune269.0ms (3.4%)

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
43.4b
(/.f64 (neg.f64 c) b)
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)))))))
46.4b
(/.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) (*.f64 a 2))
30.5b
(/.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (*.f64 a 2))
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)))
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))
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.5s (18.7%)

Accuracy

Total 6.9b remaining (69.2%)

Threshold costs 0b (0%)

Counts
148 → 4
Compiler

Compiled 13152 to 9226 computations (29.9% saved)

bsearch114.0ms (1.5%)

Algorithm
binary-search
Calls

3 calls:

60.0ms
b
29.0ms
b
20.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

end133.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 271 to 180 computations (33.6% saved)

Profiling

Loading profile data...