Details

Time bar (total: 6.6s)

analyze380.0ms (5.8%)

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.6s (23.9%)

Results
1.2s7913×body128valid
145.0ms999×body128invalid
96.0ms343×body256valid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify351.0ms (5.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.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Local error

Found 4 expressions with local error:

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

series108.0ms (1.6%)

Counts
4 → 100
Calls

4 calls:

58.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
36.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
9.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
5.0ms
(*.f64 (*.f64 3 a) c)

rewrite107.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
725×fma-def_binary64
366×fma-neg_binary64
288×egg-rr
248×expm1-udef_binary64
248×log1p-udef_binary64
Counts
4 → 288
Calls

4 calls:

100.0ms
(-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))
100.0ms
(*.f64 (*.f64 3 a) c)
100.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
100.0ms
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01366
129756
2376956
3548056

simplify79.0ms (1.2%)

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
388 → 341
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191940
13681868
212401839
349081833
450681833

prune215.0ms (3.3%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New3347341
Fresh011
Picked101
Done000
Total3358343
Error
0.8b
Counts
343 → 8
Alt Table
StatusErrorProgram
27.8b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 1 (*.f64 a -3)))
8.3b
(/.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))
28.2b
(/.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))
26.7b
(/.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))
27.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
5.9b
(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)))))
23.5b
(*.f64 -1/2 (/.f64 c b))
6.1b
(/.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))
Compiler

Compiled 10307 to 5648 computations (45.2% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series202.0ms (3.1%)

Counts
4 → 120
Calls

4 calls:

91.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
79.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
19.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
13.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite76.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
311×log1p-udef_binary64
181×add-sqr-sqrt_binary64
180×log1p-expm1-u_binary64
180×expm1-log1p-u_binary64
173×add-cbrt-cube_binary64
Counts
4 → 124
Calls

4 calls:

74.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
74.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
74.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
73.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01852
139752
2453552
3508152

simplify142.0ms (2.2%)

Algorithm
egg-herbie
Rules
818×associate-/l*_binary64
441×associate-/r*_binary64
413×associate-*l*_binary64
371×associate-*r*_binary64
353×sqr-pow_binary64
Counts
244 → 130
Iterations

Useful iterations: 0 (0.0ms)

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

prune220.0ms (3.3%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New1282130
Fresh077
Picked011
Done000
Total12810138
Error
0.8b
Counts
138 → 10
Alt Table
StatusErrorProgram
7.4b
(fma.f64 (/.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)))) 1) (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)))))
23.5b
(*.f64 -1/2 (/.f64 c b))
27.8b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 1 (*.f64 a -3)))
8.3b
(/.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))
28.2b
(/.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))
26.7b
(/.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))
27.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
5.9b
(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.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.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)))))
6.1b
(/.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))
Compiler

Compiled 6566 to 4108 computations (37.4% saved)

localize29.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series175.0ms (2.7%)

Counts
4 → 60
Calls

4 calls:

84.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
65.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))
16.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
10.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite45.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
356×log1p-expm1-u_binary64
356×expm1-log1p-u_binary64
343×add-cbrt-cube_binary64
340×add-log-exp_binary64
339×add-exp-log_binary64
Counts
4 → 64
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03493
177593
2523993

simplify74.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
124 → 79
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0491686
11521686
25111632
325371632
445831632
549851632

prune141.0ms (2.1%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New71879
Fresh358
Picked011
Done011
Total741589
Error
0.8b
Counts
89 → 15
Alt Table
StatusErrorProgram
21.6b
(log.f64 (exp.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))))
5.9b
(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)))))
26.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)
6.1b
(/.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))
28.2b
(/.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))
26.7b
(/.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))
27.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
6.3b
(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)))))) (*.f64 a 3)) 3))
6.2b
(pow.f64 (/.f64 (*.f64 a 3) (-.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)
6.9b
(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)
6.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.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)))))
6.9b
(*.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)))))) (*.f64 a 3))) 2) (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))))
6.2b
(*.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)))
6.1b
(-.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)))
27.8b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 1 (*.f64 a -3)))
Compiler

Compiled 5068 to 3241 computations (36% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series116.0ms (1.8%)

Counts
4 → 108
Calls

4 calls:

84.0ms
(/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))
15.0ms
(pow.f64 (*.f64 c a) 4)
11.0ms
(pow.f64 (*.f64 c a) 3)
7.0ms
(pow.f64 (*.f64 c a) 2)

rewrite64.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
628×log-prod_binary64
224×expm1-udef_binary64
224×log1p-udef_binary64
207×log-pow_binary64
138×log1p-expm1-u_binary64
Counts
4 → 137
Calls

4 calls:

62.0ms
(/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5))
62.0ms
(pow.f64 (*.f64 c a) 2)
62.0ms
(pow.f64 (*.f64 c a) 3)
62.0ms
(pow.f64 (*.f64 c a) 4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01434
130734
2308534
3510534

simplify112.0ms (1.7%)

Algorithm
egg-herbie
Rules
1529×associate-*l/_binary64
736×associate-/l*_binary64
398×associate-/r*_binary64
327×unswap-sqr_binary64
290×sqr-pow_binary64
Counts
245 → 139
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0191296
1491296
21521296
37281296
431121044
531851044
63301972
73459972
83606972
93787972
105743972

prune268.0ms (4.1%)

Pruning

15 alts after pruning (13 fresh and 2 done)

PrunedKeptTotal
New1381139
Fresh01212
Picked101
Done022
Total13915154
Error
0.8b
Counts
154 → 15
Alt Table
StatusErrorProgram
21.6b
(log.f64 (exp.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))))
5.9b
(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
(*.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)))))) (*.f64 a 3))) 2) (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))))
24.0b
(-.f64 (/.f64 (*.f64 -3/2 (/.f64 (*.f64 c a) b)) (*.f64 a 3)) (/.f64 (fma.f64 9/8 (/.f64 (+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 c a) 2)))) (log.f64 (sqrt.f64 (exp.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)))
26.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)
6.1b
(/.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))
28.2b
(/.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))
26.7b
(/.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))
27.8b
(*.f64 (-.f64 (sqrt.f64 (fma.f64 a (*.f64 c -3) (*.f64 b b))) b) (/.f64 1/3 a))
6.3b
(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)))))) (*.f64 a 3)) 3))
6.2b
(pow.f64 (/.f64 (*.f64 a 3) (-.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)
6.9b
(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)
6.3b
(fma.f64 (/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5)) -9/16 (fma.f64 (log.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)))))
6.2b
(*.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)))
27.8b
(*.f64 (-.f64 b (sqrt.f64 (fma.f64 -3 (*.f64 a c) (*.f64 b b)))) (/.f64 1 (*.f64 a -3)))
Compiler

Compiled 8240 to 5107 computations (38% saved)

regimes1.5s (22.6%)

Accuracy

Total 5.1b remaining (87.5%)

Threshold costs 0b (0%)

Counts
123 → 1
Compiler

Compiled 30266 to 20656 computations (31.8% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03161
13661
23661

end538.0ms (8.2%)

Compiler

Compiled 793 to 539 computations (32% saved)

Profiling

Loading profile data...