Details

Time bar (total: 3.9s)

analyze60.0ms (1.5%)

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
25%74.9%0.1%5
37.5%62.4%0.1%6
50%37.5%12.6%7
56.2%31.2%12.6%8
62.4%18.7%18.8%9
65.6%15.6%18.8%10
68.7%9.4%22%11
70.2%7.8%22%12
71.8%4.7%23.5%13
72.6%3.9%23.5%14
Compiler

Compiled 6 to 5 computations (16.7% saved)

sample14.0ms (0.3%)

Algorithm
intervals
Results
5.0ms256×body128valid
0.0msbody128invalid
Compiler

Compiled 11 to 11 computations (0% saved)

simplify155.0ms (4%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_7170
associate-*l*_binary64_7180 associate-*r*_binary64_7179
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_7502 erf-erfc_binary64_7501 erf-odd_binary64_7500 if-if-and-not_binary64_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 not-gte_binary64_7491 not-lte_binary64_7490 not-gt_binary64_7489 not-lt_binary64_7488 gte-same_binary64_7487 lte-same_binary64_7486 gt-same_binary64_7485 lt-same_binary64_7484 sinh---cosh_binary64_7431 sinh-+-cosh_binary64_7430 sinh-cosh_binary64_7429 tanh-def-c_binary64_7428 tanh-def-b_binary64_7427 tanh-def-a_binary64_7426 cosh-def_binary64_7425 sinh-def_binary64_7424 tan-neg_binary64_7371 cos-neg_binary64_7370 sin-neg_binary64_7369 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 hang-m-tan_binary64_7365 hang-p-tan_binary64_7364 hang-m0-tan_binary64_7363 hang-p0-tan_binary64_7362 hang-0m-tan_binary64_7361 hang-0p-tan_binary64_7360 tan-+PI/2_binary64_7359 tan-+PI_binary64_7358 tan-PI_binary64_7357 tan-PI/3_binary64_7356 tan-PI/4_binary64_7355 tan-PI/6_binary64_7354 cos-+PI/2_binary64_7353 cos-+PI_binary64_7352 cos-PI_binary64_7351 cos-PI/2_binary64_7350 cos-PI/3_binary64_7349 cos-PI/4_binary64_7348 cos-PI/6_binary64_7347 sin-+PI/2_binary64_7346 sin-+PI_binary64_7345 sin-PI_binary64_7344 sin-PI/2_binary64_7343 sin-PI/3_binary64_7342 sin-PI/4_binary64_7341 sin-PI/6_binary64_7340 sub-1-sin_binary64_7339 sub-1-cos_binary64_7338 -1-add-sin_binary64_7337 -1-add-cos_binary64_7336 1-sub-sin_binary64_7335 1-sub-cos_binary64_7334 cos-sin-sum_binary64_7333 log-E_binary64_7329 log-pow_binary64_7328 log-rec_binary64_7327 log-div_binary64_7326 log-prod_binary64_7325 pow-base-0_binary64_7323 unpow1/3_binary64_7306 unpow3_binary64_7305 unpow2_binary64_7304 unpow1/2_binary64_7303 pow-plus_binary64_7302 exp-to-pow_binary64_7301 pow-base-1_binary64_7299 unpow0_binary64_7298 unpow1_binary64_7297 unpow-1_binary64_7296 exp-lft-cube_binary64_7295 exp-lft-sqr_binary64_7294 exp-cbrt_binary64_7293 exp-sqrt_binary64_7292 exp-prod_binary64_7291 div-exp_binary64_7290 rec-exp_binary64_7289 prod-exp_binary64_7288 exp-diff_binary64_7287 exp-neg_binary64_7286 exp-sum_binary64_7285 e-exp-1_binary64_7284 1-exp_binary64_7283 exp-1-e_binary64_7282 exp-0_binary64_7281 rem-log-exp_binary64_7280 rem-exp-log_binary64_7279 cube-unmult_binary64_7276 cube-mult_binary64_7269 cube-div_binary64_7268 cube-prod_binary64_7267 cube-neg_binary64_7266 rem-3cbrt-rft_binary64_7265 rem-3cbrt-lft_binary64_7264 rem-cbrt-cube_binary64_7263 rem-cube-cbrt_binary64_7262 sqr-abs_binary64_7254 sqr-neg_binary64_7253 rem-sqrt-square_binary64_7252 rem-square-sqrt_binary64_7251 times-frac_binary64_7245 div-sub_binary64_7244 neg-mul-1_binary64_7235 neg-sub0_binary64_7234 unsub-neg_binary64_7233 sub-neg_binary64_7232 mul-1-neg_binary64_7231 /-rgt-identity_binary64_7230 *-rgt-identity_binary64_7229 *-lft-identity_binary64_7228 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 --rgt-identity_binary64_7225 +-rgt-identity_binary64_7224 +-lft-identity_binary64_7223 mul0-rgt_binary64_7222 mul0-lft_binary64_7221 div0_binary64_7220 *-inverses_binary64_7219 +-inverses_binary64_7218 lft-mult-inverse_binary64_7217 rgt-mult-inverse_binary64_7216 remove-double-div_binary64_7215 pow-sqr_binary64_7212 sqr-pow_binary64_7211 difference-of-sqr--1_binary64_7210 difference-of-sqr-1_binary64_7209 difference-of-squares_binary64_7208 unswap-sqr_binary64_7207 swap-sqr_binary64_7206 cancel-sign-sub-inv_binary64_7205 cancel-sign-sub_binary64_7204 distribute-neg-frac_binary64_7203 distribute-frac-neg_binary64_7202 distribute-neg-out_binary64_7201 distribute-neg-in_binary64_7200 distribute-rgt-neg-out_binary64_7199 distribute-lft-neg-out_binary64_7198 distribute-rgt-neg-in_binary64_7197 distribute-lft-neg-in_binary64_7196 distribute-rgt1-in_binary64_7195 distribute-lft1-in_binary64_7194 distribute-rgt-out--_binary64_7193 distribute-rgt-out_binary64_7192 distribute-lft-out--_binary64_7191 distribute-lft-out_binary64_7190 distribute-rgt-in_binary64_7189 distribute-lft-in_binary64_7188 count-2_binary64_7187 associate-/l/_binary64_7186 associate-/r/_binary64_7185 associate-/l*_binary64_7184 associate-/r*_binary64_7183 associate-*l/_binary64_7182 associate-*r/_binary64_7181 associate--r-_binary64_7178 associate--l-_binary64_7177 associate--l+_binary64_7176 associate--r+_binary64_7175 associate-+l-_binary64_7174 associate-+r-_binary64_7173 associate-+l+_binary64_7172 associate-+r+_binary64_7171 +-commutative_binary64_7169
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
197
2107

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 2
Compiler

Compiled 15 to 12 computations (20% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.2b
(*.f64 (*.f64 x y) y)

rewrite24.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.1b
Rules
pow1_binary64_7300 add-exp-log_binary64_7277 add-cbrt-cube_binary64_7275
pow-prod-down_binary64_7310 prod-exp_binary64_7288 cbrt-unprod_binary64_7272 associate-*r*_binary64_7179
add-cube-cbrt_binary64_7274 add-sqr-sqrt_binary64_7261 *-un-lft-identity_binary64_7239
add-log-exp_binary64_7278 associate-*l*_binary64_7180 *-commutative_binary64_7170
Counts
1 → 18
Calls

1 calls:

10.0ms
(*.f64 (*.f64 x y) y)
Compiler

Compiled 184 to 55 computations (70.1% saved)

series89.0ms (2.3%)

Error
0.1b
Counts
1 → 6
Calls

1 calls:

86.0ms
(*.f64 (*.f64 x y) y)
Compiler

Compiled 90 to 80 computations (11.1% saved)

simplify145.0ms (3.7%)

Algorithm
egg-herbie
Rules
356×associate-*l/_binary64_7182
350×associate-*r/_binary64_7181
287×distribute-rgt-out_binary64_7192
250×associate-+l+_binary64_7172
217×sqr-pow_binary64_7211
202×associate--r-_binary64_7178
170×associate--r+_binary64_7175
166×associate-+l-_binary64_7174
144×associate-+r-_binary64_7173
136×exp-prod_binary64_7291
130×log-prod_binary64_7325
129×cube-prod_binary64_7267
121×associate--l+_binary64_7176
119×associate--l-_binary64_7177
113×pow-sqr_binary64_7212
111×*-commutative_binary64_7170
108×log-div_binary64_7326 cube-div_binary64_7268
102×times-frac_binary64_7245 associate-*l*_binary64_7180
94×sub-neg_binary64_7232
93×distribute-rgt-in_binary64_7189
88×swap-sqr_binary64_7206
74×*-rgt-identity_binary64_7229
73×unswap-sqr_binary64_7207
71×*-lft-identity_binary64_7228
68×associate-*r*_binary64_7179
63×exp-sqrt_binary64_7292
53×cancel-sign-sub-inv_binary64_7205
52×unpow3_binary64_7305
51×associate-/r*_binary64_7183
50×distribute-lft-in_binary64_7188
48×cube-mult_binary64_7269
45×associate-/l*_binary64_7184
44×distribute-neg-in_binary64_7200
41×distribute-lft-out_binary64_7190
37×associate-/r/_binary64_7185
36×count-2_binary64_7187
30×distribute-rgt1-in_binary64_7195
25×/-rgt-identity_binary64_7230
23×exp-sum_binary64_7285
22×exp-lft-sqr_binary64_7294
21×pow-plus_binary64_7302
18×unsub-neg_binary64_7233
17×log-pow_binary64_7328
15×associate-/l/_binary64_7186
14×distribute-rgt-neg-in_binary64_7197
13×neg-mul-1_binary64_7235 distribute-lft-neg-in_binary64_7196 associate-+r+_binary64_7171
11×rem-square-sqrt_binary64_7251
rem-sqrt-square_binary64_7252 distribute-neg-frac_binary64_7203 distribute-rgt-out--_binary64_7193
log-rec_binary64_7327 neg-sub0_binary64_7234 distribute-neg-out_binary64_7201
cube-unmult_binary64_7276
exp-diff_binary64_7287 +-commutative_binary64_7169
prod-exp_binary64_7288 distribute-lft-out--_binary64_7191
distribute-lft-neg-out_binary64_7198 distribute-lft1-in_binary64_7194
exp-to-pow_binary64_7301 pow-base-1_binary64_7299 mul0-rgt_binary64_7222 distribute-rgt-neg-out_binary64_7199
unpow2_binary64_7304 unpow1_binary64_7297 div-exp_binary64_7290 1-exp_binary64_7283 exp-1-e_binary64_7282 rem-log-exp_binary64_7280 rem-exp-log_binary64_7279 +-rgt-identity_binary64_7224 mul0-lft_binary64_7221 *-inverses_binary64_7219
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_7502 erf-erfc_binary64_7501 erf-odd_binary64_7500 if-if-and-not_binary64_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 not-gte_binary64_7491 not-lte_binary64_7490 not-gt_binary64_7489 not-lt_binary64_7488 gte-same_binary64_7487 lte-same_binary64_7486 gt-same_binary64_7485 lt-same_binary64_7484 sinh---cosh_binary64_7431 sinh-+-cosh_binary64_7430 sinh-cosh_binary64_7429 tanh-def-c_binary64_7428 tanh-def-b_binary64_7427 tanh-def-a_binary64_7426 cosh-def_binary64_7425 sinh-def_binary64_7424 tan-neg_binary64_7371 cos-neg_binary64_7370 sin-neg_binary64_7369 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 hang-m-tan_binary64_7365 hang-p-tan_binary64_7364 hang-m0-tan_binary64_7363 hang-p0-tan_binary64_7362 hang-0m-tan_binary64_7361 hang-0p-tan_binary64_7360 tan-+PI/2_binary64_7359 tan-+PI_binary64_7358 tan-PI_binary64_7357 tan-PI/3_binary64_7356 tan-PI/4_binary64_7355 tan-PI/6_binary64_7354 cos-+PI/2_binary64_7353 cos-+PI_binary64_7352 cos-PI_binary64_7351 cos-PI/2_binary64_7350 cos-PI/3_binary64_7349 cos-PI/4_binary64_7348 cos-PI/6_binary64_7347 sin-+PI/2_binary64_7346 sin-+PI_binary64_7345 sin-PI_binary64_7344 sin-PI/2_binary64_7343 sin-PI/3_binary64_7342 sin-PI/4_binary64_7341 sin-PI/6_binary64_7340 sub-1-sin_binary64_7339 sub-1-cos_binary64_7338 -1-add-sin_binary64_7337 -1-add-cos_binary64_7336 1-sub-sin_binary64_7335 1-sub-cos_binary64_7334 cos-sin-sum_binary64_7333 log-E_binary64_7329 pow-base-0_binary64_7323 unpow1/3_binary64_7306 unpow1/2_binary64_7303 unpow0_binary64_7298 unpow-1_binary64_7296 exp-lft-cube_binary64_7295 exp-cbrt_binary64_7293 rec-exp_binary64_7289 exp-neg_binary64_7286 e-exp-1_binary64_7284 exp-0_binary64_7281 cube-neg_binary64_7266 rem-3cbrt-rft_binary64_7265 rem-3cbrt-lft_binary64_7264 rem-cbrt-cube_binary64_7263 rem-cube-cbrt_binary64_7262 sqr-abs_binary64_7254 sqr-neg_binary64_7253 div-sub_binary64_7244 mul-1-neg_binary64_7231 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 --rgt-identity_binary64_7225 +-lft-identity_binary64_7223 div0_binary64_7220 +-inverses_binary64_7218 lft-mult-inverse_binary64_7217 rgt-mult-inverse_binary64_7216 remove-double-div_binary64_7215 difference-of-sqr--1_binary64_7210 difference-of-sqr-1_binary64_7209 difference-of-squares_binary64_7208 cancel-sign-sub_binary64_7204 distribute-frac-neg_binary64_7202
Counts
24 → 30
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
037245
193200
2323200
3489200
41864200
52722200

prune24.0ms (0.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New27330
Fresh011
Picked011
Done000
Total27532
Error
0.1b
Counts
32 → 5
Compiler

Compiled 328 to 83 computations (74.7% saved)

localize3.0ms (0.1%)

Local error

Found 1 expressions with local error:

10.1b
(*.f64 x (*.f64 y y))

rewrite19.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
pow1_binary64_7300 add-exp-log_binary64_7277 add-cbrt-cube_binary64_7275
pow-prod-down_binary64_7310 prod-exp_binary64_7288 cbrt-unprod_binary64_7272 add-sqr-sqrt_binary64_7261 associate-*l*_binary64_7180
add-cube-cbrt_binary64_7274 *-un-lft-identity_binary64_7239
add-log-exp_binary64_7278 unswap-sqr_binary64_7207 associate-*r*_binary64_7179 *-commutative_binary64_7170
Counts
1 → 19
Calls

1 calls:

6.0ms
(*.f64 x (*.f64 y y))
Compiler

Compiled 193 to 56 computations (71% saved)

series90.0ms (2.3%)

Error
0.1b
Counts
1 → 6
Calls

1 calls:

87.0ms
(*.f64 x (*.f64 y y))
Compiler

Compiled 90 to 80 computations (11.1% saved)

simplify145.0ms (3.7%)

Algorithm
egg-herbie
Rules
727×unswap-sqr_binary64_7207
355×log-prod_binary64_7325
312×exp-prod_binary64_7291
283×distribute-rgt-in_binary64_7189
278×times-frac_binary64_7245
222×distribute-rgt-out_binary64_7192
217×distribute-lft-in_binary64_7188
197×cube-div_binary64_7268
190×log-div_binary64_7326
189×associate-*l*_binary64_7180
133×exp-sum_binary64_7285
125×associate-+l+_binary64_7172
122×associate-*r*_binary64_7179
121×sqr-pow_binary64_7211
118×*-commutative_binary64_7170
101×associate-/l*_binary64_7184
81×associate-/r/_binary64_7185
74×associate-/l/_binary64_7186
73×cube-prod_binary64_7267
71×associate-+r+_binary64_7171
64×pow-sqr_binary64_7212
63×associate-/r*_binary64_7183
60×unpow3_binary64_7305 swap-sqr_binary64_7206
57×cube-mult_binary64_7269
55×associate-*l/_binary64_7182
43×pow-plus_binary64_7302
35×associate-*r/_binary64_7181
28×exp-sqrt_binary64_7292 distribute-lft-out_binary64_7190
23×log-pow_binary64_7328 exp-lft-sqr_binary64_7294
17×distribute-rgt1-in_binary64_7195
16×div-exp_binary64_7290 prod-exp_binary64_7288
15×*-lft-identity_binary64_7228
13×/-rgt-identity_binary64_7230 +-commutative_binary64_7169
12×log-rec_binary64_7327
11×cube-unmult_binary64_7276
distribute-lft1-in_binary64_7194 count-2_binary64_7187
*-rgt-identity_binary64_7229
rec-exp_binary64_7289
unpow2_binary64_7304 pow-base-1_binary64_7299 unpow1_binary64_7297 1-exp_binary64_7283 exp-1-e_binary64_7282 rem-log-exp_binary64_7280 neg-mul-1_binary64_7235 neg-sub0_binary64_7234 sub-neg_binary64_7232 --rgt-identity_binary64_7225 *-inverses_binary64_7219 rgt-mult-inverse_binary64_7216
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_7502 erf-erfc_binary64_7501 erf-odd_binary64_7500 if-if-and-not_binary64_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 not-gte_binary64_7491 not-lte_binary64_7490 not-gt_binary64_7489 not-lt_binary64_7488 gte-same_binary64_7487 lte-same_binary64_7486 gt-same_binary64_7485 lt-same_binary64_7484 sinh---cosh_binary64_7431 sinh-+-cosh_binary64_7430 sinh-cosh_binary64_7429 tanh-def-c_binary64_7428 tanh-def-b_binary64_7427 tanh-def-a_binary64_7426 cosh-def_binary64_7425 sinh-def_binary64_7424 tan-neg_binary64_7371 cos-neg_binary64_7370 sin-neg_binary64_7369 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 hang-m-tan_binary64_7365 hang-p-tan_binary64_7364 hang-m0-tan_binary64_7363 hang-p0-tan_binary64_7362 hang-0m-tan_binary64_7361 hang-0p-tan_binary64_7360 tan-+PI/2_binary64_7359 tan-+PI_binary64_7358 tan-PI_binary64_7357 tan-PI/3_binary64_7356 tan-PI/4_binary64_7355 tan-PI/6_binary64_7354 cos-+PI/2_binary64_7353 cos-+PI_binary64_7352 cos-PI_binary64_7351 cos-PI/2_binary64_7350 cos-PI/3_binary64_7349 cos-PI/4_binary64_7348 cos-PI/6_binary64_7347 sin-+PI/2_binary64_7346 sin-+PI_binary64_7345 sin-PI_binary64_7344 sin-PI/2_binary64_7343 sin-PI/3_binary64_7342 sin-PI/4_binary64_7341 sin-PI/6_binary64_7340 sub-1-sin_binary64_7339 sub-1-cos_binary64_7338 -1-add-sin_binary64_7337 -1-add-cos_binary64_7336 1-sub-sin_binary64_7335 1-sub-cos_binary64_7334 cos-sin-sum_binary64_7333 log-E_binary64_7329 pow-base-0_binary64_7323 unpow1/3_binary64_7306 unpow1/2_binary64_7303 exp-to-pow_binary64_7301 unpow0_binary64_7298 unpow-1_binary64_7296 exp-lft-cube_binary64_7295 exp-cbrt_binary64_7293 exp-diff_binary64_7287 exp-neg_binary64_7286 e-exp-1_binary64_7284 exp-0_binary64_7281 rem-exp-log_binary64_7279 cube-neg_binary64_7266 rem-3cbrt-rft_binary64_7265 rem-3cbrt-lft_binary64_7264 rem-cbrt-cube_binary64_7263 rem-cube-cbrt_binary64_7262 sqr-abs_binary64_7254 sqr-neg_binary64_7253 rem-sqrt-square_binary64_7252 rem-square-sqrt_binary64_7251 div-sub_binary64_7244 unsub-neg_binary64_7233 mul-1-neg_binary64_7231 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 +-rgt-identity_binary64_7224 +-lft-identity_binary64_7223 mul0-rgt_binary64_7222 mul0-lft_binary64_7221 div0_binary64_7220 +-inverses_binary64_7218 lft-mult-inverse_binary64_7217 remove-double-div_binary64_7215 difference-of-sqr--1_binary64_7210 difference-of-sqr-1_binary64_7209 difference-of-squares_binary64_7208 cancel-sign-sub-inv_binary64_7205 cancel-sign-sub_binary64_7204 distribute-neg-frac_binary64_7203 distribute-frac-neg_binary64_7202 distribute-neg-out_binary64_7201 distribute-neg-in_binary64_7200 distribute-rgt-neg-out_binary64_7199 distribute-lft-neg-out_binary64_7198 distribute-rgt-neg-in_binary64_7197 distribute-lft-neg-in_binary64_7196 distribute-rgt-out--_binary64_7193 distribute-lft-out--_binary64_7191 associate--r-_binary64_7178 associate--l-_binary64_7177 associate--l+_binary64_7176 associate--r+_binary64_7175 associate-+l-_binary64_7174 associate-+r-_binary64_7173
Counts
25 → 24
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
035255
174210
2227210
3418210
4804210
51960210
63770210

prune19.0ms (0.5%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New22224
Fresh123
Picked011
Done011
Total23629
Error
0.0b
Counts
29 → 6
Compiler

Compiled 247 to 70 computations (71.7% saved)

localize5.0ms (0.1%)

Local error

Found 3 expressions with local error:

0.1b
(*.f64 (sqrt.f64 x) y)
0.1b
(*.f64 y (sqrt.f64 x))
0.2b
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 y (sqrt.f64 x)))

rewrite71.0ms (1.8%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
19×pow1_binary64_7300 add-exp-log_binary64_7277 add-cbrt-cube_binary64_7275
17×add-sqr-sqrt_binary64_7261
10×pow-prod-down_binary64_7310 prod-exp_binary64_7288 cbrt-unprod_binary64_7272 associate-*l*_binary64_7180 associate-*r*_binary64_7179
add-cube-cbrt_binary64_7274 *-un-lft-identity_binary64_7239
sqrt-prod_binary64_7255
unswap-sqr_binary64_7207
add-log-exp_binary64_7278 *-commutative_binary64_7170
Counts
3 → 66
Calls

3 calls:

9.0ms
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 y (sqrt.f64 x)))
5.0ms
(*.f64 (sqrt.f64 x) y)
5.0ms
(*.f64 y (sqrt.f64 x))
Compiler

Compiled 1002 to 190 computations (81% saved)

series238.0ms (6.1%)

Error
0.0b
Counts
3 → 18
Calls

3 calls:

78.0ms
(*.f64 (sqrt.f64 x) y)
77.0ms
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 y (sqrt.f64 x)))
75.0ms
(*.f64 y (sqrt.f64 x))
Compiler

Compiled 478 to 297 computations (37.9% saved)

simplify310.0ms (7.9%)

Algorithm
egg-herbie
Rules
741×associate-*l/_binary64_7182
740×associate-*r/_binary64_7181
222×times-frac_binary64_7245
205×distribute-rgt-in_binary64_7189
162×*-commutative_binary64_7170
159×sqr-pow_binary64_7211
149×associate-*l*_binary64_7180
146×unswap-sqr_binary64_7207
145×log-div_binary64_7326
139×swap-sqr_binary64_7206
138×cube-div_binary64_7268
123×associate-*r*_binary64_7179
121×exp-sqrt_binary64_7292
109×associate-/l*_binary64_7184
105×distribute-lft-in_binary64_7188
103×log-prod_binary64_7325
97×exp-prod_binary64_7291
94×associate-/r*_binary64_7183
81×associate-/r/_binary64_7185
75×cube-prod_binary64_7267
65×pow-sqr_binary64_7212
61×*-rgt-identity_binary64_7229
55×*-lft-identity_binary64_7228
43×/-rgt-identity_binary64_7230
37×associate-/l/_binary64_7186
26×sub-neg_binary64_7232
25×associate--r-_binary64_7178
21×pow-plus_binary64_7302
20×exp-lft-sqr_binary64_7294
16×unpow3_binary64_7305 associate--l-_binary64_7177
11×cube-mult_binary64_7269
10×rem-sqrt-square_binary64_7252
distribute-rgt-out_binary64_7192 associate-+l-_binary64_7174
log-pow_binary64_7328 cancel-sign-sub-inv_binary64_7205 associate-+r-_binary64_7173 associate-+l+_binary64_7172
associate-+r+_binary64_7171
cube-unmult_binary64_7276 count-2_binary64_7187
distribute-rgt1-in_binary64_7195
exp-sum_binary64_7285
log-rec_binary64_7327 unpow2_binary64_7304 unpow1_binary64_7297 exp-diff_binary64_7287 distribute-neg-in_binary64_7200 +-commutative_binary64_7169
pow-base-1_binary64_7299 prod-exp_binary64_7288 1-exp_binary64_7283 exp-1-e_binary64_7282 rem-log-exp_binary64_7280 rem-exp-log_binary64_7279 rem-square-sqrt_binary64_7251 neg-mul-1_binary64_7235 neg-sub0_binary64_7234 mul0-lft_binary64_7221 *-inverses_binary64_7219 distribute-lft1-in_binary64_7194 distribute-lft-out_binary64_7190
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_7502 erf-erfc_binary64_7501 erf-odd_binary64_7500 if-if-and-not_binary64_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 not-gte_binary64_7491 not-lte_binary64_7490 not-gt_binary64_7489 not-lt_binary64_7488 gte-same_binary64_7487 lte-same_binary64_7486 gt-same_binary64_7485 lt-same_binary64_7484 sinh---cosh_binary64_7431 sinh-+-cosh_binary64_7430 sinh-cosh_binary64_7429 tanh-def-c_binary64_7428 tanh-def-b_binary64_7427 tanh-def-a_binary64_7426 cosh-def_binary64_7425 sinh-def_binary64_7424 tan-neg_binary64_7371 cos-neg_binary64_7370 sin-neg_binary64_7369 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 hang-m-tan_binary64_7365 hang-p-tan_binary64_7364 hang-m0-tan_binary64_7363 hang-p0-tan_binary64_7362 hang-0m-tan_binary64_7361 hang-0p-tan_binary64_7360 tan-+PI/2_binary64_7359 tan-+PI_binary64_7358 tan-PI_binary64_7357 tan-PI/3_binary64_7356 tan-PI/4_binary64_7355 tan-PI/6_binary64_7354 cos-+PI/2_binary64_7353 cos-+PI_binary64_7352 cos-PI_binary64_7351 cos-PI/2_binary64_7350 cos-PI/3_binary64_7349 cos-PI/4_binary64_7348 cos-PI/6_binary64_7347 sin-+PI/2_binary64_7346 sin-+PI_binary64_7345 sin-PI_binary64_7344 sin-PI/2_binary64_7343 sin-PI/3_binary64_7342 sin-PI/4_binary64_7341 sin-PI/6_binary64_7340 sub-1-sin_binary64_7339 sub-1-cos_binary64_7338 -1-add-sin_binary64_7337 -1-add-cos_binary64_7336 1-sub-sin_binary64_7335 1-sub-cos_binary64_7334 cos-sin-sum_binary64_7333 log-E_binary64_7329 pow-base-0_binary64_7323 unpow1/3_binary64_7306 unpow1/2_binary64_7303 exp-to-pow_binary64_7301 unpow0_binary64_7298 unpow-1_binary64_7296 exp-lft-cube_binary64_7295 exp-cbrt_binary64_7293 div-exp_binary64_7290 rec-exp_binary64_7289 exp-neg_binary64_7286 e-exp-1_binary64_7284 exp-0_binary64_7281 cube-neg_binary64_7266 rem-3cbrt-rft_binary64_7265 rem-3cbrt-lft_binary64_7264 rem-cbrt-cube_binary64_7263 rem-cube-cbrt_binary64_7262 sqr-abs_binary64_7254 sqr-neg_binary64_7253 div-sub_binary64_7244 unsub-neg_binary64_7233 mul-1-neg_binary64_7231 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 --rgt-identity_binary64_7225 +-rgt-identity_binary64_7224 +-lft-identity_binary64_7223 mul0-rgt_binary64_7222 div0_binary64_7220 +-inverses_binary64_7218 lft-mult-inverse_binary64_7217 rgt-mult-inverse_binary64_7216 remove-double-div_binary64_7215 difference-of-sqr--1_binary64_7210 difference-of-sqr-1_binary64_7209 difference-of-squares_binary64_7208 cancel-sign-sub_binary64_7204 distribute-neg-frac_binary64_7203 distribute-frac-neg_binary64_7202 distribute-neg-out_binary64_7201 distribute-rgt-neg-out_binary64_7199 distribute-lft-neg-out_binary64_7198 distribute-rgt-neg-in_binary64_7197 distribute-lft-neg-in_binary64_7196 distribute-rgt-out--_binary64_7193 distribute-lft-out--_binary64_7191 associate--l+_binary64_7176 associate--r+_binary64_7175
Counts
84 → 95
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
083810
1157709
2548709
3900709
43484709

prune65.0ms (1.7%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New93295
Fresh033
Picked011
Done022
Total938101
Error
0.0b
Counts
101 → 8
Compiler

Compiled 1218 to 223 computations (81.7% saved)

localize10.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.2b
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
0.2b
(*.f64 y (fabs.f64 (cbrt.f64 x)))
0.6b
(cbrt.f64 x)
0.6b
(cbrt.f64 x)

rewrite89.0ms (2.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
27×pow1_binary64_7300 add-exp-log_binary64_7277 add-cbrt-cube_binary64_7275
16×pow-prod-down_binary64_7310 prod-exp_binary64_7288 cbrt-unprod_binary64_7272
10×add-sqr-sqrt_binary64_7261
add-cube-cbrt_binary64_7274 *-un-lft-identity_binary64_7239
cbrt-prod_binary64_7270
add-log-exp_binary64_7278 associate-*l*_binary64_7180 associate-*r*_binary64_7179
pow1/3_binary64_7321 *-commutative_binary64_7170
unswap-sqr_binary64_7207
Counts
4 → 68
Calls

4 calls:

11.0ms
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
4.0ms
(*.f64 y (fabs.f64 (cbrt.f64 x)))
1.0ms
(cbrt.f64 x)
1.0ms
(cbrt.f64 x)
Compiler

Compiled 1462 to 280 computations (80.8% saved)

series707.0ms (18.1%)

Error
0.0b
Counts
4 → 18
Calls

4 calls:

346.0ms
(*.f64 (*.f64 (sqrt.f64 x) y) (*.f64 (*.f64 y (fabs.f64 (cbrt.f64 x))) (sqrt.f64 (cbrt.f64 x))))
150.0ms
(cbrt.f64 x)
111.0ms
(cbrt.f64 x)
84.0ms
(*.f64 y (fabs.f64 (cbrt.f64 x)))
Compiler

Compiled 900 to 691 computations (23.2% saved)

simplify637.0ms (16.3%)

Algorithm
egg-herbie
Rules
422×*-commutative_binary64_7170
324×sqr-pow_binary64_7211
306×associate-*l*_binary64_7180
252×associate-*r*_binary64_7179
234×unswap-sqr_binary64_7207
224×times-frac_binary64_7245
215×log-prod_binary64_7325
205×swap-sqr_binary64_7206
162×exp-prod_binary64_7291
144×pow-sqr_binary64_7212
141×cube-prod_binary64_7267
115×associate-/l*_binary64_7184 associate-+l+_binary64_7172
104×distribute-rgt-neg-in_binary64_7197 distribute-lft-neg-in_binary64_7196
103×associate-/r*_binary64_7183
90×associate-+r+_binary64_7171
83×sub-neg_binary64_7232
82×associate-/r/_binary64_7185
72×log-div_binary64_7326 cancel-sign-sub-inv_binary64_7205
67×cube-div_binary64_7268
61×/-rgt-identity_binary64_7230
54×distribute-rgt-out_binary64_7192
49×associate-/l/_binary64_7186
46×distribute-rgt-in_binary64_7189
45×exp-sqrt_binary64_7292
42×distribute-lft-in_binary64_7188
37×neg-sub0_binary64_7234
36×neg-mul-1_binary64_7235
35×log-pow_binary64_7328 unpow3_binary64_7305
31×pow-plus_binary64_7302 exp-lft-sqr_binary64_7294 cube-mult_binary64_7269
27×associate-*r/_binary64_7181
24×associate-*l/_binary64_7182
22×+-commutative_binary64_7169
18×associate-+l-_binary64_7174
17×rem-sqrt-square_binary64_7252
16×associate-+r-_binary64_7173
15×cube-unmult_binary64_7276 distribute-neg-frac_binary64_7203
12×*-rgt-identity_binary64_7229
11×distribute-rgt1-in_binary64_7195 count-2_binary64_7187
10×*-lft-identity_binary64_7228
+-rgt-identity_binary64_7224 +-lft-identity_binary64_7223
associate--l-_binary64_7177
unpow1/3_binary64_7306 exp-sum_binary64_7285
unpow2_binary64_7304 unpow1_binary64_7297 exp-diff_binary64_7287 rem-cbrt-cube_binary64_7263 rem-square-sqrt_binary64_7251 distribute-neg-in_binary64_7200
log-rec_binary64_7327 pow-base-1_binary64_7299 prod-exp_binary64_7288 1-exp_binary64_7283 exp-1-e_binary64_7282 rem-log-exp_binary64_7280 rem-exp-log_binary64_7279 rem-3cbrt-lft_binary64_7264 sqr-abs_binary64_7254 mul-1-neg_binary64_7231 mul0-lft_binary64_7221 *-inverses_binary64_7219 rgt-mult-inverse_binary64_7216 cancel-sign-sub_binary64_7204 distribute-lft-out_binary64_7190
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_7502 erf-erfc_binary64_7501 erf-odd_binary64_7500 if-if-and-not_binary64_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 not-gte_binary64_7491 not-lte_binary64_7490 not-gt_binary64_7489 not-lt_binary64_7488 gte-same_binary64_7487 lte-same_binary64_7486 gt-same_binary64_7485 lt-same_binary64_7484 sinh---cosh_binary64_7431 sinh-+-cosh_binary64_7430 sinh-cosh_binary64_7429 tanh-def-c_binary64_7428 tanh-def-b_binary64_7427 tanh-def-a_binary64_7426 cosh-def_binary64_7425 sinh-def_binary64_7424 tan-neg_binary64_7371 cos-neg_binary64_7370 sin-neg_binary64_7369 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 hang-m-tan_binary64_7365 hang-p-tan_binary64_7364 hang-m0-tan_binary64_7363 hang-p0-tan_binary64_7362 hang-0m-tan_binary64_7361 hang-0p-tan_binary64_7360 tan-+PI/2_binary64_7359 tan-+PI_binary64_7358 tan-PI_binary64_7357 tan-PI/3_binary64_7356 tan-PI/4_binary64_7355 tan-PI/6_binary64_7354 cos-+PI/2_binary64_7353 cos-+PI_binary64_7352 cos-PI_binary64_7351 cos-PI/2_binary64_7350 cos-PI/3_binary64_7349 cos-PI/4_binary64_7348 cos-PI/6_binary64_7347 sin-+PI/2_binary64_7346 sin-+PI_binary64_7345 sin-PI_binary64_7344 sin-PI/2_binary64_7343 sin-PI/3_binary64_7342 sin-PI/4_binary64_7341 sin-PI/6_binary64_7340 sub-1-sin_binary64_7339 sub-1-cos_binary64_7338 -1-add-sin_binary64_7337 -1-add-cos_binary64_7336 1-sub-sin_binary64_7335 1-sub-cos_binary64_7334 cos-sin-sum_binary64_7333 log-E_binary64_7329 pow-base-0_binary64_7323 unpow1/2_binary64_7303 exp-to-pow_binary64_7301 unpow0_binary64_7298 unpow-1_binary64_7296 exp-lft-cube_binary64_7295 exp-cbrt_binary64_7293 div-exp_binary64_7290 rec-exp_binary64_7289 exp-neg_binary64_7286 e-exp-1_binary64_7284 exp-0_binary64_7281 cube-neg_binary64_7266 rem-3cbrt-rft_binary64_7265 rem-cube-cbrt_binary64_7262 sqr-neg_binary64_7253 div-sub_binary64_7244 unsub-neg_binary64_7233 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 --rgt-identity_binary64_7225 mul0-rgt_binary64_7222 div0_binary64_7220 +-inverses_binary64_7218 lft-mult-inverse_binary64_7217 remove-double-div_binary64_7215 difference-of-sqr--1_binary64_7210 difference-of-sqr-1_binary64_7209 difference-of-squares_binary64_7208 distribute-frac-neg_binary64_7202 distribute-neg-out_binary64_7201 distribute-rgt-neg-out_binary64_7199 distribute-lft-neg-out_binary64_7198 distribute-lft1-in_binary64_7194 distribute-rgt-out--_binary64_7193 distribute-lft-out--_binary64_7191 associate--r-_binary64_7178 associate--l+_binary64_7176 associate--r+_binary64_7175
Counts
86 → 130
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01111447
12661230
210201230
320781203
436931199

prune122.0ms (3.1%)

Pruning

8 alts after pruning (4 fresh and 4 done)

PrunedKeptTotal
New1300130
Fresh044
Picked011
Done033
Total1308138
Error
0.0b
Counts
138 → 8
Compiler

Compiled 2609 to 354 computations (86.4% saved)

regimes139.0ms (3.6%)

Accuracy

Total 0.1b remaining (84.2%)

Threshold costs 0.1b (84.2%)

Compiler

Compiled 1073 to 655 computations (39% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_7170
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_7499 if-if-and_binary64_7498 if-if-or-not_binary64_7497 if-if-or_binary64_7496 if-not_binary64_7495 if-same_binary64_7494 if-false_binary64_7493 if-true_binary64_7492 tan-0_binary64_7368 cos-0_binary64_7367 sin-0_binary64_7366 unpow1_binary64_7297 e-exp-1_binary64_7284 1-exp_binary64_7283 exp-1-e_binary64_7282 exp-0_binary64_7281 sqr-abs_binary64_7254 sqr-neg_binary64_7253 neg-mul-1_binary64_7235 neg-sub0_binary64_7234 unsub-neg_binary64_7233 sub-neg_binary64_7232 mul-1-neg_binary64_7231 /-rgt-identity_binary64_7230 *-rgt-identity_binary64_7229 *-lft-identity_binary64_7228 remove-double-neg_binary64_7227 sub0-neg_binary64_7226 --rgt-identity_binary64_7225 +-rgt-identity_binary64_7224 +-lft-identity_binary64_7223 cancel-sign-sub-inv_binary64_7205 cancel-sign-sub_binary64_7204 distribute-neg-frac_binary64_7203 distribute-frac-neg_binary64_7202 distribute-neg-out_binary64_7201 distribute-neg-in_binary64_7200 distribute-rgt-neg-out_binary64_7199 distribute-lft-neg-out_binary64_7198 distribute-rgt-neg-in_binary64_7197 distribute-lft-neg-in_binary64_7196 +-commutative_binary64_7169
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057
177
Proof
(=> (* f64 (* f64 h0 h1) h1)) *-commutative_binary64_7170 => (* f64 h1 (* f64 h0 h1))

end0.0ms (0%)

sample712.0ms (18.2%)

Algorithm
intervals
Results
146.0ms8000×body128valid
3.0ms166×body128invalid
Compiler

Compiled 364 to 224 computations (38.5% saved)

Profiling

Loading profile data...