Details

Time bar (total: 3.2s)

analyze56.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
25%74.9%0.1%4
37.5%62.4%0.1%5
59.3%40.6%0.1%6
76.5%23.4%0.1%7
82%18%0.1%8
87.8%12.1%0.1%9
90.7%9.2%0.1%10
93.8%6.1%0.1%11
95.3%4.6%0.1%12
96.8%3.1%0.1%13
97.6%2.3%0.1%14
Compiler

Compiled 10 to 6 computations (40% saved)

sample826.0ms (25.9%)

Results
716.0ms8256×body128valid
Compiler

Compiled 29 to 17 computations (41.4% saved)

simplify76.0ms (2.4%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
511×fma-neg_binary64
365×times-frac_binary64
331×div-sub_binary64
156×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
11210
21910
33010
45210
58110
612410
719110
830010
964110
1082210
11129910
12132810
13134310
14135710
15137710
16137710
17127610

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 27 to 15 computations (44.4% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

series8.0ms (0.3%)

Counts
1 → 24
Calls

1 calls:

8.0ms
(/.f64 (-.f64 x y) (+.f64 x y))

rewrite9.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
34×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
20×times-frac_binary64
12×add-cube-cbrt_binary64
distribute-lft-out_binary64
Counts
1 → 48
Calls

1 calls:

6.0ms
(/.f64 (-.f64 x y) (+.f64 x y))

simplify77.0ms (2.4%)

Algorithm
egg-herbie
Rules
610×div-sub_binary64
586×fma-neg_binary64
530×cancel-sign-sub-inv_binary64
194×distribute-neg-frac_binary64
184×fma-def_binary64
Counts
72 → 59
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01061287
12831239
27481195
324881183
443831183
554851183

prune41.0ms (1.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New56359
Fresh000
Picked101
Done000
Total57360
Error
0b
Counts
60 → 3
Alt Table
StatusErrorProgram
0.2b
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
29.0b
(fma.f64 2 (-.f64 (+.f64 (/.f64 x y) (pow.f64 (/.f64 x y) 3)) (*.f64 (/.f64 x y) (/.f64 x y))) -1)
Compiler

Compiled 976 to 311 computations (68.1% saved)

localize5.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series28.0ms (0.9%)

Counts
3 → 72
Calls

3 calls:

10.0ms
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
10.0ms
(/.f64 x (+.f64 x y))
8.0ms
(/.f64 y (+.f64 x y))

rewrite621.0ms (19.5%)

Algorithm
rewrite-expression-head
Rules
595×*-un-lft-identity_binary64
496×times-frac_binary64
339×add-sqr-sqrt_binary64
327×add-cube-cbrt_binary64
324×prod-diff_binary64
Counts
3 → 459
Calls

3 calls:

291.0ms
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
3.0ms
(/.f64 x (+.f64 x y))
3.0ms
(/.f64 y (+.f64 x y))

simplify403.0ms (12.6%)

Algorithm
egg-herbie
Rules
764×fma-neg_binary64
542×times-frac_binary64
251×unsub-neg_binary64
239×sub-neg_binary64
210×fma-udef_binary64
Counts
531 → 507
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046325191
1107716096
2249811283
3463411271
4489611271

prune280.0ms (8.8%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New5061507
Fresh112
Picked101
Done000
Total5082510
Error
0b
Counts
510 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (expm1.f64 (log1p.f64 (/.f64 y (+.f64 x y)))))
Compiler

Compiled 19777 to 3519 computations (82.2% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series20.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

11.0ms
(-.f64 (/.f64 x (+.f64 x y)) (expm1.f64 (log1p.f64 (/.f64 y (+.f64 x y)))))
9.0ms
(expm1.f64 (log1p.f64 (/.f64 y (+.f64 x y))))

rewrite25.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
79×*-un-lft-identity_binary64
58×add-sqr-sqrt_binary64
54×prod-diff_binary64
53×add-cube-cbrt_binary64
49×times-frac_binary64
Counts
2 → 103
Calls

2 calls:

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

simplify113.0ms (3.5%)

Algorithm
egg-herbie
Rules
761×fma-neg_binary64
512×fma-def_binary64
373×associate-*l*_binary64
312×associate-*r*_binary64
217×associate-/l*_binary64
Counts
151 → 156
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01834762
13693543
211242647
342372626
449272626

prune143.0ms (4.5%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New2910291
Fresh011
Picked011
Done000
Total2912293
Error
0b
Counts
293 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (expm1.f64 (log1p.f64 (/.f64 y (+.f64 x y)))))
Compiler

Compiled 8215 to 1498 computations (81.8% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series19.0ms (0.6%)

Counts
2 → 48
Calls

2 calls:

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

rewrite19.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
37×*-un-lft-identity_binary64
29×add-sqr-sqrt_binary64
26×times-frac_binary64
20×add-cube-cbrt_binary64
18×associate-*r*_binary64
Counts
2 → 88
Calls

2 calls:

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

simplify142.0ms (4.4%)

Algorithm
egg-herbie
Rules
550×fma-neg_binary64
262×associate-*l*_binary64
254×fma-def_binary64
245×times-frac_binary64
244×associate-/l*_binary64
Counts
136 → 135
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01372203
13472083
211081813
336791801
449571801

prune65.0ms (2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1350135
Fresh000
Picked011
Done011
Total1352137
Error
0b
Counts
137 → 2
Alt Table
StatusErrorProgram
0.2b
(*.f64 (-.f64 x y) (/.f64 1 (+.f64 x y)))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (expm1.f64 (log1p.f64 (/.f64 y (+.f64 x y)))))
Compiler

Compiled 2213 to 901 computations (59.3% saved)

regimes156.0ms (4.9%)

Accuracy

Total 0.0b remaining (25.7%)

Threshold costs 0.0b (25.7%)

Counts
66 → 1
Compiler

Compiled 2860 to 1677 computations (41.4% saved)

simplify3.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
0716
11016
21716
32116
42416
52516
62516

end40.0ms (1.3%)

Compiler

Compiled 52 to 27 computations (48.1% saved)

Profiling

Loading profile data...