Details

Time bar (total: 3.4s)

analyze39.0ms (1.2%)

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)

sample756.0ms (22.1%)

Results
725.0ms8256×body128valid
3.0ms32×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify6.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
0.8b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.8b
(/.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))
0.7b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

series34.0ms (1%)

Counts
2 → 48
Calls

2 calls:

30.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite51.0ms (1.5%)

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 → 70
Calls

2 calls:

49.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
49.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

simplify41.0ms (1.2%)

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
118 → 98
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01031020
1302981
21070965
35042965

prune86.0ms (2.5%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New95398
Fresh000
Picked011
Done000
Total95499
Error
0.2b
Counts
99 → 4
Alt Table
StatusErrorProgram
1.0b
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
0.8b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
0.8b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
12.4b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 2022 to 931 computations (54% saved)

localize7.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.0b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.1b
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
3.6b
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))

series917.0ms (26.8%)

Counts
3 → 72
Calls

3 calls:

428.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
260.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
229.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))

rewrite146.0ms (4.3%)

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 → 137
Calls

3 calls:

142.0ms
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
141.0ms
(-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b))))
141.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

simplify80.0ms (2.4%)

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
209 → 190
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01381993
14421932
217371690
347411688
451251688

prune171.0ms (5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New2381239
Fresh112
Picked011
Done011
Total2394243
Error
0.2b
Counts
243 → 4
Alt Table
StatusErrorProgram
1.0b
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
12.4b
(exp.f64 (neg.f64 (log1p.f64 (exp.f64 b))))
0.8b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
0.8b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
Compiler

Compiled 5478 to 2259 computations (58.8% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (+.f64 (exp.f64 b) a))
0.0b
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
0.0b
(fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a)))

series69.0ms (2%)

Counts
3 → 55
Calls

3 calls:

57.0ms
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
8.0ms
(fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a)))
3.0ms
(+.f64 1 (+.f64 (exp.f64 b) a))

rewrite63.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
871×prod-diff_binary64
221×log1p-udef_binary64
125×add-sqr-sqrt_binary64
120×log1p-expm1-u_binary64
120×expm1-log1p-u_binary64
Counts
3 → 93
Calls

3 calls:

60.0ms
(+.f64 1 (+.f64 (exp.f64 b) a))
60.0ms
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
60.0ms
(fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01246
125346
2316546
3513346
000
100

simplify71.0ms (2.1%)

Algorithm
egg-herbie
Rules
533×fma-def_binary64
454×times-frac_binary64
382×fma-neg_binary64
331×associate-/l*_binary64
236×associate-/r*_binary64
Counts
148 → 146
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01281528
13791481
213361429
347091419
449871419

prune119.0ms (3.5%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New1460146
Fresh011
Picked011
Done022
Total1464150
Error
0.2b
Counts
150 → 4
Alt Table
StatusErrorProgram
1.0b
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
12.4b
(exp.f64 (neg.f64 (log1p.f64 (exp.f64 b))))
0.8b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
0.8b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
Compiler

Compiled 3502 to 1830 computations (47.7% saved)

localize4.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.7b
(log1p.f64 (exp.f64 b))

series189.0ms (5.5%)

Counts
1 → 12
Calls

1 calls:

189.0ms
(log1p.f64 (exp.f64 b))

rewrite73.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
291×expm1-log1p-u_binary64
290×log1p-expm1-u_binary64
269×add-cbrt-cube_binary64
261×add-log-exp_binary64
259×add-exp-log_binary64
Counts
1 → 33
Calls

1 calls:

72.0ms
(log1p.f64 (exp.f64 b))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045
1735
27865
348905
449235
000
100

simplify146.0ms (4.3%)

Algorithm
egg-herbie
Rules
749×fma-def_binary64
668×fma-neg_binary64
607×distribute-rgt-neg-in_binary64
528×cancel-sign-sub-inv_binary64
420×sub-neg_binary64
Counts
45 → 42
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02193
14791
29685
326479
481279
5176679
6296179
7413179
8449479
9481179
10495679
11482479
12495579
13481279

prune33.0ms (1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New41142
Fresh000
Picked101
Done033
Total42446
Error
0.2b
Counts
46 → 4
Alt Table
StatusErrorProgram
13.2b
(exp.f64 (neg.f64 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (log1p.f64 (exp.f64 b)))) 2) 3) (cbrt.f64 (log1p.f64 (exp.f64 b))))))
1.0b
(/.f64 (exp.f64 a) (fma.f64 1/2 (*.f64 a a) (+.f64 1 (+.f64 (exp.f64 b) a))))
0.8b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
0.8b
(exp.f64 (-.f64 a (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
Compiler

Compiled 520 to 328 computations (36.9% saved)

regimes237.0ms (6.9%)

Accuracy

Total 0.4b remaining (72.1%)

Threshold costs 0.4b (72.1%)

Counts
61 → 1
Compiler

Compiled 4819 to 3413 computations (29.2% saved)

simplify2.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
01220
11520
22020
32220
42320
52320

end67.0ms (2%)

Compiler

Compiled 83 to 60 computations (27.7% saved)

Profiling

Loading profile data...