Details

Time bar (total: 13.2s)

analyze649.0ms (4.9%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
0%0%100%2
0%0%100%3
0%0%100%4
0%0%100%5
0%0%100%6
0%0%100%7
0%0%100%8
0%0%100%9
0%0%100%10
0%0%100%11
0%0%100%12
0%0%100%13
0%0%100%14
Compiler

Compiled 43 to 31 computations (27.9% saved)

sample3.2s (24.2%)

Results
1.4s3053×body256valid
1.4s5202×body128valid
232.0ms948×body128invalid
0.0msbody512valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify544.0ms (4.1%)

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
43.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
43.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
43.7b
(*.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)

localize20.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series314.0ms (2.4%)

Counts
4 → 76
Calls

4 calls:

174.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
101.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
23.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
17.0ms
(/.f64 1/3 a)

rewrite51.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
48×add-sqr-sqrt_binary64
39×*-un-lft-identity_binary64
35×add-cube-cbrt_binary64
19×times-frac_binary64
18×prod-diff_binary64
Counts
4 → 123
Calls

4 calls:

19.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
10.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
5.0ms
(/.f64 1/3 a)
1.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))

simplify168.0ms (1.3%)

Algorithm
egg-herbie
Rules
797×fma-def_binary64
340×distribute-rgt-in_binary64
235×cancel-sign-sub-inv_binary64
185×fma-neg_binary64
160×associate-*r*_binary64
Counts
199 → 221
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02835008
16614039
224643848
349113848

prune315.0ms (2.4%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2147221
Fresh101
Picked101
Done000
Total2167223
Error
0.1b
Counts
223 → 7
Alt Table
StatusErrorProgram
43.7b
(/.f64 (*.f64 (-.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (*.f64 b b)) 1/3) (*.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) a))
3.7b
(*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16))) (/.f64 1/3 a))
43.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 (/.f64 1/3 (*.f64 (cbrt.f64 a) (cbrt.f64 a))) (cbrt.f64 a)))
2.5b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.9b
(*.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (/.f64 1/3 a))
43.7b
(*.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1 (sqrt.f64 a))) (/.f64 1/3 (sqrt.f64 a)))
Compiler

Compiled 6125 to 3563 computations (41.8% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.2b
(fma.f64 a (*.f64 c -3) 0)
0.3b
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)

series29.0ms (0.2%)

Counts
2 → 48
Calls

2 calls:

19.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
10.0ms
(fma.f64 a (*.f64 c -3) 0)

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
15×add-sqr-sqrt_binary64
13×associate-*r*_binary64
10×times-frac_binary64
10×*-un-lft-identity_binary64
10×add-cube-cbrt_binary64
Counts
2 → 44
Calls

2 calls:

11.0ms
(*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a))
1.0ms
(fma.f64 a (*.f64 c -3) 0)

simplify139.0ms (1.1%)

Algorithm
egg-herbie
Rules
517×distribute-rgt-in_binary64
506×associate-/l/_binary64
492×associate-*l*_binary64
430×associate-/r/_binary64
383×associate-*r*_binary64
Counts
92 → 79
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851049
1175901
2597847
32395797
44205797
54724797
65000797
74845797

prune218.0ms (1.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1315136
Fresh426
Picked101
Done000
Total1367143
Error
0.0b
Counts
143 → 7
Alt Table
StatusErrorProgram
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.5b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
3.7b
(*.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16))) (/.f64 1/3 a))
0.7b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (sqrt.f64 (/.f64 1/3 a))) (sqrt.f64 (/.f64 1/3 a))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
1.5b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 1/3 a)) (+.f64 (sqrt.f64 (expm1.f64 (log1p.f64 (fma.f64 c (*.f64 a -3) (*.f64 b b))))) b))
0.2b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
1.4b
(/.f64 (*.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (/.f64 (sqrt.f64 1/3) (*.f64 (cbrt.f64 a) (cbrt.f64 a)))) (/.f64 (sqrt.f64 1/3) (cbrt.f64 a))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
Compiler

Compiled 4177 to 2599 computations (37.8% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (*.f64 (neg.f64 c) a) a)
0.1b
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
0.1b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.1b
(fma.f64 a (*.f64 c -3) (*.f64 b b))

series595.0ms (4.5%)

Counts
3 → 64
Calls

3 calls:

492.0ms
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
97.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
6.0ms
(/.f64 (*.f64 (neg.f64 c) a) a)

rewrite45.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
46×times-frac_binary64
43×*-un-lft-identity_binary64
25×add-sqr-sqrt_binary64
25×add-cube-cbrt_binary64
17×add-cbrt-cube_binary64
Counts
3 → 105
Calls

3 calls:

16.0ms
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
7.0ms
(/.f64 (*.f64 (neg.f64 c) a) a)
6.0ms
(+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

simplify192.0ms (1.5%)

Algorithm
egg-herbie
Rules
477×distribute-frac-neg_binary64
427×fma-def_binary64
398×div-sub_binary64
212×associate-/l*_binary64
196×times-frac_binary64
Counts
169 → 209
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02524073
16843807
226733673
349713673

prune353.0ms (2.7%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2294233
Fresh426
Picked011
Done000
Total2337240
Error
0b
Counts
240 → 7
Alt Table
StatusErrorProgram
0.7b
(/.f64 (*.f64 (fma.f64 a (*.f64 c -3) 0) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3))) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
2.5b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.8b
(*.f64 (/.f64 (/.f64 (neg.f64 c) (sqrt.f64 a)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 (/.f64 a (sqrt.f64 a)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
3.2b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 b 2 (fma.f64 (*.f64 (/.f64 c b) a) -3/2 (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c c) (*.f64 a a)))))))
0.2b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.3b
(*.f64 (/.f64 (/.f64 (neg.f64 c) 1) 1) (/.f64 (/.f64 a a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
0.3b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
Compiler

Compiled 6751 to 3193 computations (52.7% saved)

localize28.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series619.0ms (4.7%)

Counts
2 → 72
Calls

2 calls:

454.0ms
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
164.0ms
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b)

rewrite31.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
33×times-frac_binary64
18×*-un-lft-identity_binary64
18×add-sqr-sqrt_binary64
18×add-cube-cbrt_binary64
11×add-cbrt-cube_binary64
Counts
2 → 61
Calls

2 calls:

12.0ms
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
1.0ms
(fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b)

simplify264.0ms (2%)

Algorithm
egg-herbie
Rules
782×times-frac_binary64
562×associate-/l*_binary64
206×fma-def_binary64
158×*-commutative_binary64
132×associate-/r/_binary64
Counts
133 → 218
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05337793
117367403
254577403

prune749.0ms (5.7%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New3042306
Fresh235
Picked011
Done011
Total3067313
Error
0b
Counts
313 → 7
Alt Table
StatusErrorProgram
0.7b
(*.f64 (*.f64 (/.f64 (neg.f64 c) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) a) (/.f64 (/.f64 1 a) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
0.8b
(*.f64 (/.f64 (/.f64 (neg.f64 c) (sqrt.f64 a)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 (/.f64 a (sqrt.f64 a)) (sqrt.f64 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))))
3.2b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 b 2 (fma.f64 (*.f64 (/.f64 c b) a) -3/2 (/.f64 -9/8 (/.f64 (pow.f64 b 3) (*.f64 (*.f64 c c) (*.f64 a a)))))))
2.5b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
0.2b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))
0.3b
(/.f64 (/.f64 (*.f64 (neg.f64 c) a) a) (fma.f64 (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (sqrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) b))
0.3b
(*.f64 (neg.f64 c) (/.f64 1 (+.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)))
Compiler

Compiled 14766 to 8664 computations (41.3% saved)

regimes4.1s (31.1%)

Accuracy

Total 0.1b remaining (87.6%)

Threshold costs 0.1b (87.6%)

Counts
310 → 1
Compiler

Compiled 44611 to 29241 computations (34.5% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
neg-sub0_binary64
neg-mul-1_binary64
+-commutative_binary64
*-commutative_binary64
*-lft-identity_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01421
12421
23221
33421
43521
53321

end512.0ms (3.9%)

Compiler

Compiled 261 to 167 computations (36% saved)

Profiling

Loading profile data...