Details

Time bar (total: 2.9s)

analyze132.0ms (4.5%)

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
12.5%87.4%0.1%5
31.2%68.7%0.1%6
50%50%0.1%7
67.1%32.8%0.1%8
74.9%25%0.1%9
83.9%16%0.1%10
87.4%12.5%0.1%11
92%7.9%0.1%12
93.7%6.2%0.1%13
96%3.9%0.1%14
Compiler

Compiled 14 to 10 computations (28.6% saved)

sample880.0ms (29.8%)

Results
837.0ms8256×body128valid
Compiler

Compiled 41 to 29 computations (29.3% saved)

simplify30.0ms (1%)

Algorithm
egg-herbie
Rules
1119×fma-neg_binary64
675×div-sub_binary64
519×fma-def_binary64
403×associate-/l*_binary64
249×associate-/l/_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01016
11816
22814
34114
46014
59614
617214
725414
849214
9105314
10177414
11375014
Stop Event
node limit
Counts
1 → 2

prune3.0ms (0.1%)

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
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
Compiler

Compiled 73 to 52 computations (28.8% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series23.0ms (0.8%)

Counts
3 → 72
Calls

3 calls:

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

rewrite80.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
789×prod-diff_binary64
202×log1p-udef_binary64
182×egg-rr
113×add-sqr-sqrt_binary64
110×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01039
123033
2322133
Stop Event
node limit
Counts
3 → 182
Calls

3 calls:

75.0ms
(+.f64 1 (/.f64 (*.f64 x y) 2))
75.0ms
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
75.0ms
(/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2)))

simplify55.0ms (1.9%)

Algorithm
egg-herbie
Rules
623×fma-neg_binary64
414×unswap-sqr_binary64
400×distribute-rgt-neg-in_binary64
244×fma-def_binary64
222×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0641204
12101190
26891180
329161167
Stop Event
node limit
Counts
254 → 219

prune205.0ms (7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2172219
Fresh011
Picked011
Done000
Total2174221
Error
0b
Counts
221 → 4
Alt Table
StatusErrorProgram
17.5b
(-.f64 x (*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
9.2b
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
Compiler

Compiled 7285 to 4306 computations (40.9% saved)

localize7.0ms (0.3%)

Local error

Found 3 expressions with local error:

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

series21.0ms (0.7%)

Counts
3 → 72
Calls

3 calls:

8.0ms
(/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y)))
8.0ms
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
5.0ms
(fma.f64 x -1/2 (/.f64 -1 y))

rewrite60.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
535×prod-diff_binary64
204×fma-def_binary64
178×expm1-udef_binary64
178×log1p-udef_binary64
152×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0933
119833
2258933
Stop Event
node limit
Counts
3 → 149
Calls

3 calls:

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

simplify45.0ms (1.5%)

Algorithm
egg-herbie
Rules
644×fma-neg_binary64
414×unswap-sqr_binary64
236×fma-def_binary64
216×associate-*r*_binary64
210×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0681270
12141220
27041174
329601165
Stop Event
node limit
Counts
221 → 186

prune152.0ms (5.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1860186
Fresh022
Picked011
Done011
Total1864190
Error
0b
Counts
190 → 4
Alt Table
StatusErrorProgram
17.5b
(-.f64 x (*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
9.2b
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
Compiler

Compiled 4221 to 3122 computations (26% saved)

localize8.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
0.0b
(log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))
0.5b
(expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1))))
6.4b
(/.f64 y (fma.f64 (*.f64 y x) 1/2 1))

series51.0ms (1.7%)

Counts
4 → 96
Calls

4 calls:

22.0ms
(log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))
11.0ms
(/.f64 y (fma.f64 (*.f64 y x) 1/2 1))
9.0ms
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
8.0ms
(expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1))))

rewrite81.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
717×prod-diff_binary64
245×fma-def_binary64
241×egg-rr
187×expm1-udef_binary64
187×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01149
121249
2274549
Stop Event
node limit
Counts
4 → 241
Calls

4 calls:

76.0ms
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
76.0ms
(log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))
76.0ms
(expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1))))
76.0ms
(/.f64 y (fma.f64 (*.f64 y x) 1/2 1))

simplify63.0ms (2.1%)

Algorithm
egg-herbie
Rules
674×times-frac_binary64
392×cancel-sign-sub-inv_binary64
229×sub-neg_binary64
206×unswap-sqr_binary64
204×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01932903
16462869
225862866
Stop Event
node limit
Counts
337 → 266

prune298.0ms (10.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2660266
Fresh011
Picked011
Done022
Total2664270
Error
0b
Counts
270 → 4
Alt Table
StatusErrorProgram
17.5b
(-.f64 x (*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
9.2b
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
Compiler

Compiled 9048 to 6143 computations (32.1% saved)

localize16.0ms (0.5%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (*.f64 y x) 2)
2.0b
(/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))
2.8b
(-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))
22.0b
(*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))))

series127.0ms (4.3%)

Counts
4 → 96
Calls

4 calls:

59.0ms
(/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))
30.0ms
(pow.f64 (*.f64 y x) 2)
27.0ms
(*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))))
11.0ms
(-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))

rewrite50.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
195×log1p-expm1-u_binary64
195×expm1-log1p-u_binary64
193×add-sqr-sqrt_binary64
189×add-cbrt-cube_binary64
182×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01985
142681
Stop Event
node limit
Counts
4 → 130
Calls

4 calls:

47.0ms
(pow.f64 (*.f64 y x) 2)
47.0ms
(/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3)))
47.0ms
(-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))
47.0ms
(*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2))))

simplify59.0ms (2%)

Algorithm
egg-herbie
Rules
653×times-frac_binary64
475×associate-*l*_binary64
470×associate-*r*_binary64
319×associate-/r*_binary64
277×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0981984
13021960
29701910
344671910
Stop Event
node limit
Counts
226 → 169

prune217.0ms (7.4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1690169
Fresh000
Picked011
Done033
Total1694173
Error
0b
Counts
173 → 4
Alt Table
StatusErrorProgram
17.5b
(-.f64 x (*.f64 (/.f64 y (+.f64 1 (pow.f64 (*.f64 y (*.f64 x 1/2)) 3))) (-.f64 (+.f64 1 (*.f64 (pow.f64 (*.f64 y x) 2) 1/4)) (*.f64 y (*.f64 x 1/2)))))
0.1b
(-.f64 x (/.f64 -1 (fma.f64 x -1/2 (/.f64 -1 y))))
0.0b
(-.f64 x (/.f64 y (+.f64 1 (/.f64 (*.f64 x y) 2))))
9.2b
(-.f64 x (expm1.f64 (log1p.f64 (/.f64 y (fma.f64 (*.f64 y x) 1/2 1)))))
Compiler

Compiled 6297 to 4232 computations (32.8% saved)

regimes205.0ms (7%)

Accuracy

Total 0.0b remaining (93.3%)

Threshold costs 0.0b (93.3%)

Counts
65 → 1
Compiler

Compiled 3536 to 2537 computations (28.3% saved)

simplify2.0ms (0.1%)

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
0914
11414
22014
32414
42714
52814
Stop Event
saturated

end72.0ms (2.4%)

Compiler

Compiled 94 to 67 computations (28.7% saved)

Profiling

Loading profile data...