Details

Time bar (total: 7.0s)

analyze628.0ms (9%)

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

Results
709.0ms5325×body128valid
593.0ms1149×body2048valid
342.0ms774×body1024valid
301.0ms470×body4096valid
141.0ms1113×body128invalid
111.0ms365×body512valid
40.0ms173×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)

simplify34.0ms (0.5%)

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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
35.8b
Counts
3 → 2
Alt Table
StatusErrorProgram
35.9b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 4 a) c)))) (*.f64 2 a))
35.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.2%)

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

series161.0ms (2.3%)

Counts
4 → 96
Calls

36 calls:

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

rewrite79.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
278×log1p-udef_binary64
173×add-sqr-sqrt_binary64
167×*-un-lft-identity_binary64
167×pow1_binary64
162×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify55.0ms (0.8%)

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

prune179.0ms (2.6%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New22210232
Fresh011
Picked101
Done000
Total22311234
Error
6.7b
Counts
234 → 11
Alt Table
StatusErrorProgram
50.9b
(*.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)))
36.8b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))))) (*.f64 2 a))
50.8b
(pow.f64 (/.f64 a (*.f64 (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))))) 1/2)) -1)
40.5b
(/.f64 (neg.f64 b) a)
35.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
45.3b
(/.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (*.f64 2 a))
56.3b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
48.6b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
40.6b
(-.f64 (/.f64 c b) (/.f64 b a))
41.2b
(/.f64 (neg.f64 c) b)
48.5b
(*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a)))
Compiler

Compiled 6196 to 3875 computations (37.5% saved)

localize12.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.5b
(fma.f64 b b (*.f64 a (*.f64 c -4)))
1.6b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b)
25.5b
(sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))))

series120.0ms (1.7%)

Counts
4 → 96
Calls

36 calls:

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

rewrite71.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
142×add-sqr-sqrt_binary64
136×*-un-lft-identity_binary64
136×pow1_binary64
132×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

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

prune176.0ms (2.5%)

Pruning

15 alts after pruning (14 fresh and 1 done)

PrunedKeptTotal
New22210232
Fresh6410
Picked011
Done000
Total22815243
Error
6.7b
Counts
243 → 15
Alt Table
StatusErrorProgram
48.6b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
56.3b
(*.f64 (-.f64 (fma.f64 (*.f64 (/.f64 c b) a) -2 b) b) (/.f64 1/2 a))
32.5b
(/.f64 1 (/.f64 a (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2)))
40.5b
(/.f64 (neg.f64 b) a)
35.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
56.3b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
32.5b
(pow.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a)) 1)
38.7b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
49.5b
(/.f64 (*.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))
34.4b
(*.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b))) (/.f64 1/2 a))
45.3b
(*.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (/.f64 1/2 a))
40.7b
(*.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (neg.f64 b))) (/.f64 1/2 a))
32.4b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
40.6b
(-.f64 (/.f64 c b) (/.f64 b a))
41.2b
(/.f64 (neg.f64 c) b)
Compiler

Compiled 6043 to 3820 computations (36.8% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
0.7b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
14.5b
(sqrt.f64 (*.f64 a (*.f64 c -4)))

series270.0ms (3.9%)

Counts
3 → 24
Calls

24 calls:

61.0ms
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
a
-inf
37.0ms
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
c
inf
24.0ms
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
a
inf
18.0ms
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
c
-inf
18.0ms
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b)
c
inf

rewrite67.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
584×prod-diff_binary64
250×log1p-udef_binary64
143×add-sqr-sqrt_binary64
138×pow1_binary64
137×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01345
128245
2371445
Stop Event
node limit
Counts
3 → 120

simplify30.0ms (0.4%)

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
144 → 165

prune139.0ms (2%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1641165
Fresh21113
Picked011
Done011
Total16614180
Error
2.7b
Counts
180 → 14
Alt Table
StatusErrorProgram
48.6b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
56.3b
(*.f64 (-.f64 (fma.f64 (*.f64 (/.f64 c b) a) -2 b) b) (/.f64 1/2 a))
32.5b
(/.f64 1 (/.f64 a (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2)))
40.5b
(/.f64 (neg.f64 b) a)
35.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
56.3b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
32.5b
(pow.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a)) 1)
38.7b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
49.5b
(/.f64 (*.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))
44.0b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) 1/2) a)
45.3b
(*.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (/.f64 1/2 a))
40.7b
(*.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (neg.f64 b))) (/.f64 1/2 a))
32.4b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
41.2b
(/.f64 (neg.f64 c) b)
Compiler

Compiled 4371 to 2849 computations (34.8% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series129.0ms (1.9%)

Counts
1 → 12
Calls

9 calls:

27.0ms
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
a
-inf
26.0ms
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
inf
24.0ms
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
a
inf
19.0ms
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
-inf
11.0ms
(*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
c
0

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
575×prod-diff_binary64
249×log1p-udef_binary64
143×add-sqr-sqrt_binary64
137×pow1_binary64
136×*-un-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01321
128321
2364521
Stop Event
node limit
Counts
1 → 42

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
852×fma-neg_binary64
513×times-frac_binary64
250×associate-/l*_binary64
230×associate-/r*_binary64
189×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
069543
1216502
2683478
33939475
Stop Event
node limit
Counts
54 → 66

prune145.0ms (2.1%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1631164
Fresh01111
Picked101
Done022
Total16414178
Error
2.7b
Counts
178 → 14
Alt Table
StatusErrorProgram
48.6b
(/.f64 (/.f64 (-.f64 (fma.f64 b b (*.f64 c (*.f64 a -4))) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -4)))))) (*.f64 2 a))
56.3b
(*.f64 (-.f64 (fma.f64 (*.f64 (/.f64 c b) a) -2 b) b) (/.f64 1/2 a))
32.5b
(/.f64 1 (/.f64 a (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2)))
40.5b
(/.f64 (neg.f64 b) a)
35.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -4)))) b) (/.f64 1/2 a))
56.3b
(*.f64 (-.f64 b b) (/.f64 1/2 a))
44.0b
(pow.f64 (*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 a) (sqrt.f64 (*.f64 c -4)))) b) (/.f64 1/2 a)) 1)
49.5b
(/.f64 (*.f64 (-.f64 (fma.f64 b b (*.f64 a (*.f64 c -4))) (*.f64 b b)) (/.f64 1/2 a)) (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))))
44.0b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (*.f64 (sqrt.f64 (*.f64 c -4)) (sqrt.f64 a))) b) 1/2) a)
45.3b
(*.f64 (*.f64 -2 (/.f64 (*.f64 c a) b)) (/.f64 1/2 a))
40.7b
(*.f64 (*.f64 2 (fma.f64 (/.f64 c b) a (neg.f64 b))) (/.f64 1/2 a))
32.4b
(/.f64 (*.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))) b) 1/2) a)
41.2b
(/.f64 (neg.f64 c) b)
38.7b
(*.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b) (/.f64 1/2 a))
Compiler

Compiled 4574 to 3055 computations (33.2% saved)

regimes1.9s (28%)

Accuracy

Total 7.1b remaining (72.5%)

Threshold costs 0b (0%)

Counts
173 → 3
Compiler

Compiled 14912 to 10582 computations (29% saved)

bsearch88.0ms (1.3%)

Algorithm
binary-search
Calls

2 calls:

53.0ms
b
29.0ms
b
Steps
ItersPointRange
2.4043657819526966e-95
∈ [
6.495536785335216e-99
,
7.555548468790224e-94
]
-1.7835917271326807e+116
∈ [
-3.571763802003995e+116
,
-1.8834001322573645e+113
]
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: 1 (0.0ms)

IterNodesCost
02448
13846
24746
35346
45546
Stop Event
saturated

end165.0ms (2.4%)

Stop Event
fuel
Compiler

Compiled 311 to 211 computations (32.2% saved)

Profiling

Loading profile data...