Details

Time bar (total: 10.3s)

analyze861.0ms (8.4%)

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)

sample3.7s (35.7%)

Results
1.1s5336×body128valid
977.0ms1137×body2048valid
530.0ms788×body1024valid
425.0ms418×body4096valid
216.0ms1026×body128invalid
204.0ms401×body512valid
67.0ms176×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify432.0ms (4.2%)

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

prune7.0ms (0.1%)

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.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -4) (*.f64 b b))) b) (/.f64 1/2 a))
35.2b
(/.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))
1.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
1.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series249.0ms (2.4%)

Counts
4 → 96
Calls

4 calls:

98.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
78.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
60.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
12.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

rewrite38.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:

19.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 2 a))
8.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))
3.0ms
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))

simplify133.0ms (1.3%)

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

prune262.0ms (2.5%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New19710207
Fresh101
Picked101
Done000
Total19910209
Error
4.5b
Counts
209 → 10
Alt Table
StatusErrorProgram
36.6b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
40.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
35.3b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
47.6b
(/.f64 (neg.f64 b) a)
41.6b
(-.f64 (neg.f64 (/.f64 c b)) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))
35.7b
(neg.f64 (/.f64 c b))
35.8b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
47.1b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (*.f64 (*.f64 2 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))))
55.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
35.2b
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
Compiler

Compiled 5745 to 3210 computations (44.1% saved)

localize18.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
1.7b
(+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b))
1.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series152.0ms (1.5%)

Counts
2 → 40
Calls

2 calls:

92.0ms
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
60.0ms
(+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b))

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
18×*-un-lft-identity_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
distribute-lft-out_binary64
add-log-exp_binary64
Counts
2 → 55
Calls

2 calls:

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

simplify167.0ms (1.6%)

Algorithm
egg-herbie
Rules
590×fma-def_binary64
446×fma-neg_binary64
283×distribute-rgt-in_binary64
218×distribute-lft-in_binary64
160×cancel-sign-sub-inv_binary64
Counts
95 → 123
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01832627
15432426
218952313
346922313
449992313
549922313
649182313

prune200.0ms (1.9%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2060206
Fresh099
Picked011
Done000
Total20610216
Error
4.5b
Counts
216 → 10
Alt Table
StatusErrorProgram
36.6b
(/.f64 (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b))) (*.f64 2 a))
40.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
35.3b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
47.6b
(/.f64 (neg.f64 b) a)
41.6b
(-.f64 (neg.f64 (/.f64 c b)) (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))
35.7b
(neg.f64 (/.f64 c b))
35.8b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
47.1b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) 3)) (*.f64 (*.f64 2 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))))
55.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
35.2b
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
Compiler

Compiled 5731 to 3223 computations (43.8% saved)

localize24.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))
1.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
1.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series172.0ms (1.7%)

Counts
1 → 20
Calls

1 calls:

172.0ms
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))

rewrite42.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
53×times-frac_binary64
37×*-un-lft-identity_binary64
22×add-exp-log_binary64
21×add-sqr-sqrt_binary64
21×add-cube-cbrt_binary64
Counts
1 → 74
Calls

1 calls:

24.0ms
(/.f64 1 (/.f64 (*.f64 2 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))))

simplify166.0ms (1.6%)

Algorithm
egg-herbie
Rules
665×associate-/l*_binary64
599×div-sub_binary64
346×fma-def_binary64
296×fma-neg_binary64
265×associate-/r/_binary64
Counts
94 → 117
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01643247
14342847
215122670
345872670
461712670

prune247.0ms (2.4%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2543257
Fresh358
Picked101
Done011
Total2589267
Error
4.4b
Counts
267 → 9
Alt Table
StatusErrorProgram
35.8b
(/.f64 (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))) (/.f64 (*.f64 2 a) (sqrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))))
36.6b
(/.f64 1 (/.f64 (*.f64 2 a) (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))))
55.6b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 2 a))
35.7b
(*.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (/.f64 1 (-.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
29.5b
(/.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
40.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
47.6b
(/.f64 (neg.f64 b) a)
35.7b
(neg.f64 (/.f64 c b))
35.2b
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
Compiler

Compiled 7792 to 4557 computations (41.5% saved)

localize29.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
1.8b
(-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))
13.0b
(*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a))
22.3b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))

series120.0ms (1.2%)

Counts
2 → 44
Calls

2 calls:

108.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))
11.0ms
(*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a))

rewrite77.0ms (0.7%)

Algorithm
rewrite-expression-head
Rules
60×prod-diff_binary64
56×*-un-lft-identity_binary64
56×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
34×sqrt-prod_binary64
Counts
2 → 135
Calls

2 calls:

20.0ms
(*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a))
19.0ms
(-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))))

simplify275.0ms (2.7%)

Algorithm
egg-herbie
Rules
574×fma-neg_binary64
539×fma-def_binary64
322×associate-*l*_binary64
270×associate-*r*_binary64
156×exp-prod_binary64
Counts
179 → 176
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02626296
16394141
225083117
344483115
448733115

prune258.0ms (2.5%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2572259
Fresh257
Picked101
Done011
Total2608268
Error
4.4b
Counts
268 → 8
Alt Table
StatusErrorProgram
27.1b
(/.f64 (*.f64 2 c) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c))))))
36.6b
(/.f64 1 (/.f64 (*.f64 2 a) (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))))
40.2b
(/.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (/.f64 (*.f64 4 (*.f64 c a)) (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b) b)))
40.6b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -4))) b)))) (*.f64 2 a))
47.6b
(/.f64 (neg.f64 b) a)
35.7b
(neg.f64 (/.f64 c b))
35.7b
(*.f64 (*.f64 (*.f64 4 (*.f64 c a)) (/.f64 1/2 a)) (/.f64 1 (-.f64 (neg.f64 b) (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -4)))))))
35.2b
(/.f64 (+.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 4 (*.f64 a c)))) (neg.f64 b)) (*.f64 2 a))
Compiler

Compiled 10778 to 5634 computations (47.7% saved)

regimes2.4s (23.2%)

Accuracy

Total 1.6b remaining (23.6%)

Threshold costs 0b (0%)

Counts
216 → 4
Compiler

Compiled 20448 to 14305 computations (30% saved)

bsearch121.0ms (1.2%)

Steps
ItersRangePoint
6
4.245300539973689e+84
2.9179576036075558e+85
2.3431308109665615e+85
11
-1.7242544591762952e-294
9.40127380898348e-302
-1.9357207753357807e-308
5
-3.8345071439982345e+37
-1.0151334156400121e+37
-3.7715774085615172e+37
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03690
15990
28390
310390
411290
511690
611790
711590

end128.0ms (1.2%)

Compiler

Compiled 281 to 192 computations (31.7% saved)

Profiling

Loading profile data...