Details

Time bar (total: 6.1s)

analyze113.0ms (1.8%)

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%18.7%12.6%7
68.7%12.5%18.8%8
68.7%12.5%18.8%9
68.7%9.4%22%10
68.7%9.4%22%11
68.7%7.8%23.5%12
68.7%7.8%23.5%13
68.7%7%24.3%14
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample19.0ms (0.3%)

Algorithm
intervals
Results
9.0ms256×body128valid
1.0ms22×body128overflowed
Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify10.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
1.5b
Counts
1 → 1
Alt Table
StatusErrorProgram
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 20 to 12 computations (40% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

rewrite82.0ms (1.3%)

Algorithm
rewrite-expression-head
Error
0.7b
Rules
23×add-cube-cbrt_binary64
10×add-cbrt-cube_binary64
add-log-exp_binary64
pow1_binary64
add-sqr-sqrt_binary64
Counts
2 → 89
Calls

2 calls:

15.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
13.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
Compiler

Compiled 1271 to 267 computations (79% saved)

series61.0ms (1%)

Error
0.2b
Counts
2 → 24
Calls

2 calls:

29.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
14.0ms
(+.f64 (exp.f64 a) (exp.f64 b))
Compiler

Compiled 1199 to 779 computations (35% saved)

simplify99.0ms (1.6%)

Algorithm
egg-herbie
Rules
713×fma-def_binary64
331×fma-neg_binary64
228×distribute-rgt-in_binary64
191×distribute-lft-in_binary64
190×associate-/l/_binary64
Counts
113 → 66
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01862019
15001867
220131839
346911836
449951836

prune56.0ms (0.9%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New64266
Fresh000
Picked011
Done000
Total64367
Error
0.2b
Counts
67 → 3
Alt Table
StatusErrorProgram
11.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (/.f64 a (+.f64 1 (exp.f64 b)))))) (fma.f64 3/2 (*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
16.8b
(+.f64 (/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
Compiler

Compiled 1262 to 555 computations (56% saved)

localize22.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a)
0.2b
(*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a)
2.7b
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
7.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (/.f64 a (+.f64 1 (exp.f64 b)))))) (fma.f64 3/2 (*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))

rewrite437.0ms (7.1%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
37×add-cube-cbrt_binary64
30×pow1_binary64
26×add-sqr-sqrt_binary64
22×add-exp-log_binary64
20×add-cbrt-cube_binary64
Counts
4 → 181
Calls

4 calls:

20.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (/.f64 a (+.f64 1 (exp.f64 b)))))) (fma.f64 3/2 (*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
17.0ms
(*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a)
17.0ms
(*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a)
17.0ms
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
Compiler

Compiled 13363 to 8472 computations (36.6% saved)

series260.0ms (4.3%)

Error
0.2b
Counts
4 → 31
Calls

4 calls:

131.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a) (/.f64 a (+.f64 1 (exp.f64 b)))))) (fma.f64 3/2 (*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a) (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2))))
35.0ms
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
30.0ms
(*.f64 (/.f64 a (pow.f64 (+.f64 1 (exp.f64 b)) 2)) a)
27.0ms
(*.f64 (/.f64 a (+.f64 1 (exp.f64 b))) a)
Compiler

Compiled 4053 to 2807 computations (30.7% saved)

simplify190.0ms (3.1%)

Algorithm
egg-herbie
Rules
564×unswap-sqr_binary64
276×fma-neg_binary64
150×associate-*l*_binary64
148×sub-neg_binary64
143×associate-*r*_binary64
Counts
212 → 128
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02868630
16747795
228557179
351697179

prune134.0ms (2.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1271128
Fresh011
Picked101
Done011
Total1283131
Error
0.2b
Counts
131 → 3
Alt Table
StatusErrorProgram
45.4b
(-.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
16.8b
(+.f64 (/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 6215 to 3872 computations (37.7% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.8b
(/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
1.0b
(*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a)))
1.0b
(/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
4.3b
(-.f64 (exp.f64 b) (exp.f64 a))

rewrite273.0ms (4.5%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
62×add-cube-cbrt_binary64
23×pow1_binary64
22×add-sqr-sqrt_binary64
22×add-cbrt-cube_binary64
16×add-exp-log_binary64
Counts
4 → 191
Calls

4 calls:

23.0ms
(/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
21.0ms
(*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a)))
18.0ms
(/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
16.0ms
(-.f64 (exp.f64 b) (exp.f64 a))
Compiler

Compiled 8298 to 3340 computations (59.7% saved)

series207.0ms (3.4%)

Error
0.2b
Counts
4 → 42
Calls

4 calls:

67.0ms
(/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
53.0ms
(/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3)))
28.0ms
(*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a)))
19.0ms
(-.f64 (exp.f64 b) (exp.f64 a))
Compiler

Compiled 4786 to 3058 computations (36.1% saved)

simplify166.0ms (2.7%)

Algorithm
egg-herbie
Rules
489×fma-neg_binary64
376×associate-*r*_binary64
321×associate-*l*_binary64
289×fma-def_binary64
219×associate-/l*_binary64
Counts
233 → 142
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03856165
110855540
248325540
352595540

prune139.0ms (2.3%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1420142
Fresh011
Picked011
Done011
Total1423145
Error
0.2b
Counts
145 → 3
Alt Table
StatusErrorProgram
45.4b
(-.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
16.8b
(+.f64 (/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
Compiler

Compiled 5529 to 2763 computations (50% saved)

localize21.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))))
2.7b
(/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b)))
2.7b
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
8.0b
(-.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))

rewrite331.0ms (5.4%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
45×add-cube-cbrt_binary64
20×add-cbrt-cube_binary64
18×add-exp-log_binary64
18×add-sqr-sqrt_binary64
18×add-log-exp_binary64
Counts
4 → 188
Calls

4 calls:

19.0ms
(-.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
17.0ms
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
16.0ms
(+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))))
15.0ms
(/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b)))
Compiler

Compiled 13381 to 7916 computations (40.8% saved)

series263.0ms (4.3%)

Error
0.2b
Counts
4 → 34
Calls

4 calls:

105.0ms
(-.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
64.0ms
(+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b)))))
41.0ms
(/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))
26.0ms
(/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b)))
Compiler

Compiled 4114 to 2810 computations (31.7% saved)

simplify263.0ms (4.3%)

Algorithm
egg-herbie
Rules
669×fma-neg_binary64
245×unswap-sqr_binary64
152×fma-def_binary64
144×sub-neg_binary64
142×associate-*r*_binary64
Counts
222 → 123
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03049631
17258916
229708297
347228224
449398224

prune123.0ms (2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1212123
Fresh000
Picked101
Done022
Total1224126
Error
0.2b
Counts
126 → 4
Alt Table
StatusErrorProgram
49.7b
(-.f64 (exp.f64 (log.f64 (+.f64 (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3)) (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 a (+.f64 1 (exp.f64 b))))))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
16.8b
(+.f64 (/.f64 (pow.f64 (exp.f64 a) 3) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))) (/.f64 (*.f64 (exp.f64 (+.f64 b a)) (-.f64 (exp.f64 b) (exp.f64 a))) (+.f64 (pow.f64 (exp.f64 a) 3) (pow.f64 (exp.f64 b) 3))))
1.5b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
45.4b
(-.f64 (+.f64 (fma.f64 1/2 (/.f64 (*.f64 a a) (+.f64 1 (exp.f64 b))) (/.f64 (*.f64 a a) (pow.f64 (+.f64 1 (exp.f64 b)) 3))) (/.f64 a (+.f64 1 (exp.f64 b)))) (fma.f64 3/2 (pow.f64 (/.f64 a (+.f64 1 (exp.f64 b))) 2) (/.f64 a (+.f64 1 (*.f64 (exp.f64 b) (+.f64 2 (exp.f64 b)))))))
Compiler

Compiled 5743 to 3360 computations (41.5% saved)

regimes2.1s (34.4%)

Accuracy

Total 0.5b remaining (55.4%)

Threshold costs 0.5b (55.4%)

Compiler

Compiled 82198 to 53163 computations (35.3% saved)

bsearch1.0ms (0%)

Steps
ItersRangePoint
0
0.9994808176958746
0.9999999963088964
0.9997404070023854
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02245
12745
22645

end1.0ms (0%)

Compiler

Compiled 32 to 22 computations (31.3% saved)

sample717.0ms (11.7%)

Algorithm
intervals
Results
298.0ms8000×body128valid
19.0ms669×body128overflowed
Compiler

Compiled 196 to 126 computations (35.7% saved)

Profiling

Loading profile data...