Details

Time bar (total: 10.4s)

analyze710.0ms (6.8%)

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
25%74.9%0.1%5
25%74.9%0.1%6
25%68.6%6.4%7
31.2%62.4%6.4%8
36.7%54.6%8.7%9
38.2%48.4%13.4%10
42.7%42.3%15%11
47.8%34.1%18.1%12
49.1%30.3%20.5%13
51.9%25.8%22.3%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.4s (22.9%)

Results
764.0ms5442×body128valid
593.0ms1099×body2048valid
340.0ms757×body1024valid
272.0ms406×body4096valid
143.0ms1124×body128invalid
124.0ms375×body512valid
41.0ms177×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify350.0ms (3.4%)

Algorithm
egg-herbie
Rules
1968×fma-neg_binary64
1363×fma-def_binary64
898×div-sub_binary64
743×associate-/l*_binary64
567×times-frac_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26422
313522
420122
533522
655422
792922
8147722
9211522
10259922
11255422
12260222
13267122
14311722
15232722
16237522
17238322
18238922
19239522
20239722
21239722
22258522
23268522
24261922
25263122
26266122
27267722
28270722
29270722
30275122
31285122
32282722
33282722
34263822

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
0.8b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
1.6b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
22.4b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series200.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

83.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
68.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
40.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
9.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

rewrite27.0ms (0.3%)

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:

10.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
7.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
4.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
3.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

simplify123.0ms (1.2%)

Algorithm
egg-herbie
Rules
683×fma-neg_binary64
340×cancel-sign-sub-inv_binary64
242×distribute-rgt-neg-in_binary64
156×associate-*r*_binary64
151×distribute-rgt-neg-out_binary64
Counts
186 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02594286
17163943
225283797
347003771
450263771

prune200.0ms (1.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New19710207
Fresh011
Picked101
Done000
Total19811209
Error
3.8b
Counts
209 → 11
Alt Table
StatusErrorProgram
30.8b
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
40.3b
(*.f64 -1/2 (/.f64 c b))
45.6b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (*.f64 (*.f64 3 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))))
43.4b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
44.7b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
37.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
46.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
31.0b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
34.4b
(/.f64 1 (/.f64 (*.f64 3 a) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
44.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
34.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 5877 to 3462 computations (41.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series453.0ms (4.4%)

Counts
4 → 48
Calls

4 calls:

271.0ms
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
158.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
19.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))
4.0ms
(*.f64 c (*.f64 a -3))

rewrite32.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
117×times-frac_binary64
95×*-un-lft-identity_binary64
95×add-sqr-sqrt_binary64
69×add-cube-cbrt_binary64
19×associate-/l*_binary64
Counts
4 → 161
Calls

4 calls:

9.0ms
(/.f64 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3) a)
4.0ms
(*.f64 c (*.f64 a -3))
3.0ms
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
3.0ms
(sqrt.f64 (*.f64 c (*.f64 a -3)))

simplify163.0ms (1.6%)

Algorithm
egg-herbie
Rules
521×fma-def_binary64
330×cancel-sign-sub-inv_binary64
290×div-sub_binary64
222×fma-neg_binary64
199×associate-/l/_binary64
Counts
209 → 292
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03786212
18885567
230125485
346905484
449875484

prune235.0ms (2.3%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New2875292
Fresh3710
Picked101
Done000
Total29112303
Error
2.9b
Counts
303 → 12
Alt Table
StatusErrorProgram
44.7b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
45.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
40.3b
(*.f64 -1/2 (/.f64 c b))
37.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
40.4b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
46.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
45.6b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (*.f64 (*.f64 3 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))))
43.4b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
31.0b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
30.7b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))
44.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
30.8b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 -3 (*.f64 c a))) b) b) (/.f64 1/3 a))
Compiler

Compiled 8838 to 5595 computations (36.7% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
0.2b
(*.f64 c (*.f64 a -3))
0.4b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))
14.4b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series267.0ms (2.6%)

Counts
1 → 12
Calls

1 calls:

267.0ms
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))

rewrite7.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
associate-/l*_binary64
Counts
1 → 30
Calls

1 calls:

5.0ms
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))

simplify66.0ms (0.6%)

Algorithm
egg-herbie
Rules
814×times-frac_binary64
478×associate-/l*_binary64
393×associate-/r*_binary64
337×fma-neg_binary64
223×fma-def_binary64
Counts
42 → 71
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01411472
13861298
211941271
348511269
450601269

prune140.0ms (1.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1821183
Fresh11011
Picked011
Done000
Total18312195
Error
2.9b
Counts
195 → 12
Alt Table
StatusErrorProgram
30.8b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (/.f64 1/3 a))
40.3b
(*.f64 -1/2 (/.f64 c b))
44.7b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
45.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
37.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
40.4b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
46.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
45.6b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (*.f64 (*.f64 3 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))))
43.4b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
31.0b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
30.7b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))
44.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 5176 to 3262 computations (37% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b)
0.2b
(*.f64 c (*.f64 a -3))
0.3b
(/.f64 1/3 a)
14.4b
(sqrt.f64 (*.f64 c (*.f64 a -3)))

series2.0ms (0%)

Counts
1 → 0
Calls

1 calls:

1.0ms
(/.f64 1/3 a)

rewrite4.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
times-frac_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
associate-/r*_binary64
Counts
1 → 29
Calls

1 calls:

2.0ms
(/.f64 1/3 a)

simplify135.0ms (1.3%)

Algorithm
egg-herbie
Rules
826×associate-/r/_binary64
688×*-commutative_binary64
667×associate-*l/_binary64
521×sqr-pow_binary64
416×unswap-sqr_binary64
Counts
29 → 33
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
055281
185263
2139263
3190263
4313263
5429263
6604263
71144263
82174263
92628263
102830263
113019263
123234263
133496263
144158263
154864263
164949263
174906263

prune132.0ms (1.3%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1441145
Fresh01010
Picked101
Done011
Total14512157
Error
2.9b
Counts
157 → 12
Alt Table
StatusErrorProgram
30.9b
(*.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 (sqrt.f64 1/3) (/.f64 (sqrt.f64 1/3) a)))
45.6b
(/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (*.f64 (*.f64 3 a) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))))
44.7b
(fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))
45.4b
(/.f64 (/.f64 (-.f64 (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (*.f64 a -3))) b) b) 3) a)
40.3b
(*.f64 -1/2 (/.f64 c b))
37.3b
(/.f64 (/.f64 (*.f64 3 (*.f64 c a)) (-.f64 (neg.f64 b) (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (*.f64 3 a))
40.4b
(*.f64 1/6 (/.f64 (*.f64 -3 c) b))
46.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
43.4b
(/.f64 (/.f64 (*.f64 -2 b) 3) a)
31.0b
(/.f64 1 (/.f64 3 (/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) a)))
30.7b
(/.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) (*.f64 a 3))
44.0b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
Compiler

Compiled 3623 to 2306 computations (36.4% saved)

regimes4.4s (41.9%)

Accuracy

Total 8.6b remaining (73.7%)

Threshold costs 0b (0%)

Counts
218 → 5
Compiler

Compiled 27093 to 19152 computations (29.3% saved)

bsearch159.0ms (1.5%)

Steps
ItersRangePoint
7
1.3162635287798308e+25
1.1768627962007482e+27
2.2812839023325986e+26
8
1.2379937864372731e-53
6.113475751346883e-51
2.1780138193967033e-53
7
3.8445312499338106e-163
1.7524054871550114e-161
1.7330005145528772e-161
5
-1.5146490033775462e+122
-4.569155111271766e+121
-1.4477519123410931e+122
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
044106
164104
282104
397104
4106104
5109104
6108104

end204.0ms (2%)

Compiler

Compiled 419 to 281 computations (32.9% saved)

Profiling

Loading profile data...