Details

Time bar (total: 2.8s)

analyze269.0ms (9.7%)

Algorithm
search
egg-herbie
Rules
676×div-sub_binary64_4175
494×times-frac_binary64_4176
252×sub-neg_binary64_4163
250×distribute-rgt-in_binary64_4120
230×associate-/l*_binary64_4115
196×distribute-lft-in_binary64_4119
156×cancel-sign-sub-inv_binary64_4136
144×unsub-neg_binary64_4164
128×associate-/r*_binary64_4114
74×distribute-rgt-neg-in_binary64_4128
69×distribute-neg-frac_binary64_4134
50×neg-mul-1_binary64_4166
46×distribute-rgt-neg-out_binary64_4130
44×distribute-frac-neg_binary64_4133 associate-*r*_binary64_4110
38×associate-/l/_binary64_4117 *-commutative_binary64_4101
34×associate--l-_binary64_4108
32×associate-*l*_binary64_4111
30×neg-sub0_binary64_4165 distribute-lft-neg-out_binary64_4129
28×distribute-lft-neg-in_binary64_4127 associate--r-_binary64_4109 associate--r+_binary64_4106
24×*-lft-identity_binary64_4159 associate-/r/_binary64_4116 +-commutative_binary64_4100
22×distribute-neg-in_binary64_4131
20×mul0-rgt_binary64_4153 div0_binary64_4151 associate-+l-_binary64_4105
18×mul0-lft_binary64_4152
16×associate-*l/_binary64_4113
14×associate--l+_binary64_4107 associate-+r-_binary64_4104 associate-+r+_binary64_4102
12×sub0-neg_binary64_4157 associate-*r/_binary64_4112
10×*-rgt-identity_binary64_4160
+-rgt-identity_binary64_4155
/-rgt-identity_binary64_4161 remove-double-neg_binary64_4158 distribute-rgt1-in_binary64_4126 associate-+l+_binary64_4103
+-lft-identity_binary64_4154
*-inverses_binary64_4150
1-exp_binary64_4214
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_4433 erf-erfc_binary64_4432 erf-odd_binary64_4431 if-if-and-not_binary64_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 not-gte_binary64_4422 not-lte_binary64_4421 not-gt_binary64_4420 not-lt_binary64_4419 gte-same_binary64_4418 lte-same_binary64_4417 gt-same_binary64_4416 lt-same_binary64_4415 sinh---cosh_binary64_4362 sinh-+-cosh_binary64_4361 sinh-cosh_binary64_4360 tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 cosh-def_binary64_4356 sinh-def_binary64_4355 tan-neg_binary64_4302 cos-neg_binary64_4301 sin-neg_binary64_4300 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 hang-m-tan_binary64_4296 hang-p-tan_binary64_4295 hang-m0-tan_binary64_4294 hang-p0-tan_binary64_4293 hang-0m-tan_binary64_4292 hang-0p-tan_binary64_4291 tan-+PI/2_binary64_4290 tan-+PI_binary64_4289 tan-PI_binary64_4288 tan-PI/3_binary64_4287 tan-PI/4_binary64_4286 tan-PI/6_binary64_4285 cos-+PI/2_binary64_4284 cos-+PI_binary64_4283 cos-PI_binary64_4282 cos-PI/2_binary64_4281 cos-PI/3_binary64_4280 cos-PI/4_binary64_4279 cos-PI/6_binary64_4278 sin-+PI/2_binary64_4277 sin-+PI_binary64_4276 sin-PI_binary64_4275 sin-PI/2_binary64_4274 sin-PI/3_binary64_4273 sin-PI/4_binary64_4272 sin-PI/6_binary64_4271 sub-1-sin_binary64_4270 sub-1-cos_binary64_4269 -1-add-sin_binary64_4268 -1-add-cos_binary64_4267 1-sub-sin_binary64_4266 1-sub-cos_binary64_4265 cos-sin-sum_binary64_4264 log-E_binary64_4260 log-pow_binary64_4259 log-rec_binary64_4258 log-div_binary64_4257 log-prod_binary64_4256 pow-base-0_binary64_4254 unpow1/3_binary64_4237 unpow3_binary64_4236 unpow2_binary64_4235 unpow1/2_binary64_4234 pow-plus_binary64_4233 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow1_binary64_4228 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-lft-sqr_binary64_4225 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 exp-prod_binary64_4222 div-exp_binary64_4221 rec-exp_binary64_4220 prod-exp_binary64_4219 exp-diff_binary64_4218 exp-neg_binary64_4217 exp-sum_binary64_4216 e-exp-1_binary64_4215 exp-1-e_binary64_4213 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 cube-unmult_binary64_4207 cube-mult_binary64_4200 cube-div_binary64_4199 cube-prod_binary64_4198 cube-neg_binary64_4197 rem-3cbrt-rft_binary64_4196 rem-3cbrt-lft_binary64_4195 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 sqr-neg_binary64_4184 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 mul-1-neg_binary64_4162 --rgt-identity_binary64_4156 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 pow-sqr_binary64_4143 sqr-pow_binary64_4142 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 difference-of-squares_binary64_4139 unswap-sqr_binary64_4138 swap-sqr_binary64_4137 cancel-sign-sub_binary64_4135 distribute-neg-out_binary64_4132 distribute-lft1-in_binary64_4125 distribute-rgt-out--_binary64_4124 distribute-rgt-out_binary64_4123 distribute-lft-out--_binary64_4122 distribute-lft-out_binary64_4121 count-2_binary64_4118
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
12420
23720
36020
410920
519720
639620
784520
8128620
9131720
10116520
11117720
12117920
13117920
14123120
15123920
16123920
17112620
022
122
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
25%74.9%0.1%3
25%74.9%0.1%4
43.7%56.2%0.1%5
46.8%53.1%0.1%6
78%21.9%0.1%7
82.7%17.2%0.1%8
89%10.9%0.1%9
91.3%8.6%0.1%10
94.4%5.5%0.1%11
95.6%4.3%0.1%12
97.2%2.7%0.1%13
97.8%2.1%0.1%14
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample14.0ms (0.5%)

Algorithm
intervals
Results
6.0ms256×body128valid
Compiler

Compiled 15 to 15 computations (0% saved)

simplify50.0ms (1.8%)

Algorithm
egg-herbie
Rules
346×div-sub_binary64_4175
278×times-frac_binary64_4176
129×sub-neg_binary64_4163
103×associate-/r/_binary64_4116
101×associate-/l*_binary64_4115
94×distribute-rgt-in_binary64_4120
82×associate-/r*_binary64_4114
81×distribute-lft-in_binary64_4119
78×associate-/l/_binary64_4117
70×cancel-sign-sub-inv_binary64_4136
41×distribute-neg-frac_binary64_4134
40×associate-*l/_binary64_4113
29×unsub-neg_binary64_4164
28×neg-mul-1_binary64_4166
25×distribute-frac-neg_binary64_4133
23×associate-*r/_binary64_4112
22×neg-sub0_binary64_4165
21×*-commutative_binary64_4101
20×distribute-lft-neg-out_binary64_4129 associate-*r*_binary64_4110
19×distribute-rgt-neg-in_binary64_4128 associate-*l*_binary64_4111
18×associate--l-_binary64_4108
17×distribute-rgt-neg-out_binary64_4130 associate--r-_binary64_4109 associate--r+_binary64_4106 associate-+l-_binary64_4105 +-commutative_binary64_4100
16×div0_binary64_4151
15×mul0-rgt_binary64_4153 distribute-lft-neg-in_binary64_4127
12×*-lft-identity_binary64_4159
10×mul0-lft_binary64_4152
sub0-neg_binary64_4157
*-rgt-identity_binary64_4160 associate-+l+_binary64_4103
+-lft-identity_binary64_4154 associate--l+_binary64_4107 associate-+r-_binary64_4104
distribute-neg-in_binary64_4131
+-rgt-identity_binary64_4155 associate-+r+_binary64_4102
mul-1-neg_binary64_4162 --rgt-identity_binary64_4156
/-rgt-identity_binary64_4161 distribute-lft-out_binary64_4121
1-exp_binary64_4214 remove-double-neg_binary64_4158 *-inverses_binary64_4150 distribute-neg-out_binary64_4132 distribute-rgt1-in_binary64_4126 distribute-rgt-out--_binary64_4124
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_4433 erf-erfc_binary64_4432 erf-odd_binary64_4431 if-if-and-not_binary64_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 not-gte_binary64_4422 not-lte_binary64_4421 not-gt_binary64_4420 not-lt_binary64_4419 gte-same_binary64_4418 lte-same_binary64_4417 gt-same_binary64_4416 lt-same_binary64_4415 sinh---cosh_binary64_4362 sinh-+-cosh_binary64_4361 sinh-cosh_binary64_4360 tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 cosh-def_binary64_4356 sinh-def_binary64_4355 tan-neg_binary64_4302 cos-neg_binary64_4301 sin-neg_binary64_4300 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 hang-m-tan_binary64_4296 hang-p-tan_binary64_4295 hang-m0-tan_binary64_4294 hang-p0-tan_binary64_4293 hang-0m-tan_binary64_4292 hang-0p-tan_binary64_4291 tan-+PI/2_binary64_4290 tan-+PI_binary64_4289 tan-PI_binary64_4288 tan-PI/3_binary64_4287 tan-PI/4_binary64_4286 tan-PI/6_binary64_4285 cos-+PI/2_binary64_4284 cos-+PI_binary64_4283 cos-PI_binary64_4282 cos-PI/2_binary64_4281 cos-PI/3_binary64_4280 cos-PI/4_binary64_4279 cos-PI/6_binary64_4278 sin-+PI/2_binary64_4277 sin-+PI_binary64_4276 sin-PI_binary64_4275 sin-PI/2_binary64_4274 sin-PI/3_binary64_4273 sin-PI/4_binary64_4272 sin-PI/6_binary64_4271 sub-1-sin_binary64_4270 sub-1-cos_binary64_4269 -1-add-sin_binary64_4268 -1-add-cos_binary64_4267 1-sub-sin_binary64_4266 1-sub-cos_binary64_4265 cos-sin-sum_binary64_4264 log-E_binary64_4260 log-pow_binary64_4259 log-rec_binary64_4258 log-div_binary64_4257 log-prod_binary64_4256 pow-base-0_binary64_4254 unpow1/3_binary64_4237 unpow3_binary64_4236 unpow2_binary64_4235 unpow1/2_binary64_4234 pow-plus_binary64_4233 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow1_binary64_4228 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-lft-sqr_binary64_4225 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 exp-prod_binary64_4222 div-exp_binary64_4221 rec-exp_binary64_4220 prod-exp_binary64_4219 exp-diff_binary64_4218 exp-neg_binary64_4217 exp-sum_binary64_4216 e-exp-1_binary64_4215 exp-1-e_binary64_4213 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 cube-unmult_binary64_4207 cube-mult_binary64_4200 cube-div_binary64_4199 cube-prod_binary64_4198 cube-neg_binary64_4197 rem-3cbrt-rft_binary64_4196 rem-3cbrt-lft_binary64_4195 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 sqr-neg_binary64_4184 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 pow-sqr_binary64_4143 sqr-pow_binary64_4142 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 difference-of-squares_binary64_4139 unswap-sqr_binary64_4138 swap-sqr_binary64_4137 cancel-sign-sub_binary64_4135 distribute-lft1-in_binary64_4125 distribute-rgt-out_binary64_4123 distribute-lft-out--_binary64_4122 count-2_binary64_4118
Counts
1 → 0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11510
22210
33510
45910
59910
617610
732410
856610
973910
1083210
1178010
1278210
1378210
1469010

prune2.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
0.0b
Counts
1 → 1
Compiler

Compiled 7 to 6 computations (14.3% saved)

localize4.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(/.f64 (-.f64 x y) (-.f64 1 y))

rewrite72.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
46×add-sqr-sqrt_binary64_4192 *-un-lft-identity_binary64_4170
30×times-frac_binary64_4176
19×difference-of-squares_binary64_4139
14×add-cube-cbrt_binary64_4205
13×distribute-lft-out--_binary64_4122
associate-/r*_binary64_4114
associate-/l*_binary64_4115
add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206
flip3--_binary64_4174 associate-/l/_binary64_4117 flip--_binary64_4145 associate-/r/_binary64_4116
pow1_binary64_4231 div-exp_binary64_4221 add-log-exp_binary64_4209 cbrt-undiv_binary64_4204 frac-2neg_binary64_4181 div-sub_binary64_4175 clear-num_binary64_4169 div-inv_binary64_4167
Counts
1 → 58
Calls

1 calls:

10.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 951 to 476 computations (49.9% saved)

series170.0ms (6.1%)

Error
0b
Counts
1 → 18
Calls

1 calls:

152.0ms
(/.f64 (-.f64 x y) (-.f64 1 y))
Compiler

Compiled 493 to 365 computations (26% saved)

simplify99.0ms (3.6%)

Algorithm
egg-herbie
Rules
834×div-sub_binary64_4175
806×times-frac_binary64_4176
405×sub-neg_binary64_4163
207×associate--l+_binary64_4107
179×associate-+l+_binary64_4103
157×distribute-rgt-in_binary64_4120
141×unsub-neg_binary64_4164
138×+-commutative_binary64_4100
128×distribute-lft-in_binary64_4119
125×associate--r+_binary64_4106
105×associate-+r+_binary64_4102
104×distribute-rgt-neg-out_binary64_4130
78×associate-*l/_binary64_4113
74×associate-*l*_binary64_4111
71×*-commutative_binary64_4101
69×associate-*r*_binary64_4110
66×neg-sub0_binary64_4165
65×associate-/r*_binary64_4114
58×associate-/l*_binary64_4115
57×cancel-sign-sub_binary64_4135 associate-/l/_binary64_4117
55×associate-*r/_binary64_4112
52×distribute-frac-neg_binary64_4133
51×neg-mul-1_binary64_4166
50×distribute-neg-frac_binary64_4134
42×associate-+l-_binary64_4105
39×cancel-sign-sub-inv_binary64_4136
38×associate-+r-_binary64_4104
34×associate-/r/_binary64_4116
30×distribute-neg-in_binary64_4131
28×+-rgt-identity_binary64_4155
27×*-rgt-identity_binary64_4160 distribute-rgt-out_binary64_4123
22×exp-prod_binary64_4222
20×sub0-neg_binary64_4157
19×cube-prod_binary64_4198
18×*-lft-identity_binary64_4159 sqr-pow_binary64_4142
16×unswap-sqr_binary64_4138 distribute-lft-neg-out_binary64_4129
13×distribute-neg-out_binary64_4132
11×exp-diff_binary64_4218 distribute-rgt-neg-in_binary64_4128
10×distribute-lft-neg-in_binary64_4127
sqr-neg_binary64_4184 mul-1-neg_binary64_4162
cube-unmult_binary64_4207 /-rgt-identity_binary64_4161 associate--l-_binary64_4108
unpow3_binary64_4236 exp-sum_binary64_4216 distribute-rgt1-in_binary64_4126
cube-div_binary64_4199 swap-sqr_binary64_4137 distribute-lft1-in_binary64_4125 distribute-rgt-out--_binary64_4124
cube-neg_binary64_4197
log-div_binary64_4257 log-prod_binary64_4256 pow-plus_binary64_4233 difference-of-sqr-1_binary64_4140 associate--r-_binary64_4109
cube-mult_binary64_4200
unpow2_binary64_4235 unpow1/2_binary64_4234 unpow1_binary64_4228 exp-neg_binary64_4217 1-exp_binary64_4214 rem-sqrt-square_binary64_4183 remove-double-neg_binary64_4158 --rgt-identity_binary64_4156 div0_binary64_4151 *-inverses_binary64_4150 pow-sqr_binary64_4143 difference-of-sqr--1_binary64_4141 difference-of-squares_binary64_4139 distribute-lft-out--_binary64_4122 distribute-lft-out_binary64_4121
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_4433 erf-erfc_binary64_4432 erf-odd_binary64_4431 if-if-and-not_binary64_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 not-gte_binary64_4422 not-lte_binary64_4421 not-gt_binary64_4420 not-lt_binary64_4419 gte-same_binary64_4418 lte-same_binary64_4417 gt-same_binary64_4416 lt-same_binary64_4415 sinh---cosh_binary64_4362 sinh-+-cosh_binary64_4361 sinh-cosh_binary64_4360 tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 cosh-def_binary64_4356 sinh-def_binary64_4355 tan-neg_binary64_4302 cos-neg_binary64_4301 sin-neg_binary64_4300 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 hang-m-tan_binary64_4296 hang-p-tan_binary64_4295 hang-m0-tan_binary64_4294 hang-p0-tan_binary64_4293 hang-0m-tan_binary64_4292 hang-0p-tan_binary64_4291 tan-+PI/2_binary64_4290 tan-+PI_binary64_4289 tan-PI_binary64_4288 tan-PI/3_binary64_4287 tan-PI/4_binary64_4286 tan-PI/6_binary64_4285 cos-+PI/2_binary64_4284 cos-+PI_binary64_4283 cos-PI_binary64_4282 cos-PI/2_binary64_4281 cos-PI/3_binary64_4280 cos-PI/4_binary64_4279 cos-PI/6_binary64_4278 sin-+PI/2_binary64_4277 sin-+PI_binary64_4276 sin-PI_binary64_4275 sin-PI/2_binary64_4274 sin-PI/3_binary64_4273 sin-PI/4_binary64_4272 sin-PI/6_binary64_4271 sub-1-sin_binary64_4270 sub-1-cos_binary64_4269 -1-add-sin_binary64_4268 -1-add-cos_binary64_4267 1-sub-sin_binary64_4266 1-sub-cos_binary64_4265 cos-sin-sum_binary64_4264 log-E_binary64_4260 log-pow_binary64_4259 log-rec_binary64_4258 pow-base-0_binary64_4254 unpow1/3_binary64_4237 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-lft-sqr_binary64_4225 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 div-exp_binary64_4221 rec-exp_binary64_4220 prod-exp_binary64_4219 e-exp-1_binary64_4215 exp-1-e_binary64_4213 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 rem-3cbrt-rft_binary64_4196 rem-3cbrt-lft_binary64_4195 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 rem-square-sqrt_binary64_4182 +-lft-identity_binary64_4154 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 count-2_binary64_4118
Counts
76 → 42
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01281471
13251421
28671413
326911413
445121413
556681413

prune38.0ms (1.4%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New40242
Fresh000
Picked011
Done000
Total40343
Error
0b
Counts
43 → 3
Compiler

Compiled 642 to 305 computations (52.5% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 1 (/.f64 1 y))
0.0b
(-.f64 (+.f64 1 (/.f64 1 y)) (/.f64 x y))

rewrite73.0ms (2.6%)

Algorithm
rewrite-expression-head
Error
0b
Rules
19×*-un-lft-identity_binary64_4170
14×add-sqr-sqrt_binary64_4192
13×cancel-sign-sub-inv_binary64_4136
10×times-frac_binary64_4176
add-log-exp_binary64_4209 add-cube-cbrt_binary64_4205
distribute-lft-out_binary64_4121
div-inv_binary64_4167 distribute-lft-out--_binary64_4122
sum-log_binary64_4261 diff-log_binary64_4262 pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 flip3-+_binary64_4173 frac-sub_binary64_4179 flip-+_binary64_4144 difference-of-squares_binary64_4139
flip3--_binary64_4174 sub-neg_binary64_4163 flip--_binary64_4145 associate--l+_binary64_4107 +-commutative_binary64_4100
Counts
2 → 46
Calls

2 calls:

16.0ms
(-.f64 (+.f64 1 (/.f64 1 y)) (/.f64 x y))
7.0ms
(+.f64 1 (/.f64 1 y))
Compiler

Compiled 835 to 527 computations (36.9% saved)

series145.0ms (5.2%)

Error
0b
Counts
2 → 18
Calls

2 calls:

115.0ms
(-.f64 (+.f64 1 (/.f64 1 y)) (/.f64 x y))
20.0ms
(+.f64 1 (/.f64 1 y))
Compiler

Compiled 321 to 255 computations (20.6% saved)

simplify85.0ms (3.1%)

Algorithm
egg-herbie
Rules
418×div-sub_binary64_4175
268×distribute-rgt-in_binary64_4120
250×distribute-lft-in_binary64_4119
247×cancel-sign-sub-inv_binary64_4136
242×exp-prod_binary64_4222
215×associate-*r*_binary64_4110
211×associate-*l*_binary64_4111
193×distribute-lft-neg-out_binary64_4129
188×associate-*l/_binary64_4113
185×associate-/l*_binary64_4115
176×distribute-rgt-neg-out_binary64_4130
158×unsub-neg_binary64_4164
156×associate-*r/_binary64_4112
147×distribute-rgt-out_binary64_4123
132×distribute-neg-frac_binary64_4134
123×sub-neg_binary64_4163
113×cube-prod_binary64_4198
107×distribute-rgt-neg-in_binary64_4128
104×*-commutative_binary64_4101
78×cube-div_binary64_4199
74×distribute-lft-neg-in_binary64_4127
71×neg-sub0_binary64_4165
64×exp-sum_binary64_4216 associate-/l/_binary64_4117 associate-+l+_binary64_4103
63×exp-diff_binary64_4218 neg-mul-1_binary64_4166
55×times-frac_binary64_4176 distribute-frac-neg_binary64_4133 +-commutative_binary64_4100
50×swap-sqr_binary64_4137
47×sqr-pow_binary64_4142
46×associate-/r*_binary64_4114 associate-+r+_binary64_4102
44×distribute-lft-out_binary64_4121
40×sqr-neg_binary64_4184 distribute-neg-in_binary64_4131
34×*-lft-identity_binary64_4159
33×associate-/r/_binary64_4116
31×unswap-sqr_binary64_4138
29×*-rgt-identity_binary64_4160
27×unpow3_binary64_4236
23×exp-neg_binary64_4217
21×mul0-rgt_binary64_4153 mul0-lft_binary64_4152
20×distribute-rgt1-in_binary64_4126
17×cube-unmult_binary64_4207 cube-mult_binary64_4200
16×associate-+l-_binary64_4105
15×difference-of-squares_binary64_4139 distribute-rgt-out--_binary64_4124
14×associate-+r-_binary64_4104
13×associate--l+_binary64_4107
12×+-rgt-identity_binary64_4155 div0_binary64_4151
11×sub0-neg_binary64_4157
10×associate--r+_binary64_4106
pow-plus_binary64_4233 cube-neg_binary64_4197 rem-sqrt-square_binary64_4183 /-rgt-identity_binary64_4161
distribute-lft1-in_binary64_4125
div-exp_binary64_4221
log-prod_binary64_4256 mul-1-neg_binary64_4162 cancel-sign-sub_binary64_4135 distribute-neg-out_binary64_4132
unpow1/2_binary64_4234 rem-square-sqrt_binary64_4182 pow-sqr_binary64_4143 difference-of-sqr-1_binary64_4140
rem-3cbrt-lft_binary64_4195 remove-double-neg_binary64_4158
prod-exp_binary64_4219 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-3cbrt-rft_binary64_4196 rem-cbrt-cube_binary64_4194 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 associate--r-_binary64_4109
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_4433 erf-erfc_binary64_4432 erf-odd_binary64_4431 if-if-and-not_binary64_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 not-gte_binary64_4422 not-lte_binary64_4421 not-gt_binary64_4420 not-lt_binary64_4419 gte-same_binary64_4418 lte-same_binary64_4417 gt-same_binary64_4416 lt-same_binary64_4415 sinh---cosh_binary64_4362 sinh-+-cosh_binary64_4361 sinh-cosh_binary64_4360 tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 cosh-def_binary64_4356 sinh-def_binary64_4355 tan-neg_binary64_4302 cos-neg_binary64_4301 sin-neg_binary64_4300 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 hang-m-tan_binary64_4296 hang-p-tan_binary64_4295 hang-m0-tan_binary64_4294 hang-p0-tan_binary64_4293 hang-0m-tan_binary64_4292 hang-0p-tan_binary64_4291 tan-+PI/2_binary64_4290 tan-+PI_binary64_4289 tan-PI_binary64_4288 tan-PI/3_binary64_4287 tan-PI/4_binary64_4286 tan-PI/6_binary64_4285 cos-+PI/2_binary64_4284 cos-+PI_binary64_4283 cos-PI_binary64_4282 cos-PI/2_binary64_4281 cos-PI/3_binary64_4280 cos-PI/4_binary64_4279 cos-PI/6_binary64_4278 sin-+PI/2_binary64_4277 sin-+PI_binary64_4276 sin-PI_binary64_4275 sin-PI/2_binary64_4274 sin-PI/3_binary64_4273 sin-PI/4_binary64_4272 sin-PI/6_binary64_4271 sub-1-sin_binary64_4270 sub-1-cos_binary64_4269 -1-add-sin_binary64_4268 -1-add-cos_binary64_4267 1-sub-sin_binary64_4266 1-sub-cos_binary64_4265 cos-sin-sum_binary64_4264 log-E_binary64_4260 log-pow_binary64_4259 log-rec_binary64_4258 log-div_binary64_4257 pow-base-0_binary64_4254 unpow1/3_binary64_4237 unpow2_binary64_4235 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow1_binary64_4228 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-lft-sqr_binary64_4225 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 rec-exp_binary64_4220 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 --rgt-identity_binary64_4156 +-lft-identity_binary64_4154 *-inverses_binary64_4150 +-inverses_binary64_4149 remove-double-div_binary64_4146 difference-of-sqr--1_binary64_4141 distribute-lft-out--_binary64_4122 count-2_binary64_4118 associate--l-_binary64_4108
Counts
64 → 42
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0116775
1315754
2891735
32851714
44241714
55324714

prune34.0ms (1.2%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New42042
Fresh011
Picked011
Done011
Total42345
Error
0b
Counts
45 → 3
Compiler

Compiled 498 to 316 computations (36.5% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

0.0b
(*.f64 (+.f64 y 1) (-.f64 x y))
0.1b
(*.f64 y (*.f64 y x))
5.3b
(+.f64 (*.f64 y (*.f64 y x)) (*.f64 (+.f64 y 1) (-.f64 x y)))

rewrite103.0ms (3.7%)

Algorithm
rewrite-expression-head
Error
0b
Rules
14×add-sqr-sqrt_binary64_4192 *-un-lft-identity_binary64_4170
12×cancel-sign-sub-inv_binary64_4136
10×pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 add-cube-cbrt_binary64_4205
distribute-rgt-in_binary64_4120 associate-+r+_binary64_4102 distribute-lft-in_binary64_4119
associate-*l*_binary64_4111
associate-*r*_binary64_4110
add-log-exp_binary64_4209
flip3-+_binary64_4173 flip-+_binary64_4144 sub-neg_binary64_4163 pow-prod-down_binary64_4241 prod-exp_binary64_4219 cbrt-unprod_binary64_4203 frac-times_binary64_4180
flip3--_binary64_4174 flip--_binary64_4145
*-commutative_binary64_4101 associate-*l/_binary64_4113 associate-*r/_binary64_4112
sum-log_binary64_4261 +-commutative_binary64_4100 unswap-sqr_binary64_4138 distribute-lft-out_binary64_4121 difference-of-squares_binary64_4139 distribute-lft-out--_binary64_4122
Counts
3 → 74
Calls

3 calls:

10.0ms
(*.f64 (+.f64 y 1) (-.f64 x y))
8.0ms
(+.f64 (*.f64 y (*.f64 y x)) (*.f64 (+.f64 y 1) (-.f64 x y)))
5.0ms
(*.f64 y (*.f64 y x))
Compiler

Compiled 1631 to 662 computations (59.4% saved)

series517.0ms (18.6%)

Error
0b
Counts
3 → 36
Calls

3 calls:

267.0ms
(+.f64 (*.f64 y (*.f64 y x)) (*.f64 (+.f64 y 1) (-.f64 x y)))
143.0ms
(*.f64 (+.f64 y 1) (-.f64 x y))
83.0ms
(*.f64 y (*.f64 y x))
Compiler

Compiled 1214 to 747 computations (38.5% saved)

simplify115.0ms (4.1%)

Algorithm
egg-herbie
Rules
448×*-commutative_binary64_4101
334×exp-prod_binary64_4222
298×exp-sum_binary64_4216
296×distribute-rgt-neg-in_binary64_4128
295×unswap-sqr_binary64_4138
271×unsub-neg_binary64_4164
229×distribute-lft-neg-in_binary64_4127
219×sub-neg_binary64_4163
211×associate-*l*_binary64_4111
185×associate-*r*_binary64_4110
170×associate-+l+_binary64_4103
160×distribute-neg-in_binary64_4131
138×associate-+r+_binary64_4102
137×exp-diff_binary64_4218
131×+-commutative_binary64_4100
128×distribute-rgt-in_binary64_4120
117×distribute-lft-in_binary64_4119
116×neg-sub0_binary64_4165
110×cancel-sign-sub-inv_binary64_4136
108×neg-mul-1_binary64_4166
77×sqr-pow_binary64_4142
75×log-prod_binary64_4256
70×distribute-lft-neg-out_binary64_4129
60×associate--l+_binary64_4107
59×distribute-rgt-out_binary64_4123
54×distribute-rgt-neg-out_binary64_4130
50×associate--r+_binary64_4106
46×associate-+l-_binary64_4105
34×distribute-rgt-out--_binary64_4124 associate-+r-_binary64_4104
33×swap-sqr_binary64_4137
32×cube-prod_binary64_4198
29×*-lft-identity_binary64_4159
27×*-rgt-identity_binary64_4160
25×distribute-lft-out_binary64_4121
24×cancel-sign-sub_binary64_4135
22×remove-double-neg_binary64_4158
20×+-rgt-identity_binary64_4155
16×exp-neg_binary64_4217 difference-of-squares_binary64_4139
15×sub0-neg_binary64_4157 distribute-lft-out--_binary64_4122
14×pow-sqr_binary64_4143
12×unpow3_binary64_4236
10×pow-plus_binary64_4233
mul-1-neg_binary64_4162
log-pow_binary64_4259 unpow1/2_binary64_4234
distribute-neg-out_binary64_4132 distribute-rgt1-in_binary64_4126 associate--r-_binary64_4109
cube-unmult_binary64_4207
cube-mult_binary64_4200 div-sub_binary64_4175
associate-/l*_binary64_4115 associate--l-_binary64_4108
difference-of-sqr-1_binary64_4140 distribute-lft1-in_binary64_4125
unpow2_binary64_4235 unpow1_binary64_4228 prod-exp_binary64_4219 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-3cbrt-lft_binary64_4195 sqr-neg_binary64_4184 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 --rgt-identity_binary64_4156 difference-of-sqr--1_binary64_4141 count-2_binary64_4118
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_4433 erf-erfc_binary64_4432 erf-odd_binary64_4431 if-if-and-not_binary64_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 not-gte_binary64_4422 not-lte_binary64_4421 not-gt_binary64_4420 not-lt_binary64_4419 gte-same_binary64_4418 lte-same_binary64_4417 gt-same_binary64_4416 lt-same_binary64_4415 sinh---cosh_binary64_4362 sinh-+-cosh_binary64_4361 sinh-cosh_binary64_4360 tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 cosh-def_binary64_4356 sinh-def_binary64_4355 tan-neg_binary64_4302 cos-neg_binary64_4301 sin-neg_binary64_4300 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 hang-m-tan_binary64_4296 hang-p-tan_binary64_4295 hang-m0-tan_binary64_4294 hang-p0-tan_binary64_4293 hang-0m-tan_binary64_4292 hang-0p-tan_binary64_4291 tan-+PI/2_binary64_4290 tan-+PI_binary64_4289 tan-PI_binary64_4288 tan-PI/3_binary64_4287 tan-PI/4_binary64_4286 tan-PI/6_binary64_4285 cos-+PI/2_binary64_4284 cos-+PI_binary64_4283 cos-PI_binary64_4282 cos-PI/2_binary64_4281 cos-PI/3_binary64_4280 cos-PI/4_binary64_4279 cos-PI/6_binary64_4278 sin-+PI/2_binary64_4277 sin-+PI_binary64_4276 sin-PI_binary64_4275 sin-PI/2_binary64_4274 sin-PI/3_binary64_4273 sin-PI/4_binary64_4272 sin-PI/6_binary64_4271 sub-1-sin_binary64_4270 sub-1-cos_binary64_4269 -1-add-sin_binary64_4268 -1-add-cos_binary64_4267 1-sub-sin_binary64_4266 1-sub-cos_binary64_4265 cos-sin-sum_binary64_4264 log-E_binary64_4260 log-rec_binary64_4258 log-div_binary64_4257 pow-base-0_binary64_4254 unpow1/3_binary64_4237 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-lft-sqr_binary64_4225 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 div-exp_binary64_4221 rec-exp_binary64_4220 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 cube-div_binary64_4199 cube-neg_binary64_4197 rem-3cbrt-rft_binary64_4196 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 times-frac_binary64_4176 /-rgt-identity_binary64_4161 +-lft-identity_binary64_4154 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 div0_binary64_4151 *-inverses_binary64_4150 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 distribute-neg-frac_binary64_4134 distribute-frac-neg_binary64_4133 associate-/l/_binary64_4117 associate-/r/_binary64_4116 associate-/r*_binary64_4114 associate-*l/_binary64_4113 associate-*r/_binary64_4112
Counts
110 → 88
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01561680
14481551
214971474
329101472
445131472
549971472

prune71.0ms (2.5%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New88088
Fresh000
Picked011
Done022
Total88391
Error
0b
Counts
91 → 3
Compiler

Compiled 1467 to 519 computations (64.6% saved)

regimes145.0ms (5.2%)

Accuracy

Total 0.0b remaining (90.4%)

Threshold costs 0.0b (90.4%)

Compiler

Compiled 953 to 783 computations (17.8% saved)

bsearch0.0ms (0%)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
sub-neg_binary64_4163 +-commutative_binary64_4100
neg-mul-1_binary64_4166 neg-sub0_binary64_4165 *-commutative_binary64_4101
1-exp_binary64_4214 distribute-neg-frac_binary64_4134
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_4430 if-if-and_binary64_4429 if-if-or-not_binary64_4428 if-if-or_binary64_4427 if-not_binary64_4426 if-same_binary64_4425 if-false_binary64_4424 if-true_binary64_4423 tan-0_binary64_4299 cos-0_binary64_4298 sin-0_binary64_4297 unpow1_binary64_4228 e-exp-1_binary64_4215 exp-1-e_binary64_4213 exp-0_binary64_4212 sqr-abs_binary64_4185 sqr-neg_binary64_4184 unsub-neg_binary64_4164 mul-1-neg_binary64_4162 /-rgt-identity_binary64_4161 *-rgt-identity_binary64_4160 *-lft-identity_binary64_4159 remove-double-neg_binary64_4158 sub0-neg_binary64_4157 --rgt-identity_binary64_4156 +-rgt-identity_binary64_4155 +-lft-identity_binary64_4154 cancel-sign-sub-inv_binary64_4136 cancel-sign-sub_binary64_4135 distribute-frac-neg_binary64_4133 distribute-neg-out_binary64_4132 distribute-neg-in_binary64_4131 distribute-rgt-neg-out_binary64_4130 distribute-lft-neg-out_binary64_4129 distribute-rgt-neg-in_binary64_4128 distribute-lft-neg-in_binary64_4127
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0816
11416
22216
32616
42816
52716

end0.0ms (0%)

sample754.0ms (27.2%)

Algorithm
intervals
Results
182.0ms8000×body128valid
Compiler

Compiled 309 to 254 computations (17.8% saved)

Profiling

Loading profile data...