Details

Time bar (total: 26.6s)

analyze1.3s (4.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%96.6%3.4%6
0%96.6%3.4%7
0%95%5%8
0%85.7%14.3%9
0%64.3%35.7%10
0%64.3%35.7%11
0.5%49.2%50.3%12
0.7%49%50.3%13
1%47.6%51.4%14
Compiler

Compiled 25 to 18 computations (28% saved)

sample5.7s (21.4%)

Results
4.1s22534×body128invalid
1.6s8256×body128valid
Compiler

Compiled 50 to 36 computations (28% saved)

preprocess44.0ms (0.2%)

Algorithm
egg-herbie
Rules
573×associate-/l*_binary64
521×fma-def_binary64
272×exp-sum_binary64
215×associate-/r/_binary64
205×associate-/l/_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0119416
1315416
2833384
32516384
066
Stop Event
saturated
node limit
Compiler

Compiled 24 to 17 computations (29.2% saved)

simplify22.0ms (0.1%)

Algorithm
egg-herbie
Rules
610×associate-/l/_binary64
548×associate-/r/_binary64
488×associate-*l/_binary64
274×unswap-sqr_binary64
184×associate-/l*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01826
13726
27824
320524
459224
5208224
Stop Event
node limit
Counts
1 → 2

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
26.3b
(*.f64 x (*.f64 (/.f64 (pow.f64 z y) (exp.f64 b)) (/.f64 (pow.f64 a t) (*.f64 y a))))
1.7b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
Compiler

Compiled 132 to 87 computations (34.1% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 t 1) (log.f64 a))
0.3b
(*.f64 y (log.f64 z))
1.0b
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
1.0b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)

series2.0s (7.3%)

Counts
4 → 176
Calls

45 calls:

227.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
x
0
161.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
x
inf
155.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
x
-inf
131.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
z
inf
119.0ms
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
z
0

rewrite42.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
195×add-sqr-sqrt_binary64
183×add-cbrt-cube_binary64
183×log1p-expm1-u_binary64
183×expm1-log1p-u_binary64
181×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01861
138357
Stop Event
node limit
Counts
4 → 98

simplify86.0ms (0.3%)

Algorithm
egg-herbie
Rules
664×fma-def_binary64
351×times-frac_binary64
320×associate-/l*_binary64
171×associate-*r*_binary64
156×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01824857
15694089
219293766
Stop Event
node limit
Counts
274 → 172

prune202.0ms (0.8%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1693172
Fresh101
Picked011
Done000
Total1704174
Error
0b
Counts
174 → 4
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
28.0b
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
1.7b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
26.6b
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
Compiler

Compiled 4785 to 1965 computations (58.9% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (pow.f64 z y) (/.f64 -1 a))
0.3b
(*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t))
3.0b
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
5.0b
(*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b)))

series2.2s (8.1%)

Counts
4 → 192
Calls

48 calls:

137.0ms
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
x
0
118.0ms
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
x
inf
115.0ms
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
b
-inf
107.0ms
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
x
-inf
105.0ms
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
b
inf

rewrite42.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
198×add-sqr-sqrt_binary64
183×log1p-expm1-u_binary64
183×expm1-log1p-u_binary64
182×add-log-exp_binary64
181×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01866
138859
Stop Event
node limit
Counts
4 → 118

simplify83.0ms (0.3%)

Algorithm
egg-herbie
Rules
639×fma-def_binary64
314×times-frac_binary64
288×associate-/l*_binary64
196×associate-*r*_binary64
167×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02273930
18183881
233503857
Stop Event
node limit
Counts
310 → 190

prune177.0ms (0.7%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1900190
Fresh022
Picked011
Done011
Total1904194
Error
0b
Counts
194 → 4
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
28.0b
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
1.7b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
26.6b
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
Compiler

Compiled 5363 to 1609 computations (70% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(pow.f64 a (+.f64 t -1))
0.3b
(*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y))
0.5b
(/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b))
6.6b
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))

series2.8s (10.4%)

Counts
4 → 204
Calls

51 calls:

134.0ms
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
x
0
117.0ms
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
b
inf
109.0ms
(/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b))
b
inf
105.0ms
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
b
-inf
105.0ms
(/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b))
b
-inf

rewrite61.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
181×add-sqr-sqrt_binary64
169×log1p-expm1-u_binary64
169×expm1-log1p-u_binary64
167×add-cbrt-cube_binary64
167×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01662
134962
Stop Event
node limit
Counts
4 → 139

simplify103.0ms (0.4%)

Algorithm
egg-herbie
Rules
680×fma-def_binary64
270×associate-/l/_binary64
253×associate-/l*_binary64
227×associate-*r*_binary64
198×times-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02345051
17534951
228644535
Stop Event
node limit
Counts
343 → 235

prune234.0ms (0.9%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New2350235
Fresh011
Picked011
Done022
Total2354239
Error
0b
Counts
239 → 4
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
28.0b
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
1.7b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
26.6b
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
Compiler

Compiled 6049 to 2534 computations (58.1% saved)

localize28.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.0b
(fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y)))))
1.2b
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
3.0b
(/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b))))
5.7b
(*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))

series8.4s (31.5%)

Counts
4 → 264
Calls

66 calls:

462.0ms
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
x
0
357.0ms
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
x
inf
335.0ms
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
b
inf
333.0ms
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
b
-inf
331.0ms
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
x
-inf

rewrite54.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
298×log1p-expm1-u_binary64
298×expm1-log1p-u_binary64
294×add-cbrt-cube_binary64
294×add-log-exp_binary64
293×add-cube-cbrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
030191
1650185
Stop Event
node limit
Counts
4 → 65

simplify255.0ms (1%)

Algorithm
egg-herbie
Rules
825×associate-/l*_binary64
733×times-frac_binary64
530×fma-def_binary64
235×*-commutative_binary64
200×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
062020723
1255119997
Stop Event
node limit
Counts
329 → 195

prune274.0ms (1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New1950195
Fresh000
Picked011
Done033
Total1954199
Error
0b
Counts
199 → 4
Alt Table
StatusErrorProgram
25.6b
(/.f64 (*.f64 (*.f64 (pow.f64 z y) (/.f64 -1 a)) (pow.f64 a t)) (*.f64 (/.f64 y x) (*.f64 -1 (exp.f64 b))))
28.0b
(fma.f64 1/2 (*.f64 y (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (pow.f64 (log.f64 z) 2))) (fma.f64 (/.f64 (pow.f64 a t) (*.f64 y (*.f64 a (exp.f64 b)))) x (*.f64 (*.f64 x (/.f64 (pow.f64 a t) (*.f64 a (exp.f64 b)))) (+.f64 (log.f64 z) (*.f64 (*.f64 1/6 (pow.f64 (log.f64 z) 3)) (*.f64 y y))))))
1.7b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
26.6b
(*.f64 (/.f64 x y) (/.f64 (*.f64 (pow.f64 a (+.f64 t -1)) (pow.f64 z y)) (exp.f64 b)))
Compiler

Compiled 16797 to 5509 computations (67.2% saved)

regimes2.5s (9.5%)

Accuracy

Total 2.0b remaining (98.5%)

Threshold costs 0b (0%)

Counts
194 → 1
Compiler

Compiled 62059 to 39869 computations (35.8% saved)

simplify3.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01828
12928
23328
33528
43628
Stop Event
saturated

end94.0ms (0.4%)

Stop Event
done
Compiler

Compiled 181 to 113 computations (37.6% saved)

Profiling

Loading profile data...