Details

Time bar (total: 8.3s)

analyze709.0ms (8.6%)

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 (24.8%)

Results
640.0ms5306×body128valid
545.0ms1168×body2048valid
294.0ms781×body1024valid
227.0ms412×body4096valid
132.0ms1114×body128invalid
107.0ms382×body512valid
43.0ms207×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify62.0ms (0.8%)

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)

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

series211.0ms (2.6%)

Counts
4 → 96
Calls

4 calls:

124.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
45.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
33.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))

rewrite102.0ms (1.2%)

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:

95.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
95.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
95.0ms
(-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)
95.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

prune263.0ms (3.2%)

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
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)))
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)))
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 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)
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
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
40.9b
(/.f64 (*.f64 -2 b_2) a)
40.9b
(-.f64 (*.f64 1/2 (/.f64 c b_2)) (*.f64 2 (/.f64 b_2 a)))
40.9b
(*.f64 (/.f64 -2 a) b_2)
41.7b
(/.f64 (*.f64 c -1/2) b_2)
56.5b
(/.f64 (-.f64 b_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)))

series67.0ms (0.8%)

Counts
1 → 20
Calls

1 calls:

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

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

simplify37.0ms (0.4%)

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

prune274.0ms (3.3%)

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
41.7b
(/.f64 (*.f64 c -1/2) b_2)
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)
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -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))
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 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 b_2) a)
40.9b
(*.f64 (/.f64 -2 a) b_2)
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)

localize18.0ms (0.2%)

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

series662.0ms (8%)

Counts
1 → 20
Calls

1 calls:

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

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

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

prune245.0ms (3%)

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
41.7b
(/.f64 (*.f64 c -1/2) b_2)
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)
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -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))
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
33.9b
(*.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) (/.f64 1 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 b_2) a)
44.8b
(pow.f64 (/.f64 a (*.f64 (/.f64 (*.f64 c -1/2) b_2) a)) -1)
40.9b
(*.f64 (/.f64 -2 a) b_2)
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)

localize14.0ms (0.2%)

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

series329.0ms (4%)

Counts
4 → 80
Calls

4 calls:

133.0ms
(sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2)))
123.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)
43.0ms
(pow.f64 (cbrt.f64 c) 2)
30.0ms
(cbrt.f64 c)

rewrite62.0ms (0.8%)

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:

59.0ms
(pow.f64 (cbrt.f64 c) 2)
59.0ms
(cbrt.f64 c)
59.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)
59.0ms
(sqrt.f64 (fma.f64 (*.f64 (neg.f64 a) (pow.f64 (cbrt.f64 c) 2)) (cbrt.f64 c) (*.f64 b_2 b_2)))

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Rules
409×times-frac_binary64
286×associate-*r*_binary64
278×associate-/l*_binary64
237×associate-*l*_binary64
226×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0941472
12991452
29361410
347561410
Stop Event
node limit
Counts
216 → 191

prune133.0ms (1.6%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2161217
Fresh189
Picked011
Done112
Total21811229
Error
5.0b
Counts
229 → 11
Alt Table
StatusErrorProgram
41.7b
(/.f64 (*.f64 c -1/2) b_2)
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)
40.9b
(fma.f64 1/2 (/.f64 c b_2) (/.f64 b_2 (/.f64 a -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))
46.6b
(/.f64 (sqrt.f64 (*.f64 a (neg.f64 c))) a)
34.1b
(*.f64 (-.f64 (hypot.f64 b_2 (sqrt.f64 (*.f64 c (neg.f64 a)))) b_2) (/.f64 1 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 b_2) a)
44.8b
(pow.f64 (/.f64 a (*.f64 (/.f64 (*.f64 c -1/2) b_2) a)) -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)))
Compiler

Compiled 5688 to 2578 computations (54.7% saved)

regimes2.6s (31.3%)

Accuracy

Total 4.8b remaining (45.2%)

Threshold costs 0b (0%)

Counts
203 → 3
Compiler

Compiled 19168 to 10758 computations (43.9% saved)

bsearch47.0ms (0.6%)

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

end128.0ms (1.5%)

Compiler

Compiled 242 to 153 computations (36.8% saved)

Profiling

Loading profile data...