Details

Time bar (total: 2.2s)

analyze47.0ms (2.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)

sample869.0ms (39%)

Results
835.0ms8256×body128valid
4.0ms40×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

simplify7.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series47.0ms (2.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite61.0ms (2.8%)

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:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114721
2199821
3579421

simplify41.0ms (1.8%)

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

prune93.0ms (4.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New982100
Fresh000
Picked101
Done000
Total992101
Error
0b
Counts
101 → 2
Alt Table
StatusErrorProgram
25.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)))
10.2b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 2016 to 913 computations (54.7% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series10.0ms (0.4%)

Counts
2 → 8
Calls

2 calls:

8.0ms
(/.f64 1 (+.f64 1 (exp.f64 b)))
2.0ms
(+.f64 1 (exp.f64 b))

rewrite84.0ms (3.8%)

Algorithm
batch-egg-rewrite
Rules
554×log1p-expm1-u_binary64
554×expm1-log1p-u_binary64
253×log-prod_binary64
180×prod-diff_binary64
150×pow2_binary64
Counts
2 → 71
Calls

2 calls:

83.0ms
(+.f64 1 (exp.f64 b))
83.0ms
(/.f64 1 (+.f64 1 (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0615
112415
2143715
3491215
4507115

simplify75.0ms (3.4%)

Algorithm
egg-herbie
Rules
1075×fma-neg_binary64
481×neg-mul-1_binary64
446×unswap-sqr_binary64
356×distribute-rgt-neg-in_binary64
348×fma-def_binary64
Counts
79 → 85
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02985
17879
220173
352066
4131466
5211866
6386266
7484366
8504666

prune68.0ms (3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New85085
Fresh011
Picked011
Done000
Total85287
Error
0b
Counts
87 → 2
Alt Table
StatusErrorProgram
25.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)))
10.2b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 956 to 689 computations (27.9% saved)

localize10.0ms (0.4%)

Local error

Found 4 expressions with local error:

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

series94.0ms (4.2%)

Counts
4 → 44
Calls

4 calls:

76.0ms
(/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2))
8.0ms
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))
6.0ms
(*.f64 b (exp.f64 a))
3.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)

rewrite83.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
580×log-prod_binary64
198×expm1-udef_binary64
198×log1p-udef_binary64
176×log-pow_binary64
163×prod-diff_binary64
Counts
4 → 156
Calls

4 calls:

79.0ms
(*.f64 b (exp.f64 a))
79.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
79.0ms
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))
79.0ms
(/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01143
123441
2291341
3545241

simplify91.0ms (4.1%)

Algorithm
egg-herbie
Rules
701×times-frac_binary64
576×cancel-sign-sub-inv_binary64
435×*-commutative_binary64
332×fma-def_binary64
318×unswap-sqr_binary64
Counts
200 → 190
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070586
1199540
2559505
31688504
43450504
54942504
64928504
74933504

prune139.0ms (6.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New1900190
Fresh000
Picked011
Done011
Total1902192
Error
0b
Counts
192 → 2
Alt Table
StatusErrorProgram
25.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)))
10.2b
(/.f64 1 (+.f64 1 (exp.f64 b)))
Compiler

Compiled 4751 to 2449 computations (48.5% saved)

regimes351.0ms (15.8%)

Accuracy

Total 0.5b remaining (66.8%)

Threshold costs 0.5b (66.8%)

Counts
94 → 1
Compiler

Compiled 6677 to 4537 computations (32.1% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0820
1820

end44.0ms (2%)

Compiler

Compiled 57 to 34 computations (40.4% saved)

Profiling

Loading profile data...