Details

Time bar (total: 4.2s)

analyze95.0ms (2.3%)

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)

sample35.0ms (0.8%)

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

Compiled 23 to 15 computations (34.8% saved)

simplify6.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1813
2813

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 30 to 18 computations (40% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 a) (exp.f64 b))
0.3b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))

series38.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

34.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
4.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

rewrite12.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
22×*-un-lft-identity_binary64
12×times-frac_binary64
12×add-sqr-sqrt_binary64
12×add-cube-cbrt_binary64
distribute-lft-out_binary64
Counts
2 → 52
Calls

2 calls:

7.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 a) (exp.f64 b)))
3.0ms
(+.f64 (exp.f64 a) (exp.f64 b))

simplify87.0ms (2.1%)

Algorithm
egg-herbie
Rules
806×fma-neg_binary64
536×times-frac_binary64
493×fma-def_binary64
389×associate-/l*_binary64
245×associate-/r*_binary64
Counts
100 → 108
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01681981
14491869
214031853
349151853
456401853

prune107.0ms (2.5%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1053108
Fresh000
Picked101
Done000
Total1063109
Error
0b
Counts
109 → 3
Alt Table
StatusErrorProgram
20.1b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
9.8b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
0.6b
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
Compiler

Compiled 2405 to 939 computations (61% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (exp.f64 b) (exp.f64 a))
0.0b
(pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3)
0.3b
(/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a)))
0.4b
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))

series151.0ms (3.6%)

Counts
4 → 64
Calls

4 calls:

81.0ms
(pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3)
33.0ms
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
31.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a)))
5.0ms
(+.f64 (exp.f64 b) (exp.f64 a))

rewrite35.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
82×*-un-lft-identity_binary64
60×times-frac_binary64
48×add-sqr-sqrt_binary64
48×add-cube-cbrt_binary64
42×cbrt-prod_binary64
Counts
4 → 164
Calls

4 calls:

8.0ms
(pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3)
6.0ms
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
5.0ms
(/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a)))
3.0ms
(+.f64 (exp.f64 b) (exp.f64 a))

simplify142.0ms (3.4%)

Algorithm
egg-herbie
Rules
434×unswap-sqr_binary64
198×sub-neg_binary64
178×associate-/l*_binary64
173×associate-+r+_binary64
163×fma-def_binary64
Counts
228 → 183
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03566527
110156054
237345934
351895934

prune167.0ms (4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1830183
Fresh022
Picked011
Done000
Total1833186
Error
0b
Counts
186 → 3
Alt Table
StatusErrorProgram
20.1b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
9.8b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
0.6b
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
Compiler

Compiled 5351 to 2511 computations (53.1% saved)

localize24.0ms (0.6%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.5b
(/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))
2.5b
(/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))
2.5b
(/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))
7.3b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))

series360.0ms (8.6%)

Counts
4 → 80
Calls

4 calls:

188.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
87.0ms
(/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))
61.0ms
(/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))
24.0ms
(/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))

rewrite115.0ms (2.7%)

Algorithm
rewrite-expression-head
Rules
78×*-un-lft-identity_binary64
48×times-frac_binary64
48×add-exp-log_binary64
43×add-sqr-sqrt_binary64
41×add-cube-cbrt_binary64
Counts
4 → 222
Calls

4 calls:

51.0ms
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
9.0ms
(/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))
8.0ms
(/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))
6.0ms
(/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))

simplify294.0ms (7%)

Algorithm
egg-herbie
Rules
782×distribute-rgt-in_binary64
761×distribute-lft-in_binary64
437×fma-def_binary64
180×cancel-sign-sub-inv_binary64
153×*-commutative_binary64
Counts
302 → 378
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
057921441
1185917238
2594617238

prune793.0ms (18.9%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New3780378
Fresh011
Picked011
Done011
Total3783381
Error
0b
Counts
381 → 3
Alt Table
StatusErrorProgram
20.1b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
9.8b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
0.6b
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
Compiler

Compiled 39596 to 25738 computations (35% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 b (exp.f64 a))
0.0b
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
0.3b
(/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2))
0.3b
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))

series112.0ms (2.7%)

Counts
4 → 44
Calls

4 calls:

91.0ms
(/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2))
9.0ms
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))
8.0ms
(*.f64 b (exp.f64 a))
4.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)

rewrite27.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
35×*-un-lft-identity_binary64
23×add-sqr-sqrt_binary64
21×times-frac_binary64
21×add-cube-cbrt_binary64
17×add-exp-log_binary64
Counts
4 → 115
Calls

4 calls:

7.0ms
(pow.f64 (+.f64 1 (exp.f64 a)) 2)
7.0ms
(/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2))
5.0ms
(/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a)))
4.0ms
(*.f64 b (exp.f64 a))

simplify91.0ms (2.2%)

Algorithm
egg-herbie
Rules
502×fma-def_binary64
448×associate-/r*_binary64
351×associate-*l/_binary64
343×associate-/l/_binary64
255×associate-*r/_binary64
Counts
159 → 201
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02092530
14862217
215732165
343462165
449532165

prune168.0ms (4%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New2010201
Fresh000
Picked011
Done022
Total2013204
Error
0b
Counts
204 → 3
Alt Table
StatusErrorProgram
20.1b
(-.f64 (/.f64 (exp.f64 a) (+.f64 1 (exp.f64 a))) (/.f64 (*.f64 b (exp.f64 a)) (pow.f64 (+.f64 1 (exp.f64 a)) 2)))
9.8b
(-.f64 (+.f64 (/.f64 1 (+.f64 1 (exp.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (+.f64 1 (exp.f64 b)))) (+.f64 (/.f64 a (+.f64 1 (exp.f64 b))) (/.f64 (pow.f64 a 2) (*.f64 (pow.f64 (+.f64 1 (exp.f64 b)) 2) (+.f64 (exp.f64 b) 1)))))) (+.f64 (*.f64 3/2 (/.f64 (pow.f64 a 2) (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))) (/.f64 a (*.f64 (+.f64 1 (exp.f64 b)) (+.f64 (exp.f64 b) 1)))))
0.6b
(cbrt.f64 (pow.f64 (/.f64 (exp.f64 a) (+.f64 (exp.f64 b) (exp.f64 a))) 3))
Compiler

Compiled 5175 to 2756 computations (46.7% saved)

regimes712.0ms (16.9%)

Accuracy

Total 0.3b remaining (55.7%)

Threshold costs 0.3b (55.7%)

Counts
141 → 1
Compiler

Compiled 20233 to 13508 computations (33.2% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0915
11215
21715
31915
42015
52015

end0.0ms (0%)

Compiler

Compiled 11 to 8 computations (27.3% saved)

sample609.0ms (14.5%)

Algorithm
intervals
Results
293.0ms8000×body128valid
20.0ms662×body128overflowed
Compiler

Compiled 128 to 87 computations (32% saved)

Profiling

Loading profile data...