Details

Time bar (total: 3.0s)

analyze83.0ms (2.7%)

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
0%99.9%0.1%5
50%50%0.1%6
68.7%31.2%0.1%7
81.2%18.7%0.1%8
89%10.9%0.1%9
92.1%7.8%0.1%10
95.6%4.3%0.1%11
96.4%3.5%0.1%12
98%1.9%0.1%13
98.2%1.7%0.1%14
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample1.5s (49.2%)

Results
1.3s8256×body128valid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify146.0ms (4.8%)

Algorithm
egg-herbie
Rules
878×div-sub_binary64
546×times-frac_binary64
500×sub-neg_binary64
408×fma-def_binary64
395×neg-sub0_binary64
Counts
1 → 2
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0813
11613
24013
38113
415313
524813
643511
7107711
8302911
9355811
10395911
11415811
12437711
13455211
14508311

prune6.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.0b
Counts
3 → 2
Alt Table
StatusErrorProgram
6.6b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
17.7b
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
Compiler

Compiled 61 to 40 computations (34.4% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series26.0ms (0.8%)

Counts
2 → 48
Calls

2 calls:

14.0ms
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
11.0ms
(fma.f64 1/2 (/.f64 x y) -1/2)

rewrite7.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 39
Calls

2 calls:

3.0ms
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
1.0ms
(fma.f64 1/2 (/.f64 x y) -1/2)

simplify120.0ms (3.9%)

Algorithm
egg-herbie
Rules
427×fma-neg_binary64
381×cancel-sign-sub-inv_binary64
231×fma-def_binary64
198×associate-/l*_binary64
198×times-frac_binary64
Counts
87 → 62
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0981389
12261308
26791260
324111246
445771246
549931246
649411246

prune66.0ms (2.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New58462
Fresh101
Picked011
Done000
Total59564
Error
0b
Counts
64 → 5
Alt Table
StatusErrorProgram
6.6b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
37.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
30.7b
(*.f64 2 y)
36.1b
(*.f64 -2 (+.f64 x (*.f64 (/.f64 x y) (+.f64 x (/.f64 (*.f64 x x) y)))))
6.8b
(/.f64 1 (/.f64 (fma.f64 1/2 (/.f64 x y) -1/2) x))
Compiler

Compiled 1040 to 610 computations (41.3% saved)

localize12.0ms (0.4%)

Local error

Found 3 expressions with local error:

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

series37.0ms (1.2%)

Counts
2 → 48
Calls

2 calls:

20.0ms
(/.f64 (fma.f64 1/2 (/.f64 x y) -1/2) x)
17.0ms
(/.f64 1 (/.f64 (fma.f64 1/2 (/.f64 x y) -1/2) x))

rewrite37.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
52×*-un-lft-identity_binary64
52×add-sqr-sqrt_binary64
52×add-cube-cbrt_binary64
16×associate-/r*_binary64
Counts
2 → 107
Calls

2 calls:

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

simplify201.0ms (6.6%)

Algorithm
egg-herbie
Rules
714×fma-neg_binary64
408×times-frac_binary64
399×cancel-sign-sub-inv_binary64
256×fma-def_binary64
247×associate-/l*_binary64
Counts
155 → 157
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01443160
13132887
29292794
331762787
447472787
549352787

prune174.0ms (5.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1702172
Fresh213
Picked101
Done011
Total1734177
Error
0b
Counts
177 → 4
Alt Table
StatusErrorProgram
6.6b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
37.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
31.2b
(*.f64 2 (fma.f64 y (/.f64 y x) y))
0.2b
(/.f64 1 (+.f64 (/.f64 -1/2 x) (/.f64 1/2 y)))
Compiler

Compiled 3389 to 2123 computations (37.4% saved)

localize9.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series27.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

14.0ms
(/.f64 1 (+.f64 (/.f64 -1/2 x) (/.f64 1/2 y)))
12.0ms
(+.f64 (/.f64 -1/2 x) (/.f64 1/2 y))

rewrite41.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
49×*-un-lft-identity_binary64
34×times-frac_binary64
19×add-sqr-sqrt_binary64
19×add-cube-cbrt_binary64
13×fma-def_binary64
Counts
2 → 73
Calls

2 calls:

18.0ms
(+.f64 (/.f64 -1/2 x) (/.f64 1/2 y))
17.0ms
(/.f64 1 (+.f64 (/.f64 -1/2 x) (/.f64 1/2 y)))

simplify96.0ms (3.2%)

Algorithm
egg-herbie
Rules
605×fma-neg_binary64
549×cancel-sign-sub-inv_binary64
339×fma-def_binary64
229×associate-*l*_binary64
209×times-frac_binary64
Counts
121 → 97
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01061757
12911647
28411598
334021595
450771595

prune108.0ms (3.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New97097
Fresh022
Picked011
Done011
Total974101
Error
0b
Counts
101 → 4
Alt Table
StatusErrorProgram
6.6b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
37.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
31.2b
(*.f64 2 (fma.f64 y (/.f64 y x) y))
0.2b
(/.f64 1 (+.f64 (/.f64 -1/2 x) (/.f64 1/2 y)))
Compiler

Compiled 1661 to 1272 computations (23.4% saved)

localize8.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 y (/.f64 y x) y)

series11.0ms (0.4%)

Counts
1 → 24
Calls

1 calls:

11.0ms
(fma.f64 y (/.f64 y x) y)

rewrite1.0ms (0%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
add-exp-log_binary64
Counts
1 → 10
Calls

1 calls:

1.0ms
(fma.f64 y (/.f64 y x) y)

simplify101.0ms (3.3%)

Algorithm
egg-herbie
Rules
817×fma-def_binary64
453×distribute-rgt-in_binary64
432×distribute-lft-in_binary64
371×sqr-pow_binary64
327×distribute-rgt-out_binary64
Counts
34 → 17
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
019295
127278
260278
3181278
4776278
53529278
63992278
74634278
85335278

prune13.0ms (0.4%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New17017
Fresh011
Picked011
Done022
Total17421
Error
0b
Counts
21 → 4
Alt Table
StatusErrorProgram
6.6b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
37.9b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
31.2b
(*.f64 2 (fma.f64 y (/.f64 y x) y))
0.2b
(/.f64 1 (+.f64 (/.f64 -1/2 x) (/.f64 1/2 y)))
Compiler

Compiled 235 to 104 computations (55.7% saved)

regimes105.0ms (3.5%)

Accuracy

Total 0.2b remaining (97.2%)

Threshold costs 0.2b (97.2%)

Counts
20 → 1
Compiler

Compiled 772 to 538 computations (30.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01013
11313
21213

end99.0ms (3.3%)

Compiler

Compiled 67 to 49 computations (26.9% saved)

Profiling

Loading profile data...