Details

Time bar (total: 1.2min)

analyze1.2s (1.7%)

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)

sample6.4s (9%)

Results
4.7s22212×body128invalid
1.6s8256×body128valid
Compiler

Compiled 74 to 53 computations (28.4% saved)

simplify50.0ms (0.1%)

Algorithm
egg-herbie
Rules
615×associate-/l/_binary64
552×associate-/r/_binary64
488×associate-*l/_binary64
352×associate-*r/_binary64
345×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01826
13726
27824
318624
451724
5166424
6436224
7475024
8504524

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 132 to 90 computations (31.8% saved)

localize16.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (-.f64 t 1) (log.f64 a))
0.3b
(*.f64 y (log.f64 z))
1.2b
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
1.9b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)

series2.2s (3.1%)

Counts
4 → 176
Calls

4 calls:

1.3s
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
637.0ms
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
211.0ms
(*.f64 y (log.f64 z))
63.0ms
(*.f64 (-.f64 t 1) (log.f64 a))

rewrite44.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
32×add-sqr-sqrt_binary64
27×*-un-lft-identity_binary64
22×add-cube-cbrt_binary64
14×exp-sum_binary64
13×add-cbrt-cube_binary64
Counts
4 → 116
Calls

4 calls:

21.0ms
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
7.0ms
(*.f64 (-.f64 t 1) (log.f64 a))
6.0ms
(exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))
3.0ms
(*.f64 y (log.f64 z))

simplify212.0ms (0.3%)

Algorithm
egg-herbie
Rules
510×fma-neg_binary64
314×associate-*r*_binary64
302×associate-*l*_binary64
245×cancel-sign-sub-inv_binary64
170×times-frac_binary64
Counts
292 → 248
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03937243
18956044
233415911
345495911
449995911
549245911

prune311.0ms (0.4%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New2399248
Fresh101
Picked011
Done000
Total24010250
Error
0.1b
Counts
250 → 10
Alt Table
StatusErrorProgram
2.8b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
21.2b
(/.f64 (*.f64 x (*.f64 (+.f64 (*.f64 (log.f64 a) t) 1) (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))))) y)
18.5b
(/.f64 (*.f64 x (*.f64 (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))) (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))))) y)
29.9b
(exp.f64 (log.f64 (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (/.f64 x y))))
18.5b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
18.2b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) y))
23.6b
(*.f64 (*.f64 (cbrt.f64 (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (/.f64 x y))) (cbrt.f64 (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (/.f64 x y)))) (cbrt.f64 (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (/.f64 x y))))
29.4b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) (/.f64 x y)) 3))
18.6b
(/.f64 (*.f64 x (*.f64 (*.f64 (cbrt.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))) (cbrt.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))))) (cbrt.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))))) y)
25.1b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))))
Compiler

Compiled 7674 to 3341 computations (56.5% saved)

localize11.0ms (0%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
0.3b
(pow.f64 a (+.f64 t -1))
0.6b
(/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))
1.5b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) y))

series2.6s (3.7%)

Counts
4 → 192
Calls

4 calls:

1.4s
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) y))
976.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
214.0ms
(/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))
27.0ms
(pow.f64 a (+.f64 t -1))

rewrite423.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
2141×times-frac_binary64
946×add-sqr-sqrt_binary64
892×*-un-lft-identity_binary64
890×add-cube-cbrt_binary64
622×unpow-prod-down_binary64
Counts
4 → 985
Calls

4 calls:

112.0ms
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) y))
18.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))
4.0ms
(/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))
3.0ms
(pow.f64 a (+.f64 t -1))

simplify1.1s (1.5%)

Algorithm
egg-herbie
Rules
618×associate-*r/_binary64
605×*-commutative_binary64
570×associate-/l/_binary64
282×associate-/r/_binary64
203×/-rgt-identity_binary64
Counts
1177 → 1775
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0195636831
1437836375
2481236315
3499736315
4497436315

prune3.0s (4.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New177141775
Fresh628
Picked101
Done011
Total177871785
Error
0.0b
Counts
1785 → 7
Alt Table
StatusErrorProgram
31.3b
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (pow.f64 (log.f64 a) 2) (*.f64 (pow.f64 t 2) (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) (*.f64 a y)))) (+.f64 (/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x) (*.f64 (exp.f64 b) (*.f64 a y))) (/.f64 (*.f64 (log.f64 a) (*.f64 t (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x))) (*.f64 (exp.f64 b) (*.f64 a y)))))
25.1b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))))
18.1b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1))) y))
2.8b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
18.5b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
18.5b
(*.f64 (*.f64 x (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1))))) (/.f64 1 y))
18.3b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (*.f64 (/.f64 1 (*.f64 (cbrt.f64 (pow.f64 a (+.f64 t -1))) (cbrt.f64 (pow.f64 a (+.f64 t -1))))) (/.f64 (exp.f64 b) (cbrt.f64 (pow.f64 a (+.f64 t -1)))))) y))
Compiler

Compiled 64094 to 27130 computations (57.7% saved)

localize12.0ms (0%)

Local error

Found 4 expressions with local error:

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

series3.1s (4.3%)

Counts
4 → 204
Calls

4 calls:

1.6s
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1))) y))
1.1s
(/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))
191.0ms
(/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1))
181.0ms
(/.f64 (exp.f64 b) (pow.f64 a t))

rewrite3.6s (5.1%)

Algorithm
rewrite-expression-head
Rules
18679×times-frac_binary64
7407×add-sqr-sqrt_binary64
7217×*-un-lft-identity_binary64
7217×add-cube-cbrt_binary64
6361×unpow-prod-down_binary64
Counts
4 → 5685
Calls

4 calls:

706.0ms
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1))) y))
47.0ms
(/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))
12.0ms
(/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1))
4.0ms
(/.f64 (exp.f64 b) (pow.f64 a t))

simplify5.6s (7.9%)

Algorithm
egg-herbie
Counts
5889 → 6413
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
08959250967

prune9.6s (13.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New640946413
Fresh325
Picked101
Done011
Total641376420
Error
0b
Counts
6420 → 7
Alt Table
StatusErrorProgram
20.9b
(/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 a) t)) x) (*.f64 (exp.f64 b) (*.f64 a y)))
25.1b
(+.f64 (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y)) (*.f64 (*.f64 (log.f64 a) t) (*.f64 (/.f64 (pow.f64 z y) (*.f64 a (exp.f64 b))) (/.f64 x y))))
13.1b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1))) y))
2.8b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
18.5b
(*.f64 (*.f64 x (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (/.f64 1 y))
18.5b
(/.f64 1 (/.f64 y (*.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 b) (pow.f64 a (+.f64 t -1)))) x)))
17.1b
(*.f64 (*.f64 x (/.f64 (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (*.f64 (cbrt.f64 y) (cbrt.f64 y)))) (/.f64 (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (cbrt.f64 y)))
Compiler

Compiled 283091 to 106268 computations (62.5% saved)

localize14.0ms (0%)

Local error

Found 4 expressions with local error:

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

series2.6s (3.6%)

Counts
4 → 176
Calls

4 calls:

1.4s
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1))) y))
911.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1)))
207.0ms
(*.f64 (log.f64 a) t)
40.0ms
(/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1))

rewrite993.0ms (1.4%)

Algorithm
rewrite-expression-head
Rules
4718×times-frac_binary64
1923×add-sqr-sqrt_binary64
1866×*-un-lft-identity_binary64
1866×add-cube-cbrt_binary64
1465×unpow-prod-down_binary64
Counts
4 → 1979
Calls

4 calls:

243.0ms
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1))) y))
20.0ms
(/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1)))
6.0ms
(/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (pow.f64 a -1))
3.0ms
(*.f64 (log.f64 a) t)

simplify2.3s (3.2%)

Algorithm
egg-herbie
Rules
969×associate-/l/_binary64
962×times-frac_binary64
506×associate-/r/_binary64
338×/-rgt-identity_binary64
88×associate-/l*_binary64
Counts
2155 → 3284
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0304681424
1453576634
2525176634

prune4.9s (6.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New328133284
Fresh325
Picked101
Done011
Total328563291
Error
0b
Counts
3291 → 6
Alt Table
StatusErrorProgram
2.8b
(/.f64 (*.f64 x (exp.f64 (-.f64 (+.f64 (*.f64 y (log.f64 z)) (*.f64 (-.f64 t 1) (log.f64 a))) b))) y)
18.5b
(*.f64 (*.f64 x (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (/.f64 1 y))
13.0b
(/.f64 (*.f64 (exp.f64 (*.f64 (log.f64 z) y)) x) (*.f64 a (*.f64 y (exp.f64 (+.f64 b (*.f64 (log.f64 (/.f64 1 a)) t))))))
17.1b
(*.f64 (*.f64 x (/.f64 (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (*.f64 (cbrt.f64 y) (cbrt.f64 y)))) (/.f64 (sqrt.f64 (/.f64 (pow.f64 z y) (/.f64 (/.f64 (exp.f64 b) (pow.f64 a t)) (pow.f64 a -1)))) (cbrt.f64 y)))
13.1b
(*.f64 x (/.f64 (/.f64 (pow.f64 z y) (*.f64 (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) 1) a)) y))
15.8b
(*.f64 (*.f64 x (sqrt.f64 (/.f64 1 a))) (/.f64 (/.f64 (pow.f64 z y) (/.f64 (exp.f64 (-.f64 b (*.f64 (log.f64 a) t))) (sqrt.f64 (pow.f64 a -1)))) y))
Compiler

Compiled 138832 to 46198 computations (66.7% saved)

regimes20.5s (28.7%)

Accuracy

Total 1.7b remaining (98.7%)

Threshold costs 0b (0%)

Counts
904 → 3
Compiler

Compiled 362931 to 231687 computations (36.2% saved)

bsearch371.0ms (0.5%)

Steps
ItersRangePoint
11
2.2416455863247832e-24
0.021700806439264562
0.02142220437323121
8
-6.0414870589580175e-210
-3.788066652866224e-213
-9.962165043974629e-213
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify4.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
036101
151101
255101
357101
458101
556101

end137.0ms (0.2%)

Compiler

Compiled 323 to 203 computations (37.2% saved)

Profiling

Loading profile data...