Details

Time bar (total: 3.4s)

analyze418.0ms (12.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
0%100%0%1
0%100%0%2
25%75%0%3
25%50%25%4
25%37.5%37.5%5
25%31.2%43.8%6
25%28.1%46.9%7
25%26.5%48.5%8
25%25.8%49.2%9
25%25.4%49.6%10
25%25.2%49.8%11
25%25.1%49.9%12
25%25%50%13
25%25%50%14
Compiler

Compiled 11 to 8 computations (27.3% saved)

sample2.2s (66.6%)

Results
1.1s8256×body128valid
978.0ms8233×body128invalid
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify151.0ms (4.5%)

Algorithm
egg-herbie
Rules
871×fma-neg_binary64
804×unsub-neg_binary64
461×distribute-neg-in_binary64
434×sub-neg_binary64
338×distribute-rgt-out_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
11812
22212
33712
46412
511312
624712
750012
8156012
9251312
10321812
11360212
12380312
13397412
14407512
15439212
16483612
17489812
18490112

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
30.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
30.0b
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
0.0b
(+.f64 x (sqrt.f64 (fma.f64 x x -1)))
28.0b
(sqrt.f64 (fma.f64 x x -1))

series11.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

5.0ms
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
3.0ms
(sqrt.f64 (fma.f64 x x -1))
3.0ms
(+.f64 x (sqrt.f64 (fma.f64 x x -1)))

rewrite50.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
671×log1p-expm1-u_binary64
671×expm1-log1p-u_binary64
615×prod-diff_binary64
84×egg-rr
69×add-sqr-sqrt_binary64
Counts
3 → 84
Calls

3 calls:

48.0ms
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
48.0ms
(+.f64 x (sqrt.f64 (fma.f64 x x -1)))
48.0ms
(sqrt.f64 (fma.f64 x x -1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0729
114029
2168829
3524029
000
100

simplify58.0ms (1.7%)

Algorithm
egg-herbie
Rules
520×fma-neg_binary64
301×sub-neg_binary64
300×associate-/l/_binary64
254×distribute-neg-frac_binary64
233×fma-def_binary64
Counts
120 → 147
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0104681
1306648
2873646
32986646
44808646
54983646

prune96.0ms (2.8%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1452147
Fresh000
Picked011
Done000
Total1453148
Error
0b
Counts
148 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (fma.f64 x 2 (/.f64 -1/2 x)))
30.0b
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
30.0b
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
Compiler

Compiled 2257 to 1665 computations (26.2% saved)

localize5.0ms (0.1%)

prune2.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0b
Counts
3 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (fma.f64 x 2 (/.f64 -1/2 x)))
30.0b
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
30.0b
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
Compiler

Compiled 39 to 28 computations (28.2% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
0.0b
(+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1)))))
5.8b
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))
28.0b
(sqrt.f64 (fma.f64 x x -1))

series11.0ms (0.3%)

Counts
3 → 36
Calls

3 calls:

5.0ms
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
3.0ms
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))
3.0ms
(+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1)))))

rewrite51.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
748×expm1-log1p-u_binary64
747×log1p-expm1-u_binary64
710×prod-diff_binary64
88×egg-rr
77×add-sqr-sqrt_binary64
Counts
3 → 88
Calls

3 calls:

49.0ms
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
49.0ms
(+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1)))))
49.0ms
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0929
115929
2188429
3586629
000
100

simplify64.0ms (1.9%)

Algorithm
egg-herbie
Rules
520×fma-neg_binary64
301×sub-neg_binary64
300×associate-/l/_binary64
254×distribute-neg-frac_binary64
233×fma-def_binary64
Counts
124 → 151
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0104681
1306648
2873646
32986646
44808646
54983646

prune99.0ms (3%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1970197
Fresh000
Picked011
Done022
Total1973200
Error
0b
Counts
200 → 3
Alt Table
StatusErrorProgram
0.2b
(log.f64 (fma.f64 x 2 (/.f64 -1/2 x)))
30.0b
(log.f64 (+.f64 x (sqrt.f64 (fma.f64 x x -1))))
30.0b
(log.f64 (+.f64 x (expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 x x -1))))))
Compiler

Compiled 3064 to 2293 computations (25.2% saved)

regimes36.0ms (1.1%)

Accuracy

Total 0.3b remaining (89.3%)

Threshold costs 0.3b (89.3%)

Counts
12 → 1
Compiler

Compiled 330 to 241 computations (27% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1710

end49.0ms (1.5%)

Compiler

Compiled 44 to 32 computations (27.3% saved)

Profiling

Loading profile data...