Details

Time bar (total: 5.4s)

analyze350.0ms (6.5%)

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 (28.3%)

Results
1.2s7902×body128valid
147.0ms977×body128invalid
96.0ms354×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
28.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
28.3b
(/.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)

localize11.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)
28.3b
(-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b)

series95.0ms (1.8%)

Counts
4 → 64
Calls

4 calls:

52.0ms
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (/.f64 1/3 a))
36.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)

rewrite67.0ms (1.3%)

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:

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

simplify38.0ms (0.7%)

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

prune133.0ms (2.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New17814192
Fresh011
Picked101
Done000
Total17915194
Error
0.8b
Counts
194 → 15
Alt Table
StatusErrorProgram
29.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))
5.5b
(*.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 -1 b b)) (/.f64 1/3 a))
5.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))))))) (/.f64 1/3 a))
29.4b
(*.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 (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))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (*.f64 a 3) -1))
5.3b
(-.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.3b
(*.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))
30.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))
28.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3)))
5.3b
(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.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
Compiler

Compiled 5589 to 3605 computations (35.5% saved)

localize27.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series217.0ms (4%)

Counts
4 → 0
Calls

4 calls:

105.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
80.0ms
(*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))
17.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))
14.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))

rewrite34.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
209×add-sqr-sqrt_binary64
209×log1p-expm1-u_binary64
209×expm1-log1p-u_binary64
202×add-cbrt-cube_binary64
201×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02252
148452
Stop Event
node limit
Counts
4 → 78
Calls

4 calls:

33.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 3))
33.0ms
(/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 3)) (pow.f64 b 7))
33.0ms
(*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3)))
33.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 2))

simplify7.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
78 → 78

prune175.0ms (3.3%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New77178
Fresh01414
Picked011
Done000
Total771693
Error
0.8b
Counts
93 → 16
Alt Table
StatusErrorProgram
29.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))
5.5b
(*.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 -1 b b)) (/.f64 1/3 a))
5.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))))))) (/.f64 1/3 a))
29.4b
(*.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 (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))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (*.f64 a 3) -1))
5.3b
(-.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)))))
5.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 (log.f64 (exp.f64 (/.f64 (pow.f64 c 4) (/.f64 (pow.f64 b 7) (pow.f64 a 3)))))) (+.f64 (*.f64 3/8 (/.f64 (*.f64 (pow.f64 c 2) a) (pow.f64 b 3))) (*.f64 1/2 (/.f64 c b))))))
5.3b
(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.3b
(*.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))
30.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))
28.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3)))
28.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
Compiler

Compiled 4958 to 3627 computations (26.8% saved)

localize26.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series261.0ms (4.9%)

Counts
4 → 108
Calls

4 calls:

88.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3))
70.0ms
(/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a))
65.0ms
(*.f64 3/8 (*.f64 (/.f64 (*.f64 c c) (pow.f64 b 3)) a))
38.0ms
(/.f64 (pow.f64 c 4) (pow.f64 b 7))

rewrite32.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
236×add-sqr-sqrt_binary64
232×log1p-expm1-u_binary64
232×expm1-log1p-u_binary64
226×add-cbrt-cube_binary64
223×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02355
151455
Stop Event
node limit
Counts
4 → 68
Calls

4 calls:

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

simplify55.0ms (1%)

Algorithm
egg-herbie
Rules
560×associate-/r*_binary64
525×associate-*l*_binary64
476×associate-*r*_binary64
269×associate-/r/_binary64
262×associate-*l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0241620
1681620
22221620
310961620
449241620
Stop Event
node limit
Counts
176 → 73

prune159.0ms (3%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New71273
Fresh11314
Picked101
Done011
Total731689
Error
0.8b
Counts
89 → 16
Alt Table
StatusErrorProgram
29.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))
5.5b
(*.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 -1 b b)) (/.f64 1/3 a))
5.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))))))) (/.f64 1/3 a))
29.4b
(*.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 (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))
30.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.1b
(-.f64 (*.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (/.f64 (pow.f64 c 3) (/.f64 (pow.f64 b 5) a)))) 1) 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.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
21.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 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (log.f64 (pow.f64 (pow.f64 (exp.f64 a) (*.f64 (*.f64 c c) (pow.f64 b -3))) 3/8)))))
28.3b
(*.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))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3)))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (*.f64 a 3) -1))
5.3b
(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.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
Compiler

Compiled 4437 to 3022 computations (31.9% saved)

localize30.0ms (0.6%)

Local error

Found 4 expressions with local error:

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

series146.0ms (2.7%)

Counts
3 → 72
Calls

3 calls:

91.0ms
(*.f64 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 4))
40.0ms
(/.f64 (pow.f64 b 5) (pow.f64 a 3))
15.0ms
(*.f64 (/.f64 -3/2 b) (*.f64 c a))

rewrite29.0ms (0.5%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02036
144733
Stop Event
node limit
Counts
3 → 86
Calls

3 calls:

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

simplify74.0ms (1.4%)

Algorithm
egg-herbie
Rules
1164×associate-/l/_binary64
445×unswap-sqr_binary64
339×times-frac_binary64
271×*-commutative_binary64
251×associate-/l*_binary64
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
015936
134936
292936
3311936
42056936
53019828
63087828
73225828
83387828
93539828
Stop Event
node limit
Counts
158 → 89

prune214.0ms (4%)

Pruning

23 alts after pruning (22 fresh and 1 done)

PrunedKeptTotal
New10011111
Fresh31114
Picked101
Done011
Total10423127
Error
0.8b
Counts
127 → 23
Alt Table
StatusErrorProgram
5.7b
(*.f64 (-.f64 (/.f64 (/.f64 (*.f64 -3/2 (*.f64 c a)) (sqrt.f64 b)) (sqrt.f64 b)) (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))
5.5b
(*.f64 (-.f64 (*.f64 c (*.f64 -3/2 (/.f64 a b))) (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))
5.7b
(*.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)))))) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3)))
29.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))
6.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)))))) (expm1.f64 (log1p.f64 (/.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 -1 b b)) (/.f64 1/3 a))
6.3b
(*.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)))))) (exp.f64 (log.f64 (/.f64 1/3 a))))
27.5b
(*.f64 (-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)))) 1) (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.4b
(*.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))
6.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 (log.f64 (exp.f64 (*.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b -7)))))))) (/.f64 1/3 a))
30.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))
9.0b
(*.f64 (-.f64 (log1p.f64 (expm1.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)))) (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))
28.3b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
21.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 (/.f64 (pow.f64 c 4) (pow.f64 b 7)) (pow.f64 a 3)) (log.f64 (pow.f64 (pow.f64 (exp.f64 a) (*.f64 (*.f64 c c) (pow.f64 b -3))) 3/8)))))
5.7b
(*.f64 (-.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 -3/2 b) 3) (pow.f64 (*.f64 c a) 3))) (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))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (exp.f64 (log.f64 (/.f64 1/3 a))))
28.3b
(*.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))
5.5b
(*.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)))))) (sqrt.f64 (/.f64 1/9 (*.f64 a a))))
31.1b
(*.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)))))) (log.f64 (exp.f64 (/.f64 1/3 a))))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (cbrt.f64 (pow.f64 (/.f64 1/3 a) 3)))
28.2b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (*.f64 a 3) -1))
5.3b
(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.3b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 b b (*.f64 a (*.f64 c -3)))) b) (pow.f64 (cbrt.f64 (/.f64 1/3 a)) 3))
Compiler

Compiled 6950 to 4714 computations (32.2% saved)

regimes1.0s (19.3%)

Accuracy

Total 5.0b remaining (86.6%)

Threshold costs 0b (0%)

Counts
122 → 1
Compiler

Compiled 27196 to 19731 computations (27.4% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
03669
15367
27267
39967
413967
517067
619867
721567
822367
922567
Stop Event
saturated

end595.0ms (11.1%)

Compiler

Compiled 1079 to 782 computations (27.5% saved)

Profiling

Loading profile data...