Details

Time bar (total: 4.8s)

analyze55.0ms (1.1%)

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
37.5%62.4%0.1%4
56.2%43.7%0.1%5
65.6%34.3%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)

sample1.0s (21.5%)

Results
866.0ms8256×body128valid
Compiler

Compiled 29 to 17 computations (41.4% saved)

simplify128.0ms (2.7%)

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

prune3.0ms (0.1%)

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)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series17.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

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

rewrite19.0ms (0.4%)

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:

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

simplify135.0ms (2.8%)

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

prune67.0ms (1.4%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New54559
Fresh000
Picked101
Done000
Total55560
Error
0b
Counts
60 → 5
Alt Table
StatusErrorProgram
0.0b
(cbrt.f64 (pow.f64 (/.f64 (-.f64 x y) (+.f64 x y)) 3))
30.8b
(fma.f64 2 (*.f64 (/.f64 y x) (/.f64 y x)) (fma.f64 (/.f64 y x) -2 1))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
32.4b
(fma.f64 2 (/.f64 x y) -1)
31.0b
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))
Compiler

Compiled 1014 to 335 computations (67% saved)

localize14.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series59.0ms (1.2%)

Counts
3 → 72
Calls

3 calls:

26.0ms
(/.f64 y (+.f64 x y))
18.0ms
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
14.0ms
(/.f64 x (+.f64 x y))

rewrite236.0ms (4.9%)

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:

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

simplify1.4s (30%)

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 → 445
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
046325191
1107716096
2249811283
3463411271
4489611271

prune398.0ms (8.3%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New4441445
Fresh224
Picked011
Done000
Total4464450
Error
0b
Counts
450 → 4
Alt Table
StatusErrorProgram
30.7b
(+.f64 1 (*.f64 2 (*.f64 (/.f64 y x) (+.f64 (/.f64 y x) -1))))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
32.4b
(fma.f64 2 (/.f64 x y) -1)
31.0b
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))
Compiler

Compiled 18588 to 3305 computations (82.2% saved)

localize12.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series32.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

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

rewrite49.0ms (1%)

Algorithm
rewrite-expression-head
Rules
28×add-sqr-sqrt_binary64
21×times-frac_binary64
21×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
13×fma-def_binary64
Counts
2 → 72
Calls

2 calls:

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

simplify166.0ms (3.5%)

Algorithm
egg-herbie
Rules
393×associate-*l/_binary64
318×associate-*r/_binary64
317×distribute-rgt-in_binary64
291×fma-def_binary64
278×distribute-lft-in_binary64
Counts
120 → 123
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01051490
13361319
210071308
335321288
446951288
550001288
649571288

prune128.0ms (2.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1230123
Fresh022
Picked011
Done011
Total1234127
Error
0b
Counts
127 → 4
Alt Table
StatusErrorProgram
30.7b
(+.f64 1 (*.f64 2 (*.f64 (/.f64 y x) (+.f64 (/.f64 y x) -1))))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
32.4b
(fma.f64 2 (/.f64 x y) -1)
31.0b
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))
Compiler

Compiled 2542 to 1313 computations (48.3% saved)

localize6.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series118.0ms (2.5%)

Counts
3 → 36
Calls

3 calls:

58.0ms
(/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y))
36.0ms
(sqrt.f64 (-.f64 x y))
23.0ms
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))

rewrite88.0ms (1.8%)

Algorithm
rewrite-expression-head
Rules
98×*-un-lft-identity_binary64
81×add-sqr-sqrt_binary64
68×times-frac_binary64
60×sqrt-prod_binary64
42×add-cube-cbrt_binary64
Counts
3 → 153
Calls

3 calls:

34.0ms
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))
10.0ms
(/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y))
7.0ms
(sqrt.f64 (-.f64 x y))

simplify217.0ms (4.5%)

Algorithm
egg-herbie
Rules
593×fma-def_binary64
316×associate-/l/_binary64
305×cancel-sign-sub-inv_binary64
269×fma-neg_binary64
173×associate-/r/_binary64
Counts
189 → 201
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02694187
17003896
223503775
345693763
449613763

prune136.0ms (2.9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2350235
Fresh011
Picked011
Done022
Total2354239
Error
0b
Counts
239 → 4
Alt Table
StatusErrorProgram
30.7b
(+.f64 1 (*.f64 2 (*.f64 (/.f64 y x) (+.f64 (/.f64 y x) -1))))
0.0b
(-.f64 (/.f64 x (+.f64 x y)) (/.f64 y (+.f64 x y)))
32.4b
(fma.f64 2 (/.f64 x y) -1)
31.0b
(*.f64 (sqrt.f64 (-.f64 x y)) (/.f64 (sqrt.f64 (-.f64 x y)) (+.f64 x y)))
Compiler

Compiled 5601 to 1447 computations (74.2% saved)

regimes174.0ms (3.6%)

Accuracy

Total 0.0b remaining (67.1%)

Threshold costs 0.0b (67.1%)

Counts
39 → 1
Compiler

Compiled 1629 to 1016 computations (37.6% 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

end54.0ms (1.1%)

Compiler

Compiled 77 to 41 computations (46.8% saved)

Profiling

Loading profile data...