Details

Time bar (total: 1.5s)

analyze46.0ms (3%)

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)

sample786.0ms (52%)

Results
741.0ms8256×body128valid
Compiler

Compiled 35 to 23 computations (34.3% saved)

simplify20.0ms (1.3%)

Algorithm
egg-herbie
Rules
546×times-frac_binary64
408×fma-def_binary64
310×div-sub_binary64
277×associate-/l*_binary64
265×associate-/r*_binary64
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
0813
11613
24113
38713
417813
535613
665211
7139811
Stop Event
node limit
Counts
1 → 2

prune3.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
5.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
16.3b
(/.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 1 expressions with local error:

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

series9.0ms (0.6%)

Counts
1 → 24
Calls

1 calls:

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

rewrite39.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
809×log1p-expm1-u_binary64
809×expm1-log1p-u_binary64
84×add-sqr-sqrt_binary64
79×add-log-exp_binary64
78×add-cube-cbrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
117111
2215811
Stop Event
node limit
Counts
1 → 33
Calls

1 calls:

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

simplify30.0ms (2%)

Algorithm
egg-herbie
Rules
411×fma-neg_binary64
367×cancel-sign-sub-inv_binary64
294×associate-/l/_binary64
277×associate-/r/_binary64
216×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040510
1134492
2469444
31988432
Stop Event
node limit
Counts
57 → 47

prune27.0ms (1.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New44347
Fresh101
Picked011
Done000
Total45449
Error
0b
Counts
49 → 4
Alt Table
StatusErrorProgram
35.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
32.0b
(*.f64 2 y)
30.9b
(*.f64 -2 (+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))))
5.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
Compiler

Compiled 774 to 491 computations (36.6% saved)

localize7.0ms (0.5%)

Local error

Found 2 expressions with local error:

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

series29.0ms (1.9%)

Counts
2 → 48
Calls

2 calls:

17.0ms
(*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))
12.0ms
(*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y))

rewrite52.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
896×log1p-expm1-u_binary64
896×expm1-log1p-u_binary64
250×prod-diff_binary64
86×add-sqr-sqrt_binary64
80×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0829
117229
2242429
Stop Event
node limit
Counts
2 → 62
Calls

2 calls:

50.0ms
(*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))
50.0ms
(*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y))

simplify27.0ms (1.8%)

Algorithm
egg-herbie
Rules
551×associate-/l/_binary64
548×associate-/r*_binary64
433×associate-*l/_binary64
423×associate-*l*_binary64
392×associate-/r/_binary64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
014723
131723
263615
3183615
4918543
Stop Event
node limit
Counts
110 → 73

prune41.0ms (2.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New73073
Fresh022
Picked011
Done011
Total73477
Error
0b
Counts
77 → 4
Alt Table
StatusErrorProgram
35.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
32.0b
(*.f64 2 y)
30.9b
(*.f64 -2 (+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))))
5.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
Compiler

Compiled 1444 to 762 computations (47.2% saved)

localize2.0ms (0.1%)

prune7.0ms (0.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done022
Total044
Error
0b
Counts
4 → 4
Alt Table
StatusErrorProgram
35.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
32.0b
(*.f64 2 y)
30.9b
(*.f64 -2 (+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))))
5.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
Compiler

Compiled 64 to 43 computations (32.8% saved)

localize8.0ms (0.5%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.5b
(/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))
0.9b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
1.8b
(*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2)))

series45.0ms (2.9%)

Counts
3 → 56
Calls

3 calls:

24.0ms
(*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2)))
13.0ms
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
8.0ms
(/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))

rewrite49.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
562×log-prod_binary64
200×expm1-udef_binary64
200×log1p-udef_binary64
182×log-pow_binary64
116×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01238
124835
2296735
Stop Event
node limit
Counts
3 → 76
Calls

3 calls:

47.0ms
(/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))
47.0ms
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
47.0ms
(*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2)))

simplify35.0ms (2.3%)

Algorithm
egg-herbie
Rules
757×fma-def_binary64
332×times-frac_binary64
221×associate-/l*_binary64
220×associate-/r*_binary64
199×associate-*l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181361
13691272
212951116
Stop Event
node limit
Counts
132 → 121

prune61.0ms (4%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1210121
Fresh000
Picked011
Done033
Total1214125
Error
0b
Counts
125 → 4
Alt Table
StatusErrorProgram
35.6b
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (/.f64 1 (fma.f64 1/2 (/.f64 x y) -1/2))))
32.0b
(*.f64 2 y)
30.9b
(*.f64 -2 (+.f64 x (*.f64 x (*.f64 (+.f64 (/.f64 x y) 1) (/.f64 x y)))))
5.9b
(/.f64 x (fma.f64 1/2 (/.f64 x y) -1/2))
Compiler

Compiled 2265 to 1378 computations (39.2% saved)

regimes105.0ms (7%)

Accuracy

Total 0.6b remaining (98.6%)

Threshold costs 0.6b (98.6%)

Counts
16 → 5
Compiler

Compiled 577 to 385 computations (33.3% saved)

bsearch1.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

simplify4.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
Stop Event
saturated

end76.0ms (5%)

Compiler

Compiled 232 to 136 computations (41.4% saved)

Profiling

Loading profile data...