Details

Time bar (total: 3.7s)

analyze104.0ms (2.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
31.2%68.7%0.1%6
67.1%32.8%0.1%7
71%28.9%0.1%8
82.3%17.6%0.1%9
84.9%15%0.1%10
90.8%9.1%0.1%11
92.2%7.7%0.1%12
95.3%4.6%0.1%13
96%3.9%0.1%14
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample1.3s (34%)

Results
639.0ms6469×body128valid
244.0ms659×body1024valid
172.0ms687×body512valid
72.0ms435×body256valid
2.0msbody2048valid
0.0msbody128invalid
Compiler

Compiled 41 to 32 computations (22% saved)

simplify200.0ms (5.4%)

Algorithm
egg-herbie
Rules
1996×fma-def_binary64
1626×fma-neg_binary64
1098×div-sub_binary64
733×sub-neg_binary64
664×associate-/l*_binary64
Counts
1 → 2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0916
11916
24316
310214
427414
565214
6127214
7169714
8241614
9293314
10327814
11346114
12198014
13199614
14265914
15253914
16249714
17253114
18253114
19472314
20490314
21594214

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
15.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
15.2b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
26.2b
(-.f64 1 (/.f64 (*.f64 (-.f64 1 x) y) (+.f64 y 1)))
Compiler

Compiled 73 to 55 computations (24.7% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 x -1) (+.f64 1 y))
15.3b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

series21.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

12.0ms
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
8.0ms
(/.f64 (+.f64 x -1) (+.f64 1 y))

rewrite9.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
35×*-un-lft-identity_binary64
20×times-frac_binary64
18×add-sqr-sqrt_binary64
13×add-cube-cbrt_binary64
11×distribute-lft-out_binary64
Counts
2 → 57
Calls

2 calls:

6.0ms
(/.f64 (+.f64 x -1) (+.f64 1 y))
0.0ms
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

simplify77.0ms (2.1%)

Algorithm
egg-herbie
Rules
780×fma-neg_binary64
491×associate--l+_binary64
425×associate--r+_binary64
390×associate-+l+_binary64
315×fma-def_binary64
Counts
105 → 102
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01602086
14161897
212751850
347011850
454021850

prune75.0ms (2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New993102
Fresh101
Picked011
Done000
Total1004104
Error
0.0b
Counts
104 → 4
Alt Table
StatusErrorProgram
15.2b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
28.9b
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
27.6b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
15.2b
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)
Compiler

Compiled 1898 to 1302 computations (31.4% saved)

localize10.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1))
3.0b
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)

series22.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

11.0ms
(*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1))
11.0ms
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)

rewrite56.0ms (1.5%)

Algorithm
rewrite-expression-head
Rules
19×*-un-lft-identity_binary64
18×associate-*l*_binary64
17×add-sqr-sqrt_binary64
13×times-frac_binary64
11×add-cube-cbrt_binary64
Counts
2 → 63
Calls

2 calls:

45.0ms
(*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1))
7.0ms
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)

simplify89.0ms (2.4%)

Algorithm
egg-herbie
Rules
895×fma-def_binary64
614×distribute-rgt-in_binary64
462×fma-neg_binary64
427×times-frac_binary64
212×cancel-sign-sub-inv_binary64
Counts
111 → 141
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01891963
16351902
220321877
347691877
450481877

prune90.0ms (2.4%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1410141
Fresh022
Picked011
Done011
Total1414145
Error
0.0b
Counts
145 → 4
Alt Table
StatusErrorProgram
15.2b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
28.9b
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
27.6b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
15.2b
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)
Compiler

Compiled 2754 to 1902 computations (30.9% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (*.f64 y y))
0.9b
(+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))
4.4b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
9.0b
(/.f64 x (*.f64 y y))

series108.0ms (2.9%)

Counts
4 → 84
Calls

4 calls:

46.0ms
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
35.0ms
(/.f64 x (*.f64 y y))
24.0ms
(+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))
2.0ms
(/.f64 1 (*.f64 y y))

rewrite51.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
77×*-un-lft-identity_binary64
26×distribute-lft-out_binary64
24×prod-diff_binary64
24×add-sqr-sqrt_binary64
22×add-cube-cbrt_binary64
Counts
4 → 146
Calls

4 calls:

21.0ms
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
12.0ms
(+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y))
3.0ms
(/.f64 1 (*.f64 y y))
3.0ms
(/.f64 x (*.f64 y y))

simplify129.0ms (3.5%)

Algorithm
egg-herbie
Rules
550×fma-neg_binary64
251×cancel-sign-sub-inv_binary64
196×associate-/r/_binary64
171×distribute-rgt-neg-in_binary64
166×distribute-rgt-in_binary64
Counts
230 → 189
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02255463
16434334
224353523
343703521
449673521

prune191.0ms (5.1%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New1872189
Fresh011
Picked011
Done022
Total1876193
Error
0b
Counts
193 → 6
Alt Table
StatusErrorProgram
15.2b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
28.9b
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
27.6b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
46.3b
(*.f64 (sqrt.f64 (+.f64 x (*.f64 (/.f64 (+.f64 x -1) y) (+.f64 (/.f64 1 y) -1)))) (sqrt.f64 (+.f64 x (*.f64 (/.f64 (+.f64 x -1) y) (+.f64 (/.f64 1 y) -1)))))
15.2b
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)
53.9b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 (+.f64 (*.f64 1 y) (*.f64 (*.f64 y y) (+.f64 x -1))) (*.f64 (*.f64 y y) y)))
Compiler

Compiled 6170 to 2881 computations (53.3% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 x -1) (+.f64 1 y))
0.0b
(log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
1.2b
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
15.3b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)

series75.0ms (2%)

Counts
2 → 48
Calls

2 calls:

63.0ms
(log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
12.0ms
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))

rewrite2.0ms (0%)

Algorithm
rewrite-expression-head
Rules
expm1-log1p-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

0.0ms
(log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1))
0.0ms
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))

simplify92.0ms (2.5%)

Algorithm
egg-herbie
Rules
553×associate-+r+_binary64
391×+-commutative_binary64
352×fma-def_binary64
343×associate-+l+_binary64
305×associate-/r*_binary64
Counts
70 → 89
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03703684
111883584
249483584
350603584

prune167.0ms (4.5%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1910191
Fresh022
Picked011
Done033
Total1916197
Error
0b
Counts
197 → 6
Alt Table
StatusErrorProgram
15.2b
(fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)
28.9b
(expm1.f64 (log1p.f64 (fma.f64 y (/.f64 (+.f64 x -1) (+.f64 1 y)) 1)))
27.6b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (+.f64 (/.f64 1 (*.f64 y y)) (/.f64 (+.f64 x -1) y)))
46.3b
(*.f64 (sqrt.f64 (+.f64 x (*.f64 (/.f64 (+.f64 x -1) y) (+.f64 (/.f64 1 y) -1)))) (sqrt.f64 (+.f64 x (*.f64 (/.f64 (+.f64 x -1) y) (+.f64 (/.f64 1 y) -1)))))
15.2b
(+.f64 (*.f64 (/.f64 y (+.f64 1 y)) (+.f64 x -1)) 1)
53.9b
(-.f64 (+.f64 x (/.f64 x (*.f64 y y))) (/.f64 (+.f64 (*.f64 1 y) (*.f64 (*.f64 y y) (+.f64 x -1))) (*.f64 (*.f64 y y) y)))
Compiler

Compiled 6444 to 4511 computations (30% saved)

regimes688.0ms (18.6%)

Accuracy

Total 0.0b remaining (16.4%)

Threshold costs 0.0b (16.4%)

Counts
87 → 3
Compiler

Compiled 7232 to 4667 computations (35.5% saved)

bsearch40.0ms (1.1%)

Steps
ItersRangePoint
9
69711.65277553875
5269054208681.35
245860.08583667743
10
-8518609560254452000.0
-39034.92590110535
-507940.76313948643
Compiler

Compiled 3 to 2 computations (33.3% saved)

simplify4.0ms (0.1%)

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
02150
13150
23650
34450
45050
55350
65450
75250

end114.0ms (3.1%)

Compiler

Compiled 190 to 129 computations (32.1% saved)

Profiling

Loading profile data...