Details

Time bar (total: 17.1s)

analyze852.0ms (5%)

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%50%0.1%6
50%50%0.1%7
50%50%0.1%8
50%50%0.1%9
50%50%0.1%10
50%50%0.1%11
50%50%0.1%12
50%50%0.1%13
50%50%0.1%14
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample12.9s (75.2%)

Symmetry

(sort a b)

Results
9.8s7823×body8192exit
1.6s1970×body1024valid
617.0ms4595×body128valid
437.0ms984×body512valid
189.0ms200×body2048valid
138.0ms507×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0%)

Local error

Found 2 expressions with local error:

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

series332.0ms (1.9%)

Counts
2 → 48
Calls

2 calls:

328.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite44.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
666×log1p-expm1-u_binary64
666×expm1-log1p-u_binary64
455×prod-diff_binary64
71×add-sqr-sqrt_binary64
68×add-log-exp_binary64
Counts
2 → 58
Calls

2 calls:

42.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
42.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113718
2170118
3495218

prune65.0ms (0.4%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1024106
Fresh000
Picked101
Done000
Total1034107
Error
1.1b
Counts
107 → 4
Alt Table
StatusErrorProgram
27.5b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
1.9b
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
29.1b
(log.f64 (+.f64 1 (exp.f64 b)))
26.3b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
Compiler

Compiled 1370 to 584 computations (57.4% saved)

localize6.0ms (0%)

Local error

Found 4 expressions with local error:

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

series358.0ms (2.1%)

Counts
4 → 19
Calls

4 calls:

194.0ms
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (+.f64 1 (exp.f64 a))))
145.0ms
(log.f64 (+.f64 1 (exp.f64 a)))
17.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
1.0ms
(+.f64 1 (exp.f64 a))

rewrite96.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
816×prod-diff_binary64
366×fma-def_binary64
205×fma-neg_binary64
170×expm1-udef_binary64
169×log1p-udef_binary64
Counts
4 → 144
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118736
2248636
3473936
4501636

prune171.0ms (1%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New1985203
Fresh033
Picked101
Done000
Total1998207
Error
0.8b
Counts
207 → 8
Alt Table
StatusErrorProgram
1.7b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
29.6b
(+.f64 (log.f64 2) (*.f64 1/2 b))
27.5b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
1.9b
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (/.f64 b (exp.f64 (log1p.f64 (exp.f64 a)))))
29.1b
(log.f64 (+.f64 1 (exp.f64 b)))
27.2b
(+.f64 (log.f64 (+.f64 1 (exp.f64 a))) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
26.3b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
3.5b
(pow.f64 (cbrt.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))) 3)
Compiler

Compiled 3720 to 2190 computations (41.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.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))))))
0.2b
(log1p.f64 (exp.f64 a))

series853.0ms (5%)

Counts
4 → 64
Calls

4 calls:

478.0ms
(log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a)))))
210.0ms
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
144.0ms
(log1p.f64 (exp.f64 a))
20.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))

rewrite123.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
865×prod-diff_binary64
702×fma-udef_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
130×fma-neg_binary64
Counts
4 → 114
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01148
120648
2267848
3499148
4460248
5499648

prune143.0ms (0.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1744178
Fresh437
Picked101
Done000
Total1797186
Error
0.8b
Counts
186 → 7
Alt Table
StatusErrorProgram
27.5b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
63.4b
(expm1.f64 (-.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 (/.f64 1 (+.f64 1 (exp.f64 a)))) (+.f64 (/.f64 1 b) (+.f64 (/.f64 (log.f64 (+.f64 1 (exp.f64 a))) b) (/.f64 (*.f64 (log.f64 (+.f64 1 (exp.f64 a))) (exp.f64 a)) b))))) (log.f64 (/.f64 1 b))))
30.1b
(expm1.f64 (log.f64 (+.f64 1 (+.f64 (log.f64 2) (*.f64 1/2 b)))))
29.1b
(log.f64 (+.f64 1 (exp.f64 b)))
26.3b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
2.5b
(expm1.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1))))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1))))) 2)))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))
Compiler

Compiled 4825 to 3097 computations (35.8% saved)

localize8.0ms (0%)

Local error

Found 4 expressions with local error:

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

series362.0ms (2.1%)

Counts
4 → 72
Calls

4 calls:

197.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))
146.0ms
(log1p.f64 (exp.f64 a))
17.0ms
(/.f64 b (+.f64 (exp.f64 a) 1))
2.0ms
(+.f64 (exp.f64 a) 1)

rewrite95.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
810×prod-diff_binary64
327×fma-def_binary64
222×fma-neg_binary64
168×expm1-udef_binary64
168×log1p-udef_binary64
Counts
4 → 146
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0936
118836
2245836
3474336
4496836

prune132.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2180218
Fresh066
Picked011
Done000
Total2187225
Error
0.8b
Counts
225 → 7
Alt Table
StatusErrorProgram
27.5b
(pow.f64 (cbrt.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))) 3)
63.4b
(expm1.f64 (-.f64 (+.f64 (/.f64 (exp.f64 a) b) (+.f64 (log.f64 (/.f64 1 (+.f64 1 (exp.f64 a)))) (+.f64 (/.f64 1 b) (+.f64 (/.f64 (log.f64 (+.f64 1 (exp.f64 a))) b) (/.f64 (*.f64 (log.f64 (+.f64 1 (exp.f64 a))) (exp.f64 a)) b))))) (log.f64 (/.f64 1 b))))
30.1b
(expm1.f64 (log.f64 (+.f64 1 (+.f64 (log.f64 2) (*.f64 1/2 b)))))
29.1b
(log.f64 (+.f64 1 (exp.f64 b)))
26.3b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
2.5b
(expm1.f64 (*.f64 (cbrt.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1))))) (pow.f64 (cbrt.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1))))) 2)))
1.7b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))
Compiler

Compiled 3424 to 1763 computations (48.5% saved)

regimes334.0ms (2%)

Accuracy

Total 0.5b remaining (43.4%)

Threshold costs 0.5b (43.4%)

Counts
65 → 1
Compiler

Compiled 6188 to 4618 computations (25.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0916
11316
21216

end258.0ms (1.5%)

Compiler

Compiled 173 to 123 computations (28.9% saved)

Profiling

Loading profile data...