Details

Time bar (total: 6.2s)

analyze369.0ms (6%)

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)

sample1.7s (28.1%)

Results
1.4s7938×body128valid
186.0ms993×body128invalid
88.0ms318×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify346.0ms (5.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

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
29.5b
(/.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)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
0.3b
(*.f64 (*.f64 3 a) c)
0.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
29.4b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))

series108.0ms (1.8%)

Counts
4 → 100
Calls

4 calls:

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

rewrite103.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
725×fma-def_binary64
366×fma-neg_binary64
288×egg-rr
248×expm1-udef_binary64
248×log1p-udef_binary64
Counts
4 → 288
Calls

4 calls:

94.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
94.0ms
(*.f64 (*.f64 3 a) c)
94.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
94.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01366
129756
2376956
3548056
000
100

simplify81.0ms (1.3%)

Algorithm
egg-herbie
Rules
744×times-frac_binary64
459×associate-/l*_binary64
396×associate-/r*_binary64
333×fma-def_binary64
308×fma-neg_binary64
Counts
388 → 341
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191940
13681868
212401839
349081833
450681833

prune220.0ms (3.6%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New3338341
Fresh011
Picked011
Done000
Total33310343
Error
0.8b
Counts
343 → 10
Alt Table
StatusErrorProgram
29.8b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
6.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
8.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
22.3b
(*.f64 -1/2 (/.f64 c b))
6.6b
(/.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 3 a))
8.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
31.1b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
28.6b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 10399 to 5710 computations (45.1% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
0.3b
(*.f64 (*.f64 a a) (pow.f64 c 3))
0.4b
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
0.4b
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))

series245.0ms (4%)

Counts
4 → 132
Calls

4 calls:

90.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
78.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
62.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
14.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite82.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
224×add-sqr-sqrt_binary64
220×log1p-expm1-u_binary64
220×expm1-log1p-u_binary64
213×add-cbrt-cube_binary64
212×add-log-exp_binary64
Counts
4 → 127
Calls

4 calls:

78.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
78.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))
78.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
78.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02255
148755
2493455
3505755
000
100

simplify140.0ms (2.3%)

Algorithm
egg-herbie
Rules
735×associate-*l*_binary64
679×associate-/r*_binary64
308×associate-/l/_binary64
297×associate-/r/_binary64
285×unswap-sqr_binary64
Counts
259 → 134
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0231860
1651860
22121860
310101860
441381860
542301860
644161860
747051860
849741860
949041860

prune226.0ms (3.7%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1322134
Fresh268
Picked011
Done011
Total13410144
Error
0.8b
Counts
144 → 10
Alt Table
StatusErrorProgram
29.8b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
6.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
11.8b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (log.f64 (exp.f64 (/.f64 (*.f64 c (*.f64 a c)) (pow.f64 b 3)))) -3/8 (*.f64 -1/2 (/.f64 c b)))))
6.8b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
6.6b
(/.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 3 a))
8.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
31.1b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
28.6b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 6806 to 4207 computations (38.2% saved)

localize29.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
0.4b
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
0.4b
(/.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 3 a))
0.5b
(*.f64 (*.f64 c a) (*.f64 c a))

series263.0ms (4.3%)

Counts
4 → 96
Calls

4 calls:

87.0ms
(/.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 3 a))
86.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
78.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
12.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite48.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
356×log1p-expm1-u_binary64
356×expm1-log1p-u_binary64
343×add-cbrt-cube_binary64
340×add-log-exp_binary64
339×add-exp-log_binary64
Counts
4 → 69
Calls

4 calls:

46.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
46.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
46.0ms
(/.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 3 a))
46.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03499
177599
2523999
000
100

simplify88.0ms (1.4%)

Algorithm
egg-herbie
Rules
953×fma-neg_binary64
399×distribute-rgt-neg-in_binary64
323×unswap-sqr_binary64
280×times-frac_binary64
262×distribute-neg-frac_binary64
Counts
165 → 86
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0502262
11552262
25432208
327332208
448142208
549972208

prune157.0ms (2.6%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New80686
Fresh077
Picked101
Done022
Total811596
Error
0.7b
Counts
96 → 15
Alt Table
StatusErrorProgram
12.6b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (log.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (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 3 a))
11.8b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (log.f64 (exp.f64 (/.f64 (*.f64 c (*.f64 a c)) (pow.f64 b 3)))) -3/8 (*.f64 -1/2 (/.f64 c b)))))
29.8b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
7.2b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 2) (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
28.6b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
6.6b
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
6.8b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
6.7b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3)) 3))
6.6b
(pow.f64 (/.f64 (*.f64 a 3) (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))))) -1)
7.2b
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 3)
8.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
31.1b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 5398 to 3538 computations (34.5% saved)

localize28.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3))
0.5b
(pow.f64 (*.f64 c a) 2)
0.8b
(pow.f64 (*.f64 c a) 3)
1.0b
(pow.f64 (*.f64 c a) 4)

series50.0ms (0.8%)

Counts
4 → 108
Calls

4 calls:

18.0ms
(pow.f64 (*.f64 c a) 4)
13.0ms
(pow.f64 (*.f64 c a) 3)
12.0ms
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3))
7.0ms
(pow.f64 (*.f64 c a) 2)

rewrite107.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
281×log1p-udef_binary64
280×expm1-udef_binary64
163×log1p-expm1-u_binary64
163×expm1-log1p-u_binary64
160×add-sqr-sqrt_binary64
Counts
4 → 137
Calls

4 calls:

105.0ms
(/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3))
105.0ms
(pow.f64 (*.f64 c a) 2)
105.0ms
(pow.f64 (*.f64 c a) 3)
105.0ms
(pow.f64 (*.f64 c a) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01637
135934
2431634
3498834
4517534
000
100

simplify137.0ms (2.2%)

Algorithm
egg-herbie
Rules
651×sqr-pow_binary64
633×associate-/r*_binary64
536×associate-*l/_binary64
399×*-commutative_binary64
303×unswap-sqr_binary64
Counts
245 → 139
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
019972
146972
2118972
3405972
4688828
5724828
6949756
71562756
82226756
93919756
103985756
114183756
124434756
134681756
144852756

prune247.0ms (4%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New12910139
Fresh4812
Picked101
Done112
Total13519154
Error
0.6b
Counts
154 → 19
Alt Table
StatusErrorProgram
12.6b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (log.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (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 3 a))
21.7b
(-.f64 (log.f64 (exp.f64 (*.f64 -1/2 (/.f64 (/.f64 (*.f64 c a) b) a)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.2b
(-.f64 (*.f64 -1/2 (/.f64 c b)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.5b
(-.f64 (pow.f64 (*.f64 (/.f64 a (/.f64 (*.f64 c a) b)) -2) -1) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.8b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
7.2b
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 3)
7.3b
(-.f64 (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (*.f64 a 3)) 2)) (/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (cbrt.f64 (*.f64 a 3)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
29.8b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
7.2b
(*.f64 (pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 2) (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))))
29.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
31.1b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
6.6b
(-.f64 (*.f64 -3/2 (*.f64 (/.f64 (*.f64 c a) b) (/.f64 1/3 a))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
23.7b
(-.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/2 (/.f64 (/.f64 (*.f64 c a) b) a))))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
7.1b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 -1/2 (/.f64 (/.f64 (*.f64 c a) b) a))) 3) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.7b
(-.f64 (*.f64 (/.f64 1 (sqrt.f64 (*.f64 a 3))) (/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (sqrt.f64 (*.f64 a 3)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.5b
(-.f64 (*.f64 -3/2 (/.f64 1 (*.f64 (*.f64 a 3) (/.f64 b (*.f64 c a))))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
28.6b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
6.5b
(-.f64 (*.f64 -1/2 (/.f64 (/.f64 (*.f64 c a) b) a)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 8332 to 5126 computations (38.5% saved)

regimes738.0ms (12%)

Accuracy

Total 4.2b remaining (85.5%)

Threshold costs 0b (0%)

Counts
67 → 2
Compiler

Compiled 14371 to 9941 computations (30.8% saved)

bsearch28.0ms (0.5%)

Steps
ItersRangePoint
4
0.9305127278554963
1.3634319583275036
1.3163313487072055
Compiler

Compiled 4 to 3 computations (25% saved)

simplify7.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
045110
155110
267110
375110
480110
581110
681110

end538.0ms (8.7%)

Compiler

Compiled 1056 to 705 computations (33.2% saved)

Profiling

Loading profile data...