Details

Time bar (total: 12.2s)

analyze170.0ms (1.4%)

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%37.5%12.6%6
50%25%25.1%7
50%18.7%31.3%8
50%12.5%37.6%9
50%9.4%40.7%10
50%6.2%43.8%11
50%4.7%45.4%12
50%3.1%46.9%13
50%2.3%47.7%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample77.0ms (0.6%)

Algorithm
intervals
Results
31.0ms64×body1024valid
8.0ms29×body512valid
7.0ms143×body128valid
6.0msbody128overflowed
6.0msbody2048valid
2.0ms12×body256valid
Compiler

Compiled 19 to 15 computations (21.1% saved)

simplify67.0ms (0.6%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
2810

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series900.0ms (7.4%)

Counts
3 → 52
Calls

3 calls:

888.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
9.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
3.0ms
(exp.f64 a)

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
add-log-exp_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-exp-log_binary64
Counts
3 → 47
Calls

3 calls:

7.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
6.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
2.0ms
(exp.f64 a)

simplify142.0ms (1.2%)

Algorithm
egg-herbie
Rules
606×fma-neg_binary64
433×associate-+l+_binary64
430×fma-def_binary64
238×times-frac_binary64
231×associate-+r+_binary64
Counts
99 → 104
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01401338
13621283
210791255
341331251
449281251
549821251

prune197.0ms (1.6%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1013104
Fresh000
Picked101
Done000
Total1023105
Error
0.2b
Counts
105 → 3
Alt Table
StatusErrorProgram
32.5b
(+.f64 (log1p.f64 (exp.f64 b)) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (*.f64 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (-.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 b)))))))
29.9b
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 1628 to 751 computations (53.9% saved)

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series589.0ms (4.8%)

Counts
2 → 28
Calls

2 calls:

585.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
3.0ms
(+.f64 1 (exp.f64 a))

rewrite25.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
*-un-lft-identity_binary64
add-log-exp_binary64
fma-def_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
2 → 35
Calls

2 calls:

17.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
6.0ms
(+.f64 1 (exp.f64 a))

simplify107.0ms (0.9%)

Algorithm
egg-herbie
Rules
786×fma-neg_binary64
496×associate-+r+_binary64
405×times-frac_binary64
356×associate-*l*_binary64
317×fma-def_binary64
Counts
63 → 59
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
088955
1256894
2626884
31780874
43990873
55038873

prune146.0ms (1.2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1001101
Fresh022
Picked011
Done000
Total1004104
Error
0.2b
Counts
104 → 4
Alt Table
StatusErrorProgram
32.5b
(+.f64 (log1p.f64 (exp.f64 b)) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (*.f64 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (-.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 b)))))))
29.9b
(+.f64 (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) (log.f64 (sqrt.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
1.3b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 1686 to 886 computations (47.4% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series1.8s (14.4%)

Counts
2 → 48
Calls

2 calls:

1.3s
(log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))
486.0ms
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))

rewrite3.0ms (0%)

Algorithm
rewrite-expression-head
Rules
expm1-log1p-u_binary64
*-un-lft-identity_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
add-cbrt-cube_binary64
Counts
2 → 22
Calls

2 calls:

1.0ms
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
1.0ms
(log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))

simplify220.0ms (1.8%)

Algorithm
egg-herbie
Rules
427×associate-+r+_binary64
269×associate-+l+_binary64
268×+-commutative_binary64
226×cancel-sign-sub-inv_binary64
216×times-frac_binary64
Counts
70 → 76
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02813342
18793194
237483133
349633133
449763133

prune324.0ms (2.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1492151
Fresh112
Picked101
Done011
Total1514155
Error
0.2b
Counts
155 → 4
Alt Table
StatusErrorProgram
32.5b
(+.f64 (log1p.f64 (exp.f64 b)) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (*.f64 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (-.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 b)))))))
29.6b
(-.f64 (+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))) 1)
63.2b
(expm1.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (-.f64 (+.f64 (/.f64 1 b) (+.f64 (/.f64 (log1p.f64 (exp.f64 a)) b) (*.f64 (/.f64 (log1p.f64 (exp.f64 a)) b) (exp.f64 a)))) (log1p.f64 (exp.f64 a))) (log.f64 b))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 5377 to 3274 computations (39.1% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series959.0ms (7.8%)

Counts
2 → 48
Calls

2 calls:

484.0ms
(+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))
475.0ms
(-.f64 (+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))) 1)

rewrite59.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
48×*-un-lft-identity_binary64
21×add-log-exp_binary64
18×distribute-lft-out_binary64
17×add-sqr-sqrt_binary64
15×prod-diff_binary64
Counts
2 → 68
Calls

2 calls:

29.0ms
(-.f64 (+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))) 1)
19.0ms
(+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))

simplify204.0ms (1.7%)

Algorithm
egg-herbie
Rules
620×fma-neg_binary64
544×associate-+l+_binary64
436×fma-def_binary64
363×associate-+r+_binary64
332×distribute-rgt-in_binary64
Counts
116 → 101
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01102329
12782193
28312109
335142095
448022093
549512093

prune202.0ms (1.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1760176
Fresh022
Picked011
Done011
Total1764180
Error
0.2b
Counts
180 → 4
Alt Table
StatusErrorProgram
32.5b
(+.f64 (log1p.f64 (exp.f64 b)) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (*.f64 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (-.f64 1/2 (/.f64 1/2 (+.f64 1 (exp.f64 b)))))))
29.6b
(-.f64 (+.f64 1 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))) 1)
63.2b
(expm1.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (-.f64 (+.f64 (/.f64 1 b) (+.f64 (/.f64 (log1p.f64 (exp.f64 a)) b) (*.f64 (/.f64 (log1p.f64 (exp.f64 a)) b) (exp.f64 a)))) (log1p.f64 (exp.f64 a))) (log.f64 b))))
1.0b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 3926 to 2481 computations (36.8% saved)

regimes1.9s (15.9%)

Accuracy

Total 0.6b remaining (47.1%)

Threshold costs 0.6b (47.1%)

Counts
190 → 1
Compiler

Compiled 21552 to 15614 computations (27.6% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
e-exp-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01118
11618
21518

end15.0ms (0.1%)

Compiler

Compiled 39 to 30 computations (23.1% saved)

sample4.0s (33%)

Algorithm
intervals
Results
1.8s1957×body1024valid
472.0ms972×body512valid
404.0ms4413×body128valid
232.0ms186×body2048valid
120.0ms472×body256valid
12.0ms145×body128overflowed
Compiler

Compiled 115 to 75 computations (34.8% saved)

Profiling

Loading profile data...