Details

Time bar (total: 7.2s)

analyze708.0ms (9.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
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)

sample1.9s (27.1%)

Results
621.0ms5304×body128valid
545.0ms1225×body2048valid
277.0ms759×body1024valid
227.0ms425×body4096valid
120.0ms1077×body128invalid
106.0ms366×body512valid
34.0ms177×body256valid
Compiler

Compiled 34 to 22 computations (35.3% saved)

preprocess45.0ms (0.6%)

Algorithm
egg-herbie
Rules
508×times-frac_binary64
390×div-sub_binary64
354×fma-def_binary64
351×fma-neg_binary64
312×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03080
16572
211272
322272
436572
562072
6105772
7176872
8402572
033
Stop Event
saturated
node limit
Compiler

Compiled 16 to 10 computations (37.5% saved)

simplify62.0ms (0.9%)

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
35.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
35.2b
(/.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)
0.6b
(-.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)
26.2b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series161.0ms (2.2%)

Counts
4 → 96
Calls

36 calls:

57.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
c
inf
9.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
a
-inf
8.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
a
inf
7.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
c
inf
6.0ms
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
c
-inf

rewrite88.0ms (1.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01055
123955
2365355
Stop Event
node limit
Counts
4 → 313

simplify53.0ms (0.7%)

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

prune236.0ms (3.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3799388
Fresh000
Picked011
Done000
Total37910389
Error
6.1b
Counts
389 → 10
Alt Table
StatusErrorProgram
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))))) a)
35.3b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
35.2b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
42.2b
(/.f64 (fma.f64 1/2 (*.f64 (/.f64 c b_2) a) (*.f64 b_2 -2)) a)
51.0b
(pow.f64 (sqrt.f64 (/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)) 2)
41.9b
(/.f64 (*.f64 -2 b_2) a)
56.2b
(/.f64 (-.f64 b_2 b_2) a)
41.9b
(*.f64 (/.f64 -2 a) b_2)
36.5b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) (/.f64 1 a) (neg.f64 (/.f64 b_2 a)))
41.9b
(/.f64 (*.f64 c -1/2) b_2)
Compiler

Compiled 9506 to 2920 computations (69.3% saved)

localize10.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)
0.6b
(-.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)
26.2b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series655.0ms (9.1%)

Counts
1 → 20
Calls

9 calls:

170.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
c
inf
169.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
c
-inf
168.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
a
-inf
126.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
a
inf
6.0ms
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
b_2
inf

rewrite50.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
323×fma-neg_binary64
238×expm1-udef_binary64
238×log1p-udef_binary64
143×add-sqr-sqrt_binary64
139×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01221
127718
2395018
Stop Event
node limit
Counts
1 → 46

simplify37.0ms (0.5%)

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

prune221.0ms (3.1%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3824386
Fresh268
Picked011
Done011
Total38412396
Error
6.1b
Counts
396 → 12
Alt Table
StatusErrorProgram
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))))) a)
35.3b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
35.2b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
42.2b
(/.f64 (fma.f64 1/2 (*.f64 (/.f64 c b_2) a) (*.f64 b_2 -2)) a)
42.3b
(pow.f64 (/.f64 a (fma.f64 1/2 (*.f64 (/.f64 c b_2) a) (*.f64 b_2 -2))) -1)
35.3b
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
41.9b
(/.f64 (*.f64 -2 b_2) a)
56.2b
(/.f64 (-.f64 b_2 b_2) a)
35.5b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
41.9b
(pow.f64 (/.f64 a (*.f64 b_2 -2)) -1)
41.9b
(*.f64 (/.f64 -2 a) b_2)
41.9b
(/.f64 (*.f64 c -1/2) b_2)
Compiler

Compiled 10153 to 3586 computations (64.7% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
0.8b
(fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))
1.2b
(-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)
26.2b
(sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a))))

series117.0ms (1.6%)

Counts
4 → 96
Calls

36 calls:

10.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
a
inf
9.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
a
-inf
7.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
c
-inf
6.0ms
(-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)
a
-inf
6.0ms
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
c
inf

rewrite92.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
740×prod-diff_binary64
155×egg-rr
144×add-sqr-sqrt_binary64
140×*-un-lft-identity_binary64
140×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01361
128444
2395644
Stop Event
node limit
Counts
4 → 293

simplify52.0ms (0.7%)

Algorithm
egg-herbie
Rules
738×times-frac_binary64
494×associate-/l*_binary64
398×associate-/r*_binary64
361×fma-def_binary64
133×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202203
13922175
213832133
Stop Event
node limit
Counts
389 → 366

prune218.0ms (3%)

Pruning

14 alts after pruning (11 fresh and 3 done)

PrunedKeptTotal
New3633366
Fresh189
Picked011
Done022
Total36414378
Error
6.1b
Counts
378 → 14
Alt Table
StatusErrorProgram
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))))) a)
47.0b
(/.f64 (/.f64 1 a) (/.f64 1 (exp.f64 (log.f64 (-.f64 (hypot.f64 b_2 (sqrt.f64 (*.f64 c a))) b_2)))))
35.3b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
35.2b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
42.3b
(pow.f64 (/.f64 a (fma.f64 1/2 (*.f64 (/.f64 c b_2) a) (*.f64 b_2 -2))) -1)
35.3b
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
41.9b
(/.f64 (*.f64 -2 b_2) a)
56.2b
(/.f64 (-.f64 b_2 b_2) a)
35.5b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
44.9b
(/.f64 (/.f64 1 a) (/.f64 1 (*.f64 (/.f64 a (/.f64 b_2 c)) -1/2)))
41.9b
(*.f64 (/.f64 -2 a) b_2)
41.9b
(pow.f64 (/.f64 a (*.f64 b_2 -2)) -1)
42.3b
(/.f64 (/.f64 1 a) (/.f64 1 (fma.f64 1/2 (/.f64 a (/.f64 b_2 c)) (*.f64 b_2 -2))))
41.9b
(/.f64 (*.f64 c -1/2) b_2)
Compiler

Compiled 10513 to 4610 computations (56.1% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
0.8b
(fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))
1.2b
(-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)
26.2b
(sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a))))

series46.0ms (0.6%)

Counts
1 → 20
Calls

9 calls:

9.0ms
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
a
-inf
9.0ms
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
a
inf
7.0ms
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
c
inf
6.0ms
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
c
-inf
4.0ms
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
b_2
inf

rewrite50.0ms (0.7%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01239
126415
2377515
Stop Event
node limit
Counts
1 → 41

simplify38.0ms (0.5%)

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
61 → 64

prune327.0ms (4.6%)

Pruning

13 alts after pruning (9 fresh and 4 done)

PrunedKeptTotal
New6731674
Fresh2810
Picked011
Done033
Total67513688
Error
6.0b
Counts
688 → 13
Alt Table
StatusErrorProgram
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))))) a)
35.3b
(pow.f64 (/.f64 a (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2)) -1)
35.2b
(/.f64 (-.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) b_2) a)
42.3b
(pow.f64 (/.f64 a (fma.f64 1/2 (*.f64 (/.f64 c b_2) a) (*.f64 b_2 -2))) -1)
35.3b
(/.f64 (/.f64 1 a) (/.f64 1 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)))
52.5b
(/.f64 (sqrt.f64 (fma.f64 1/2 (/.f64 a (/.f64 b_2 c)) (*.f64 b_2 -2))) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
41.9b
(/.f64 (*.f64 -2 b_2) a)
56.2b
(/.f64 (-.f64 b_2 b_2) a)
35.5b
(/.f64 (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2)) (/.f64 a (sqrt.f64 (-.f64 (sqrt.f64 (fma.f64 b_2 b_2 (*.f64 c (neg.f64 a)))) b_2))))
44.9b
(/.f64 (/.f64 1 a) (/.f64 1 (*.f64 (/.f64 a (/.f64 b_2 c)) -1/2)))
41.9b
(*.f64 (/.f64 -2 a) b_2)
41.9b
(pow.f64 (/.f64 a (*.f64 b_2 -2)) -1)
41.9b
(/.f64 (*.f64 c -1/2) b_2)
Compiler

Compiled 25063 to 6522 computations (74% saved)

regimes1.7s (23.8%)

Accuracy

Total 4.8b remaining (47.6%)

Threshold costs 0b (0%)

Counts
127 → 3
Compiler

Compiled 9824 to 6142 computations (37.5% saved)

bsearch61.0ms (0.9%)

Algorithm
binary-search
Calls

2 calls:

36.0ms
b_2
22.0ms
b_2
Steps
ItersPointRange
3.5516450204745413e-95
∈ [
2.4336191574493255e-95
,
7.555548468790224e-94
]
-2.3813446637561993e+60
∈ [
-2.414460495428899e+60
,
-6.160930651602259e+58
]
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: 0 (0.0ms)

IterNodesCost
02957
14357
25757
36657
47157
57257
Stop Event
saturated

end146.0ms (2%)

Stop Event
fuel
Compiler

Compiled 292 to 183 computations (37.3% saved)

Profiling

Loading profile data...