Details

Time bar (total: 5.7s)

analyze360.0ms (6.3%)

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)

sample2.3s (40.6%)

Results
1.1s3909×body256valid
585.0ms1478×body512valid
434.0ms2869×body128valid
128.0ms885×body128invalid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify347.0ms (6.1%)

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

localize9.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)
27.7b
(+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c))))

series106.0ms (1.9%)

Counts
4 → 100
Calls

4 calls:

55.0ms
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
34.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))
7.0ms
(*.f64 (*.f64 3 a) c)

rewrite101.0ms (1.8%)

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:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01366
129756
2376956
3548056
000
100

simplify76.0ms (1.3%)

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

prune204.0ms (3.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3365341
Fresh101
Picked011
Done000
Total3376343
Error
0.2b
Counts
343 → 6
Alt Table
StatusErrorProgram
1.7b
(/.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))
2.2b
(/.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))
52.1b
(/.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))
52.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))
1.3b
(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)))))
53.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 10235 to 5598 computations (45.3% saved)

localize23.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series204.0ms (3.6%)

Counts
4 → 120
Calls

4 calls:

92.0ms
(/.f64 (*.f64 (pow.f64 a 3) (pow.f64 c 4)) (pow.f64 b 7))
81.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))
13.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite79.0ms (1.4%)

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:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01852
139752
2453552
3508152
000
100

simplify145.0ms (2.6%)

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

prune201.0ms (3.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1300130
Fresh044
Picked011
Done011
Total1306136
Error
0.2b
Counts
136 → 6
Alt Table
StatusErrorProgram
1.7b
(/.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))
2.2b
(/.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))
52.1b
(/.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))
52.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))
1.3b
(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)))))
53.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 6302 to 3918 computations (37.8% saved)

localize28.0ms (0.5%)

Local error

Found 4 expressions with local error:

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

series157.0ms (2.7%)

Counts
4 → 96
Calls

4 calls:

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

rewrite46.0ms (0.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03493
177593
2523993
000
100

simplify86.0ms (1.5%)

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
160 → 81
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0502262
11552262
25432208
327332208
448142208
549972208

prune121.0ms (2.1%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New78381
Fresh033
Picked101
Done022
Total79887
Error
0.2b
Counts
87 → 8
Alt Table
StatusErrorProgram
1.3b
(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)))))
22.1b
(/.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))
47.0b
(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))))
1.7b
(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)
2.2b
(/.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))
52.1b
(/.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))
52.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))
53.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 4446 to 2909 computations (34.6% saved)

localize26.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series99.0ms (1.7%)

Counts
4 → 108
Calls

4 calls:

65.0ms
(/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3))
14.0ms
(pow.f64 (*.f64 c a) 4)
13.0ms
(pow.f64 (*.f64 c a) 3)
7.0ms
(pow.f64 (*.f64 c a) 2)

rewrite94.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
605×log-prod_binary64
210×prod-diff_binary64
204×expm1-udef_binary64
204×log1p-udef_binary64
192×log-pow_binary64
Counts
4 → 137
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01334
128234
2285434
3495034
4519034
000
100

simplify106.0ms (1.9%)

Algorithm
egg-herbie
Rules
1459×associate-*l/_binary64
620×times-frac_binary64
460×associate-/l*_binary64
320×unswap-sqr_binary64
299×sqr-pow_binary64
Counts
245 → 139
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0181296
1491296
21551296
36771296
427171152
527821152
62901972
73067972
83219972
93404972
105474972

prune202.0ms (3.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1390139
Fresh055
Picked011
Done022
Total1398147
Error
0.2b
Counts
147 → 8
Alt Table
StatusErrorProgram
1.3b
(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)))))
22.1b
(/.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))
47.0b
(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))))
1.7b
(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)
2.2b
(/.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))
52.1b
(/.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))
52.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))
53.1b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
Compiler

Compiled 7545 to 4634 computations (38.6% saved)

regimes332.0ms (5.8%)

Accuracy

Total 1.3b remaining (86.5%)

Threshold costs 0b (0%)

Counts
41 → 1
Compiler

Compiled 7306 to 5131 computations (29.8% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03161
13661
23661

end225.0ms (4%)

Compiler

Compiled 402 to 274 computations (31.8% saved)

Profiling

Loading profile data...