Details

Time bar (total: 20.5s)

analyze768.0ms (3.7%)

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.8s (62.5%)

Symmetry

(sort a b)

Results
10.0s7975×body8192exit
1.4s1995×body1024valid
605.0ms4582×body128valid
434.0ms1028×body512valid
186.0ms207×body2048valid
124.0ms444×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify6.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1810
2810

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize6.0ms (0%)

Local error

Found 2 expressions with local error:

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

series679.0ms (3.3%)

Counts
2 → 48
Calls

2 calls:

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

rewrite48.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
58×egg-rr
Counts
2 → 58
Calls

2 calls:

47.0ms
((log.f64 (+.f64 (exp.f64 a) (exp.f64 b))) (+.f64 (exp.f64 a) (exp.f64 b)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
113718
2170118
3495218
000
100

simplify66.0ms (0.3%)

Algorithm
egg-herbie
Rules
630×fma-neg_binary64
407×associate-+l+_binary64
328×fma-def_binary64
238×times-frac_binary64
222×associate-+r+_binary64
Counts
106 → 89
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082746
1244742
2857714
33662710
44952710
54990710

prune55.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New86389
Fresh000
Picked101
Done000
Total87390
Error
1.2b
Counts
90 → 3
Alt Table
StatusErrorProgram
2.2b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
30.5b
(expm1.f64 (log1p.f64 (log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))))
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
Compiler

Compiled 1435 to 719 computations (49.9% saved)

localize8.0ms (0%)

Local error

Found 3 expressions with local error:

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

series274.0ms (1.3%)

Counts
3 → 32
Calls

3 calls:

252.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
20.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
2.0ms
(+.f64 1 (exp.f64 a))

rewrite94.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
123×egg-rr
Counts
3 → 123
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0931
118731
2248631
3473931
4501631
000
100

simplify86.0ms (0.4%)

Algorithm
egg-herbie
Rules
486×associate-+l+_binary64
473×distribute-rgt-neg-in_binary64
412×distribute-lft-neg-in_binary64
362×associate-*l*_binary64
357×cancel-sign-sub-inv_binary64
Counts
155 → 149
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051501
1148482
2421466
31291462
43209462
54511462
64977462
74945462

prune130.0ms (0.6%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1454149
Fresh112
Picked101
Done000
Total1475152
Error
1.2b
Counts
152 → 5
Alt Table
StatusErrorProgram
25.9b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
3.0b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
2.9b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log1p.f64 (exp.f64 a)))
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
30.7b
(fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log1p.f64 (exp.f64 a)))
Compiler

Compiled 2623 to 1394 computations (46.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 1 (exp.f64 a))
0.2b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log1p.f64 (exp.f64 a)))
0.5b
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2)
0.6b
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))

series2.8s (13.9%)

Counts
3 → 72
Calls

3 calls:

1.6s
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log1p.f64 (exp.f64 a)))
642.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2)
555.0ms
(cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))

rewrite71.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
86×egg-rr
Counts
3 → 86
Calls

2 calls:

69.0ms
((cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) 2) (log1p.f64 (exp.f64 a))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01257
123939
2268339
3515239
000
100

simplify71.0ms (0.3%)

Algorithm
egg-herbie
Rules
884×fma-neg_binary64
707×unswap-sqr_binary64
421×associate-*r*_binary64
402×associate-*l*_binary64
319×fma-def_binary64
Counts
158 → 127
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081721
13091620
28641489
333471239
458681239

prune214.0ms (1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2562258
Fresh134
Picked101
Done000
Total2585263
Error
1.2b
Counts
263 → 5
Alt Table
StatusErrorProgram
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
3.7b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))))) 2) (log1p.f64 (exp.f64 a)))
3.4b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 1 (exp.f64 a))))) 3) 2) (log1p.f64 (exp.f64 a)))
3.0b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))))
30.7b
(fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log1p.f64 (exp.f64 a)))
Compiler

Compiled 6567 to 3973 computations (39.5% saved)

localize9.0ms (0%)

Local error

Found 4 expressions with local error:

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

series915.0ms (4.5%)

Counts
2 → 48
Calls

2 calls:

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

rewrite118.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
59×egg-rr
Counts
2 → 59
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
120634
2267834
3499134
4460234
5499634
000
100

simplify99.0ms (0.5%)

Algorithm
egg-herbie
Rules
426×associate-+r+_binary64
269×associate-+l+_binary64
267×+-commutative_binary64
226×cancel-sign-sub-inv_binary64
216×times-frac_binary64
Counts
107 → 106
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02592850
18602775
237072714
349252714
449782714

prune175.0ms (0.9%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1872189
Fresh224
Picked101
Done000
Total1904194
Error
1.2b
Counts
194 → 4
Alt Table
StatusErrorProgram
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
62.9b
(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))))
3.0b
(expm1.f64 (expm1.f64 (log1p.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))))))
30.7b
(fma.f64 (/.f64 b (-.f64 1 (pow.f64 (exp.f64 a) 2))) (-.f64 1 (exp.f64 a)) (log1p.f64 (exp.f64 a)))
Compiler

Compiled 6095 to 3669 computations (39.8% saved)

regimes733.0ms (3.6%)

Accuracy

Total 0.5b remaining (52.1%)

Threshold costs 0.5b (52.1%)

Counts
157 → 1
Compiler

Compiled 14011 to 10064 computations (28.2% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
11128
21128

end226.0ms (1.1%)

Compiler

Compiled 159 to 97 computations (39% saved)

Profiling

Loading profile data...