Details

Time bar (total: 8.8s)

analyze342.0ms (3.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 43 to 31 computations (27.9% saved)

sample1.5s (17.1%)

Results
1.2s7913×body128valid
141.0ms1018×body128invalid
90.0ms343×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify381.0ms (4.3%)

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

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series145.0ms (1.7%)

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

rewrite345.0ms (3.9%)

Algorithm
egg-rewrite
Rules
240×egg
64×egg
57×egg
56×egg
Counts
4 → 417
Calls

4 calls:

116.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
95.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
78.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
45.0ms
(*.f64 (*.f64 3 a) c)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
127016
2324516
3497616
4495016
01326
129722
2376922
3548022
067
11217
213617
350267
0913
119811
2243311
3499411
4498811

simplify95.0ms (1.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
517 → 467
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191940
13681868
212401839
349081833
450681833

prune301.0ms (3.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New4598467
Fresh011
Picked101
Done000
Total4609469
Error
0.7b
Counts
469 → 9
Alt Table
StatusErrorProgram
5.1b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
6.9b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b))))
5.4b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
7.1b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
30.0b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
31.2b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
28.5b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 14822 to 8535 computations (42.4% saved)

localize25.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series240.0ms (2.7%)

Counts
4 → 120
Calls

4 calls:

115.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
91.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
18.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
16.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite275.0ms (3.1%)

Algorithm
egg-rewrite
Rules
67×egg
62×egg
54×egg
34×egg
Counts
4 → 217
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01216
126116
2288616
3499916
4524316
0810
116810
2165210
3495810
4486010
01116
123716
2278216
3489016
0710
114410
2151610
3553010

simplify167.0ms (1.9%)

Algorithm
egg-herbie
Rules
818×associate-/l*_binary64
441×associate-/r*_binary64
414×associate-*l*_binary64
372×associate-*r*_binary64
353×sqr-pow_binary64
Counts
337 → 221
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0191632
1521632
21651632
37051632
438681632
539451632
641201632
744161632
846851632
949971632
1048731632

prune422.0ms (4.8%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2183221
Fresh178
Picked011
Done000
Total21911230
Error
0.7b
Counts
230 → 11
Alt Table
StatusErrorProgram
5.1b
(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)))))
5.7b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
29.8b
(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)))))
6.9b
(fma.f64 (log.f64 (exp.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)))))
5.4b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
7.1b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
30.0b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
31.2b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
28.5b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 11137 to 6924 computations (37.8% saved)

localize30.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
0.4b
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
0.4b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
0.5b
(*.f64 (*.f64 c a) (*.f64 c a))

series184.0ms (2.1%)

Counts
4 → 96
Calls

4 calls:

80.0ms
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
76.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
17.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
10.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite235.0ms (2.7%)

Algorithm
egg-rewrite
Rules
80×egg
71×egg
62×egg
23×egg
Counts
4 → 236
Calls

4 calls:

85.0ms
(*.f64 (*.f64 c a) (*.f64 c a))
55.0ms
(/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3))
48.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
43.0ms
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
11037
211947
349977
464477
03466
177566
2523966
077
11467
215097
355827
0913
119413
2246313
3491413

simplify95.0ms (1.1%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
0502262
11552262
25432208
327332208
448142208
549972208

prune454.0ms (5.2%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New2426248
Fresh099
Picked101
Done011
Total24316259
Error
0.6b
Counts
259 → 16
Alt Table
StatusErrorProgram
5.1b
(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)))))
5.7b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
7.1b
(/.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (*.f64 (*.f64 c a) (*.f64 c a)) (pow.f64 b 3)) -9/8))) (*.f64 3 a))
24.2b
(-.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 a 3)))) 1)
30.0b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
5.4b
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
31.2b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
13.0b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)))))) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
28.5b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
23.2b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (log.f64 (exp.f64 (pow.f64 (*.f64 c a) 2))) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
6.1b
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 3)
29.8b
(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)))))
6.9b
(fma.f64 (log.f64 (exp.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)))))
5.5b
(*.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 (*.f64 a 3)))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
Compiler

Compiled 14327 to 9177 computations (35.9% saved)

localize27.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series46.0ms (0.5%)

Counts
4 → 108
Calls

4 calls:

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

rewrite240.0ms (2.7%)

Algorithm
egg-rewrite
Rules
76×egg
68×egg
54×egg
53×egg
Counts
4 → 251
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11277
213467
350017
067
11267
213327
349327
067
11247
212507
349027
464097
01116
124213
2343413
3493913

simplify154.0ms (1.8%)

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

Useful iterations: 6 (0.0ms)

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

prune466.0ms (5.3%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New2487255
Fresh41014
Picked101
Done101
Total25417271
Error
0.6b
Counts
271 → 17
Alt Table
StatusErrorProgram
5.4b
(-.f64 (/.f64 -3/2 (*.f64 (*.f64 a 3) (/.f64 b (*.f64 c a)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
5.7b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))) (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) (log.f64 (cbrt.f64 (exp.f64 (/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7)))))) -135/128 (fma.f64 (/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3)) -3/8 (*.f64 -1/2 (/.f64 c b)))))
29.8b
(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)))))
6.1b
(-.f64 (*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) 2) a) (/.f64 (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) 3)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
28.5b
(/.f64 (/.f64 (-.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)) (*.f64 b b)) (+.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b))))) (*.f64 3 a))
23.2b
(/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (log.f64 (exp.f64 (pow.f64 (*.f64 c a) 2))) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (*.f64 (pow.f64 c 4) (pow.f64 a 4)) (pow.f64 b 7)))))) (*.f64 3 a))
29.7b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
5.1b
(-.f64 (*.f64 -1/2 (/.f64 c b)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.1b
(pow.f64 (cbrt.f64 (/.f64 (-.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7)))))) (*.f64 a 3))) 3)
5.8b
(-.f64 (*.f64 (/.f64 (/.f64 (*.f64 c a) b) (cbrt.f64 (*.f64 (*.f64 a a) 9))) (/.f64 -3/2 (cbrt.f64 (*.f64 a 3)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
6.9b
(fma.f64 (log.f64 (exp.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)))))
5.8b
(-.f64 (*.f64 (/.f64 -3/2 (cbrt.f64 (*.f64 (*.f64 a a) 9))) (/.f64 (/.f64 (*.f64 c a) b) (cbrt.f64 (*.f64 a 3)))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
5.6b
(-.f64 (cbrt.f64 (pow.f64 (*.f64 -1/2 (/.f64 (/.f64 (*.f64 c a) b) a)) 3)) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
30.0b
(/.f64 (fma.f64 (sqrt.f64 b) (neg.f64 (sqrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
31.2b
(/.f64 (fma.f64 (pow.f64 (cbrt.f64 b) 2) (neg.f64 (cbrt.f64 b)) (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (*.f64 3 a))
29.5b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (fma.f64 b b (*.f64 -3 (*.f64 a c))))) (*.f64 3 a))
6.2b
(-.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))) 2) (/.f64 (*.f64 a 3) (cbrt.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b))))) (/.f64 (fma.f64 9/8 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) (fma.f64 27/16 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) (*.f64 405/128 (/.f64 (pow.f64 (*.f64 c a) 4) (pow.f64 b 7))))) (*.f64 a 3)))
Compiler

Compiled 14710 to 9007 computations (38.8% saved)

regimes2.0s (22.7%)

Accuracy

Total 5.2b remaining (88%)

Threshold costs 0b (0%)

Counts
160 → 1
Compiler

Compiled 30791 to 21646 computations (29.7% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03163
13763
24463
34863
45163
55263
65263

end599.0ms (6.8%)

Compiler

Compiled 881 to 605 computations (31.3% saved)

Profiling

Loading profile data...