Details

Time bar (total: 12.3s)

analyze2.2s (17.7%)

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.0s (65.3%)

Symmetry

(sort a b)

Results
4.8s4288×body2048valid
1.6s2396×body1024valid
417.0ms647×body1024invalid
355.0ms754×body512valid
342.0ms420×body2048invalid
118.0ms298×body512invalid
99.0ms560×body128valid
78.0ms245×body256valid
50.0ms322×body128invalid
45.0ms138×body256invalid
20.0ms13×body4096valid
3.0msbody8192exit
Compiler

Compiled 95 to 67 computations (29.5% saved)

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

prune4.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
(expm1.f64 (*.f64 eps (+.f64 a b)))
1.1b
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
12.7b
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))
27.5b
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))

series349.0ms (2.8%)

Counts
4 → 144
Calls

4 calls:

168.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))
131.0ms
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
38.0ms
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))
11.0ms
(expm1.f64 (*.f64 eps (+.f64 a b)))

rewrite80.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
01479
130079
2427279
Stop Event
node limit
Counts
4 → 121
Calls

4 calls:

77.0ms
(expm1.f64 (*.f64 eps (+.f64 a b)))
77.0ms
(/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b)))
77.0ms
(/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a)))
77.0ms
(*.f64 eps (/.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (expm1.f64 (*.f64 eps a))) (expm1.f64 (*.f64 eps b))))

simplify112.0ms (0.9%)

Algorithm
egg-herbie
Rules
834×fma-def_binary64
684×times-frac_binary64
614×associate-/l*_binary64
260×*-commutative_binary64
242×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07189708
125469052
Stop Event
node limit
Counts
265 → 224

prune195.0ms (1.6%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2195224
Fresh000
Picked101
Done000
Total2205225
Error
0.2b
Counts
225 → 5
Alt Table
StatusErrorProgram
29.0b
(/.f64 eps (*.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (+.f64 a b))))))
7.0b
(+.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)))
57.6b
(*.f64 eps (pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) 1/3))
15.4b
(/.f64 (+.f64 a b) (*.f64 a b))
37.1b
(*.f64 eps (+.f64 (fma.f64 1/12 (*.f64 b eps) (/.f64 1 (*.f64 a eps))) (fma.f64 1/12 (*.f64 a eps) (/.f64 1 (*.f64 b eps)))))
Compiler

Compiled 13825 to 5080 computations (63.3% 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.0b
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
5.7b
(*.f64 b (*.f64 eps eps))
9.0b
(*.f64 a (*.f64 eps eps))

series55.0ms (0.5%)

Counts
4 → 120
Calls

4 calls:

21.0ms
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a))
16.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
12.0ms
(*.f64 b (*.f64 eps eps))
7.0ms
(*.f64 a (*.f64 eps eps))

rewrite53.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
Calls

4 calls:

52.0ms
(fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a))
52.0ms
(fma.f64 1/12 (*.f64 a (*.f64 eps eps)) (/.f64 1 b))
52.0ms
(*.f64 b (*.f64 eps eps))
52.0ms
(*.f64 a (*.f64 eps eps))

simplify124.0ms (1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0161290
1321236
2651236
31471236
43841236
512241236
616491236
720711236
821711236
923171236
1024911236
1127381236
1230591236
1334331236
1438871236
1544681236
Stop Event
node limit
Counts
214 → 108

prune93.0ms (0.8%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1071108
Fresh044
Picked101
Done000
Total1085113
Error
0.2b
Counts
113 → 5
Alt Table
StatusErrorProgram
7.4b
(+.f64 (fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b)) (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a)))
29.0b
(/.f64 eps (*.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (+.f64 a b))))))
57.6b
(*.f64 eps (pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) 1/3))
15.4b
(/.f64 (+.f64 a b) (*.f64 a b))
37.1b
(*.f64 eps (+.f64 (fma.f64 1/12 (*.f64 b eps) (/.f64 1 (*.f64 a eps))) (fma.f64 1/12 (*.f64 a eps) (/.f64 1 (*.f64 b eps)))))
Compiler

Compiled 3043 to 1588 computations (47.8% saved)

localize12.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.0b
(fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b))
0.1b
(*.f64 eps (*.f64 eps a))
5.7b
(*.f64 b (*.f64 eps eps))

series24.0ms (0.2%)

Counts
2 → 60
Calls

2 calls:

17.0ms
(fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b))
7.0ms
(*.f64 eps (*.f64 eps a))

rewrite38.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
822×log1p-expm1-u_binary64
822×expm1-log1p-u_binary64
97×add-sqr-sqrt_binary64
94×prod-diff_binary64
89×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01021
119921
2229421
Stop Event
node limit
Counts
2 → 38
Calls

2 calls:

38.0ms
(fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b))
38.0ms
(*.f64 eps (*.f64 eps a))

simplify89.0ms (0.7%)

Algorithm
egg-herbie
Rules
775×sqr-pow_binary64
398×fabs-mul_binary64
386×cube-prod_binary64
381×pow-sqr_binary64
253×*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
012618
124618
244618
394618
4237618
5721618
61021618
71439618
81539618
91674618
101846618
112087618
122402618
132774618
143228618
153803618
164511618
Stop Event
node limit
Counts
98 → 45

prune78.0ms (0.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New99099
Fresh044
Picked011
Done000
Total995104
Error
0.2b
Counts
104 → 5
Alt Table
StatusErrorProgram
7.4b
(+.f64 (fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b)) (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a)))
29.0b
(/.f64 eps (*.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (+.f64 a b))))))
57.6b
(*.f64 eps (pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) 1/3))
15.4b
(/.f64 (+.f64 a b) (*.f64 a b))
37.1b
(*.f64 eps (+.f64 (fma.f64 1/12 (*.f64 b eps) (/.f64 1 (*.f64 a eps))) (fma.f64 1/12 (*.f64 a eps) (/.f64 1 (*.f64 b eps)))))
Compiler

Compiled 2732 to 1399 computations (48.8% saved)

localize4.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
15.5b
(/.f64 (+.f64 a b) (*.f64 a b))

series7.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

7.0ms
(/.f64 (+.f64 a b) (*.f64 a b))

rewrite42.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
816×log1p-expm1-u_binary64
816×expm1-log1p-u_binary64
601×prod-diff_binary64
71×add-sqr-sqrt_binary64
67×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
113610
2212610
Stop Event
node limit
Counts
1 → 40
Calls

1 calls:

41.0ms
(/.f64 (+.f64 a b) (*.f64 a b))

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
07204
110204
Stop Event
saturated
Counts
64 → 44

prune33.0ms (0.3%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New42244
Fresh123
Picked011
Done011
Total43649
Error
0.2b
Counts
49 → 6
Alt Table
StatusErrorProgram
29.0b
(/.f64 eps (*.f64 (expm1.f64 (*.f64 eps b)) (/.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps (+.f64 a b))))))
10.9b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) b) (/.f64 (cbrt.f64 (+.f64 a b)) a))
7.4b
(+.f64 (fma.f64 1/12 (*.f64 eps (*.f64 eps a)) (/.f64 1 b)) (fma.f64 1/12 (*.f64 b (*.f64 eps eps)) (/.f64 1 a)))
6.5b
(*.f64 (/.f64 (+.f64 a b) a) (/.f64 1 b))
57.6b
(*.f64 eps (pow.f64 (pow.f64 (/.f64 (expm1.f64 (*.f64 eps (+.f64 a b))) (*.f64 (expm1.f64 (*.f64 eps a)) (expm1.f64 (*.f64 eps b)))) 3) 1/3))
15.4b
(/.f64 (+.f64 a b) (*.f64 a b))
Compiler

Compiled 637 to 236 computations (63% saved)

regimes412.0ms (3.3%)

Accuracy

Total 2.6b remaining (99.1%)

Threshold costs 0b (0%)

Counts
99 → 2
Compiler

Compiled 8230 to 5088 computations (38.2% saved)

bsearch4.0ms (0%)

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
03583
15183
25483
Stop Event
saturated

end236.0ms (1.9%)

Compiler

Compiled 338 to 210 computations (37.9% saved)

Profiling

Loading profile data...