Details

Time bar (total: 6.3s)

analyze393.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.4s (38.4%)

Results
1.1s4024×body256valid
611.0ms1502×body512valid
440.0ms2730×body128valid
124.0ms841×body128invalid
Compiler

Compiled 106 to 76 computations (28.3% saved)

simplify353.0ms (5.6%)

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.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
53.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
53.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)

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

series108.0ms (1.7%)

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))
4.0ms
(*.f64 (*.f64 3 a) c)

rewrite114.0ms (1.8%)

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

4 calls:

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

simplify86.0ms (1.4%)

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
385 → 338
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191940
13681868
212401839
349081833
450681833

prune213.0ms (3.4%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3344338
Fresh101
Picked011
Done000
Total3355340
Error
0.1b
Counts
340 → 5
Alt Table
StatusErrorProgram
53.4b
(/.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.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.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)))))
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.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))
Compiler

Compiled 10144 to 5547 computations (45.3% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series176.0ms (2.8%)

Counts
4 → 120
Calls

4 calls:

83.0ms
(/.f64 (*.f64 (*.f64 a a) (pow.f64 c 3)) (pow.f64 b 5))
59.0ms
(/.f64 (*.f64 c (*.f64 c a)) (pow.f64 b 3))
17.0ms
(*.f64 (pow.f64 a 3) (pow.f64 c 4))
17.0ms
(*.f64 (*.f64 a a) (pow.f64 c 3))

rewrite82.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
188×add-sqr-sqrt_binary64
185×log1p-expm1-u_binary64
185×expm1-log1p-u_binary64
179×add-cbrt-cube_binary64
178×add-log-exp_binary64
Counts
4 → 128
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01949
141349
2488349
3492049

simplify102.0ms (1.6%)

Algorithm
egg-herbie
Rules
940×times-frac_binary64
670×associate-*l*_binary64
666×associate-/l*_binary64
354×associate-/r*_binary64
257×unswap-sqr_binary64
Counts
248 → 135
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0201524
1561524
21731524
37271524
448321524
549181524
649971524
749831524

prune216.0ms (3.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New1350135
Fresh033
Picked011
Done011
Total1355140
Error
0.1b
Counts
140 → 5
Alt Table
StatusErrorProgram
53.4b
(/.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.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.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)))))
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.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))
Compiler

Compiled 6470 to 3974 computations (38.6% saved)

localize27.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series136.0ms (2.2%)

Counts
4 → 24
Calls

4 calls:

87.0ms
(/.f64 (*.f64 (pow.f64 c 3) (pow.f64 a 3)) (pow.f64 b 5))
19.0ms
(*.f64 (pow.f64 c 4) (pow.f64 a 4))
18.0ms
(*.f64 (pow.f64 c 3) (pow.f64 a 3))
12.0ms
(*.f64 (*.f64 c a) (*.f64 c a))

rewrite69.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
273×expm1-udef_binary64
273×log1p-udef_binary64
166×log1p-expm1-u_binary64
166×expm1-log1p-u_binary64
161×add-sqr-sqrt_binary64
Counts
4 → 92
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01734
137134
2389034
3481534

simplify170.0ms (2.7%)

Algorithm
egg-herbie
Rules
1022×sqr-pow_binary64
785×associate-*l*_binary64
636×*-commutative_binary64
598×fabs-mul_binary64
578×cube-prod_binary64
Counts
116 → 94
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07240
116240
235240
388240
4295240
51349240
61413240
71542240
81721240
91930240
102180240
112322240
122724240
133047240
143626240
153983240
164262240
174371240
184402240
194414240
204876240

prune153.0ms (2.4%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New94094
Fresh022
Picked011
Done022
Total94599
Error
0.1b
Counts
99 → 5
Alt Table
StatusErrorProgram
53.4b
(/.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.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.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)))))
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.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))
Compiler

Compiled 5201 to 3190 computations (38.7% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series102.0ms (1.6%)

Counts
1 → 36
Calls

1 calls:

102.0ms
(/.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))

rewrite62.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
252×add-sqr-sqrt_binary64
243×log1p-expm1-u_binary64
243×expm1-log1p-u_binary64
239×add-cbrt-cube_binary64
235×add-cube-cbrt_binary64
Counts
1 → 18
Calls

1 calls:

62.0ms
(/.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))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02448
153448
2496048
3512448

simplify46.0ms (0.7%)

Algorithm
egg-herbie
Rules
716×associate-/r*_binary64
439×fma-def_binary64
435×associate-/r/_binary64
434×fma-neg_binary64
421×cancel-sign-sub-inv_binary64
Counts
54 → 27
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0331200
1981200
23111146
315181123
452661123

prune140.0ms (2.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1022104
Fresh011
Picked101
Done033
Total1036109
Error
0.1b
Counts
109 → 6
Alt Table
StatusErrorProgram
53.4b
(/.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.7b
(/.f64 (+.f64 (neg.f64 b) (sqrt.f64 (-.f64 (*.f64 b b) (*.f64 (*.f64 3 a) c)))) (*.f64 3 a))
2.3b
(cbrt.f64 (/.f64 (pow.f64 (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8))) 3) (pow.f64 (*.f64 a 3) 3)))
2.1b
(pow.f64 (/.f64 (*.f64 a 3) (fma.f64 -3/2 (/.f64 (*.f64 c a) b) (fma.f64 (/.f64 (pow.f64 (*.f64 c a) 3) (pow.f64 b 5)) -27/16 (*.f64 (/.f64 (pow.f64 (*.f64 c a) 2) (pow.f64 b 3)) -9/8)))) -1)
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)))))
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))
Compiler

Compiled 4095 to 2354 computations (42.5% saved)

regimes853.0ms (13.6%)

Accuracy

Total 1.3b remaining (86.6%)

Threshold costs 0b (0%)

Counts
124 → 1
Compiler

Compiled 23328 to 15698 computations (32.7% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03161
13661
23661

end193.0ms (3.1%)

Compiler

Compiled 319 to 218 computations (31.7% saved)

Profiling

Loading profile data...