Details

Time bar (total: 4.3s)

analyze78.0ms (1.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
25%74.9%0.1%5
37.5%50%12.6%6
50%37.5%12.6%7
56.2%25%18.8%8
62.4%18.7%18.8%9
65.6%12.5%22%10
68.7%9.4%22%11
70.2%6.2%23.5%12
71.8%4.7%23.5%13
72.6%3.1%24.3%14
Compiler

Compiled 10 to 7 computations (30% saved)

sample719.0ms (16.8%)

Results
665.0ms8256×body128valid
8.0ms97×body128invalid
Compiler

Compiled 29 to 20 computations (31% saved)

simplify18.0ms (0.4%)

Algorithm
egg-herbie
Rules
265×fma-def_binary64
84×fma-neg_binary64
35×distribute-rgt-in_binary64
26×unsub-neg_binary64
25×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11610
23110
36310
413410
518310
623610
732810
836010
935910
1038910
1134610

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
Compiler

Compiled 27 to 18 computations (33.3% saved)

localize4.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 x y))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))

series10.0ms (0.2%)

Counts
2 → 48
Calls

2 calls:

6.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
3.0ms
(-.f64 1 (*.f64 x y))

rewrite46.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
682×log1p-expm1-u_binary64
682×expm1-log1p-u_binary64
423×prod-diff_binary64
73×add-sqr-sqrt_binary64
67×add-cbrt-cube_binary64
Counts
2 → 51
Calls

2 calls:

45.0ms
(-.f64 1 (*.f64 x y))
45.0ms
(*.f64 x (-.f64 1 (*.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
114517
2173917
3496417
000
100

simplify191.0ms (4.5%)

Algorithm
egg-herbie
Rules
1481×fma-def_binary64
1010×distribute-rgt-in_binary64
714×fma-neg_binary64
510×distribute-rgt-neg-in_binary64
467×cancel-sign-sub-inv_binary64
Counts
99 → 61
Iterations

Useful iterations: 9 (0.0ms)

IterNodesCost
013370
135370
260370
3120370
4292370
5909370
61453370
72397370
83261370
93801282
103069282
114317282
124436282
134715282
144864282
154895282
164820282

prune47.0ms (1.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New55661
Fresh000
Picked011
Done000
Total55762
Error
0.0b
Counts
62 → 7
Alt Table
StatusErrorProgram
8.2b
(-.f64 x (*.f64 y (pow.f64 x 2)))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
6.1b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
10.6b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 3)) (+.f64 1 (+.f64 (*.f64 x y) (pow.f64 (*.f64 x y) 2)))))
6.1b
(*.f64 x (/.f64 1 (/.f64 (+.f64 1 (*.f64 x y)) (-.f64 1 (pow.f64 (*.f64 x y) 2)))))
1.4b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
8.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
Compiler

Compiled 912 to 516 computations (43.4% saved)

localize6.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (*.f64 x y))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
0.6b
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))
0.7b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)

series1.3s (31.4%)

Counts
2 → 48
Calls

2 calls:

1.3s
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
29.0ms
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))

rewrite63.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
845×log1p-expm1-u_binary64
845×expm1-log1p-u_binary64
423×prod-diff_binary64
91×add-sqr-sqrt_binary64
86×add-cbrt-cube_binary64
Counts
2 → 65
Calls

2 calls:

61.0ms
(cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y))))
61.0ms
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01022
119322
2217522
3588522
000
100

simplify80.0ms (1.9%)

Algorithm
egg-herbie
Rules
916×times-frac_binary64
370×fma-def_binary64
309×fma-neg_binary64
299×cancel-sign-sub-inv_binary64
154×distribute-neg-frac_binary64
Counts
113 → 124
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01292130
14392060
215201912
346911836
449541836

prune139.0ms (3.3%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1832185
Fresh055
Picked011
Done011
Total1839192
Error
0b
Counts
192 → 9
Alt Table
StatusErrorProgram
8.2b
(-.f64 x (*.f64 y (pow.f64 x 2)))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
6.1b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
29.3b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
10.6b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 3)) (+.f64 1 (+.f64 (*.f64 x y) (pow.f64 (*.f64 x y) 2)))))
0.5b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
6.1b
(*.f64 x (/.f64 1 (/.f64 (+.f64 1 (*.f64 x y)) (-.f64 1 (pow.f64 (*.f64 x y) 2)))))
1.4b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
8.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
Compiler

Compiled 4131 to 2762 computations (33.1% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
0.1b
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x)
0.2b
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2)
0.2b
(cbrt.f64 (-.f64 1 (*.f64 x y)))

series83.0ms (1.9%)

Counts
4 → 96
Calls

4 calls:

37.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2)
21.0ms
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x)
16.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
8.0ms
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))

rewrite95.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
433×prod-diff_binary64
182×expm1-udef_binary64
181×log1p-udef_binary64
161×log-pow_binary64
Counts
4 → 88
Calls

4 calls:

94.0ms
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
94.0ms
(*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x)
94.0ms
(pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2)
94.0ms
(cbrt.f64 (-.f64 1 (*.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01143
122641
2248241
3497941
4493741
000
100

simplify123.0ms (2.9%)

Algorithm
egg-herbie
Rules
728×fma-neg_binary64
632×cancel-sign-sub-inv_binary64
280×distribute-neg-frac_binary64
276×distribute-rgt-neg-in_binary64
268×sub-neg_binary64
Counts
184 → 207
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02263680
17523552
225753350
349103342
453683342

prune257.0ms (6%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New2730273
Fresh066
Picked011
Done022
Total2739282
Error
0b
Counts
282 → 9
Alt Table
StatusErrorProgram
8.2b
(-.f64 x (*.f64 y (pow.f64 x 2)))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
6.1b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
29.3b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
10.6b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 3)) (+.f64 1 (+.f64 (*.f64 x y) (pow.f64 (*.f64 x y) 2)))))
0.5b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
6.1b
(*.f64 x (/.f64 1 (/.f64 (+.f64 1 (*.f64 x y)) (-.f64 1 (pow.f64 (*.f64 x y) 2)))))
1.4b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
8.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
Compiler

Compiled 9419 to 5651 computations (40% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 1 (pow.f64 (*.f64 x y) 2))
0.1b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
0.3b
(pow.f64 (*.f64 x y) 2)
5.8b
(/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y)))

series51.0ms (1.2%)

Counts
4 → 96
Calls

4 calls:

19.0ms
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
14.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y)))
10.0ms
(-.f64 1 (pow.f64 (*.f64 x y) 2))
7.0ms
(pow.f64 (*.f64 x y) 2)

rewrite171.0ms (4%)

Algorithm
batch-egg-rewrite
Rules
998×prod-diff_binary64
207×egg-rr
116×add-sqr-sqrt_binary64
115×log1p-expm1-u_binary64
115×expm1-log1p-u_binary64
Counts
4 → 207
Calls

4 calls:

162.0ms
(-.f64 1 (pow.f64 (*.f64 x y) 2))
162.0ms
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
162.0ms
(pow.f64 (*.f64 x y) 2)
162.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01158
124534
2307534
3495634
000
100

simplify190.0ms (4.4%)

Algorithm
egg-herbie
Rules
489×distribute-rgt-neg-in_binary64
473×distribute-lft-neg-in_binary64
430×sub-neg_binary64
368×cancel-sign-sub-inv_binary64
364×neg-sub0_binary64
Counts
303 → 222
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
017894
151894
295894
3241894
4902894
51915894
62848894
74036894
84739894
94975894
104882894

prune316.0ms (7.4%)

Pruning

9 alts after pruning (5 fresh and 4 done)

PrunedKeptTotal
New2220222
Fresh055
Picked011
Done033
Total2229231
Error
0b
Counts
231 → 9
Alt Table
StatusErrorProgram
8.2b
(-.f64 x (*.f64 y (pow.f64 x 2)))
0.1b
(*.f64 x (-.f64 1 (*.f64 x y)))
6.1b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) (+.f64 1 (*.f64 x y))))
29.3b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (-.f64 1 (*.f64 x y))))
10.6b
(*.f64 x (/.f64 (-.f64 1 (pow.f64 (*.f64 x y) 3)) (+.f64 1 (+.f64 (*.f64 x y) (pow.f64 (*.f64 x y) 2)))))
0.5b
(*.f64 (pow.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) 2) (*.f64 (cbrt.f64 (-.f64 1 (*.f64 x y))) x))
6.1b
(*.f64 x (/.f64 1 (/.f64 (+.f64 1 (*.f64 x y)) (-.f64 1 (pow.f64 (*.f64 x y) 2)))))
1.4b
(pow.f64 (cbrt.f64 (*.f64 x (-.f64 1 (*.f64 x y)))) 3)
8.6b
(/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 x y) 2)) x) (+.f64 1 (*.f64 x y)))
Compiler

Compiled 9203 to 5398 computations (41.3% saved)

regimes124.0ms (2.9%)

Accuracy

Total 0.1b remaining (80.1%)

Threshold costs 0.1b (80.1%)

Counts
38 → 1
Compiler

Compiled 1542 to 1058 computations (31.4% saved)

simplify3.0ms (0.1%)

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
0710
11610
22510
33110
43510
53610
63510

end108.0ms (2.5%)

Compiler

Compiled 156 to 103 computations (34% saved)

Profiling

Loading profile data...