Details

Time bar (total: 8.1s)

analyze52.0ms (0.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
25%74.9%0.1%3
25%74.9%0.1%4
56.2%43.7%0.1%5
65.6%34.3%0.1%6
79.6%20.3%0.1%7
83.5%16.4%0.1%8
90.1%9.8%0.1%9
91.9%8%0.1%10
95.1%4.8%0.1%11
96%4%0.1%12
97.5%2.4%0.1%13
97.9%2%0.1%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample854.0ms (10.5%)

Results
841.0ms8255×body128valid
0.0msbody1024valid
Compiler

Compiled 24 to 16 computations (33.3% saved)

preprocess35.0ms (0.4%)

Algorithm
egg-herbie
Rules
916×fma-neg_binary64
555×div-sub_binary64
357×times-frac_binary64
299×distribute-rgt-in_binary64
277×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
13326
25426
310626
422826
546326
6125426
7324626
022
Stop Event
saturated
node limit
Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify30.0ms (0.4%)

Algorithm
egg-herbie
Rules
1142×fma-neg_binary64
494×div-sub_binary64
253×associate-/r/_binary64
248×times-frac_binary64
239×associate-/l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11813
23513
37713
418813
535813
688313
7228713
8459113
Stop Event
node limit
Counts
1 → 2

prune8.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
Compiler

Compiled 42 to 26 computations (38.1% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))

series12.0ms (0.2%)

Counts
1 → 24
Calls

6 calls:

2.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
x
0
2.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
x
-inf
2.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
y
0
2.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
y
-inf
2.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
x
inf

rewrite130.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
843×prod-diff_binary64
233×egg-rr
189×log1p-udef_binary64
103×add-sqr-sqrt_binary64
100×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
119713
2305813
Stop Event
node limit
Counts
1 → 233

simplify48.0ms (0.6%)

Algorithm
egg-herbie
Rules
590×fma-def_binary64
491×times-frac_binary64
377×associate-/l*_binary64
339×associate-/r*_binary64
210×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01321038
14181030
21608918
Stop Event
node limit
Counts
257 → 262

prune369.0ms (4.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2584262
Fresh000
Picked101
Done000
Total2594263
Error
0b
Counts
263 → 4
Alt Table
StatusErrorProgram
36.2b
(fma.f64 (/.f64 x y) -2 (+.f64 1 (/.f64 2 y)))
30.3b
(-.f64 (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4)) x (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3)) x (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 x (-.f64 2 x))))) (+.f64 (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))) (pow.f64 (/.f64 y (-.f64 2 x)) 3)))
0.7b
(+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x)) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
0.3b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x)))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
Compiler

Compiled 15571 to 10108 computations (35.1% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)
0.3b
(*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))))
9.0b
(cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x)))
42.7b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))

series3.5s (42.5%)

Counts
4 → 72
Calls

24 calls:

767.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))
x
-inf
742.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))
x
inf
703.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))
y
inf
668.0ms
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))
y
-inf
137.0ms
(*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))))
x
0

rewrite67.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
242×expm1-udef_binary64
242×log1p-udef_binary64
196×fma-neg_binary64
148×add-sqr-sqrt_binary64
142×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01460
130959
2414459
Stop Event
node limit
Counts
4 → 97

simplify71.0ms (0.9%)

Algorithm
egg-herbie
Rules
549×fma-def_binary64
391×associate-*r*_binary64
272×associate-/r*_binary64
252×times-frac_binary64
234×associate-*l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05363967
117043902
Stop Event
node limit
Counts
169 → 170

prune720.0ms (8.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New3260326
Fresh033
Picked011
Done000
Total3264330
Error
0b
Counts
330 → 4
Alt Table
StatusErrorProgram
36.2b
(fma.f64 (/.f64 x y) -2 (+.f64 1 (/.f64 2 y)))
30.3b
(-.f64 (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4)) x (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3)) x (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 x (-.f64 2 x))))) (+.f64 (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))) (pow.f64 (/.f64 y (-.f64 2 x)) 3)))
0.7b
(+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x)) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
0.3b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x)))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
Compiler

Compiled 26335 to 18626 computations (29.3% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x))
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)
42.7b
(fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))

series103.0ms (1.3%)

Counts
3 → 12
Calls

12 calls:

42.0ms
(/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x))
x
-inf
19.0ms
(pow.f64 (cbrt.f64 x) 2)
x
-inf
9.0ms
(/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x))
y
inf
9.0ms
(cbrt.f64 x)
x
-inf
5.0ms
(/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x))
x
inf

rewrite52.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
743×prod-diff_binary64
186×expm1-udef_binary64
186×log1p-udef_binary64
149×fma-neg_binary64
105×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
121021
2292121
Stop Event
node limit
Counts
3 → 76

simplify29.0ms (0.4%)

Algorithm
egg-herbie
Rules
653×fma-def_binary64
416×times-frac_binary64
283×associate-*l*_binary64
279×associate-*r*_binary64
233×associate--r+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
079730
1263596
21000561
Stop Event
node limit
Counts
88 → 92

prune240.0ms (2.9%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1390139
Fresh022
Picked011
Done011
Total1394143
Error
0b
Counts
143 → 4
Alt Table
StatusErrorProgram
36.2b
(fma.f64 (/.f64 x y) -2 (+.f64 1 (/.f64 2 y)))
30.3b
(-.f64 (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4)) x (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3)) x (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 x (-.f64 2 x))))) (+.f64 (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))) (pow.f64 (/.f64 y (-.f64 2 x)) 3)))
0.7b
(+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x)) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
0.3b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x)))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
Compiler

Compiled 7444 to 4971 computations (33.2% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.2b
(+.f64 (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))) (pow.f64 (/.f64 y (-.f64 2 x)) 3))
6.5b
(fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4)) x (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3)) x (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 x (-.f64 2 x)))))
8.9b
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))
9.8b
(/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4))

series118.0ms (1.4%)

Counts
4 → 84
Calls

24 calls:

10.0ms
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))
y
-inf
10.0ms
(/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4))
y
inf
9.0ms
(/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4))
y
-inf
9.0ms
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))
y
inf
9.0ms
(/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4))
y
0

rewrite49.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
242×add-sqr-sqrt_binary64
239×log1p-expm1-u_binary64
239×expm1-log1p-u_binary64
233×add-cbrt-cube_binary64
226×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023106
1521106
Stop Event
node limit
Counts
4 → 79

simplify72.0ms (0.9%)

Algorithm
egg-herbie
Rules
574×times-frac_binary64
394×fma-def_binary64
392×associate-+r+_binary64
253×+-commutative_binary64
245×associate-+l+_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02502951
18262913
232392708
Stop Event
node limit
Counts
163 → 164

prune284.0ms (3.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1640164
Fresh011
Picked011
Done022
Total1644168
Error
0b
Counts
168 → 4
Alt Table
StatusErrorProgram
36.2b
(fma.f64 (/.f64 x y) -2 (+.f64 1 (/.f64 2 y)))
30.3b
(-.f64 (fma.f64 (/.f64 (pow.f64 y 3) (pow.f64 (-.f64 2 x) 4)) x (fma.f64 (/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3)) x (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 x (-.f64 2 x))))) (+.f64 (*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))) (pow.f64 (/.f64 y (-.f64 2 x)) 3)))
0.7b
(+.f64 (fma.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) 1) (/.f64 (cbrt.f64 x) (-.f64 (-.f64 2 y) x)) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
0.3b
(+.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x)))) (cbrt.f64 (/.f64 x (-.f64 (-.f64 2 y) x))) (neg.f64 (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y))) (fma.f64 (neg.f64 (/.f64 1 (-.f64 (-.f64 2 y) x))) y (*.f64 (/.f64 1 (-.f64 (-.f64 2 y) x)) y)))
Compiler

Compiled 10621 to 7365 computations (30.7% saved)

regimes1.1s (14.1%)

Accuracy

Total -0.0b remaining (-18%)

Threshold costs -0.0b (-18%)

Counts
242 → 1
Compiler

Compiled 32374 to 22504 computations (30.5% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0922
11522
22722
33322
43622
Stop Event
saturated

end134.0ms (1.6%)

Stop Event
fuel
Compiler

Compiled 210 to 146 computations (30.5% saved)

Profiling

Loading profile data...