Details

Time bar (total: 13.1s)

analyze2.3s (17.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.9%50.1%0
0%49.9%50.1%1
0%49.9%50.1%2
0%49.9%50.1%3
0%49.9%50.1%4
0%49.9%50.1%5
0%49.9%50.1%6
0%49.9%50.1%7
0%49.9%50.1%8
0.4%49.5%50.1%9
0.4%49.3%50.3%10
0.6%48.9%50.5%11
1.1%48.1%50.9%12
1.5%47.3%51.2%13
1.7%46.9%51.5%14
Compiler

Compiled 34 to 24 computations (29.4% saved)

sample8.3s (63.4%)

Results
5.0s4211×body2048valid
1.8s2477×body1024valid
383.0ms575×body1024invalid
338.0ms724×body512valid
323.0ms375×body2048invalid
122.0ms293×body512invalid
92.0ms551×body128valid
92.0ms282×body256valid
50.0ms280×body128invalid
40.0ms140×body256invalid
19.0ms11×body4096valid
Compiler

Compiled 68 to 48 computations (29.4% saved)

preprocess38.0ms (0.3%)

Algorithm
egg-herbie
Rules
333×div-sub_binary64
265×fma-neg_binary64
234×unswap-sqr_binary64
205×associate-/l*_binary64
191×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051112
1146112
2314112
3789112
43415112
033
133
Stop Event
unsound
node limit
Symmetry

(sort a b)

Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify17.0ms (0.1%)

Algorithm
egg-herbie
Rules
986×times-frac_binary64
580×associate-/l*_binary64
372×fma-def_binary64
125×distribute-rgt-in_binary64
122×distribute-lft-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01828
14728
210828
327128
498928
Stop Event
node limit
Counts
1 → 2

prune11.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
30.4b
Counts
3 → 1
Alt Table
StatusErrorProgram
30.4b
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
Compiler

Compiled 87 to 54 computations (37.9% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 eps (+.f64 a b))
0.8b
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
12.3b
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))
28.1b
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))

series374.0ms (2.9%)

Counts
4 → 132
Calls

36 calls:

41.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
eps
0
33.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
a
0
32.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
b
0
30.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
eps
-inf
29.0ms
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
b
0

rewrite76.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
898×prod-diff_binary64
151×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
139×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01477
130077
2427277
Stop Event
node limit
Counts
4 → 129

simplify107.0ms (0.8%)

Algorithm
egg-herbie
Rules
684×times-frac_binary64
671×fma-def_binary64
610×associate-/l*_binary64
233×*-commutative_binary64
213×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06559041
123148400
Stop Event
node limit
Counts
261 → 212

prune221.0ms (1.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2084212
Fresh000
Picked101
Done000
Total2094213
Error
0b
Counts
213 → 4
Alt Table
StatusErrorProgram
29.5b
(/.f64 1 (/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))))
7.1b
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a)))
29.6b
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
40.7b
(*.f64 eps (/.f64 (+.f64 a b) (*.f64 eps (*.f64 a b))))
Compiler

Compiled 12874 to 4672 computations (63.7% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a))
0.1b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
6.7b
(*.f64 a (*.f64 eps eps))
8.8b
(*.f64 b (*.f64 eps eps))

series51.0ms (0.4%)

Counts
4 → 120
Calls

30 calls:

6.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
a
-inf
3.0ms
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a))
b
-inf
2.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
a
inf
2.0ms
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a))
b
inf
2.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
a
0

rewrite52.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
625×log-prod_binary64
227×expm1-udef_binary64
227×log1p-udef_binary64
209×log-pow_binary64
188×prod-diff_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01342
126742
2320942
Stop Event
node limit
Counts
4 → 94

simplify128.0ms (1%)

Algorithm
egg-herbie
Rules
603×sqr-pow_binary64
417×associate-*l*_binary64
364×*-commutative_binary64
330×fabs-mul_binary64
312×cube-prod_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0161290
1321236
2651236
31471236
43841236
512241236
616541236
720761236
821761236
923241236
1024981236
1127491236
1230701236
1334401236
1438941236
1544751236
Stop Event
node limit
Counts
214 → 108

prune92.0ms (0.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1071108
Fresh123
Picked101
Done000
Total1093112
Error
0b
Counts
112 → 3
Alt Table
StatusErrorProgram
29.6b
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
29.5b
(/.f64 1 (/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))))
5.6b
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
Compiler

Compiled 2953 to 1507 computations (49% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
0.1b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
6.7b
(*.f64 a (*.f64 eps eps))

series22.0ms (0.2%)

Counts
1 → 36
Calls

9 calls:

6.0ms
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
b
inf
3.0ms
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
b
-inf
2.0ms
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
b
0
2.0ms
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
a
-inf
2.0ms
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
eps
0

rewrite47.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
641×prod-diff_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
126×add-sqr-sqrt_binary64
119×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
125520
2323620
Stop Event
node limit
Counts
1 → 35

simplify91.0ms (0.7%)

Algorithm
egg-herbie
Rules
599×sqr-pow_binary64
404×fabs-mul_binary64
386×cube-prod_binary64
274×pow-sqr_binary64
259×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
016604
134604
261604
3118604
4276604
5829604
61229604
71655604
81755604
91890604
102062604
112305604
122618604
132988604
143445604
154026604
164738604
Stop Event
node limit
Counts
71 → 47

prune80.0ms (0.6%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1010101
Fresh022
Picked011
Done000
Total1013104
Error
0b
Counts
104 → 3
Alt Table
StatusErrorProgram
29.6b
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
29.5b
(/.f64 1 (/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))))
5.6b
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
Compiler

Compiled 2161 to 1251 computations (42.1% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 eps (+.f64 a b))
6.4b
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))
12.3b
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))
14.6b
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))

series197.0ms (1.5%)

Counts
2 → 72
Calls

18 calls:

47.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
eps
0
17.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
b
0
17.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
a
0
13.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
a
inf
13.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
eps
-inf

rewrite66.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
907×prod-diff_binary64
151×add-sqr-sqrt_binary64
143×log1p-expm1-u_binary64
143×expm1-log1p-u_binary64
139×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01448
130048
2428448
Stop Event
node limit
Counts
2 → 69

simplify76.0ms (0.6%)

Algorithm
egg-herbie
Rules
567×associate-/l*_binary64
533×times-frac_binary64
417×fma-def_binary64
320×associate-/r*_binary64
210×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05415528
118565499
Stop Event
node limit
Counts
141 → 122

prune184.0ms (1.4%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2130213
Fresh011
Picked011
Done011
Total2133216
Error
0b
Counts
216 → 3
Alt Table
StatusErrorProgram
29.6b
(*.f64 (/.f64 eps (expm1.f64 (*.f64 a eps))) (/.f64 (expm1.f64 (*.f64 (+.f64 a b) eps)) (expm1.f64 (*.f64 b eps))))
29.5b
(/.f64 1 (/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))))
5.6b
(+.f64 (fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b)) (/.f64 1 a))
Compiler

Compiled 10885 to 4623 computations (57.5% saved)

regimes408.0ms (3.1%)

Accuracy

Total 0.4b remaining (94.3%)

Threshold costs 0.4b (94.3%)

Counts
89 → 3
Compiler

Compiled 6874 to 4520 computations (34.2% saved)

bsearch3.0ms (0%)

Algorithm
left-value
Calls

2 calls:

0.0ms
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
0.0ms
(/.f64 (*.f64 eps (-.f64 (exp.f64 (*.f64 (+.f64 a b) eps)) 1)) (*.f64 (-.f64 (exp.f64 (*.f64 a eps)) 1) (-.f64 (exp.f64 (*.f64 b eps)) 1)))
Steps
ItersPointRange
8.379449481345716e-23
∈ [
8.379449481345716e-23
,
#hash((type . real) (value . +inf))
]
#hash((type . real) (value . -inf))
∈ [
#hash((type . real) (value . -inf))
,
-1.3010421935607938e-16
]
Compiler

Compiled 27 to 19 computations (29.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041138
157138
260138
Stop Event
saturated

end96.0ms (0.7%)

Stop Event
fuel
Compiler

Compiled 433 to 244 computations (43.6% saved)

Profiling

Loading profile data...