Details

Time bar (total: 6.8s)

analyze346.0ms (5.1%)

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.5s (21.6%)

Results
1.1s7925×body128valid
142.0ms1014×body128invalid
83.0ms331×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify352.0ms (5.2%)

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

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(fma.f64 a (*.f64 c -3) (*.f64 b b))
0.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
0.4b
(/.f64 1/3 a)
27.8b
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)

series161.0ms (2.4%)

Counts
4 → 76
Calls

4 calls:

85.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
52.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
22.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
1.0ms
(/.f64 1/3 a)

rewrite82.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
781×prod-diff_binary64
245×log1p-udef_binary64
164×egg-rr
139×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
Counts
4 → 164
Calls

4 calls:

78.0ms
(fma.f64 a (*.f64 c -3) (*.f64 b b))
78.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
78.0ms
(/.f64 1/3 a)
78.0ms
(-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01353
128053
2340653
3511853
000
100

simplify70.0ms (1%)

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
240 → 216
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191772
13681700
212401671
349081665
450681665

prune188.0ms (2.8%)

Pruning

21 alts after pruning (21 fresh and 0 done)

PrunedKeptTotal
New19521216
Fresh101
Picked101
Done000
Total19721218
Error
0.8b
Counts
218 → 21
Alt Table
StatusErrorProgram
12.5b
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) (/.f64 1/3 a))
28.9b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b))) (/.f64 1/3 a))
26.8b
(*.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) (/.f64 1/3 a))
29.1b
(*.f64 (+.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (fma.f64 (neg.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2))) (sqrt.f64 (cbrt.f64 (pow.f64 b 4))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) 1/3) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) a))
28.8b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) 1/3) (*.f64 (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) a))
27.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
29.5b
(*.f64 (+.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
35.3b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))))
5.4b
(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)))))
28.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
30.2b
(*.f64 (log.f64 (exp.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 1/3 a))
29.9b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
28.4b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (/.f64 1/3 a)) (*.f64 (neg.f64 b) (/.f64 1/3 a)))
5.7b
(*.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))
28.0b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/3 a))
28.0b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) 3) (/.f64 1/3 a))
26.8b
(/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) (*.f64 (*.f64 a 3) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))))))
26.8b
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 (neg.f64 b) 3)) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 b))))) (/.f64 1/3 a))
38.9b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))) 1)
Compiler

Compiled 6948 to 4120 computations (40.7% saved)

localize25.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 (pow.f64 a 3) (pow.f64 c 4))
0.4b
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
0.4b
(*.f64 (*.f64 a a) (pow.f64 c 3))

series205.0ms (3%)

Counts
4 → 120
Calls

4 calls:

104.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
69.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
18.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
14.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite83.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
189×add-sqr-sqrt_binary64
185×log1p-expm1-u_binary64
185×expm1-log1p-u_binary64
180×add-cbrt-cube_binary64
178×add-log-exp_binary64
Counts
4 → 124
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01949
141349
2487449
3491249
000
100

simplify52.0ms (0.8%)

Algorithm
egg-herbie
Rules
894×associate-/l*_binary64
694×associate-*l*_binary64
580×associate-*r*_binary64
453×associate-/r*_binary64
269×unswap-sqr_binary64
Counts
244 → 130
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0201524
1561524
21771524
37851524
449401524

prune215.0ms (3.2%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New1282130
Fresh02020
Picked011
Done000
Total12823151
Error
0.8b
Counts
151 → 23
Alt Table
StatusErrorProgram
12.5b
(*.f64 (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) (/.f64 1/3 a))
28.9b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b))) (/.f64 1/3 a))
26.8b
(*.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) (/.f64 1/3 a))
29.1b
(*.f64 (+.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (fma.f64 (neg.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2))) (sqrt.f64 (cbrt.f64 (pow.f64 b 4))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) 1/3) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) a))
28.8b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) 1/3) (*.f64 (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) a))
27.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
29.5b
(*.f64 (+.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
35.3b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))))
5.4b
(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)))))
28.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
30.2b
(*.f64 (log.f64 (exp.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 1/3 a))
29.9b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
11.0b
(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 (exp.f64 (log1p.f64 (/.f64 (*.f64 c (*.f64 a c)) (pow.f64 b 3)))) 1) -3/8 (*.f64 -1/2 (/.f64 c b)))))
38.9b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))) 1)
33.0b
(fma.f64 (/.f64 (log.f64 (pow.f64 (pow.f64 (exp.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)))))
28.4b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (/.f64 1/3 a)) (*.f64 (neg.f64 b) (/.f64 1/3 a)))
5.7b
(*.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))
28.0b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/3 a))
28.0b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) 3) (/.f64 1/3 a))
26.8b
(/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) (*.f64 (*.f64 a 3) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))))))
26.8b
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 (neg.f64 b) 3)) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 b))))) (/.f64 1/3 a))
Compiler

Compiled 7504 to 4632 computations (38.3% saved)

localize28.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series195.0ms (2.9%)

Counts
3 → 60
Calls

3 calls:

99.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
85.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 1/3 a))
11.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite43.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
363×log1p-expm1-u_binary64
363×expm1-log1p-u_binary64
350×add-cbrt-cube_binary64
347×add-log-exp_binary64
346×add-exp-log_binary64
Counts
3 → 44
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03586
179486
2529486
000
100

simplify77.0ms (1.1%)

Algorithm
egg-herbie
Rules
953×fma-neg_binary64
399×distribute-rgt-neg-in_binary64
305×unswap-sqr_binary64
284×neg-mul-1_binary64
262×distribute-neg-frac_binary64
Counts
104 → 59
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0491686
11521686
25111632
325371632
445831632
549851632

prune164.0ms (2.4%)

Pruning

31 alts after pruning (30 fresh and 1 done)

PrunedKeptTotal
New711081
Fresh12021
Picked101
Done011
Total7331104
Error
0.7b
Counts
104 → 31
Alt Table
StatusErrorProgram
26.8b
(*.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) (/.f64 1/3 a))
29.1b
(*.f64 (+.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (fma.f64 (neg.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2))) (sqrt.f64 (cbrt.f64 (pow.f64 b 4))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) 1/3) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) a))
6.5b
(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 1/3 a))) 3)
28.8b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) 1/3) (*.f64 (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) a))
27.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
29.5b
(*.f64 (+.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
35.3b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))))
5.7b
(/.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)))))) 1/3) a)
5.4b
(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)))))
28.0b
(-.f64 (exp.f64 (log1p.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 1/3 a)))) 1)
28.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
30.2b
(*.f64 (log.f64 (exp.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 1/3 a))
29.9b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
6.3b
(*.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 (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 2) (cbrt.f64 (/.f64 1/3 a))))
7.5b
(*.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 (log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 (*.f64 c 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))
28.0b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) 3) (/.f64 1/3 a))
6.7b
(*.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)))))) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
26.8b
(/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) (*.f64 (*.f64 a 3) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))))))
5.7b
(*.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)))))) (pow.f64 (*.f64 a 3) -1))
26.8b
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 (neg.f64 b) 3)) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 b))))) (/.f64 1/3 a))
11.0b
(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 (exp.f64 (log1p.f64 (/.f64 (*.f64 c (*.f64 a c)) (pow.f64 b 3)))) 1) -3/8 (*.f64 -1/2 (/.f64 c b)))))
32.8b
(*.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)))))) (log.f64 (exp.f64 (/.f64 1/3 a))))
38.9b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))) 1)
33.0b
(fma.f64 (/.f64 (log.f64 (pow.f64 (pow.f64 (exp.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)))))
28.4b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (/.f64 1/3 a)) (*.f64 (neg.f64 b) (/.f64 1/3 a)))
28.9b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b))) (/.f64 1/3 a))
28.0b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/3 a))
6.3b
(*.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)))))) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.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)))))) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 6381 to 4154 computations (34.9% saved)

localize25.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (*.f64 c a) 2)
0.4b
(*.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)))))) 1/3)
0.7b
(pow.f64 (*.f64 c a) 3)
0.8b
(pow.f64 (*.f64 c a) 4)

series108.0ms (1.6%)

Counts
4 → 108
Calls

4 calls:

73.0ms
(*.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)))))) 1/3)
15.0ms
(pow.f64 (*.f64 c a) 4)
12.0ms
(pow.f64 (*.f64 c a) 3)
7.0ms
(pow.f64 (*.f64 c a) 2)

rewrite67.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
319×log1p-expm1-u_binary64
319×expm1-log1p-u_binary64
307×add-cbrt-cube_binary64
306×add-log-exp_binary64
305×add-exp-log_binary64
Counts
4 → 60
Calls

4 calls:

66.0ms
(pow.f64 (*.f64 c a) 2)
66.0ms
(*.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)))))) 1/3)
66.0ms
(pow.f64 (*.f64 c a) 3)
66.0ms
(pow.f64 (*.f64 c a) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03184
169784
2490684
3476184
000
100

simplify73.0ms (1.1%)

Algorithm
egg-herbie
Rules
929×fma-neg_binary64
485×distribute-rgt-neg-in_binary64
371×unswap-sqr_binary64
290×distribute-neg-frac_binary64
269×times-frac_binary64
Counts
168 → 74
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0492295
11512295
25302241
327872241
450112241

prune138.0ms (2%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New71374
Fresh02929
Picked101
Done011
Total7233105
Error
0.7b
Counts
105 → 33
Alt Table
StatusErrorProgram
26.8b
(*.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) (/.f64 1 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) (/.f64 1/3 a))
29.1b
(*.f64 (+.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (fma.f64 (neg.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2))) (sqrt.f64 (cbrt.f64 (pow.f64 b 4))) (*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 b) 2)) (sqrt.f64 (cbrt.f64 (pow.f64 b 4)))))) (/.f64 1/3 a))
5.9b
(/.f64 (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)))))) 1/3) 3)) a)
28.0b
(*.f64 (fma.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (neg.f64 b)) (/.f64 1/3 a))
6.4b
(/.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)))))) 1/3)) 3) a)
26.8b
(/.f64 (*.f64 (-.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b b)) 1/3) (*.f64 (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) a))
6.5b
(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 1/3 a))) 3)
28.8b
(*.f64 (fma.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (cbrt.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (/.f64 1/3 a))
26.8b
(/.f64 (*.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) 1/3) (*.f64 (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))))) a))
27.9b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
29.5b
(*.f64 (+.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
35.3b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))))
8.0b
(/.f64 (neg.f64 (+.f64 (*.f64 1/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) a)
5.4b
(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)))))
28.0b
(-.f64 (exp.f64 (log1p.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 1/3 a)))) 1)
28.0b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
30.2b
(*.f64 (log.f64 (exp.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b))) (/.f64 1/3 a))
29.9b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
6.3b
(*.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 (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 2) (cbrt.f64 (/.f64 1/3 a))))
7.5b
(*.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 (log.f64 (+.f64 1 (expm1.f64 (/.f64 (pow.f64 (*.f64 c 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))
28.0b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b)) 3) (/.f64 1/3 a))
6.7b
(*.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)))))) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
26.8b
(/.f64 (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 b 3)) (*.f64 (*.f64 a 3) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (*.f64 b (+.f64 b (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))))))))
5.7b
(*.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)))))) (pow.f64 (*.f64 a 3) -1))
26.8b
(*.f64 (/.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 3/2) (pow.f64 (neg.f64 b) 3)) (+.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (neg.f64 b))))) (/.f64 1/3 a))
11.0b
(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 (exp.f64 (log1p.f64 (/.f64 (*.f64 c (*.f64 a c)) (pow.f64 b 3)))) 1) -3/8 (*.f64 -1/2 (/.f64 c b)))))
32.8b
(*.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)))))) (log.f64 (exp.f64 (/.f64 1/3 a))))
38.9b
(-.f64 (exp.f64 (log1p.f64 (*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a)))) 1)
33.0b
(fma.f64 (/.f64 (log.f64 (pow.f64 (pow.f64 (exp.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)))))
28.4b
(+.f64 (*.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) (/.f64 1/3 a)) (*.f64 (neg.f64 b) (/.f64 1/3 a)))
28.9b
(*.f64 (*.f64 (+.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b)) (-.f64 (pow.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b)) 1/4) (sqrt.f64 b))) (/.f64 1/3 a))
6.3b
(*.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)))))) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.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)))))) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 4747 to 3014 computations (36.5% saved)

regimes1.8s (26.3%)

Accuracy

Total 4.6b remaining (89.6%)

Threshold costs 0b (0%)

Counts
162 → 2
Compiler

Compiled 28561 to 19391 computations (32.1% saved)

bsearch9.0ms (0.1%)

Compiler

Compiled 20 to 14 computations (30% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
055136
181134
2101134
3112134
4119134
5121134
6119134

end825.0ms (12.1%)

Compiler

Compiled 1555 to 1046 computations (32.7% saved)

Profiling

Loading profile data...