Details

Time bar (total: 5.5s)

analyze63.0ms (1.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%12.8%87.2%0
0%12.8%87.2%1
0%12.8%87.2%2
6.4%6.4%87.2%3
6.4%4.8%88.8%4
7.2%3.2%89.6%5
7.2%2.4%90.4%6
7.6%1.6%90.8%7
7.6%1.2%91.2%8
7.8%0.8%91.4%9
7.8%0.6%91.5%10
7.9%0.4%91.7%11
8%0.3%91.7%12
8.1%0.2%91.7%13
8.1%0.2%91.8%14
Compiler

Compiled 25 to 17 computations (32% saved)

sample2.4s (43.3%)

Results
931.0ms5273×body128valid
639.0ms1134×body1024valid
482.0ms1107×body512valid
214.0ms699×body256valid
40.0ms43×body2048valid
14.0ms91×body128invalid
Compiler

Compiled 60 to 40 computations (33.3% saved)

simplify24.0ms (0.4%)

Algorithm
egg-herbie
Rules
107×fma-def_binary64
72×fma-neg_binary64
27×cancel-sign-sub-inv_binary64
24×distribute-rgt-in_binary64
24×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11212
22012
33412
45012
59512
614412
718212
821412
923412
1024212
1124612
1222712

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
22.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
22.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Compiler

Compiled 30 to 18 computations (40% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (-.f64 (*.f64 x x) eps))
0.0b
(-.f64 (*.f64 x x) eps)
2.6b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))

series65.0ms (1.2%)

Counts
3 → 56
Calls

3 calls:

35.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
23.0ms
(sqrt.f64 (-.f64 (*.f64 x x) eps))
7.0ms
(-.f64 (*.f64 x x) eps)

rewrite96.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
871×log1p-expm1-u_binary64
871×expm1-log1p-u_binary64
104×egg-rr
82×add-sqr-sqrt_binary64
78×add-log-exp_binary64
Counts
3 → 104
Calls

3 calls:

92.0ms
(sqrt.f64 (-.f64 (*.f64 x x) eps))
92.0ms
(-.f64 (*.f64 x x) eps)
92.0ms
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0728
116128
2213028
3519628
000
100

simplify92.0ms (1.7%)

Algorithm
egg-herbie
Rules
615×cancel-sign-sub-inv_binary64
586×associate-*l/_binary64
324×fma-neg_binary64
227×associate-/r/_binary64
219×associate-/l/_binary64
Counts
160 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070858
1207844
2582834
32203816
44997816

prune133.0ms (2.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1485153
Fresh000
Picked011
Done000
Total1486154
Error
0.0b
Counts
154 → 6
Alt Table
StatusErrorProgram
46.1b
(fma.f64 1/16 (/.f64 (pow.f64 eps 3) (pow.f64 x 5)) (*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x))))))
38.9b
(*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))
40.5b
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 eps 2) (pow.f64 x 3))) (*.f64 1/2 (/.f64 eps x)))
37.1b
(*.f64 1/2 (/.f64 eps x))
22.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
23.0b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))))
Compiler

Compiled 2560 to 1035 computations (59.6% saved)

localize19.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.2b
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))
0.2b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))))
2.5b
(-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))

series285.0ms (5.1%)

Counts
4 → 72
Calls

4 calls:

130.0ms
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))))
121.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))
29.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
4.0ms
(-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))

rewrite177.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
732×fma-def_binary64
342×egg-rr
336×fma-neg_binary64
206×expm1-udef_binary64
206×log1p-udef_binary64
Counts
4 → 341
Calls

4 calls:

164.0ms
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
164.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps)))
164.0ms
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))))
164.0ms
(-.f64 (*.f64 x x) (-.f64 (*.f64 x x) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01182
125940
2335340
3490440
000
100

simplify109.0ms (2%)

Algorithm
egg-herbie
Rules
558×fma-neg_binary64
486×times-frac_binary64
320×associate-/l*_binary64
303×associate-/r*_binary64
294×unswap-sqr_binary64
Counts
413 → 391
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0951173
12831132
28781118
339081086
450731086

prune303.0ms (5.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3883391
Fresh314
Picked101
Done011
Total3925397
Error
0b
Counts
397 → 5
Alt Table
StatusErrorProgram
0.4b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
38.9b
(*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))
22.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
1.6b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) (*.f64 (cbrt.f64 eps) (pow.f64 (cbrt.f64 eps) 2))))
39.0b
(/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x))))
Compiler

Compiled 10361 to 2717 computations (73.8% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) eps)
0.0b
(+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.2b
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
0.3b
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))

series152.0ms (2.7%)

Counts
2 → 32
Calls

2 calls:

107.0ms
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
44.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)

rewrite118.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
461×fma-def_binary64
263×fma-neg_binary64
194×expm1-udef_binary64
194×log1p-udef_binary64
176×log-pow_binary64
Counts
2 → 74
Calls

2 calls:

115.0ms
(/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
115.0ms
(/.f64 1 (/.f64 (+.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01033
122630
2296628
3497228
000
100

simplify88.0ms (1.6%)

Algorithm
egg-herbie
Rules
499×fma-neg_binary64
430×times-frac_binary64
346×distribute-neg-frac_binary64
286×associate-/l*_binary64
279×unswap-sqr_binary64
Counts
106 → 117
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
087799
1261766
2804758
33512724
45000724

prune197.0ms (3.6%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2171218
Fresh123
Picked101
Done011
Total2194223
Error
0b
Counts
223 → 4
Alt Table
StatusErrorProgram
38.9b
(*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))
22.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
39.0b
(/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x))))
0.4b
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
Compiler

Compiled 4101 to 1686 computations (58.9% saved)

localize15.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 x x) eps)
0.1b
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps)))
0.2b
(/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
0.3b
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))

series210.0ms (3.8%)

Counts
3 → 21
Calls

3 calls:

126.0ms
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
51.0ms
(/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
32.0ms
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps)))

rewrite146.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
645×prod-diff_binary64
473×fma-udef_binary64
289×fma-def_binary64
248×fma-neg_binary64
194×expm1-udef_binary64
Counts
3 → 94
Calls

3 calls:

142.0ms
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps)))
142.0ms
(/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps)
142.0ms
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
123442
2280239
3475039
4477539
5496139
000
100

simplify108.0ms (1.9%)

Algorithm
egg-herbie
Rules
751×times-frac_binary64
649×fma-def_binary64
602×associate-/l*_binary64
502×fma-neg_binary64
411×cancel-sign-sub-inv_binary64
Counts
115 → 129
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
060316
1171308
2446306
31398298
44562291
54967291
64974291

prune146.0ms (2.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1770177
Fresh022
Picked011
Done011
Total1774181
Error
0b
Counts
181 → 4
Alt Table
StatusErrorProgram
38.9b
(*.f64 (/.f64 eps x) (-.f64 1/2 (*.f64 -1/8 (/.f64 eps (*.f64 x x)))))
22.7b
(-.f64 x (sqrt.f64 (-.f64 (*.f64 x x) eps)))
39.0b
(/.f64 1 (fma.f64 2 (/.f64 x eps) (fma.f64 (/.f64 eps (pow.f64 x 3)) -1/8 (/.f64 -1/2 x))))
0.4b
(/.f64 1 (/.f64 (fma.f64 (sqrt.f64 x) (sqrt.f64 x) (sqrt.f64 (-.f64 (*.f64 x x) eps))) eps))
Compiler

Compiled 3104 to 1221 computations (60.7% saved)

regimes438.0ms (7.9%)

Accuracy

Total 0.4b remaining (96.1%)

Threshold costs 0.4b (96.1%)

Counts
95 → 1
Compiler

Compiled 4376 to 2942 computations (32.8% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
*-lft-identity_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01118
11718
22118
32318
42418
52318

end127.0ms (2.3%)

Compiler

Compiled 89 to 58 computations (34.8% saved)

Profiling

Loading profile data...