Details

Time bar (total: 20.3s)

analyze779.0ms (3.8%)

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)

sample13.1s (64.6%)

Symmetry

(sort a b)

Results
10.3s7975×body8192exit
1.4s1995×body1024valid
649.0ms4582×body128valid
437.0ms1028×body512valid
186.0ms207×body2048valid
114.0ms444×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify5.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)

localize9.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)))

series437.0ms (2.1%)

Counts
2 → 48
Calls

2 calls:

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

rewrite164.0ms (0.8%)

Algorithm
egg-rewrite
Rules
40×egg
22×egg
Counts
2 → 62
Calls

2 calls:

111.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
51.0ms
(log.f64 (+.f64 (exp.f64 a) (exp.f64 b)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
113710
2170110
3495210
068
11218
215308
348418
447808
549718

simplify82.0ms (0.4%)

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
110 → 92
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
082746
1244742
2857714
33662710
44952710
54990710

prune58.0ms (0.3%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New89392
Fresh000
Picked101
Done000
Total90393
Error
1.2b
Counts
93 → 3
Alt Table
StatusErrorProgram
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))
2.2b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
Compiler

Compiled 1443 to 730 computations (49.4% saved)

localize6.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))

series265.0ms (1.3%)

Counts
3 → 32
Calls

3 calls:

245.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
18.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
2.0ms
(+.f64 1 (exp.f64 a))

rewrite265.0ms (1.3%)

Algorithm
egg-rewrite
Rules
56×egg
51×egg
45×egg
Counts
3 → 152
Calls

3 calls:

98.0ms
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 1 (exp.f64 a))))
83.0ms
(+.f64 1 (exp.f64 a))
81.0ms
(/.f64 b (+.f64 1 (exp.f64 a)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
1986
211216
347106
451546
0916
118716
2248616
3473916
4501616
079
11439
217989
349889
449789

simplify99.0ms (0.5%)

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
184 → 177
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
051501
1148482
2421466
31291462
43209462
54511462
64977462
74945462

prune136.0ms (0.7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1725177
Fresh112
Picked101
Done000
Total1746180
Error
1.2b
Counts
180 → 6
Alt Table
StatusErrorProgram
3.0b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))))
28.4b
(+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b 2))
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
2.2b
(fma.f64 (/.f64 1 (+.f64 (exp.f64 a) 1)) b (log1p.f64 (exp.f64 a)))
2.9b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2) (log1p.f64 (exp.f64 a)))
25.9b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 3099 to 1672 computations (46% saved)

localize7.0ms (0%)

Local error

Found 3 expressions with local error:

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

series358.0ms (1.8%)

Counts
3 → 48
Calls

3 calls:

347.0ms
(fma.f64 (/.f64 1 (+.f64 (exp.f64 a) 1)) b (log1p.f64 (exp.f64 a)))
8.0ms
(/.f64 1 (+.f64 (exp.f64 a) 1))
2.0ms
(+.f64 (exp.f64 a) 1)

rewrite317.0ms (1.6%)

Algorithm
egg-rewrite
Rules
53×egg
45×egg
25×egg
Counts
3 → 123
Calls

3 calls:

173.0ms
(fma.f64 (/.f64 1 (+.f64 (exp.f64 a) 1)) b (log1p.f64 (exp.f64 a)))
97.0ms
(+.f64 (exp.f64 a) 1)
46.0ms
(/.f64 1 (+.f64 (exp.f64 a) 1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
056
1996
210926
346786
450276
069
11259
214089
353079
0917
117916
2204116
3502416

simplify98.0ms (0.5%)

Algorithm
egg-herbie
Rules
670×sub-neg_binary64
475×associate-+l+_binary64
414×associate--r+_binary64
353×associate-*l*_binary64
333×associate-+r+_binary64
Counts
171 → 146
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054591
1151582
2411567
31214565
42798565
54607565
64960565
75386565

prune127.0ms (0.6%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1451146
Fresh145
Picked011
Done000
Total1466152
Error
1.2b
Counts
152 → 6
Alt Table
StatusErrorProgram
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
3.0b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))))
2.2b
(fma.f64 (/.f64 1 (+.f64 (exp.f64 a) 1)) b (log1p.f64 (exp.f64 a)))
2.9b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2) (log1p.f64 (exp.f64 a)))
28.4b
(fma.f64 1/2 b (log1p.f64 (exp.f64 a)))
25.9b
(+.f64 (log1p.f64 (exp.f64 a)) (exp.f64 (-.f64 (log.f64 b) (log1p.f64 (exp.f64 a)))))
Compiler

Compiled 2543 to 1439 computations (43.4% saved)

localize10.0ms (0%)

Local error

Found 4 expressions with local error:

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

series2.9s (14.1%)

Counts
3 → 72
Calls

3 calls:

1.8s
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2) (log1p.f64 (exp.f64 a)))
545.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2)
520.0ms
(cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1)))

rewrite161.0ms (0.8%)

Algorithm
egg-rewrite
Rules
59×egg
29×egg
26×egg
Counts
3 → 114
Calls

3 calls:

58.0ms
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2) (log1p.f64 (exp.f64 a)))
52.0ms
(pow.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) 2)
49.0ms
(cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
116211
2196711
3508511
01014
120512
2226012
3546012
01232
124016
2265616
3503516

simplify81.0ms (0.4%)

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
186 → 155
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081721
13091620
28641489
333471239
458681239

prune285.0ms (1.4%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New3142316
Fresh134
Picked101
Done011
Total3166322
Error
1.2b
Counts
322 → 6
Alt Table
StatusErrorProgram
30.2b
(log1p.f64 (-.f64 (+.f64 (exp.f64 a) (exp.f64 b)) 1))
3.0b
(expm1.f64 (log1p.f64 (+.f64 (log1p.f64 (exp.f64 a)) (/.f64 b (+.f64 (exp.f64 a) 1)))))
2.2b
(fma.f64 (/.f64 1 (+.f64 (exp.f64 a) 1)) b (log1p.f64 (exp.f64 a)))
28.4b
(fma.f64 1/2 b (log1p.f64 (exp.f64 a)))
3.7b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))))) 2) (log1p.f64 (exp.f64 a)))
3.4b
(fma.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (/.f64 b (+.f64 (exp.f64 a) 1)))) 3) 2) (log1p.f64 (exp.f64 a)))
Compiler

Compiled 7773 to 4608 computations (40.7% saved)

regimes334.0ms (1.6%)

Accuracy

Total 0.6b remaining (52.1%)

Threshold costs 0.6b (52.1%)

Counts
72 → 1
Compiler

Compiled 6037 to 4428 computations (26.7% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
11520
21420

end243.0ms (1.2%)

Compiler

Compiled 150 to 108 computations (28% saved)

Profiling

Loading profile data...