Details

Time bar (total: 6.4s)

analyze1.0s (15.7%)

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
0%99.9%0.1%5
0%99.9%0.1%6
0%93.6%6.4%7
6.2%87.4%6.4%8
10.1%81.1%8.7%9
15.6%71%13.4%10
22%63%15%11
29.1%52.9%18.1%12
33.8%45.6%20.5%13
38.8%38.9%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.2s (33.8%)

Results
695.0ms5388×body128valid
580.0ms1151×body2048valid
310.0ms756×body1024valid
262.0ms422×body4096valid
134.0ms1062×body128invalid
119.0ms369×body512valid
39.0ms170×body256valid
Compiler

Compiled 42 to 30 computations (28.6% saved)

preprocess53.0ms (0.8%)

Algorithm
egg-herbie
Rules
795×fma-def_binary64
731×div-sub_binary64
295×fma-neg_binary64
212×associate-/l*_binary64
209×sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034104
19288
221388
344088
475888
5125188
6222188
7445788
033
Stop Event
saturated
node limit
Compiler

Compiled 20 to 14 computations (30% saved)

simplify37.0ms (0.6%)

Algorithm
egg-herbie
Rules
1220×fma-neg_binary64
367×fma-def_binary64
351×times-frac_binary64
266×associate-/l*_binary64
254×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26922
316022
426422
543322
674422
7134122
8276922
9470222
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 75 computations (32.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.2b
(*.f64 (*.f64 3 a) c)
0.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
21.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series81.0ms (1.3%)

Counts
4 → 100
Calls

33 calls:

6.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
c
inf
6.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
b
0
5.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
c
inf
5.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
b
inf
5.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
c
-inf

rewrite91.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
704×fma-def_binary64
357×fma-neg_binary64
270×egg-rr
224×expm1-udef_binary64
224×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01255
127547
2387247
Stop Event
node limit
Counts
4 → 270

simplify67.0ms (1%)

Algorithm
egg-herbie
Rules
458×times-frac_binary64
278×associate-*r*_binary64
278×associate-/l*_binary64
254×associate-/r*_binary64
241×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891820
12751752
28841726
348411726
Stop Event
node limit
Counts
370 → 321

prune254.0ms (4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3138321
Fresh011
Picked101
Done000
Total3149323
Error
7.0b
Counts
323 → 9
Alt Table
StatusErrorProgram
32.2b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) 3))) (*.f64 3 a))
46.6b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
31.8b
(/.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (*.f64 3 a))
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
32.2b
(/.f64 (+.f64 (neg.f64 b) (pow.f64 (pow.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))) 1/4) 2)) (*.f64 3 a))
57.5b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
40.2b
(/.f64 (fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2)) (*.f64 3 a))
39.9b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.3b
(/.f64 (*.f64 (*.f64 a (/.f64 c b)) -3/2) (*.f64 3 a))
Compiler

Compiled 9785 to 5777 computations (41% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 c (*.f64 a -3))
0.3b
(fma.f64 b b (*.f64 c (*.f64 a -3)))
0.7b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
21.4b
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))

series76.0ms (1.2%)

Counts
4 → 100
Calls

33 calls:

6.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
c
inf
6.0ms
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))
c
-inf
5.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
c
-inf
5.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
a
-inf
5.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b)
a
inf

rewrite75.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
728×prod-diff_binary64
298×fma-def_binary64
190×expm1-udef_binary64
190×log1p-udef_binary64
173×fma-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01047
121245
2269745
Stop Event
node limit
Counts
4 → 151

simplify65.0ms (1%)

Algorithm
egg-herbie
Rules
458×times-frac_binary64
278×associate-*r*_binary64
278×associate-/l*_binary64
254×associate-/r*_binary64
241×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891820
12751752
28841726
348411726
Stop Event
node limit
Counts
251 → 202

prune160.0ms (2.5%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New1957202
Fresh358
Picked101
Done000
Total19912211
Error
7.0b
Counts
211 → 12
Alt Table
StatusErrorProgram
35.8b
(/.f64 (-.f64 (exp.f64 (log.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))))) b) (*.f64 3 a))
46.6b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
30.6b
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
32.2b
(/.f64 (-.f64 (pow.f64 (pow.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b)) 1/4) 2) b) (*.f64 3 a))
42.4b
(/.f64 (fma.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 (neg.f64 b)) (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
30.7b
(/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (*.f64 3 a))
57.5b
(/.f64 (-.f64 b b) (*.f64 3 a))
40.2b
(/.f64 (fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2)) (*.f64 3 a))
39.9b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.3b
(/.f64 (*.f64 (*.f64 a (/.f64 c b)) -3/2) (*.f64 3 a))
32.2b
(/.f64 (-.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) 3)) b) (*.f64 3 a))
Compiler

Compiled 5267 to 3262 computations (38.1% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))))
13.6b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series273.0ms (4.3%)

Counts
3 → 24
Calls

24 calls:

37.0ms
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
a
-inf
36.0ms
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
c
inf
28.0ms
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
a
inf
26.0ms
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
c
-inf
20.0ms
(fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))))
a
-inf

rewrite60.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
274×prod-diff_binary64
226×expm1-udef_binary64
226×log1p-udef_binary64
138×add-sqr-sqrt_binary64
129×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01447
128747
2355047
Stop Event
node limit
Counts
3 → 90

simplify30.0ms (0.5%)

Algorithm
egg-herbie
Rules
720×times-frac_binary64
383×associate-/l*_binary64
336×associate-/r*_binary64
278×associate-*r*_binary64
251×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01061004
1328918
21072861
Stop Event
node limit
Counts
114 → 138

prune127.0ms (2%)

Pruning

17 alts after pruning (16 fresh and 1 done)

PrunedKeptTotal
New1449153
Fresh4711
Picked011
Done000
Total14817165
Error
5.5b
Counts
165 → 17
Alt Table
StatusErrorProgram
47.3b
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 a b))
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
55.4b
(*.f64 1/6 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) (*.f64 a b)))
30.7b
(/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (*.f64 3 a))
32.2b
(/.f64 (-.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) 3)) b) (*.f64 3 a))
53.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3))))) (/.f64 1/3 a)))) 1)
39.9b
(*.f64 -2/3 (/.f64 b a))
57.5b
(/.f64 (-.f64 b b) (*.f64 3 a))
44.6b
(*.f64 (/.f64 1/3 a) (sqrt.f64 (*.f64 -3 (*.f64 c a))))
44.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) a))
46.6b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -3/2) b) (*.f64 3 a))
40.2b
(/.f64 (fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2)) (*.f64 3 a))
39.9b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.3b
(/.f64 (*.f64 (*.f64 a (/.f64 c b)) -3/2) (*.f64 3 a))
46.0b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3)))))) a) (/.f64 (sqrt.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3)))))) 3))
46.0b
(*.f64 (*.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3))))) 1/3) (/.f64 1 a))
30.6b
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
Compiler

Compiled 4086 to 2807 computations (31.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 c (*.f64 a -3))
0.2b
(-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)
0.3b
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
13.6b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series327.0ms (5.1%)

Counts
2 → 16
Calls

18 calls:

51.0ms
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
c
-inf
47.0ms
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
c
inf
42.0ms
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
a
-inf
27.0ms
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
a
inf
25.0ms
(pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2)
c
0

rewrite61.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
566×prod-diff_binary64
217×expm1-udef_binary64
217×log1p-udef_binary64
124×add-sqr-sqrt_binary64
120×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01330
127830
2312530
Stop Event
node limit
Counts
2 → 107

simplify35.0ms (0.5%)

Algorithm
egg-herbie
Rules
599×fma-def_binary64
590×cancel-sign-sub-inv_binary64
462×fma-neg_binary64
304×distribute-neg-frac_binary64
253×times-frac_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
060559
1174508
2507481
32567477
Stop Event
node limit
Counts
123 → 82

prune105.0ms (1.6%)

Pruning

17 alts after pruning (15 fresh and 2 done)

PrunedKeptTotal
New1240124
Fresh01515
Picked011
Done011
Total12417141
Error
5.5b
Counts
141 → 17
Alt Table
StatusErrorProgram
47.3b
(/.f64 (*.f64 (*.f64 c a) -1/2) (*.f64 a b))
31.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
55.4b
(*.f64 1/6 (/.f64 (pow.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) 2) (*.f64 a b)))
30.7b
(/.f64 (pow.f64 (sqrt.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3)))) b)) 2) (*.f64 3 a))
32.2b
(/.f64 (-.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))) 3)) b) (*.f64 3 a))
53.8b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3))))) (/.f64 1/3 a)))) 1)
39.9b
(*.f64 -2/3 (/.f64 b a))
57.5b
(/.f64 (-.f64 b b) (*.f64 3 a))
44.6b
(*.f64 (/.f64 1/3 a) (sqrt.f64 (*.f64 -3 (*.f64 c a))))
44.6b
(*.f64 1/3 (/.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) a))
46.6b
(/.f64 (/.f64 (*.f64 (*.f64 c a) -3/2) b) (*.f64 3 a))
40.2b
(/.f64 (fma.f64 3/2 (*.f64 a (/.f64 c b)) (*.f64 b -2)) (*.f64 3 a))
39.9b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
46.3b
(/.f64 (*.f64 (*.f64 a (/.f64 c b)) -3/2) (*.f64 3 a))
46.0b
(*.f64 (/.f64 (sqrt.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3)))))) a) (/.f64 (sqrt.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3)))))) 3))
46.0b
(*.f64 (*.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a 3))))) 1/3) (/.f64 1 a))
30.6b
(/.f64 (fma.f64 -1 b (hypot.f64 b (sqrt.f64 (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
Compiler

Compiled 3384 to 2317 computations (31.5% saved)

regimes893.0ms (14%)

Accuracy

Total 5.7b remaining (43.1%)

Threshold costs 0b (0%)

Counts
77 → 4
Compiler

Compiled 7505 to 5428 computations (27.7% saved)

bsearch101.0ms (1.6%)

Algorithm
binary-search
Calls

3 calls:

55.0ms
b
25.0ms
b
17.0ms
b
Steps
ItersPointRange
2.634688304178707e-39
∈ [
8.600532443318868e-50
,
7.975834508293734e-38
]
-1.4196138185551953e-103
∈ [
-4.598494536205818e-103
,
-1.3884645000775056e-103
]
-4.895509654010244e+141
∈ [
-1.8024645124625e+146
,
-4.066473418815342e+141
]
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0.1%)

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
03685
14485
24885
35085
45185
Stop Event
saturated

end203.0ms (3.2%)

Stop Event
fuel
Compiler

Compiled 401 to 286 computations (28.7% saved)

Profiling

Loading profile data...