Details

Time bar (total: 5.1s)

analyze318.0ms (6.3%)

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
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
18.7%81.1%0.1%7
21.8%78%0.1%8
27.3%67.1%5.6%9
41%50.3%8.7%10
43.9%47%9.1%11
48.3%38%13.7%12
56.3%27.4%16.2%13
58.2%25.4%16.4%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample18.0ms (0.3%)

Algorithm
intervals
Results
6.0ms256×body128valid
1.0ms22×body128invalid
Compiler

Compiled 15 to 16 computations (-6.7% saved)

simplify149.0ms (2.9%)

Algorithm
egg-herbie
Rules
associate-/r/_binary64_34124 associate-/l*_binary64_34123 *-commutative_binary64_34109 +-commutative_binary64_34108
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_34441 erf-erfc_binary64_34440 erf-odd_binary64_34439 if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 not-gte_binary64_34430 not-lte_binary64_34429 not-gt_binary64_34428 not-lt_binary64_34427 gte-same_binary64_34426 lte-same_binary64_34425 gt-same_binary64_34424 lt-same_binary64_34423 sinh---cosh_binary64_34370 sinh-+-cosh_binary64_34369 sinh-cosh_binary64_34368 tanh-def-c_binary64_34367 tanh-def-b_binary64_34366 tanh-def-a_binary64_34365 cosh-def_binary64_34364 sinh-def_binary64_34363 tan-neg_binary64_34310 cos-neg_binary64_34309 sin-neg_binary64_34308 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 hang-m-tan_binary64_34304 hang-p-tan_binary64_34303 hang-m0-tan_binary64_34302 hang-p0-tan_binary64_34301 hang-0m-tan_binary64_34300 hang-0p-tan_binary64_34299 tan-+PI/2_binary64_34298 tan-+PI_binary64_34297 tan-PI_binary64_34296 tan-PI/3_binary64_34295 tan-PI/4_binary64_34294 tan-PI/6_binary64_34293 cos-+PI/2_binary64_34292 cos-+PI_binary64_34291 cos-PI_binary64_34290 cos-PI/2_binary64_34289 cos-PI/3_binary64_34288 cos-PI/4_binary64_34287 cos-PI/6_binary64_34286 sin-+PI/2_binary64_34285 sin-+PI_binary64_34284 sin-PI_binary64_34283 sin-PI/2_binary64_34282 sin-PI/3_binary64_34281 sin-PI/4_binary64_34280 sin-PI/6_binary64_34279 sub-1-sin_binary64_34278 sub-1-cos_binary64_34277 -1-add-sin_binary64_34276 -1-add-cos_binary64_34275 1-sub-sin_binary64_34274 1-sub-cos_binary64_34273 cos-sin-sum_binary64_34272 log-E_binary64_34268 log-pow_binary64_34267 log-rec_binary64_34266 log-div_binary64_34265 log-prod_binary64_34264 pow-base-0_binary64_34262 unpow1/3_binary64_34245 unpow3_binary64_34244 unpow2_binary64_34243 unpow1/2_binary64_34242 pow-plus_binary64_34241 exp-to-pow_binary64_34240 pow-base-1_binary64_34238 unpow0_binary64_34237 unpow1_binary64_34236 unpow-1_binary64_34235 exp-lft-cube_binary64_34234 exp-lft-sqr_binary64_34233 exp-cbrt_binary64_34232 exp-sqrt_binary64_34231 exp-prod_binary64_34230 div-exp_binary64_34229 rec-exp_binary64_34228 prod-exp_binary64_34227 exp-diff_binary64_34226 exp-neg_binary64_34225 exp-sum_binary64_34224 e-exp-1_binary64_34223 1-exp_binary64_34222 exp-1-e_binary64_34221 exp-0_binary64_34220 rem-log-exp_binary64_34219 rem-exp-log_binary64_34218 cube-unmult_binary64_34215 cube-mult_binary64_34208 cube-div_binary64_34207 cube-prod_binary64_34206 cube-neg_binary64_34205 rem-3cbrt-rft_binary64_34204 rem-3cbrt-lft_binary64_34203 rem-cbrt-cube_binary64_34202 rem-cube-cbrt_binary64_34201 sqr-abs_binary64_34193 sqr-neg_binary64_34192 rem-sqrt-square_binary64_34191 rem-square-sqrt_binary64_34190 times-frac_binary64_34184 div-sub_binary64_34183 neg-mul-1_binary64_34174 neg-sub0_binary64_34173 unsub-neg_binary64_34172 sub-neg_binary64_34171 mul-1-neg_binary64_34170 /-rgt-identity_binary64_34169 *-rgt-identity_binary64_34168 *-lft-identity_binary64_34167 remove-double-neg_binary64_34166 sub0-neg_binary64_34165 --rgt-identity_binary64_34164 +-rgt-identity_binary64_34163 +-lft-identity_binary64_34162 mul0-rgt_binary64_34161 mul0-lft_binary64_34160 div0_binary64_34159 *-inverses_binary64_34158 +-inverses_binary64_34157 lft-mult-inverse_binary64_34156 rgt-mult-inverse_binary64_34155 remove-double-div_binary64_34154 pow-sqr_binary64_34151 sqr-pow_binary64_34150 difference-of-sqr--1_binary64_34149 difference-of-sqr-1_binary64_34148 difference-of-squares_binary64_34147 unswap-sqr_binary64_34146 swap-sqr_binary64_34145 cancel-sign-sub-inv_binary64_34144 cancel-sign-sub_binary64_34143 distribute-neg-frac_binary64_34142 distribute-frac-neg_binary64_34141 distribute-neg-out_binary64_34140 distribute-neg-in_binary64_34139 distribute-rgt-neg-out_binary64_34138 distribute-lft-neg-out_binary64_34137 distribute-rgt-neg-in_binary64_34136 distribute-lft-neg-in_binary64_34135 distribute-rgt1-in_binary64_34134 distribute-lft1-in_binary64_34133 distribute-rgt-out--_binary64_34132 distribute-rgt-out_binary64_34131 distribute-lft-out--_binary64_34130 distribute-lft-out_binary64_34129 distribute-rgt-in_binary64_34128 distribute-lft-in_binary64_34127 count-2_binary64_34126 associate-/l/_binary64_34125 associate-/r*_binary64_34122 associate-*l/_binary64_34121 associate-*r/_binary64_34120 associate-*l*_binary64_34119 associate-*r*_binary64_34118 associate--r-_binary64_34117 associate--l-_binary64_34116 associate--l+_binary64_34115 associate--r+_binary64_34114 associate-+l-_binary64_34113 associate-+r-_binary64_34112 associate-+l+_binary64_34111 associate-+r+_binary64_34110
Counts
1 → 3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11010
21210
31310

prune12.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New123
Fresh011
Picked000
Done000
Total134
Error
0.0b
Counts
4 → 3
Compiler

Compiled 42 to 29 computations (31% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (*.f64 (/.f64 y z) y))
0.1b
(*.f64 (/.f64 y z) y)

rewrite45.0ms (0.9%)

Algorithm
rewrite-expression-head
Error
0b
Rules
15×add-sqr-sqrt_binary64_34200
13×associate-*l*_binary64_34119
10×add-cube-cbrt_binary64_34213 *-un-lft-identity_binary64_34178 times-frac_binary64_34184
add-exp-log_binary64_34216 add-cbrt-cube_binary64_34214
pow1_binary64_34239 add-log-exp_binary64_34217
associate-*r*_binary64_34118
prod-exp_binary64_34227 cbrt-unprod_binary64_34211 unswap-sqr_binary64_34146
pow-prod-down_binary64_34249 div-exp_binary64_34229 cbrt-undiv_binary64_34212 associate-*l/_binary64_34121 div-inv_binary64_34175 *-commutative_binary64_34109 sum-log_binary64_34269 flip3-+_binary64_34181 flip-+_binary64_34152 +-commutative_binary64_34108
Counts
2 → 43
Calls

2 calls:

7.0ms
(*.f64 (/.f64 y z) y)
3.0ms
(+.f64 x (*.f64 (/.f64 y z) y))
Compiler

Compiled 615 to 179 computations (70.9% saved)

series309.0ms (6.1%)

Error
0.0b
Counts
2 → 24
Calls

2 calls:

194.0ms
(+.f64 x (*.f64 (/.f64 y z) y))
103.0ms
(*.f64 (/.f64 y z) y)
Compiler

Compiled 365 to 324 computations (11.2% saved)

simplify124.0ms (2.4%)

Algorithm
egg-herbie
Rules
481×associate-/l/_binary64_34125
450×associate-/r/_binary64_34124
394×unswap-sqr_binary64_34146
310×associate-*l*_binary64_34119
278×associate-*r*_binary64_34118
276×distribute-rgt-in_binary64_34128
248×distribute-lft-in_binary64_34127
199×associate-*l/_binary64_34121
152×associate-/l*_binary64_34123
124×associate-*r/_binary64_34120
122×distribute-rgt-neg-in_binary64_34136
114×cancel-sign-sub-inv_binary64_34144
97×distribute-lft-neg-in_binary64_34135
83×distribute-rgt-out_binary64_34131
73×distribute-neg-frac_binary64_34142
63×*-commutative_binary64_34109
62×times-frac_binary64_34184
61×sqr-pow_binary64_34150
43×associate-/r*_binary64_34122
39×log-prod_binary64_34264 sub-neg_binary64_34171
35×cube-prod_binary64_34206
33×pow-sqr_binary64_34151
32×exp-prod_binary64_34230
30×log-div_binary64_34265 cube-div_binary64_34207 distribute-lft-out_binary64_34129
29×*-rgt-identity_binary64_34168 *-lft-identity_binary64_34167
28×distribute-lft-neg-out_binary64_34137
27×swap-sqr_binary64_34145
26×neg-sub0_binary64_34173
22×neg-mul-1_binary64_34174
17×distribute-rgt-neg-out_binary64_34138
16×div-sub_binary64_34183 distribute-rgt-out--_binary64_34132
15×pow-plus_binary64_34241 associate-+l+_binary64_34111
13×+-commutative_binary64_34108
11×exp-sqrt_binary64_34231
unpow3_binary64_34244 unsub-neg_binary64_34172 associate-+r+_binary64_34110
/-rgt-identity_binary64_34169 associate-+l-_binary64_34113 associate-+r-_binary64_34112
cube-unmult_binary64_34215 distribute-lft-out--_binary64_34130
log-pow_binary64_34267 +-rgt-identity_binary64_34163 distribute-neg-in_binary64_34139
cube-mult_binary64_34208
log-rec_binary64_34266 sub0-neg_binary64_34165 count-2_binary64_34126
pow-base-1_binary64_34238 prod-exp_binary64_34227 rem-sqrt-square_binary64_34191 difference-of-squares_binary64_34147 distribute-rgt1-in_binary64_34134
unpow2_binary64_34243 unpow1_binary64_34236 exp-lft-sqr_binary64_34233 exp-diff_binary64_34226 1-exp_binary64_34222 exp-1-e_binary64_34221 rem-log-exp_binary64_34219 rem-square-sqrt_binary64_34190 remove-double-neg_binary64_34166 *-inverses_binary64_34158 rgt-mult-inverse_binary64_34155 associate--l+_binary64_34115 associate--r+_binary64_34114
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_34441 erf-erfc_binary64_34440 erf-odd_binary64_34439 if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 not-gte_binary64_34430 not-lte_binary64_34429 not-gt_binary64_34428 not-lt_binary64_34427 gte-same_binary64_34426 lte-same_binary64_34425 gt-same_binary64_34424 lt-same_binary64_34423 sinh---cosh_binary64_34370 sinh-+-cosh_binary64_34369 sinh-cosh_binary64_34368 tanh-def-c_binary64_34367 tanh-def-b_binary64_34366 tanh-def-a_binary64_34365 cosh-def_binary64_34364 sinh-def_binary64_34363 tan-neg_binary64_34310 cos-neg_binary64_34309 sin-neg_binary64_34308 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 hang-m-tan_binary64_34304 hang-p-tan_binary64_34303 hang-m0-tan_binary64_34302 hang-p0-tan_binary64_34301 hang-0m-tan_binary64_34300 hang-0p-tan_binary64_34299 tan-+PI/2_binary64_34298 tan-+PI_binary64_34297 tan-PI_binary64_34296 tan-PI/3_binary64_34295 tan-PI/4_binary64_34294 tan-PI/6_binary64_34293 cos-+PI/2_binary64_34292 cos-+PI_binary64_34291 cos-PI_binary64_34290 cos-PI/2_binary64_34289 cos-PI/3_binary64_34288 cos-PI/4_binary64_34287 cos-PI/6_binary64_34286 sin-+PI/2_binary64_34285 sin-+PI_binary64_34284 sin-PI_binary64_34283 sin-PI/2_binary64_34282 sin-PI/3_binary64_34281 sin-PI/4_binary64_34280 sin-PI/6_binary64_34279 sub-1-sin_binary64_34278 sub-1-cos_binary64_34277 -1-add-sin_binary64_34276 -1-add-cos_binary64_34275 1-sub-sin_binary64_34274 1-sub-cos_binary64_34273 cos-sin-sum_binary64_34272 log-E_binary64_34268 pow-base-0_binary64_34262 unpow1/3_binary64_34245 unpow1/2_binary64_34242 exp-to-pow_binary64_34240 unpow0_binary64_34237 unpow-1_binary64_34235 exp-lft-cube_binary64_34234 exp-cbrt_binary64_34232 div-exp_binary64_34229 rec-exp_binary64_34228 exp-neg_binary64_34225 exp-sum_binary64_34224 e-exp-1_binary64_34223 exp-0_binary64_34220 rem-exp-log_binary64_34218 cube-neg_binary64_34205 rem-3cbrt-rft_binary64_34204 rem-3cbrt-lft_binary64_34203 rem-cbrt-cube_binary64_34202 rem-cube-cbrt_binary64_34201 sqr-abs_binary64_34193 sqr-neg_binary64_34192 mul-1-neg_binary64_34170 --rgt-identity_binary64_34164 +-lft-identity_binary64_34162 mul0-rgt_binary64_34161 mul0-lft_binary64_34160 div0_binary64_34159 +-inverses_binary64_34157 lft-mult-inverse_binary64_34156 remove-double-div_binary64_34154 difference-of-sqr--1_binary64_34149 difference-of-sqr-1_binary64_34148 cancel-sign-sub_binary64_34143 distribute-frac-neg_binary64_34141 distribute-neg-out_binary64_34140 distribute-lft1-in_binary64_34133 associate--r-_binary64_34117 associate--l-_binary64_34116
Counts
67 → 92
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
085691
1213647
2577647
31966647

prune69.0ms (1.4%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New91192
Fresh022
Picked101
Done000
Total92395
Error
0b
Counts
95 → 3
Compiler

Compiled 1349 to 309 computations (77.1% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (/.f64 y (/.f64 z y)))
0.2b
(/.f64 y (/.f64 z y))

rewrite90.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
75×times-frac_binary64_34184
46×*-un-lft-identity_binary64_34178
44×add-cube-cbrt_binary64_34213 add-sqr-sqrt_binary64_34200
13×associate-/r*_binary64_34122
add-exp-log_binary64_34216 add-cbrt-cube_binary64_34214
div-inv_binary64_34175
add-log-exp_binary64_34217
div-exp_binary64_34229 cbrt-undiv_binary64_34212 associate-/l*_binary64_34123
pow1_binary64_34239
frac-2neg_binary64_34189 clear-num_binary64_34177 associate-/r/_binary64_34124 sum-log_binary64_34269 flip3-+_binary64_34181 flip-+_binary64_34152 distribute-lft-out_binary64_34129 +-commutative_binary64_34108
Counts
2 → 82
Calls

2 calls:

13.0ms
(+.f64 x (/.f64 y (/.f64 z y)))
6.0ms
(/.f64 y (/.f64 z y))
Compiler

Compiled 1338 to 386 computations (71.2% saved)

series306.0ms (6%)

Error
0b
Counts
2 → 24
Calls

2 calls:

185.0ms
(+.f64 x (/.f64 y (/.f64 z y)))
107.0ms
(/.f64 y (/.f64 z y))
Compiler

Compiled 365 to 324 computations (11.2% saved)

simplify867.0ms (17.1%)

Algorithm
egg-herbie
Rules
557×associate-/r/_binary64_34124
300×associate-/r*_binary64_34122
297×associate-*r*_binary64_34118
237×*-commutative_binary64_34109
164×unswap-sqr_binary64_34146
152×distribute-rgt-out_binary64_34131
149×distribute-rgt-in_binary64_34128
143×associate-/l*_binary64_34123
138×associate-/l/_binary64_34125
135×cancel-sign-sub-inv_binary64_34144
131×distribute-rgt-neg-in_binary64_34136
126×distribute-lft-in_binary64_34127
123×log-prod_binary64_34264
102×exp-prod_binary64_34230
100×distribute-lft-neg-in_binary64_34135
96×associate-+l+_binary64_34111
90×associate-+r+_binary64_34110
82×associate-*r/_binary64_34120
79×log-div_binary64_34265
74×associate-*l/_binary64_34121
67×swap-sqr_binary64_34145 distribute-neg-frac_binary64_34142
60×times-frac_binary64_34184
59×sqr-pow_binary64_34150
58×cube-prod_binary64_34206
49×associate--l-_binary64_34116
47×associate-+l-_binary64_34113
46×div-sub_binary64_34183 sub-neg_binary64_34171 distribute-rgt-out--_binary64_34132
42×cube-div_binary64_34207
34×unpow3_binary64_34244
33×pow-sqr_binary64_34151 +-commutative_binary64_34108
30×neg-mul-1_binary64_34174 associate-+r-_binary64_34112
29×pow-plus_binary64_34241 neg-sub0_binary64_34173
26×associate-*l*_binary64_34119
24×log-pow_binary64_34267 /-rgt-identity_binary64_34169
23×distribute-lft-out_binary64_34129
22×*-rgt-identity_binary64_34168
21×prod-exp_binary64_34227
20×exp-to-pow_binary64_34240
19×unsub-neg_binary64_34172 distribute-lft-neg-out_binary64_34137
18×log-rec_binary64_34266
16×div-exp_binary64_34229
14×associate--r+_binary64_34114
13×exp-diff_binary64_34226 associate--r-_binary64_34117
12×exp-lft-sqr_binary64_34233
11×*-lft-identity_binary64_34167 distribute-neg-out_binary64_34140
10×associate--l+_binary64_34115
cube-mult_binary64_34208
exp-sqrt_binary64_34231 cube-unmult_binary64_34215 sub0-neg_binary64_34165 distribute-rgt1-in_binary64_34134
+-rgt-identity_binary64_34163 remove-double-div_binary64_34154 distribute-rgt-neg-out_binary64_34138
pow-base-1_binary64_34238 rec-exp_binary64_34228 distribute-neg-in_binary64_34139 distribute-lft-out--_binary64_34130
distribute-frac-neg_binary64_34141 count-2_binary64_34126
rem-sqrt-square_binary64_34191 mul0-lft_binary64_34160 div0_binary64_34159 difference-of-squares_binary64_34147
unpow2_binary64_34243 unpow1_binary64_34236 1-exp_binary64_34222 rem-log-exp_binary64_34219 rem-3cbrt-rft_binary64_34204 rem-3cbrt-lft_binary64_34203 rem-square-sqrt_binary64_34190 remove-double-neg_binary64_34166 mul0-rgt_binary64_34161 *-inverses_binary64_34158 rgt-mult-inverse_binary64_34155
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_34441 erf-erfc_binary64_34440 erf-odd_binary64_34439 if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 not-gte_binary64_34430 not-lte_binary64_34429 not-gt_binary64_34428 not-lt_binary64_34427 gte-same_binary64_34426 lte-same_binary64_34425 gt-same_binary64_34424 lt-same_binary64_34423 sinh---cosh_binary64_34370 sinh-+-cosh_binary64_34369 sinh-cosh_binary64_34368 tanh-def-c_binary64_34367 tanh-def-b_binary64_34366 tanh-def-a_binary64_34365 cosh-def_binary64_34364 sinh-def_binary64_34363 tan-neg_binary64_34310 cos-neg_binary64_34309 sin-neg_binary64_34308 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 hang-m-tan_binary64_34304 hang-p-tan_binary64_34303 hang-m0-tan_binary64_34302 hang-p0-tan_binary64_34301 hang-0m-tan_binary64_34300 hang-0p-tan_binary64_34299 tan-+PI/2_binary64_34298 tan-+PI_binary64_34297 tan-PI_binary64_34296 tan-PI/3_binary64_34295 tan-PI/4_binary64_34294 tan-PI/6_binary64_34293 cos-+PI/2_binary64_34292 cos-+PI_binary64_34291 cos-PI_binary64_34290 cos-PI/2_binary64_34289 cos-PI/3_binary64_34288 cos-PI/4_binary64_34287 cos-PI/6_binary64_34286 sin-+PI/2_binary64_34285 sin-+PI_binary64_34284 sin-PI_binary64_34283 sin-PI/2_binary64_34282 sin-PI/3_binary64_34281 sin-PI/4_binary64_34280 sin-PI/6_binary64_34279 sub-1-sin_binary64_34278 sub-1-cos_binary64_34277 -1-add-sin_binary64_34276 -1-add-cos_binary64_34275 1-sub-sin_binary64_34274 1-sub-cos_binary64_34273 cos-sin-sum_binary64_34272 log-E_binary64_34268 pow-base-0_binary64_34262 unpow1/3_binary64_34245 unpow1/2_binary64_34242 unpow0_binary64_34237 unpow-1_binary64_34235 exp-lft-cube_binary64_34234 exp-cbrt_binary64_34232 exp-neg_binary64_34225 exp-sum_binary64_34224 e-exp-1_binary64_34223 exp-1-e_binary64_34221 exp-0_binary64_34220 rem-exp-log_binary64_34218 cube-neg_binary64_34205 rem-cbrt-cube_binary64_34202 rem-cube-cbrt_binary64_34201 sqr-abs_binary64_34193 sqr-neg_binary64_34192 mul-1-neg_binary64_34170 --rgt-identity_binary64_34164 +-lft-identity_binary64_34162 +-inverses_binary64_34157 lft-mult-inverse_binary64_34156 difference-of-sqr--1_binary64_34149 difference-of-sqr-1_binary64_34148 cancel-sign-sub_binary64_34143 distribute-lft1-in_binary64_34133
Counts
106 → 480
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01671646
13691531
212581459
326091459
446761459

prune363.0ms (7.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New4800480
Fresh022
Picked011
Done000
Total4803483
Error
0b
Counts
483 → 3
Compiler

Compiled 8308 to 1187 computations (85.7% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.0b
(+.f64 x (*.f64 y (*.f64 y (/.f64 1 z))))
0.1b
(*.f64 y (*.f64 y (/.f64 1 z)))
0.2b
(*.f64 y (/.f64 1 z))

rewrite90.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0b
Rules
27×add-exp-log_binary64_34216
19×add-sqr-sqrt_binary64_34200
17×add-cbrt-cube_binary64_34214
14×associate-*r*_binary64_34118
13×prod-exp_binary64_34227 *-un-lft-identity_binary64_34178
12×add-cube-cbrt_binary64_34213
11×times-frac_binary64_34184
10×pow1_binary64_34239
cbrt-unprod_binary64_34211
associate-*l*_binary64_34119
add-log-exp_binary64_34217
pow-prod-down_binary64_34249 div-exp_binary64_34229 associate-*r/_binary64_34120
unswap-sqr_binary64_34146
1-exp_binary64_34222 rec-exp_binary64_34228 cbrt-undiv_binary64_34212 un-div-inv_binary64_34176 *-commutative_binary64_34109
div-inv_binary64_34175 sum-log_binary64_34269 flip3-+_binary64_34181 flip-+_binary64_34152 +-commutative_binary64_34108
Counts
3 → 71
Calls

3 calls:

8.0ms
(*.f64 y (/.f64 1 z))
7.0ms
(*.f64 y (*.f64 y (/.f64 1 z)))
4.0ms
(+.f64 x (*.f64 y (*.f64 y (/.f64 1 z))))
Compiler

Compiled 1125 to 659 computations (41.4% saved)

series379.0ms (7.5%)

Error
0b
Counts
3 → 30
Calls

3 calls:

198.0ms
(+.f64 x (*.f64 y (*.f64 y (/.f64 1 z))))
95.0ms
(*.f64 y (*.f64 y (/.f64 1 z)))
70.0ms
(*.f64 y (/.f64 1 z))
Compiler

Compiled 491 to 399 computations (18.7% saved)

simplify307.0ms (6%)

Algorithm
egg-herbie
Rules
484×div-sub_binary64_34183
339×*-commutative_binary64_34109
267×associate-*l/_binary64_34121
252×associate-/l*_binary64_34123
208×distribute-rgt-in_binary64_34128
188×distribute-lft-in_binary64_34127
174×times-frac_binary64_34184
168×unswap-sqr_binary64_34146
161×cancel-sign-sub-inv_binary64_34144
154×distribute-rgt-neg-in_binary64_34136
136×distribute-lft-neg-in_binary64_34135
120×associate-*l*_binary64_34119
114×distribute-neg-frac_binary64_34142
109×associate-*r*_binary64_34118 associate-+l+_binary64_34111
106×associate-/l/_binary64_34125
102×associate-+r+_binary64_34110
93×distribute-rgt-out_binary64_34131
78×sqr-pow_binary64_34150
73×log-prod_binary64_34264
72×cube-prod_binary64_34206
71×log-div_binary64_34265 exp-prod_binary64_34230 cube-div_binary64_34207
64×associate-/r/_binary64_34124
60×sub-neg_binary64_34171
55×associate-*r/_binary64_34120 associate-+l-_binary64_34113
48×associate--l-_binary64_34116
39×pow-sqr_binary64_34151
38×*-lft-identity_binary64_34167
36×distribute-rgt-out--_binary64_34132
33×neg-mul-1_binary64_34174 +-commutative_binary64_34108
32×distribute-lft-out_binary64_34129 associate-/r*_binary64_34122
30×remove-double-div_binary64_34154
29×unpow3_binary64_34244 neg-sub0_binary64_34173 swap-sqr_binary64_34145
26×associate-+r-_binary64_34112
25×cube-mult_binary64_34208
23×pow-plus_binary64_34241 *-rgt-identity_binary64_34168
22×log-rec_binary64_34266
20×log-pow_binary64_34267 exp-to-pow_binary64_34240 distribute-lft-neg-out_binary64_34137
16×exp-diff_binary64_34226 sub0-neg_binary64_34165
15×unsub-neg_binary64_34172
14×associate--r-_binary64_34117
13×exp-lft-sqr_binary64_34233 exp-sqrt_binary64_34231
12×/-rgt-identity_binary64_34169
11×exp-sum_binary64_34224
prod-exp_binary64_34227 associate--r+_binary64_34114
+-lft-identity_binary64_34162
cube-unmult_binary64_34215 +-rgt-identity_binary64_34163 distribute-neg-out_binary64_34140 distribute-rgt1-in_binary64_34134
pow-base-1_binary64_34238 rem-sqrt-square_binary64_34191 distribute-rgt-neg-out_binary64_34138
distribute-lft-out--_binary64_34130 count-2_binary64_34126
difference-of-squares_binary64_34147 distribute-neg-in_binary64_34139 associate--l+_binary64_34115
unpow2_binary64_34243 unpow1_binary64_34236 div-exp_binary64_34229 rec-exp_binary64_34228 1-exp_binary64_34222 exp-1-e_binary64_34221 rem-log-exp_binary64_34219 rem-exp-log_binary64_34218 rem-cbrt-cube_binary64_34202 mul0-lft_binary64_34160 *-inverses_binary64_34158 rgt-mult-inverse_binary64_34155 distribute-frac-neg_binary64_34141
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_34441 erf-erfc_binary64_34440 erf-odd_binary64_34439 if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 not-gte_binary64_34430 not-lte_binary64_34429 not-gt_binary64_34428 not-lt_binary64_34427 gte-same_binary64_34426 lte-same_binary64_34425 gt-same_binary64_34424 lt-same_binary64_34423 sinh---cosh_binary64_34370 sinh-+-cosh_binary64_34369 sinh-cosh_binary64_34368 tanh-def-c_binary64_34367 tanh-def-b_binary64_34366 tanh-def-a_binary64_34365 cosh-def_binary64_34364 sinh-def_binary64_34363 tan-neg_binary64_34310 cos-neg_binary64_34309 sin-neg_binary64_34308 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 hang-m-tan_binary64_34304 hang-p-tan_binary64_34303 hang-m0-tan_binary64_34302 hang-p0-tan_binary64_34301 hang-0m-tan_binary64_34300 hang-0p-tan_binary64_34299 tan-+PI/2_binary64_34298 tan-+PI_binary64_34297 tan-PI_binary64_34296 tan-PI/3_binary64_34295 tan-PI/4_binary64_34294 tan-PI/6_binary64_34293 cos-+PI/2_binary64_34292 cos-+PI_binary64_34291 cos-PI_binary64_34290 cos-PI/2_binary64_34289 cos-PI/3_binary64_34288 cos-PI/4_binary64_34287 cos-PI/6_binary64_34286 sin-+PI/2_binary64_34285 sin-+PI_binary64_34284 sin-PI_binary64_34283 sin-PI/2_binary64_34282 sin-PI/3_binary64_34281 sin-PI/4_binary64_34280 sin-PI/6_binary64_34279 sub-1-sin_binary64_34278 sub-1-cos_binary64_34277 -1-add-sin_binary64_34276 -1-add-cos_binary64_34275 1-sub-sin_binary64_34274 1-sub-cos_binary64_34273 cos-sin-sum_binary64_34272 log-E_binary64_34268 pow-base-0_binary64_34262 unpow1/3_binary64_34245 unpow1/2_binary64_34242 unpow0_binary64_34237 unpow-1_binary64_34235 exp-lft-cube_binary64_34234 exp-cbrt_binary64_34232 exp-neg_binary64_34225 e-exp-1_binary64_34223 exp-0_binary64_34220 cube-neg_binary64_34205 rem-3cbrt-rft_binary64_34204 rem-3cbrt-lft_binary64_34203 rem-cube-cbrt_binary64_34201 sqr-abs_binary64_34193 sqr-neg_binary64_34192 rem-square-sqrt_binary64_34190 mul-1-neg_binary64_34170 remove-double-neg_binary64_34166 --rgt-identity_binary64_34164 mul0-rgt_binary64_34161 div0_binary64_34159 +-inverses_binary64_34157 lft-mult-inverse_binary64_34156 difference-of-sqr--1_binary64_34149 difference-of-sqr-1_binary64_34148 cancel-sign-sub_binary64_34143 distribute-lft1-in_binary64_34133
Counts
101 → 202
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0118945
1289882
2910842
32086842
44015842

prune144.0ms (2.8%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New2020202
Fresh011
Picked011
Done011
Total2023205
Error
0b
Counts
205 → 3
Compiler

Compiled 3087 to 880 computations (71.5% saved)

localize5.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 x (/.f64 (*.f64 y y) z))
9.9b
(/.f64 (*.f64 y y) z)

rewrite36.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
add-exp-log_binary64_34216 add-cbrt-cube_binary64_34214
*-un-lft-identity_binary64_34178
add-log-exp_binary64_34217 add-cube-cbrt_binary64_34213 add-sqr-sqrt_binary64_34200
times-frac_binary64_34184 associate-/r*_binary64_34122
pow1_binary64_34239 div-exp_binary64_34229 cbrt-undiv_binary64_34212
prod-exp_binary64_34227 cbrt-unprod_binary64_34211 frac-2neg_binary64_34189 clear-num_binary64_34177 div-inv_binary64_34175 associate-/l*_binary64_34123 sum-log_binary64_34269 flip3-+_binary64_34181 flip-+_binary64_34152 distribute-lft-out_binary64_34129 +-commutative_binary64_34108
Counts
2 → 33
Calls

2 calls:

7.0ms
(/.f64 (*.f64 y y) z)
5.0ms
(+.f64 x (/.f64 (*.f64 y y) z))
Compiler

Compiled 443 to 126 computations (71.6% saved)

series298.0ms (5.9%)

Error
0b
Counts
2 → 24
Calls

2 calls:

184.0ms
(+.f64 x (/.f64 (*.f64 y y) z))
102.0ms
(/.f64 (*.f64 y y) z)
Compiler

Compiled 365 to 324 computations (11.2% saved)

simplify146.0ms (2.9%)

Algorithm
egg-herbie
Rules
471×cancel-sign-sub-inv_binary64_34144
320×unswap-sqr_binary64_34146
300×div-sub_binary64_34183
241×*-commutative_binary64_34109
181×distribute-rgt-neg-in_binary64_34136
177×associate-/l*_binary64_34123
175×sub-neg_binary64_34171
167×distribute-rgt-in_binary64_34128
143×times-frac_binary64_34184
139×associate-*l/_binary64_34121
138×distribute-lft-in_binary64_34127
134×associate-/l/_binary64_34125
116×associate-*r/_binary64_34120
111×sqr-pow_binary64_34150
105×distribute-neg-frac_binary64_34142
97×associate-+l+_binary64_34111
90×distribute-rgt-out_binary64_34131
88×unsub-neg_binary64_34172
80×associate-+r+_binary64_34110
79×associate-/r/_binary64_34124
76×associate-*l*_binary64_34119
70×associate-/r*_binary64_34122
68×neg-mul-1_binary64_34174
66×pow-sqr_binary64_34151 associate-*r*_binary64_34118
60×neg-sub0_binary64_34173
54×distribute-lft-neg-in_binary64_34135
50×log-prod_binary64_34264
42×cube-prod_binary64_34206
39×log-div_binary64_34265
38×associate-+l-_binary64_34113
36×+-commutative_binary64_34108
35×cube-div_binary64_34207
33×pow-plus_binary64_34241
28×associate-+r-_binary64_34112
27×distribute-neg-in_binary64_34139 associate--l-_binary64_34116
25×unpow3_binary64_34244
23×distribute-lft-neg-out_binary64_34137
21×swap-sqr_binary64_34145
19×cube-mult_binary64_34208 distribute-rgt-out--_binary64_34132
18×associate--l+_binary64_34115
17×*-rgt-identity_binary64_34168
16×sub0-neg_binary64_34165
15×log-pow_binary64_34267
13×distribute-neg-out_binary64_34140 associate--r+_binary64_34114
12×*-lft-identity_binary64_34167
11×distribute-rgt-neg-out_binary64_34138
10×exp-diff_binary64_34226
+-rgt-identity_binary64_34163 mul0-rgt_binary64_34161 mul0-lft_binary64_34160 associate--r-_binary64_34117
cube-unmult_binary64_34215 /-rgt-identity_binary64_34169 cancel-sign-sub_binary64_34143
exp-prod_binary64_34230 exp-sum_binary64_34224 div0_binary64_34159 distribute-lft-out_binary64_34129
distribute-frac-neg_binary64_34141
--rgt-identity_binary64_34164 count-2_binary64_34126
pow-base-1_binary64_34238 remove-double-neg_binary64_34166
log-rec_binary64_34266 prod-exp_binary64_34227 +-lft-identity_binary64_34162 difference-of-squares_binary64_34147 distribute-rgt1-in_binary64_34134
unpow2_binary64_34243 unpow1_binary64_34236 exp-lft-sqr_binary64_34233 1-exp_binary64_34222 rem-log-exp_binary64_34219 rem-exp-log_binary64_34218 *-inverses_binary64_34158 rgt-mult-inverse_binary64_34155 distribute-lft-out--_binary64_34130
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same erfc-erf_binary64_34441 erf-erfc_binary64_34440 erf-odd_binary64_34439 if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 not-gte_binary64_34430 not-lte_binary64_34429 not-gt_binary64_34428 not-lt_binary64_34427 gte-same_binary64_34426 lte-same_binary64_34425 gt-same_binary64_34424 lt-same_binary64_34423 sinh---cosh_binary64_34370 sinh-+-cosh_binary64_34369 sinh-cosh_binary64_34368 tanh-def-c_binary64_34367 tanh-def-b_binary64_34366 tanh-def-a_binary64_34365 cosh-def_binary64_34364 sinh-def_binary64_34363 tan-neg_binary64_34310 cos-neg_binary64_34309 sin-neg_binary64_34308 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 hang-m-tan_binary64_34304 hang-p-tan_binary64_34303 hang-m0-tan_binary64_34302 hang-p0-tan_binary64_34301 hang-0m-tan_binary64_34300 hang-0p-tan_binary64_34299 tan-+PI/2_binary64_34298 tan-+PI_binary64_34297 tan-PI_binary64_34296 tan-PI/3_binary64_34295 tan-PI/4_binary64_34294 tan-PI/6_binary64_34293 cos-+PI/2_binary64_34292 cos-+PI_binary64_34291 cos-PI_binary64_34290 cos-PI/2_binary64_34289 cos-PI/3_binary64_34288 cos-PI/4_binary64_34287 cos-PI/6_binary64_34286 sin-+PI/2_binary64_34285 sin-+PI_binary64_34284 sin-PI_binary64_34283 sin-PI/2_binary64_34282 sin-PI/3_binary64_34281 sin-PI/4_binary64_34280 sin-PI/6_binary64_34279 sub-1-sin_binary64_34278 sub-1-cos_binary64_34277 -1-add-sin_binary64_34276 -1-add-cos_binary64_34275 1-sub-sin_binary64_34274 1-sub-cos_binary64_34273 cos-sin-sum_binary64_34272 log-E_binary64_34268 pow-base-0_binary64_34262 unpow1/3_binary64_34245 unpow1/2_binary64_34242 exp-to-pow_binary64_34240 unpow0_binary64_34237 unpow-1_binary64_34235 exp-lft-cube_binary64_34234 exp-cbrt_binary64_34232 exp-sqrt_binary64_34231 div-exp_binary64_34229 rec-exp_binary64_34228 exp-neg_binary64_34225 e-exp-1_binary64_34223 exp-1-e_binary64_34221 exp-0_binary64_34220 cube-neg_binary64_34205 rem-3cbrt-rft_binary64_34204 rem-3cbrt-lft_binary64_34203 rem-cbrt-cube_binary64_34202 rem-cube-cbrt_binary64_34201 sqr-abs_binary64_34193 sqr-neg_binary64_34192 rem-sqrt-square_binary64_34191 rem-square-sqrt_binary64_34190 mul-1-neg_binary64_34170 +-inverses_binary64_34157 lft-mult-inverse_binary64_34156 remove-double-div_binary64_34154 difference-of-sqr--1_binary64_34149 difference-of-sqr-1_binary64_34148 distribute-lft1-in_binary64_34133
Counts
57 → 172
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
068578
1167554
2515554
31546554
42986554

prune111.0ms (2.2%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New1720172
Fresh000
Picked011
Done022
Total1723175
Error
0b
Counts
175 → 3
Compiler

Compiled 2433 to 374 computations (84.6% saved)

regimes158.0ms (3.1%)

Accuracy

Total 0.1b remaining (89.7%)

Threshold costs 0.1b (89.7%)

Compiler

Compiled 708 to 658 computations (7.1% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_34109 +-commutative_binary64_34108
not-true not-false not-not not-and not-or and-true-l and-true-r and-false-l and-false-r and-same or-true-l or-true-r or-false-l or-false-r or-same if-if-and-not_binary64_34438 if-if-and_binary64_34437 if-if-or-not_binary64_34436 if-if-or_binary64_34435 if-not_binary64_34434 if-same_binary64_34433 if-false_binary64_34432 if-true_binary64_34431 tan-0_binary64_34307 cos-0_binary64_34306 sin-0_binary64_34305 unpow1_binary64_34236 e-exp-1_binary64_34223 1-exp_binary64_34222 exp-1-e_binary64_34221 exp-0_binary64_34220 sqr-abs_binary64_34193 sqr-neg_binary64_34192 neg-mul-1_binary64_34174 neg-sub0_binary64_34173 unsub-neg_binary64_34172 sub-neg_binary64_34171 mul-1-neg_binary64_34170 /-rgt-identity_binary64_34169 *-rgt-identity_binary64_34168 *-lft-identity_binary64_34167 remove-double-neg_binary64_34166 sub0-neg_binary64_34165 --rgt-identity_binary64_34164 +-rgt-identity_binary64_34163 +-lft-identity_binary64_34162 cancel-sign-sub-inv_binary64_34144 cancel-sign-sub_binary64_34143 distribute-neg-frac_binary64_34142 distribute-frac-neg_binary64_34141 distribute-neg-out_binary64_34140 distribute-neg-in_binary64_34139 distribute-rgt-neg-out_binary64_34138 distribute-lft-neg-out_binary64_34137 distribute-rgt-neg-in_binary64_34136 distribute-lft-neg-in_binary64_34135
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
1910
Proof
(+ f64 h0 (=> (* f64 (/ f64 h1 h2) h1))) *-commutative_binary64_34109 => (+ f64 h0 (* f64 h1 (/ f64 h1 h2)))

end0.0ms (0%)

sample709.0ms (14%)

Algorithm
intervals
Results
217.0ms8000×body128valid
22.0ms932×body128invalid
Compiler

Compiled 126 to 113 computations (10.3% saved)

Profiling

Loading profile data...