Details

Time bar (total: 5.2s)

analyze346.0ms (6.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.4s (27.5%)

Results
1.2s7946×body128valid
138.0ms972×body128invalid
82.0ms310×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify31.0ms (0.6%)

Algorithm
egg-herbie
Rules
1220×fma-neg_binary64
367×fma-def_binary64
351×times-frac_binary64
266×associate-/l*_binary64
254×div-sub_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01326
13022
26922
316022
426422
543322
674422
7134122
8276922
9470222
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 111 to 75 computations (32.4% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series96.0ms (1.8%)

Counts
4 → 64
Calls

4 calls:

53.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
37.0ms
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b)
4.0ms
(*.f64 a (*.f64 c -3))
1.0ms
(/.f64 1/3 a)

rewrite65.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
737×prod-diff_binary64
143×egg-rr
140×add-sqr-sqrt_binary64
133×log1p-expm1-u_binary64
133×expm1-log1p-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01349
128247
2364647
Stop Event
node limit
Counts
4 → 143
Calls

4 calls:

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

simplify40.0ms (0.8%)

Algorithm
egg-herbie
Rules
744×times-frac_binary64
459×associate-/l*_binary64
392×associate-/r*_binary64
316×fma-def_binary64
174×associate-*l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181538
13691520
213021491
Stop Event
node limit
Counts
207 → 192

prune139.0ms (2.7%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New17517192
Fresh101
Picked101
Done000
Total17717194
Error
1.0b
Counts
194 → 17
Alt Table
StatusErrorProgram
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.7b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))))
27.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
6.7b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
28.7b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
7.0b
(*.f64 (-.f64 (*.f64 (/.f64 -3/2 b) (*.f64 c a)) (fma.f64 9/8 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) (fma.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4)))))) (/.f64 1/3 a))
29.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
7.0b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 1/3 (pow.f64 a -1)))
28.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (-.f64 (exp.f64 (log1p.f64 (/.f64 1/3 a))) 1))
28.6b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/3 a))
9.0b
(*.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (fma.f64 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) -9/8 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) -27/16))) (/.f64 1/3 a))
9.1b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 5707 to 3691 computations (35.3% saved)

localize27.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series222.0ms (4.2%)

Counts
4 → 96
Calls

4 calls:

84.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3))
73.0ms
(/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a))
37.0ms
(/.f64 (pow.f64 c 4) (pow.f64 b 7))
28.0ms
(/.f64 (*.f64 c c) (pow.f64 b 3))

rewrite35.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
205×add-sqr-sqrt_binary64
203×log1p-expm1-u_binary64
203×expm1-log1p-u_binary64
197×add-cbrt-cube_binary64
194×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02049
144949
Stop Event
node limit
Counts
4 → 107
Calls

4 calls:

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

simplify61.0ms (1.2%)

Algorithm
egg-herbie
Rules
855×associate-/l*_binary64
424×associate-*l*_binary64
418×associate-/r*_binary64
363×associate-*r*_binary64
200×associate-/r/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0211284
1591284
21771284
38091284
448861284
549881284
Stop Event
node limit
Counts
203 → 112

prune238.0ms (4.5%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New1102112
Fresh01616
Picked011
Done000
Total11019129
Error
1.0b
Counts
129 → 19
Alt Table
StatusErrorProgram
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.7b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))))
27.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
6.7b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 1/3 (pow.f64 a -1)))
7.0b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (pow.f64 c 4) (pow.f64 b -7)) (pow.f64 a 3)))) 1) (*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))))
15.9b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 3/8 (*.f64 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 c c) (pow.f64 b -3))))) a)))))
28.7b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
7.0b
(*.f64 (-.f64 (*.f64 (/.f64 -3/2 b) (*.f64 c a)) (fma.f64 9/8 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) (fma.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4)))))) (/.f64 1/3 a))
29.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
7.0b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))
28.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (-.f64 (exp.f64 (log1p.f64 (/.f64 1/3 a))) 1))
28.6b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/3 a))
9.0b
(*.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (fma.f64 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) -9/8 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) -27/16))) (/.f64 1/3 a))
9.1b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 6566 to 4416 computations (32.7% saved)

localize29.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series231.0ms (4.4%)

Counts
4 → 0
Calls

4 calls:

86.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
75.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))
56.0ms
(/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))
14.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))

rewrite32.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
225×log1p-expm1-u_binary64
225×expm1-log1p-u_binary64
224×add-sqr-sqrt_binary64
216×add-cbrt-cube_binary64
215×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02355
151555
Stop Event
node limit
Counts
4 → 72
Calls

4 calls:

31.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))
31.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
31.0ms
(/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))
31.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
72 → 72

prune172.0ms (3.3%)

Pruning

19 alts after pruning (18 fresh and 1 done)

PrunedKeptTotal
New69372
Fresh21517
Picked101
Done011
Total721991
Error
1.0b
Counts
91 → 19
Alt Table
StatusErrorProgram
7.9b
(neg.f64 (+.f64 (*.f64 9/16 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (pow.f64 c 3) (*.f64 a a)) (pow.f64 b -5)))) 1)) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.7b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))))
28.7b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
7.0b
(*.f64 (-.f64 (*.f64 (/.f64 -3/2 b) (*.f64 c a)) (fma.f64 9/8 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) (fma.f64 27/16 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) (*.f64 405/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4)))))) (/.f64 1/3 a))
29.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
7.0b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
9.0b
(*.f64 (fma.f64 -3/2 (*.f64 (/.f64 c b) a) (fma.f64 (*.f64 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a) a) -9/8 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) (pow.f64 a 3))) -27/16))) (/.f64 1/3 a))
12.6b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 a (*.f64 c c)) (pow.f64 b -3)))))) (*.f64 1/2 (/.f64 c b))))))
27.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
12.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 a (*.f64 c c)) (pow.f64 b -3)))) 1)) (*.f64 1/2 (/.f64 c b))))))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 1/3 (pow.f64 a -1)))
28.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (-.f64 (exp.f64 (log1p.f64 (/.f64 1/3 a))) 1))
28.6b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/3 a))
9.1b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)))))) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 4862 to 3497 computations (28.1% saved)

localize34.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
0.4b
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
0.4b
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
0.4b
(/.f64 1/3 a)

series165.0ms (3.1%)

Counts
3 → 36
Calls

3 calls:

87.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))
61.0ms
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
16.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))

rewrite40.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
431×log1p-expm1-u_binary64
431×expm1-log1p-u_binary64
404×add-log-exp_binary64
392×pow1_binary64
133×unpow-prod-down_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04186
195486
Stop Event
node limit
Counts
3 → 44
Calls

3 calls:

38.0ms
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
38.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
38.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))

simplify44.0ms (0.8%)

Algorithm
egg-herbie
Rules
953×fma-neg_binary64
390×distribute-rgt-neg-in_binary64
285×unswap-sqr_binary64
262×distribute-neg-frac_binary64
227×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0481446
11521446
25211392
329381392
Stop Event
node limit
Counts
80 → 57

prune140.0ms (2.7%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New71879
Fresh51217
Picked101
Done011
Total772198
Error
1.0b
Counts
98 → 21
Alt Table
StatusErrorProgram
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (sqrt.f64 (/.f64 1/3 a)) 2))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 c a)))) b) (/.f64 1/3 a))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
6.7b
(-.f64 (*.f64 (*.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)) a) -9/16) (fma.f64 1/2 (/.f64 c b) (fma.f64 135/128 (*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a)))))
27.4b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (pow.f64 (/.f64 1/3 a) 3) 1/3))
7.1b
(cbrt.f64 (pow.f64 (*.f64 (neg.f64 (fma.f64 3/2 (/.f64 c (/.f64 b a)) (fma.f64 9/8 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b -3)) (fma.f64 (*.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b -7)) 405/128 (/.f64 (*.f64 27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))) (/.f64 1/3 a)) 3))
25.6b
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (neg.f64 (fma.f64 3/2 (/.f64 c (/.f64 b a)) (fma.f64 9/8 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b -3)) (fma.f64 (*.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b -7)) 405/128 (/.f64 (*.f64 27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))) (/.f64 1/3 a)))))
12.0b
(neg.f64 (+.f64 (*.f64 9/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 2)) (pow.f64 b 5))) (+.f64 (*.f64 135/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))) (+.f64 (*.f64 3/8 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 a (*.f64 c c)) (pow.f64 b -3)))) 1)) (*.f64 1/2 (/.f64 c b))))))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (*.f64 1/3 (pow.f64 a -1)))
7.4b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (log.f64 (exp.f64 (*.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b -7))))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (/.f64 1/3 a))
28.6b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 -1 b b)) (/.f64 1/3 a))
7.0b
(/.f64 (*.f64 (neg.f64 (fma.f64 3/2 (/.f64 c (/.f64 b a)) (fma.f64 9/8 (*.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b -3)) (fma.f64 (*.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b -7)) 405/128 (/.f64 (*.f64 27/16 (pow.f64 (*.f64 c a) 3)) (pow.f64 b 5)))))) 1/3) a)
29.3b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (cbrt.f64 b)) (pow.f64 (cbrt.f64 b) 2) b)) (/.f64 1/3 a))
10.2b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (-.f64 (exp.f64 (log1p.f64 (/.f64 1/3 a))) 1))
7.7b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (exp.f64 (log.f64 (/.f64 1/3 a))))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 c (*.f64 a -3)))) b) (/.f64 1/3 a))
28.6b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (-.f64 (exp.f64 (log1p.f64 (/.f64 1/3 a))) 1))
28.7b
(*.f64 (+.f64 (fma.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) 2)) (sqrt.f64 (cbrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3))))) (neg.f64 b)) (fma.f64 (neg.f64 (sqrt.f64 b)) (sqrt.f64 b) b)) (/.f64 1/3 a))
7.5b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
7.0b
(*.f64 (neg.f64 (+.f64 (*.f64 3/2 (/.f64 (*.f64 c a) b)) (+.f64 (*.f64 9/8 (/.f64 (*.f64 (pow.f64 c 2) (pow.f64 a 2)) (pow.f64 b 3))) (+.f64 (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7))) (*.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))))))) (pow.f64 (*.f64 a 3) -1))
27.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
Compiler

Compiled 4760 to 3353 computations (29.6% saved)

regimes1.0s (19.7%)

Accuracy

Total 4.3b remaining (84.8%)

Threshold costs 0b (0%)

Counts
116 → 2
Compiler

Compiled 25721 to 19231 computations (25.2% saved)

bsearch7.0ms (0.1%)

Compiler

Compiled 20 to 14 computations (30% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
057127
177125
297125
3106125
4112125
5114125
Stop Event
saturated

end544.0ms (10.4%)

Compiler

Compiled 1001 to 721 computations (28% saved)

Profiling

Loading profile data...