Details

Time bar (total: 3.6s)

analyze51.0ms (1.4%)

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)

sample1.0s (29.1%)

Results
737.0ms8255×body128valid
0.0msbody512valid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify272.0ms (7.6%)

Algorithm
egg-herbie
Rules
1222×fma-neg_binary64
983×fma-def_binary64
688×div-sub_binary64
423×sub-neg_binary64
412×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0813
11813
23513
37413
415113
524513
664113
7112513
8215813
9272913
10303713
11299513
12304913
13306313
14356913
15355913
16355913
17355913
18355913
19355913
20365513
21370313
22378513
23359313

prune2.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 2 (+.f64 x y)))
Compiler

Compiled 33 to 21 computations (36.4% 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)))

series19.0ms (0.5%)

Counts
1 → 24
Calls

1 calls:

19.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))

rewrite12.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
58×*-un-lft-identity_binary64
40×add-sqr-sqrt_binary64
30×times-frac_binary64
19×distribute-lft-out--_binary64
14×add-cube-cbrt_binary64
Counts
1 → 60
Calls

1 calls:

7.0ms
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))

simplify87.0ms (2.4%)

Algorithm
egg-herbie
Rules
702×fma-def_binary64
518×times-frac_binary64
339×fma-neg_binary64
291×distribute-rgt-in_binary64
228×cancel-sign-sub-inv_binary64
Counts
84 → 109
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02242433
16352369
221152256
348532256
450452256

prune88.0ms (2.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1063109
Fresh000
Picked011
Done000
Total1064110
Error
0b
Counts
110 → 4
Alt Table
StatusErrorProgram
39.6b
(+.f64 (fma.f64 2 (/.f64 y x) -1) (/.f64 -2 x))
25.5b
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
25.6b
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
Compiler

Compiled 2742 to 1437 computations (47.6% saved)

localize14.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
4.2b
(/.f64 (*.f64 x x) (-.f64 2 y))
5.5b
(*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))
14.0b
(/.f64 y (pow.f64 (-.f64 2 y) 2))

series107.0ms (3%)

Counts
4 → 84
Calls

4 calls:

49.0ms
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
39.0ms
(*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))
16.0ms
(/.f64 (*.f64 x x) (-.f64 2 y))
3.0ms
(/.f64 y (pow.f64 (-.f64 2 y) 2))

rewrite79.0ms (2.2%)

Algorithm
rewrite-expression-head
Rules
75×add-sqr-sqrt_binary64
69×times-frac_binary64
65×*-un-lft-identity_binary64
45×add-cube-cbrt_binary64
36×unpow-prod-down_binary64
Counts
4 → 212
Calls

4 calls:

27.0ms
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
13.0ms
(*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))
5.0ms
(/.f64 y (pow.f64 (-.f64 2 y) 2))
5.0ms
(/.f64 (*.f64 x x) (-.f64 2 y))

simplify218.0ms (6.1%)

Algorithm
egg-herbie
Rules
639×distribute-rgt-in_binary64
634×fma-def_binary64
239×*-commutative_binary64
173×times-frac_binary64
172×fma-neg_binary64
Counts
296 → 370
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
063914434
1234813449
2523613449

prune467.0ms (13.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New3700370
Fresh022
Picked011
Done011
Total3704374
Error
0b
Counts
374 → 4
Alt Table
StatusErrorProgram
39.6b
(+.f64 (fma.f64 2 (/.f64 y x) -1) (/.f64 -2 x))
25.5b
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
25.6b
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
Compiler

Compiled 24143 to 15766 computations (34.7% saved)

localize15.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x)))
2.6b
(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))))
4.3b
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
8.2b
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))

series141.0ms (4%)

Counts
4 → 96
Calls

4 calls:

44.0ms
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
42.0ms
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))
28.0ms
(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))))
26.0ms
(*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x)))

rewrite39.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
41×add-sqr-sqrt_binary64
38×*-un-lft-identity_binary64
32×times-frac_binary64
22×add-cube-cbrt_binary64
22×add-exp-log_binary64
Counts
4 → 133
Calls

4 calls:

14.0ms
(*.f64 (+.f64 (/.f64 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x)))
8.0ms
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
6.0ms
(/.f64 (*.f64 y y) (pow.f64 (-.f64 2 x) 3))
0.0ms
(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))))

simplify108.0ms (3%)

Algorithm
egg-herbie
Rules
372×fma-def_binary64
281×associate-+r+_binary64
220×associate-*r*_binary64
207×associate-*l*_binary64
202×associate-+l+_binary64
Counts
229 → 258
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04307282
112306541
249736541

prune286.0ms (8%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2580258
Fresh011
Picked011
Done022
Total2584262
Error
0b
Counts
262 → 4
Alt Table
StatusErrorProgram
39.6b
(+.f64 (fma.f64 2 (/.f64 y x) -1) (/.f64 -2 x))
25.5b
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
25.6b
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
Compiler

Compiled 12685 to 8474 computations (33.2% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series16.0ms (0.4%)

Counts
2 → 48
Calls

2 calls:

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

rewrite6.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
fma-def_binary64
add-cube-cbrt_binary64
Counts
2 → 28
Calls

2 calls:

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

simplify64.0ms (1.8%)

Algorithm
egg-herbie
Rules
463×times-frac_binary64
439×associate-+l+_binary64
325×associate-*l/_binary64
257×associate-*r/_binary64
214×fma-neg_binary64
Counts
76 → 49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052896
1135770
2326763
31375761
44564761
55204761

prune37.0ms (1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New49049
Fresh000
Picked011
Done033
Total49453
Error
0b
Counts
53 → 4
Alt Table
StatusErrorProgram
39.6b
(+.f64 (fma.f64 2 (/.f64 y x) -1) (/.f64 -2 x))
25.5b
(-.f64 (*.f64 (+.f64 (/.f64 x (-.f64 2 y)) 1) (/.f64 x (-.f64 2 y))) (+.f64 (/.f64 y (-.f64 2 y)) (*.f64 (/.f64 y (pow.f64 (-.f64 2 y) 2)) (+.f64 x (/.f64 (*.f64 x x) (-.f64 2 y))))))
0.0b
(/.f64 (-.f64 x y) (-.f64 2 (+.f64 x y)))
25.6b
(-.f64 (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 y (-.f64 2 x)) 1) (/.f64 y (-.f64 2 x))))
Compiler

Compiled 862 to 585 computations (32.1% saved)

regimes311.0ms (8.7%)

Accuracy

Total 0.0b remaining (31.4%)

Threshold costs 0.0b (31.4%)

Counts
93 → 1
Compiler

Compiled 7393 to 5058 computations (31.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
0922
11422
22722
33722
44322
54522
64522

end74.0ms (2.1%)

Compiler

Compiled 136 to 91 computations (33.1% saved)

Profiling

Loading profile data...