Details

Time bar (total: 2.5s)

analyze46.0ms (1.9%)

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)

sample806.0ms (32.5%)

Results
773.0ms8256×body128valid
2.0ms25×body128invalid
Compiler

Compiled 32 to 20 computations (37.5% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series31.0ms (1.2%)

Counts
2 → 48
Calls

2 calls:

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

rewrite50.0ms (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 → 70
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0721
114721
2199821
3579421

prune95.0ms (3.8%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1153118
Fresh000
Picked101
Done000
Total1163119
Error
0.2b
Counts
119 → 3
Alt Table
StatusErrorProgram
11.3b
(/.f64 1 (+.f64 1 (exp.f64 b)))
0.5b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
24.0b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
Compiler

Compiled 1885 to 706 computations (62.5% saved)

localize6.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.5b
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a))

series63.0ms (2.5%)

Counts
3 → 72
Calls

3 calls:

44.0ms
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
15.0ms
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite63.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
485×prod-diff_binary64
449×log-prod_binary64
184×fma-def_binary64
167×expm1-udef_binary64
167×log1p-udef_binary64
Counts
3 → 128
Calls

3 calls:

59.0ms
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
59.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
59.0ms
(/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a))
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0937
118934
2239234
3507534

prune134.0ms (5.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1991200
Fresh112
Picked011
Done000
Total2003203
Error
0b
Counts
203 → 3
Alt Table
StatusErrorProgram
0.5b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
24.0b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
29.4b
(pow.f64 (+.f64 (/.f64 b (exp.f64 a)) (+.f64 1 (/.f64 1 (exp.f64 a)))) -1)
Compiler

Compiled 3260 to 1212 computations (62.8% 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))

series89.0ms (3.6%)

Counts
4 → 44
Calls

4 calls:

72.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)))
5.0ms
(*.f64 b (exp.f64 a))
3.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)

rewrite76.0ms (3.1%)

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

4 calls:

72.0ms
(*.f64 b (exp.f64 a))
72.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
72.0ms
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))
72.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

prune139.0ms (5.6%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1970197
Fresh011
Picked011
Done011
Total1973200
Error
0b
Counts
200 → 3
Alt Table
StatusErrorProgram
0.5b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
24.0b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
29.4b
(pow.f64 (+.f64 (/.f64 b (exp.f64 a)) (+.f64 1 (/.f64 1 (exp.f64 a)))) -1)
Compiler

Compiled 4919 to 2514 computations (48.9% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series71.0ms (2.9%)

Counts
4 → 36
Calls

4 calls:

45.0ms
(pow.f64 (+.f64 (/.f64 b (exp.f64 a)) (+.f64 1 (/.f64 1 (exp.f64 a)))) -1)
13.0ms
(/.f64 b (exp.f64 a))
7.0ms
(+.f64 1 (/.f64 1 (exp.f64 a)))
5.0ms
(/.f64 1 (exp.f64 a))

rewrite74.0ms (3%)

Algorithm
batch-egg-rewrite
Rules
509×fma-def_binary64
257×fma-neg_binary64
204×expm1-udef_binary64
204×log1p-udef_binary64
183×log-div_binary64
Counts
4 → 128
Calls

4 calls:

72.0ms
(+.f64 1 (/.f64 1 (exp.f64 a)))
72.0ms
(/.f64 1 (exp.f64 a))
72.0ms
(/.f64 b (exp.f64 a))
72.0ms
(pow.f64 (+.f64 (/.f64 b (exp.f64 a)) (+.f64 1 (/.f64 1 (exp.f64 a)))) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01138
124238
2310538
3522338

prune133.0ms (5.4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1640164
Fresh000
Picked011
Done022
Total1643167
Error
0b
Counts
167 → 3
Alt Table
StatusErrorProgram
0.5b
(pow.f64 (/.f64 (+.f64 (exp.f64 a) (exp.f64 b)) (exp.f64 a)) -1)
24.0b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
29.4b
(pow.f64 (+.f64 (/.f64 b (exp.f64 a)) (+.f64 1 (/.f64 1 (exp.f64 a)))) -1)
Compiler

Compiled 3422 to 1977 computations (42.2% saved)

regimes526.0ms (21.2%)

Accuracy

Total 0.3b remaining (57.3%)

Threshold costs 0.3b (57.3%)

Counts
134 → 1
Compiler

Compiled 11004 to 8042 computations (26.9% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
*-rgt-identity_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01115
11715
22115
32315
42415
52315

end54.0ms (2.2%)

Compiler

Compiled 70 to 48 computations (31.4% saved)

Profiling

Loading profile data...