Details

Time bar (total: 16.3s)

analyze851.0ms (5.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
25%74.9%0.1%4
50%50%0.1%5
50%50%0.1%6
50%50%0.1%7
50%50%0.1%8
50%50%0.1%9
50%50%0.1%10
50%50%0.1%11
50%50%0.1%12
50%50%0.1%13
50%50%0.1%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample12.2s (75.2%)

Results
9.5s7817×body8192exit
1.3s1936×body1024valid
594.0ms4586×body128valid
417.0ms1023×body512valid
208.0ms230×body2048valid
118.0ms481×body256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

preprocess14.0ms (0.1%)

Algorithm
egg-herbie
Rules
swap-a-b
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0920
1920
022
122
Stop Event
unsound
saturated
Symmetry

(sort a b)

Compiler

Compiled 8 to 6 computations (25% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
Stop Event
saturated
Counts
1 → 1

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
28.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
28.0b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 24 to 18 computations (25% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
3.2b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series304.0ms (1.9%)

Counts
2 → 48
Calls

12 calls:

79.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
inf
73.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
-inf
72.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
inf
72.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
b
-inf
2.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
a
0

rewrite53.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
455×prod-diff_binary64
71×add-sqr-sqrt_binary64
68×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113818
2180218
Stop Event
node limit
Counts
2 → 58

simplify46.0ms (0.3%)

Algorithm
egg-herbie
Rules
562×fma-neg_binary64
396×associate-+l+_binary64
328×fma-def_binary64
238×times-frac_binary64
220×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082746
1248742
2902714
34283710
Stop Event
node limit
Counts
106 → 90

prune64.0ms (0.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New87390
Fresh000
Picked101
Done000
Total88391
Error
0.6b
Counts
91 → 3
Alt Table
StatusErrorProgram
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
30.2b
(log1p.f64 (exp.f64 b))
Compiler

Compiled 1488 to 741 computations (50.2% saved)

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))

series215.0ms (1.3%)

Counts
2 → 28
Calls

12 calls:

85.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
inf
72.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
a
-inf
16.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
0
13.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
-inf
12.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
b
inf

rewrite49.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
317×fma-def_binary64
170×expm1-udef_binary64
170×log1p-udef_binary64
153×fma-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
118925
2263225
Stop Event
node limit
Counts
2 → 87

simplify38.0ms (0.2%)

Algorithm
egg-herbie
Rules
415×associate-+l+_binary64
357×cancel-sign-sub-inv_binary64
292×associate-*l*_binary64
286×fma-neg_binary64
284×associate-+r+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044467
1127448
2387432
31433428
44297428
Stop Event
node limit
Counts
115 → 107

prune100.0ms (0.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1034107
Fresh022
Picked011
Done000
Total1037110
Error
0.6b
Counts
110 → 7
Alt Table
StatusErrorProgram
26.5b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
30.2b
(log1p.f64 (exp.f64 b))
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
19.6b
(exp.f64 (log.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 2087 to 1155 computations (44.7% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
0.0b
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
0.1b
(log.f64 (+.f64 1 (exp.f64 a)))
0.1b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))

series520.0ms (3.2%)

Counts
4 → 36
Calls

18 calls:

89.0ms
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
a
-inf
88.0ms
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
a
inf
78.0ms
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
a
-inf
76.0ms
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a)))))
a
inf
76.0ms
(log.f64 (+.f64 1 (exp.f64 a)))
a
-inf

rewrite57.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
210×add-sqr-sqrt_binary64
207×log1p-expm1-u_binary64
207×expm1-log1p-u_binary64
203×add-cbrt-cube_binary64
198×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01996
143893
Stop Event
node limit
Counts
4 → 118

simplify47.0ms (0.3%)

Algorithm
egg-herbie
Rules
681×fma-neg_binary64
507×fma-def_binary64
473×associate-+r+_binary64
402×associate--l+_binary64
265×+-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0961007
1305999
21061923
34343922
Stop Event
node limit
Counts
154 → 163

prune250.0ms (1.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1630163
Fresh055
Picked011
Done011
Total1637170
Error
0.6b
Counts
170 → 7
Alt Table
StatusErrorProgram
26.5b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
30.2b
(log1p.f64 (exp.f64 b))
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
19.6b
(exp.f64 (log.f64 (+.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 7765 to 4903 computations (36.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
0.0b
(/.f64 b (+.f64 1 (exp.f64 a)))
0.6b
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))
0.7b
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)

series410.0ms (2.5%)

Counts
3 → 48
Calls

18 calls:

77.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
a
-inf
68.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
a
inf
45.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3))
b
-inf
32.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
a
inf
32.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)
a
-inf

rewrite61.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
990×prod-diff_binary64
115×egg-rr
112×add-sqr-sqrt_binary64
110×expm1-log1p-u_binary64
109×log1p-expm1-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01236
125136
2314736
Stop Event
node limit
Counts
3 → 115

simplify38.0ms (0.2%)

Algorithm
egg-herbie
Rules
788×associate-*r*_binary64
748×associate-*l*_binary64
573×fma-def_binary64
366×cancel-sign-sub-inv_binary64
166×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01181116
13661102
213131077
Stop Event
node limit
Counts
163 → 143

prune192.0ms (1.2%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1813184
Fresh224
Picked101
Done022
Total1847191
Error
0.6b
Counts
191 → 7
Alt Table
StatusErrorProgram
1.2b
(-.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) (+.f64 1 (exp.f64 a)))) (+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))) (*.f64 1/2 (/.f64 (pow.f64 b 2) (pow.f64 (+.f64 1 (exp.f64 a)) 2))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
20.9b
(/.f64 (+.f64 (pow.f64 (log1p.f64 (exp.f64 a)) 3) (pow.f64 (/.f64 b (+.f64 1 (exp.f64 a))) 3)) (fma.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (-.f64 (/.f64 b (+.f64 1 (exp.f64 a))) (log1p.f64 (exp.f64 a))) (pow.f64 (log1p.f64 (exp.f64 a)) 2)))
1.8b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 3)) 3))
26.6b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a))))) 3))
2.1b
(+.f64 (log1p.f64 (exp.f64 a)) (pow.f64 (*.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) (cbrt.f64 (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2))) 3))
30.2b
(log1p.f64 (exp.f64 b))
Compiler

Compiled 3985 to 2454 computations (38.4% saved)

regimes549.0ms (3.4%)

Accuracy

Total 0.5b remaining (50.5%)

Threshold costs 0.5b (50.5%)

Counts
99 → 1
Compiler

Compiled 13225 to 9449 computations (28.6% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11316
Stop Event
saturated

end132.0ms (0.8%)

Stop Event
fuel
Compiler

Compiled 203 to 140 computations (31% saved)

Profiling

Loading profile data...