Details

Time bar (total: 9.7s)

analyze503.0ms (5.2%)

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
25%74.9%0.1%4
37.4%62.4%0.1%5
37.4%62.4%0.1%6
37.4%56.2%6.4%7
45.2%48.4%6.4%8
49.1%42.1%8.7%9
51.5%35.1%13.4%10
58.1%27.7%14.2%11
60.8%22.6%16.5%12
62.3%18.7%19%13
66.2%14.4%19.4%14
Compiler

Compiled 21 to 15 computations (28.6% saved)

sample2.9s (29.9%)

Results
928.0ms5655×body128valid
717.0ms1093×body2048valid
500.0ms638×body1024valid
281.0ms372×body4096valid
144.0ms341×body512valid
112.0ms668×body128invalid
45.0ms157×body256valid
Compiler

Compiled 62 to 44 computations (29% saved)

simplify443.0ms (4.6%)

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

prune8.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 74 computations (33.3% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (*.f64 3 a) c)
0.8b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
25.0b
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))

series161.0ms (1.7%)

Counts
4 → 100
Calls

4 calls:

74.0ms
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))
69.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
11.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
7.0ms
(*.f64 (*.f64 3 a) c)

rewrite24.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
10×fma-def_binary64
10×add-sqr-sqrt_binary64
10×add-log-exp_binary64
10×pow1_binary64
Counts
4 → 80
Calls

4 calls:

7.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
4.0ms
(*.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))

simplify196.0ms (2%)

Algorithm
egg-herbie
Rules
677×fma-def_binary64
621×fma-neg_binary64
305×cancel-sign-sub-inv_binary64
228×distribute-rgt-neg-in_binary64
197×distribute-lft-neg-in_binary64
Counts
180 → 168
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02012955
15232836
218062732
345182728
449982728
549192728

prune307.0ms (3.2%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New15711168
Fresh011
Picked101
Done000
Total15812170
Error
8.5b
Counts
170 → 12
Alt Table
StatusErrorProgram
39.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))
34.4b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
36.5b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
29.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 (*.f64 3 a) (*.f64 (cbrt.f64 c) (cbrt.f64 c))) (cbrt.f64 c))))) (*.f64 3 a))
46.5b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
28.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
40.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
56.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
40.0b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)) (*.f64 3 a))
33.4b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
52.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 c a) 3) -27 (pow.f64 b 6)) (fma.f64 3 (*.f64 (*.f64 c a) (fma.f64 3 (*.f64 c a) (*.f64 b b))) (pow.f64 b 4))))) (*.f64 3 a))
Compiler

Compiled 4656 to 2736 computations (41.2% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 c (*.f64 a -3))
1.0b
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))))
1.0b
(fma.f64 b b (*.f64 c (*.f64 a -3)))
25.0b
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))

series248.0ms (2.6%)

Counts
4 → 100
Calls

4 calls:

125.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))))
90.0ms
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))
24.0ms
(fma.f64 b b (*.f64 c (*.f64 a -3)))
7.0ms
(*.f64 c (*.f64 a -3))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
13×*-un-lft-identity_binary64
10×fma-def_binary64
10×add-sqr-sqrt_binary64
10×pow1_binary64
add-cube-cbrt_binary64
Counts
4 → 72
Calls

4 calls:

6.0ms
(*.f64 c (*.f64 a -3))
6.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))))
1.0ms
(sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))
0.0ms
(fma.f64 b b (*.f64 c (*.f64 a -3)))

simplify177.0ms (1.8%)

Algorithm
egg-herbie
Rules
837×times-frac_binary64
485×fma-neg_binary64
405×fma-def_binary64
173×cancel-sign-sub-inv_binary64
131×distribute-rgt-in_binary64
Counts
172 → 146
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01752790
14492648
214752577
345832577
449582577

prune239.0ms (2.5%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New1451146
Fresh11011
Picked011
Done000
Total14612158
Error
8.5b
Counts
158 → 12
Alt Table
StatusErrorProgram
39.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))
34.4b
(/.f64 (+.f64 (neg.f64 b) (*.f64 (*.f64 (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b))) (cbrt.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
36.5b
(/.f64 (+.f64 (neg.f64 b) (exp.f64 (log.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b)))) (*.f64 3 a))
33.4b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
29.0b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 (*.f64 (cbrt.f64 c) (cbrt.f64 c)) (*.f64 (cbrt.f64 c) (*.f64 a -3)))))) (*.f64 3 a))
28.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
40.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
56.8b
(/.f64 (+.f64 (neg.f64 b) b) (*.f64 3 a))
28.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
40.0b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)) (*.f64 3 a))
46.5b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 3 a))
52.6b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (/.f64 (fma.f64 (pow.f64 (*.f64 c a) 3) -27 (pow.f64 b 6)) (fma.f64 3 (*.f64 (*.f64 c a) (fma.f64 3 (*.f64 c a) (*.f64 b b))) (pow.f64 b 4))))) (*.f64 3 a))
Compiler

Compiled 3968 to 2423 computations (38.9% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
1.0b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
25.0b
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

series344.0ms (3.6%)

Counts
4 → 60
Calls

4 calls:

143.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
111.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
86.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))
3.0ms
(/.f64 1/3 a)

rewrite36.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
50×add-sqr-sqrt_binary64
40×*-un-lft-identity_binary64
36×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 128
Calls

4 calls:

15.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
7.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
3.0ms
(/.f64 1/3 a)
1.0ms
(sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))

simplify153.0ms (1.6%)

Algorithm
egg-herbie
Rules
446×fma-neg_binary64
318×distribute-rgt-in_binary64
276×cancel-sign-sub-inv_binary64
271×neg-mul-1_binary64
161×associate-*r*_binary64
Counts
188 → 240
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02955224
17094328
225814143
344884131
448644131

prune420.0ms (4.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2355240
Fresh6410
Picked101
Done011
Total24210252
Error
3.6b
Counts
252 → 10
Alt Table
StatusErrorProgram
39.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.0b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
33.5b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
41.5b
(*.f64 -1/2 (/.f64 c b))
28.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
40.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
40.1b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
40.0b
(/.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b) 3)) (*.f64 3 a))
33.4b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
28.9b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
Compiler

Compiled 6572 to 3865 computations (41.2% saved)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series261.0ms (2.7%)

Counts
2 → 40
Calls

2 calls:

140.0ms
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
121.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)

rewrite26.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
12×add-sqr-sqrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
*-un-lft-identity_binary64
associate-*l*_binary64
Counts
2 → 50
Calls

2 calls:

11.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3)
9.0ms
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)

simplify132.0ms (1.4%)

Algorithm
egg-herbie
Rules
540×associate-/r*_binary64
488×fma-def_binary64
267×associate-/r/_binary64
266×associate-/l/_binary64
223×distribute-rgt-in_binary64
Counts
90 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01992742
15682518
219572427
352682427

prune199.0ms (2.1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2411242
Fresh178
Picked011
Done011
Total24210252
Error
3.5b
Counts
252 → 10
Alt Table
StatusErrorProgram
39.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.0b
(*.f64 (*.f64 -2 b) (/.f64 1/3 a))
33.5b
(/.f64 (*.f64 (+.f64 (*.f64 a (*.f64 c -3)) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
41.5b
(*.f64 -1/2 (/.f64 c b))
28.8b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3))))) (*.f64 3 a))
40.0b
(/.f64 (*.f64 -2 b) (*.f64 3 a))
40.0b
(/.f64 (*.f64 (cbrt.f64 (pow.f64 (-.f64 (hypot.f64 b (sqrt.f64 (*.f64 a (*.f64 c -3)))) b) 3)) 1/3) a)
40.1b
(fma.f64 1/2 (/.f64 c b) (*.f64 (/.f64 b a) -2/3))
33.4b
(/.f64 (exp.f64 (log.f64 (-.f64 (hypot.f64 (sqrt.f64 (*.f64 c (*.f64 a -3))) b) b))) (*.f64 3 a))
28.9b
(/.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) 1/3) a)
Compiler

Compiled 6561 to 3840 computations (41.5% saved)

regimes2.5s (26%)

Accuracy

Total 2.9b remaining (37.3%)

Threshold costs 0b (0%)

Counts
128 → 4
Compiler

Compiled 15629 to 10823 computations (30.8% saved)

bsearch128.0ms (1.3%)

Steps
ItersRangePoint
4
3.805784381602972e+45
6.516529514186632e+45
5.17555123963869e+45
6
1.123098274182808e-169
1.236058523118014e-168
1.1498395275009536e-168
8
-2.728471400924003e+154
-4.3643145321831494e+150
-8.182845608862169e+150
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
unsub-neg_binary64
neg-sub0_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04291
15589
25889
35989
45989

end148.0ms (1.5%)

Compiler

Compiled 295 to 206 computations (30.2% saved)

Profiling

Loading profile data...