Details

Time bar (total: 4.4s)

analyze44.0ms (1%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
25%74.9%0.1%3
62.4%37.5%0.1%4
68.7%31.2%0.1%5
68.7%18.7%12.6%6
68.7%17.2%14.1%7
68.7%10.1%21.2%8
68.7%9%22.3%9
68.7%5.3%26%10
68.7%4.6%26.7%11
68.7%2.7%28.6%12
68.7%2.3%29%13
68.7%1.4%30%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample820.0ms (18.6%)

Results
787.0ms8256×body128valid
3.0ms32×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify8.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
1.0b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

series30.0ms (0.7%)

Counts
2 → 48
Calls

2 calls:

25.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
5.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite51.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
793×log1p-expm1-u_binary64
793×expm1-log1p-u_binary64
485×prod-diff_binary64
77×add-sqr-sqrt_binary64
73×add-log-exp_binary64
Counts
2 → 72
Calls

2 calls:

50.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
50.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114721
2199821
3579421
000
100

simplify82.0ms (1.9%)

Algorithm
egg-herbie
Rules
475×times-frac_binary64
464×associate-+l+_binary64
426×fma-def_binary64
303×associate-/l*_binary64
240×associate--l+_binary64
Counts
120 → 100
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01031020
1302981
21070965
35042965

prune96.0ms (2.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New973100
Fresh000
Picked101
Done000
Total983101
Error
0b
Counts
101 → 3
Alt Table
StatusErrorProgram
22.5b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
0.3b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
13.6b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 2038 to 929 computations (54.4% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
1.6b
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
3.0b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series741.0ms (16.8%)

Counts
3 → 72
Calls

3 calls:

358.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
204.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
179.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))

rewrite150.0ms (3.4%)

Algorithm
batch-egg-rewrite
Rules
814×prod-diff_binary64
400×fma-def_binary64
204×fma-neg_binary64
174×expm1-udef_binary64
174×log1p-udef_binary64
Counts
3 → 139
Calls

3 calls:

146.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
146.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
146.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118536
2245436
3473936
4499536
5499536
6497336
000
100

simplify89.0ms (2%)

Algorithm
egg-herbie
Rules
602×fma-def_binary64
521×fma-neg_binary64
485×times-frac_binary64
415×associate-/l*_binary64
217×sub-neg_binary64
Counts
211 → 192
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01381993
14421932
217371690
347411688
451251688

prune170.0ms (3.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New2402242
Fresh202
Picked011
Done000
Total2423245
Error
0b
Counts
245 → 3
Alt Table
StatusErrorProgram
1.0b
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.0b
(exp.f64 (-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))))
Compiler

Compiled 5503 to 2256 computations (59% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.8b
(log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))
1.0b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

series494.0ms (11.2%)

Counts
2 → 48
Calls

2 calls:

467.0ms
(log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))
26.0ms
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))

rewrite64.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
862×log1p-expm1-u_binary64
862×expm1-log1p-u_binary64
490×prod-diff_binary64
90×egg-rr
85×add-sqr-sqrt_binary64
Counts
2 → 90
Calls

2 calls:

62.0ms
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))
62.0ms
(log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
116426
2218226
3623226
000
100

simplify86.0ms (1.9%)

Algorithm
egg-herbie
Rules
410×associate-+r+_binary64
292×times-frac_binary64
265×+-commutative_binary64
263×cancel-sign-sub-inv_binary64
246×associate-+l+_binary64
Counts
138 → 122
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02792998
19242709
241302653
351102653

prune204.0ms (4.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2220222
Fresh011
Picked011
Done011
Total2223225
Error
0b
Counts
225 → 3
Alt Table
StatusErrorProgram
1.0b
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.0b
(exp.f64 (-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))))
Compiler

Compiled 7262 to 3497 computations (51.8% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series528.0ms (11.9%)

Counts
4 → 64
Calls

4 calls:

203.0ms
(-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b)))))
165.0ms
(exp.f64 (-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))))
144.0ms
(log1p.f64 (exp.f64 b))
16.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))

rewrite95.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
566×fma-def_binary64
260×fma-neg_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
196×egg-rr
Counts
4 → 196
Calls

4 calls:

89.0ms
(/.f64 a (+.f64 1 (exp.f64 b)))
89.0ms
(exp.f64 (-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))))
89.0ms
(-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b)))))
89.0ms
(log1p.f64 (exp.f64 b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01154
123754
2329654
3500554
000
100

simplify79.0ms (1.8%)

Algorithm
egg-herbie
Rules
700×fma-neg_binary64
637×associate-*l*_binary64
398×cancel-sign-sub-inv_binary64
267×times-frac_binary64
219×associate-/l*_binary64
Counts
260 → 245
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01411696
14411614
216491417
348831411
453651411

prune182.0ms (4.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2450245
Fresh000
Picked011
Done022
Total2453248
Error
0b
Counts
248 → 3
Alt Table
StatusErrorProgram
1.0b
(exp.f64 (log.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))))
0.3b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.0b
(exp.f64 (-.f64 a (+.f64 (log1p.f64 (exp.f64 b)) (/.f64 a (+.f64 1 (exp.f64 b))))))
Compiler

Compiled 6468 to 3518 computations (45.6% saved)

regimes322.0ms (7.3%)

Accuracy

Total 0.2b remaining (39.5%)

Threshold costs 0.2b (39.5%)

Counts
81 → 1
Compiler

Compiled 6272 to 4308 computations (31.3% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
11215
21715
31915
42015
52015

end54.0ms (1.2%)

Compiler

Compiled 60 to 42 computations (30% saved)

Profiling

Loading profile data...