Details

Time bar (total: 6.2s)

analyze433.0ms (6.9%)

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

Compiled 33 to 24 computations (27.3% saved)

sample55.0ms (0.9%)

Algorithm
intervals
Results
17.0ms133×body256valid
11.0ms274×pre128true
7.0ms36×body512valid
6.0ms87×body128valid
1.0ms18×body128nan
Compiler

Compiled 56 to 41 computations (26.8% saved)

simplify368.0ms (5.9%)

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
52.5b
Counts
3 → 2
Alt Table
StatusErrorProgram
52.5b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
52.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)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

rewrite31.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
10×add-log-exp_binary64
10×add-sqr-sqrt_binary64
Counts
4 → 93
Calls

4 calls:

10.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
8.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
4.0ms
(*.f64 (*.f64 3 a) c)
3.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))

series185.0ms (3%)

Counts
4 → 100
Calls

4 calls:

81.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
50.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
32.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
21.0ms
(*.f64 (*.f64 3 a) c)

simplify145.0ms (2.3%)

Algorithm
egg-herbie
Rules
791×fma-def_binary64
309×fma-neg_binary64
282×cancel-sign-sub-inv_binary64
189×associate-*r*_binary64
182×associate-*l*_binary64
Counts
193 → 334
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02473732
16873410
225793302
348083302
448893302

prune129.0ms (2.1%)

Pruning

12 alts after pruning (11 fresh and 1 done)

PrunedKeptTotal
New32311334
Fresh101
Picked011
Done000
Total32412336
Error
0.2b
Counts
336 → 12
Alt Table
StatusErrorProgram
52.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))))
2.0b
(/.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 (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 3 a))
52.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.6b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
52.5b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))) (*.f64 3 a))
2.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (/.f64 -27/16 (/.f64 (pow.f64 b 5) (pow.f64 (*.f64 c a) 3))))) (*.f64 3 a))
52.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))) 3) (/.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
52.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 (*.f64 3 a) (*.f64 3 a)) (*.f64 3 a))))
51.7b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.1b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.6b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
52.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
Compiler

Compiled 5682 to 3336 computations (41.3% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

rewrite40.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
109×add-exp-log_binary64
54×prod-exp_binary64
42×add-sqr-sqrt_binary64
30×div-exp_binary64
29×unpow-prod-down_binary64
Counts
4 → 186
Calls

4 calls:

8.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
7.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
7.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))
6.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))

series371.0ms (6%)

Counts
4 → 120
Calls

4 calls:

160.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
109.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
54.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
47.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

simplify174.0ms (2.8%)

Algorithm
egg-herbie
Rules
394×times-frac_binary64
381×associate-*l*_binary64
327×associate-*r*_binary64
312×log-div_binary64
299×associate-/l*_binary64
Counts
306 → 566
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02734694
16004318
234534239
347074239
451554239

prune367.0ms (5.9%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New5660566
Fresh01010
Picked011
Done011
Total56612578
Error
0.2b
Counts
578 → 12
Alt Table
StatusErrorProgram
52.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))))
2.0b
(/.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 (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 3 a))
52.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.6b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
52.5b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))) (*.f64 3 a))
2.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (/.f64 -27/16 (/.f64 (pow.f64 b 5) (pow.f64 (*.f64 c a) 3))))) (*.f64 3 a))
52.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))) 3) (/.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
52.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 (*.f64 3 a) (*.f64 3 a)) (*.f64 3 a))))
51.7b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.1b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.6b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
52.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
Compiler

Compiled 12046 to 7373 computations (38.8% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

rewrite38.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
73×add-exp-log_binary64
46×pow1_binary64
42×add-cbrt-cube_binary64
34×prod-exp_binary64
18×cbrt-unprod_binary64
Counts
4 → 143
Calls

4 calls:

13.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
8.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 (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 3 a))
5.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
3.0ms
(pow.f64 (*.f64 c a) 3)

series266.0ms (4.3%)

Counts
4 → 120
Calls

4 calls:

118.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
77.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 (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 3 a))
38.0ms
(pow.f64 (*.f64 c a) 3)
32.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

simplify157.0ms (2.5%)

Algorithm
egg-herbie
Rules
479×unswap-sqr_binary64
346×times-frac_binary64
303×fma-def_binary64
247×associate-/l*_binary64
192×associate-*l*_binary64
Counts
263 → 500
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02416668
15675509
230875427
349755427

prune296.0ms (4.7%)

Pruning

13 alts after pruning (11 fresh and 2 done)

PrunedKeptTotal
New4982500
Fresh099
Picked101
Done022
Total49913512
Error
0.2b
Counts
512 → 13
Alt Table
StatusErrorProgram
1.6b
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 (/.f64 c b) a) a)) (/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a)))
52.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.6b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
52.5b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))) (*.f64 3 a))
2.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (/.f64 -27/16 (/.f64 (pow.f64 b 5) (pow.f64 (*.f64 c a) 3))))) (*.f64 3 a))
2.2b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 c b) a) -3/2) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a)) 3))
51.7b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))) 3) (/.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
52.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 (*.f64 3 a) (*.f64 3 a)) (*.f64 3 a))))
52.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))))
52.1b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.6b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
52.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
Compiler

Compiled 12015 to 7055 computations (41.3% saved)

localize29.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a))
0.5b
(pow.f64 (*.f64 c a) 2)
0.7b
(pow.f64 (*.f64 c a) 3)
0.9b
(pow.f64 (*.f64 c a) 4)

rewrite12.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
14×add-exp-log_binary64
pow1_binary64
add-cbrt-cube_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
Counts
3 → 62
Calls

3 calls:

3.0ms
(/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a))
2.0ms
(pow.f64 (*.f64 c a) 4)
2.0ms
(pow.f64 (*.f64 c a) 2)

series251.0ms (4%)

Counts
3 → 84
Calls

3 calls:

186.0ms
(/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a))
39.0ms
(pow.f64 (*.f64 c a) 4)
25.0ms
(pow.f64 (*.f64 c a) 2)

simplify98.0ms (1.6%)

Algorithm
egg-herbie
Rules
639×times-frac_binary64
531×associate-/l*_binary64
493×associate-*l*_binary64
464×associate-*r*_binary64
344×associate-/r*_binary64
Counts
146 → 265
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01374049
12853551
29023547
350443547

prune225.0ms (3.6%)

Pruning

13 alts after pruning (10 fresh and 3 done)

PrunedKeptTotal
New3500350
Fresh01010
Picked011
Done022
Total35013363
Error
0.2b
Counts
363 → 13
Alt Table
StatusErrorProgram
1.6b
(-.f64 (*.f64 -1/2 (/.f64 (*.f64 (/.f64 c b) a) a)) (/.f64 (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a)))
52.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.6b
(/.f64 (/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 3 a))
52.5b
(/.f64 (/.f64 (+.f64 (pow.f64 (neg.f64 b) 3) (pow.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) 3)) (+.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (-.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))) (*.f64 3 a))
2.5b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8 (/.f64 -27/16 (/.f64 (pow.f64 b 5) (pow.f64 (*.f64 c a) 3))))) (*.f64 3 a))
2.2b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 c b) a) -3/2) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) 9/8 (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 3 a)) 3))
51.7b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
52.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))))) 3) (/.f64 (cbrt.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) a))
52.5b
(cbrt.f64 (/.f64 (*.f64 (*.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 (*.f64 3 a) (*.f64 3 a)) (*.f64 3 a))))
52.5b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a)))) (cbrt.f64 (/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))))
52.1b
(/.f64 (fma.f64 (*.f64 (cbrt.f64 b) (cbrt.f64 b)) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
1.6b
(neg.f64 (fma.f64 9/16 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) (fma.f64 135/128 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) (fma.f64 1/2 (/.f64 c b) (*.f64 3/8 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)))))))
52.6b
(/.f64 (-.f64 (*.f64 (neg.f64 b) (neg.f64 b)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))) (*.f64 (*.f64 3 a) (-.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))))
Compiler

Compiled 6858 to 4099 computations (40.2% saved)

regimes407.0ms (6.5%)

Accuracy

Total 1.2b remaining (85.1%)

Threshold costs 0b (0%)

Compiler

Compiled 11927 to 7965 computations (33.2% saved)

simplify8.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
1022167

end1.0ms (0%)

Compiler

Compiled 48 to 37 computations (22.9% saved)

sample2.1s (33.5%)

Algorithm
intervals
Results
499.0ms3797×body256valid
309.0ms1479×body512valid
290.0ms8833×pre128true
222.0ms2724×body128valid
54.0ms833×body128nan
Compiler

Compiled 667 to 433 computations (35.1% saved)

Profiling

Loading profile data...