Details

Time bar (total: 13.0s)

analyze2.2s (16.9%)

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.1s (62.6%)

Results
4.9s4211×body2048valid
1.8s2477×body1024valid
361.0ms575×body1024invalid
333.0ms724×body512valid
331.0ms375×body2048invalid
166.0ms293×body512invalid
101.0ms551×body128valid
89.0ms282×body256valid
44.0ms280×body128invalid
43.0ms140×body256invalid
18.0ms11×body4096valid
Compiler

Compiled 68 to 48 computations (29.4% saved)

preprocess50.0ms (0.4%)

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

prune6.0ms (0%)

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)

localize11.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))))

series387.0ms (3%)

Counts
4 → 132
Calls

36 calls:

44.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
eps
0
31.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
a
0
31.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 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
a
0
30.0ms
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
b
0

rewrite85.0ms (0.7%)

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

simplify112.0ms (0.9%)

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

prune186.0ms (1.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2084212
Fresh000
Picked101
Done000
Total2094213
Error
0b
Counts
213 → 4
Alt Table
StatusErrorProgram
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.5b
(/.f64 1 (/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps 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))

series50.0ms (0.4%)

Counts
4 → 120
Calls

30 calls:

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

rewrite54.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

simplify139.0ms (1.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

prune78.0ms (0.6%)

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)

localize8.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))

series19.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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
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

simplify90.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

prune75.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)

localize20.0ms (0.2%)

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)))))

series212.0ms (1.6%)

Counts
2 → 72
Calls

18 calls:

50.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
eps
0
21.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
a
0
20.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
b
0
15.0ms
(*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))))
eps
0
12.0ms
(/.f64 (expm1.f64 (*.f64 eps b)) (*.f64 eps (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))))
eps
-inf

rewrite71.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

simplify71.0ms (0.5%)

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

prune165.0ms (1.3%)

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)

regimes464.0ms (3.6%)

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)

simplify3.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

end222.0ms (1.7%)

Stop Event
fuel
Compiler

Compiled 433 to 244 computations (43.6% saved)

Profiling

Loading profile data...