Details

Time bar (total: 1.9s)

analyze49.0ms (2.6%)

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)

sample934.0ms (49.8%)

Results
775.0ms8256×body128valid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify138.0ms (7.4%)

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

prune4.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.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
14.0b
(/.f64 (*.f64 (*.f64 x 2) y) (-.f64 x y))
Compiler

Compiled 61 to 40 computations (34.4% saved)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series17.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

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

rewrite4.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:

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

simplify92.0ms (4.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

prune41.0ms (2.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New57562
Fresh101
Picked011
Done000
Total58664
Error
0b
Counts
64 → 6
Alt Table
StatusErrorProgram
32.8b
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
28.9b
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
36.0b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
6.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
41.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))
32.7b
(*.f64 2 y)
Compiler

Compiled 1086 to 640 computations (41.1% saved)

localize7.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/2 (/.f64 x y) -1/2)
0.0b
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
0.0b
(exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))
0.8b
(log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2)))

series21.0ms (1.1%)

Counts
3 → 60
Calls

3 calls:

9.0ms
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
6.0ms
(log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2)))
5.0ms
(exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))

rewrite15.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
22×add-sqr-sqrt_binary64
22×add-cube-cbrt_binary64
21×times-frac_binary64
20×log-pow_binary64
Counts
3 → 77
Calls

3 calls:

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

simplify81.0ms (4.3%)

Algorithm
egg-herbie
Rules
459×fma-neg_binary64
394×cancel-sign-sub-inv_binary64
361×times-frac_binary64
307×associate-/l*_binary64
280×fma-def_binary64
Counts
137 → 143
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01642361
13192247
29312189
335212184
449432184

prune91.0ms (4.8%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New1580158
Fresh044
Picked011
Done011
Total1586164
Error
0b
Counts
164 → 6
Alt Table
StatusErrorProgram
32.8b
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
28.9b
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
36.0b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
6.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
41.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))
32.7b
(*.f64 2 y)
Compiler

Compiled 2864 to 1788 computations (37.6% saved)

localize2.0ms (0.1%)

prune4.0ms (0.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New000
Fresh033
Picked011
Done022
Total066
Error
0b
Counts
6 → 6
Alt Table
StatusErrorProgram
32.8b
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
28.9b
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
36.0b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
6.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
41.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))
32.7b
(*.f64 2 y)
Compiler

Compiled 135 to 88 computations (34.8% saved)

localize5.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (/.f64 (*.f64 x x) y))
7.6b
(/.f64 (*.f64 x x) y)

series23.0ms (1.2%)

Counts
2 → 48
Calls

2 calls:

15.0ms
(/.f64 (*.f64 x x) y)
8.0ms
(+.f64 x (/.f64 (*.f64 x x) y))

rewrite8.0ms (0.4%)

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

2 calls:

3.0ms
(/.f64 (*.f64 x x) y)
3.0ms
(+.f64 x (/.f64 (*.f64 x x) y))

simplify69.0ms (3.7%)

Algorithm
egg-herbie
Rules
751×unswap-sqr_binary64
734×fma-def_binary64
465×fma-neg_binary64
313×*-commutative_binary64
257×associate-/l*_binary64
Counts
88 → 58
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
070825
1170798
2471735
31925735
43955735
55800735

prune28.0ms (1.5%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New58058
Fresh022
Picked011
Done033
Total58664
Error
0b
Counts
64 → 6
Alt Table
StatusErrorProgram
32.8b
(*.f64 -2 (+.f64 x (/.f64 (*.f64 x x) y)))
28.9b
(/.f64 x (log.f64 (exp.f64 (fma.f64 1/2 (/.f64 x y) -1/2))))
36.0b
(*.f64 (sqrt.f64 x) (/.f64 (sqrt.f64 x) (fma.f64 1/2 (/.f64 x y) -1/2)))
6.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
41.1b
(cbrt.f64 (*.f64 (*.f64 (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2)) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))) (/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))))
32.7b
(*.f64 2 y)
Compiler

Compiled 902 to 366 computations (59.4% saved)

regimes132.0ms (7%)

Accuracy

Total 0.6b remaining (98%)

Threshold costs 0.6b (98%)

Counts
16 → 5
Compiler

Compiled 574 to 403 computations (29.8% saved)

bsearch1.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026131
130131
234131
336131
437131
537131

end100.0ms (5.3%)

Compiler

Compiled 265 to 158 computations (40.4% saved)

Profiling

Loading profile data...