Details

Time bar (total: 12.9s)

analyze646.0ms (5%)

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
25%74.9%0.1%4
37.4%62.4%0.1%5
37.4%62.4%0.1%6
37.4%56.2%6.4%7
45.2%48.4%6.4%8
49.1%42.1%8.7%9
51.5%35.1%13.4%10
58.1%27.7%14.2%11
60.8%22.6%16.5%12
62.3%18.7%19%13
66.2%14.4%19.4%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample3.0s (23.1%)

Results
1.0s5655×body128valid
780.0ms1093×body2048valid
356.0ms635×body1024valid
306.0ms373×body4096valid
167.0ms343×body512valid
117.0ms669×body128invalid
46.0ms157×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify654.0ms (5.1%)

Algorithm
egg-herbie
Rules
2009×fma-neg_binary64
1508×div-sub_binary64
1334×associate-/l*_binary64
1156×fma-def_binary64
685×associate-/l/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01526
13422
26422
313222
419822
532522
655222
791822
8135222
9155422
10235922
11315822
12256522
13265322
14321922
15336122
16346122
17398522
18417122
19443922
20465922
21470122
22475722
23494122
24494122
25336522
26305922
27298322
28298522
29299722
30299722
31299722
32299722
33273622

prune8.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize22.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.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
25.0b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series362.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

155.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
98.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
91.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
18.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite55.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
10×fma-def_binary64
10×add-cube-cbrt_binary64
10×add-log-exp_binary64
Counts
4 → 90
Calls

4 calls:

17.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
13.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
6.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
6.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

simplify221.0ms (1.7%)

Algorithm
egg-herbie
Rules
697×fma-neg_binary64
327×cancel-sign-sub-inv_binary64
226×distribute-rgt-neg-in_binary64
150×distribute-rgt-neg-out_binary64
146×associate-*r*_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02434202
16933825
224883724
346523704
449853704

prune724.0ms (5.6%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New1998207
Fresh011
Picked101
Done000
Total2009209
Error
3.5b
Counts
209 → 9
Alt Table
StatusErrorProgram
44.7b
(fma.f64 1/4 (/.f64 (*.f64 b b) (*.f64 a (sqrt.f64 (*.f64 c (*.f64 a -4))))) (*.f64 1/2 (-.f64 (/.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) a) (/.f64 b a))))
29.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b))) (cbrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))) (cbrt.f64 (fma.f64 (*.f64 c a) -4 (*.f64 b b)))))) (*.f64 2 a))
39.2b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
29.0b
(*.f64 (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) 2) (/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) a))
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
39.9b
(/.f64 (neg.f64 b) a)
41.5b
(neg.f64 (/.f64 c b))
47.0b
(*.f64 (sqrt.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) (*.f64 a 2))) (sqrt.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b) (*.f64 a 2))))
Compiler

Compiled 5699 to 3180 computations (44.2% saved)

localize22.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
1.0b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
25.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series367.0ms (2.8%)

Counts
3 → 60
Calls

3 calls:

166.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
109.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
91.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

rewrite47.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
31×*-un-lft-identity_binary64
27×add-cube-cbrt_binary64
18×prod-diff_binary64
17×sqrt-prod_binary64
Counts
3 → 99
Calls

3 calls:

18.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
9.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
2.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

simplify187.0ms (1.4%)

Algorithm
egg-herbie
Rules
505×fma-neg_binary64
316×distribute-rgt-in_binary64
279×distribute-lft-in_binary64
261×cancel-sign-sub-inv_binary64
151×associate-*r*_binary64
Counts
159 → 207
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02584859
16623980
224793807
348593807
449663807

prune223.0ms (1.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2052207
Fresh448
Picked011
Done000
Total2097216
Error
3.5b
Counts
216 → 7
Alt Table
StatusErrorProgram
38.4b
(/.f64 (*.f64 1/2 (+.f64 (*.f64 a (*.f64 c -4)) 0)) (*.f64 a (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))))
41.5b
(neg.f64 (/.f64 c b))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
39.9b
(/.f64 (neg.f64 b) a)
39.2b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
33.4b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
Compiler

Compiled 5742 to 3336 computations (41.9% saved)

localize27.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
0.6b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
11.0b
(*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a))
25.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series520.0ms (4%)

Counts
3 → 64
Calls

3 calls:

440.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
73.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
6.0ms
(*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a))

rewrite66.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
21×*-un-lft-identity_binary64
20×add-sqr-sqrt_binary64
17×add-cbrt-cube_binary64
17×add-exp-log_binary64
15×add-cube-cbrt_binary64
Counts
3 → 92
Calls

3 calls:

26.0ms
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
20.0ms
(*.f64 (+.f64 (*.f64 a (*.f64 c -4)) 0) (/.f64 1/2 a))
7.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)

simplify264.0ms (2%)

Algorithm
egg-herbie
Rules
645×fma-neg_binary64
245×associate-*l*_binary64
225×associate-/l*_binary64
221×associate-*r*_binary64
177×div-sub_binary64
Counts
156 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02493787
17043238
231183153
345283153
449983153
549033153

prune376.0ms (2.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2382240
Fresh235
Picked101
Done011
Total2416247
Error
3.5b
Counts
247 → 6
Alt Table
StatusErrorProgram
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
31.9b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
34.9b
(/.f64 1 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4))))) (/.f64 (*.f64 (*.f64 c a) -2) a)))
41.5b
(neg.f64 (/.f64 c b))
39.2b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
Compiler

Compiled 7929 to 5001 computations (36.9% saved)

localize21.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
0.6b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b)
25.0b
(sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b)))

series498.0ms (3.8%)

Counts
1 → 20
Calls

1 calls:

498.0ms
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))

rewrite13.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/r*_binary64
times-frac_binary64
Counts
1 → 27
Calls

1 calls:

10.0ms
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))

simplify141.0ms (1.1%)

Algorithm
egg-herbie
Rules
769×times-frac_binary64
615×associate-/l*_binary64
357×associate-/r*_binary64
352×fma-neg_binary64
235×fma-def_binary64
Counts
47 → 67
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01271488
13661333
211801254
348441254
450781254

prune240.0ms (1.9%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1592161
Fresh134
Picked011
Done011
Total1607167
Error
3.5b
Counts
167 → 7
Alt Table
StatusErrorProgram
40.0b
(-.f64 (/.f64 c b) (/.f64 b a))
31.9b
(/.f64 (*.f64 -2 c) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
41.5b
(neg.f64 (/.f64 c b))
39.2b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
37.3b
(/.f64 (*.f64 -2 c) (+.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4)))))) b))
32.5b
(/.f64 -2 (/.f64 (+.f64 b (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -4))))) c))
Compiler

Compiled 4171 to 2512 computations (39.8% saved)

regimes4.0s (30.8%)

Accuracy

Total 1.0b remaining (16.7%)

Threshold costs 1.0b (16.7%)

Counts
187 → 4
Compiler

Compiled 16943 to 11828 computations (30.2% saved)

bsearch104.0ms (0.8%)

Steps
ItersRangePoint
7
4.199021549675812e+120
7.979983627339533e+128
5.69311637248718e+122
7
4.199590604817195e-304
9.40127380898348e-302
4.311454940969704e-304
4
-4.8293727107314014e+85
-1.0473602901519483e+84
-3.765674528228214e+85
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
03982
16280
27980
39480
410180
510480
610580
710380

end157.0ms (1.2%)

Compiler

Compiled 227 to 146 computations (35.7% saved)

Profiling

Loading profile data...