Details

Time bar (total: 8.5s)

analyze706.0ms (8.3%)

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
18.7%76.5%4.8%7
28.1%66.3%5.6%8
34.7%55.4%9.9%9
36.1%51.1%12.8%10
42.1%42.4%15.5%11
47.5%33.8%18.7%12
48.8%30.7%20.6%13
51.8%25.6%22.5%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample2.0s (23%)

Results
604.0ms5306×body128valid
519.0ms1168×body2048valid
282.0ms781×body1024valid
218.0ms412×body4096valid
128.0ms1114×body128invalid
104.0ms382×body512valid
39.0ms207×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify61.0ms (0.7%)

Algorithm
egg-herbie
Rules
808×fma-neg_binary64
361×div-sub_binary64
341×fma-def_binary64
313×associate-/l*_binary64
224×times-frac_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01120
12318
24218
37718
412318
521818
637018
758618
894818
9147118
10200018
11322018
12409518
13442718
14443518
15444318
16446918
17448518
18452118
19455318
20456518
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
33.9b
Counts
3 → 1
Alt Table
StatusErrorProgram
33.9b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
Compiler

Compiled 58 to 30 computations (48.3% saved)

localize7.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
24.5b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series161.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

78.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
44.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
31.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
8.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))

rewrite91.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
700×fma-def_binary64
338×fma-neg_binary64
313×egg-rr
216×expm1-udef_binary64
216×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01055
123955
2360555
Stop Event
node limit
Counts
4 → 313
Calls

4 calls:

84.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
84.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
84.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
84.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
738×times-frac_binary64
490×associate-/l*_binary64
401×associate-/r*_binary64
360×fma-def_binary64
133×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202203
13922175
213832133
Stop Event
node limit
Counts
409 → 388

prune264.0ms (3.1%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New37711388
Fresh000
Picked101
Done000
Total37811389
Error
5.0b
Counts
389 → 11
Alt Table
StatusErrorProgram
40.9b
(-.f64 (*.f64 1/2 (/.f64 c b_2)) (*.f64 2 (/.f64 b_2 a)))
33.9b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
35.4b
(fma.f64 (/.f64 (cbrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) (neg.f64 (/.f64 b_2 a)))
42.1b
(/.f64 (/.f64 (-.f64 (pow.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)) 3/2) (pow.f64 b_2 3)) (fma.f64 b_2 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
34.1b
(*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (*.f64 (sqrt.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) (/.f64 1 a)))
46.3b
(/.f64 (*.f64 (-.f64 (*.f64 b_2 b_2) (fma.f64 b_2 b_2 (*.f64 a c))) (/.f64 1 (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) a)
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))
56.5b
(/.f64 (-.f64 b_2 b_2) a)
40.9b
(*.f64 (/.f64 -2 a) b_2)
41.7b
(/.f64 (*.f64 c -1/2) b_2)
40.9b
(/.f64 (*.f64 -2 b_2) a)
Compiler

Compiled 9647 to 2970 computations (69.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
24.5b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series55.0ms (0.6%)

Counts
1 → 20
Calls

1 calls:

55.0ms
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
699×fma-def_binary64
320×fma-neg_binary64
230×expm1-udef_binary64
230×log1p-udef_binary64
133×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
127218
2379518
Stop Event
node limit
Counts
1 → 43
Calls

1 calls:

50.0ms
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))

simplify54.0ms (0.6%)

Algorithm
egg-herbie
Rules
881×fma-neg_binary64
363×times-frac_binary64
238×associate-/l*_binary64
212×associate-*r*_binary64
204×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065654
1207642
2703624
33903624
Stop Event
node limit
Counts
63 → 66

prune245.0ms (2.9%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New3794383
Fresh4610
Picked011
Done000
Total38311394
Error
5.0b
Counts
394 → 11
Alt Table
StatusErrorProgram
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -2)))
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))
40.9b
(/.f64 (*.f64 -2 b_2) a)
46.3b
(*.f64 (/.f64 (-.f64 (*.f64 b_2 b_2) (fma.f64 b_2 b_2 (*.f64 a c))) (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a))
56.5b
(/.f64 (-.f64 b_2 b_2) a)
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
33.9b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
40.9b
(*.f64 (/.f64 -2 a) b_2)
41.7b
(/.f64 (*.f64 c -1/2) b_2)
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2) (/.f64 1 a))
35.4b
(fma.f64 (/.f64 (cbrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) (neg.f64 (/.f64 b_2 a)))
Compiler

Compiled 10086 to 3582 computations (64.5% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
1.2b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.2b
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
24.5b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series618.0ms (7.3%)

Counts
1 → 20
Calls

1 calls:

618.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
323×fma-neg_binary64
238×expm1-udef_binary64
238×log1p-udef_binary64
137×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01221
127718
2391218
Stop Event
node limit
Counts
1 → 46
Calls

1 calls:

51.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)

simplify36.0ms (0.4%)

Algorithm
egg-herbie
Rules
881×fma-neg_binary64
363×times-frac_binary64
239×associate-/l*_binary64
212×associate-*r*_binary64
206×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
065654
1207642
2703624
33907624
Stop Event
node limit
Counts
66 → 69

prune239.0ms (2.8%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3851386
Fresh099
Picked011
Done011
Total38512397
Error
5.0b
Counts
397 → 12
Alt Table
StatusErrorProgram
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -2)))
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))
41.7b
(/.f64 (*.f64 c -1/2) b_2)
44.8b
(pow.f64 (/.f64 a (*.f64 (/.f64 (*.f64 c -1/2) b_2) a)) -1)
40.9b
(/.f64 (*.f64 -2 b_2) a)
46.3b
(*.f64 (/.f64 (-.f64 (*.f64 b_2 b_2) (fma.f64 b_2 b_2 (*.f64 a c))) (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a))
56.5b
(/.f64 (-.f64 b_2 b_2) a)
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
33.9b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
40.9b
(*.f64 (/.f64 -2 a) b_2)
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2) (/.f64 1 a))
35.4b
(fma.f64 (/.f64 (cbrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) (neg.f64 (/.f64 b_2 a)))
Compiler

Compiled 10159 to 3571 computations (64.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(pow.f64 (cbrt.f64 c) 2)
0.5b
(cbrt.f64 c)
1.2b
(-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2)
24.5b
(sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2)))

series182.0ms (2.1%)

Counts
4 → 35
Calls

4 calls:

90.0ms
(-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2)
60.0ms
(sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2)))
21.0ms
(pow.f64 (cbrt.f64 c) 2)
10.0ms
(cbrt.f64 c)

rewrite63.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
772×prod-diff_binary64
211×log1p-udef_binary64
136×egg-rr
133×add-sqr-sqrt_binary64
128×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01356
127536
2349436
Stop Event
node limit
Counts
4 → 136
Calls

4 calls:

60.0ms
(pow.f64 (cbrt.f64 c) 2)
60.0ms
(cbrt.f64 c)
60.0ms
(-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2)
60.0ms
(sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2)))

simplify50.0ms (0.6%)

Algorithm
egg-herbie
Rules
447×unswap-sqr_binary64
409×times-frac_binary64
278×associate-/l*_binary64
266×associate-*r*_binary64
224×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
082979
1266963
2866945
34563945
Stop Event
node limit
Counts
171 → 181

prune127.0ms (1.5%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New2040204
Fresh099
Picked011
Done022
Total20412216
Error
5.0b
Counts
216 → 12
Alt Table
StatusErrorProgram
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -2)))
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 a))
41.7b
(/.f64 (*.f64 c -1/2) b_2)
44.8b
(pow.f64 (/.f64 a (*.f64 (/.f64 (*.f64 c -1/2) b_2) a)) -1)
40.9b
(/.f64 (*.f64 -2 b_2) a)
46.3b
(*.f64 (/.f64 (-.f64 (*.f64 b_2 b_2) (fma.f64 b_2 b_2 (*.f64 a c))) (+.f64 b_2 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (/.f64 1 a))
56.5b
(/.f64 (-.f64 b_2 b_2) a)
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
33.9b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
40.9b
(*.f64 (/.f64 -2 a) b_2)
34.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2))) b_2) (/.f64 1 a))
35.4b
(fma.f64 (/.f64 (cbrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) 1) (/.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a) (neg.f64 (/.f64 b_2 a)))
Compiler

Compiled 5431 to 2445 computations (55% saved)

regimes3.2s (37.7%)

Accuracy

Total 4.8b remaining (45.2%)

Threshold costs 0b (0%)

Counts
198 → 3
Compiler

Compiled 18932 to 10582 computations (44.1% saved)

bsearch41.0ms (0.5%)

Steps
ItersRangePoint
4
2.3830180217927396e-41
3.6143573520012696e-41
2.498456083999789e-41
4
-6.13913964654954e+110
-1.3790581557581322e+105
-5.6088049906029185e+109
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
20×cancel-sign-sub-inv_binary64
18×neg-sub0_binary64
18×neg-mul-1_binary64
17×distribute-rgt-neg-in_binary64
17×sub-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02548
14248
26248
38246
411246
514746
617046
719746
821646
922046
Stop Event
saturated

end156.0ms (1.8%)

Compiler

Compiled 251 to 159 computations (36.7% saved)

Profiling

Loading profile data...