Details

Time bar (total: 7.8s)

analyze327.0ms (4.2%)

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
6.2%93.6%0.1%6
15.6%84.3%0.1%7
25%74.9%0.1%8
37.4%62.4%0.1%9
46.8%53%0.1%10
55%44.9%0.1%11
64.2%35.7%0.1%12
70.3%29.5%0.1%13
75.4%24.4%0.1%14
Compiler

Compiled 12 to 9 computations (25% saved)

sample20.0ms (0.3%)

Algorithm
intervals
Results
9.0ms244×body128valid
1.0msbody1024valid
0.0msbody512valid
0.0msbody2048valid
0.0msbody256valid
Compiler

Compiled 23 to 20 computations (13% saved)

simplify551.0ms (7.1%)

Algorithm
egg-herbie
Rules
703×exp-prod_binary64_4222
516×exp-sum_binary64_4216
505×sqr-pow_binary64_4142
391×pow-sqr_binary64_4143
364×distribute-rgt-in_binary64_4120
272×pow-plus_binary64_4233
248×associate-+l+_binary64_4103
195×associate-/r*_binary64_4114
177×associate-/l/_binary64_4117
163×distribute-rgt1-in_binary64_4126
150×*-commutative_binary64_4101
142×associate-*l*_binary64_4111
139×distribute-rgt-out_binary64_4123
132×associate-+r+_binary64_4102
121×associate-*r*_binary64_4110
113×pow-base-1_binary64_4230
106×unswap-sqr_binary64_4138
93×distribute-lft-in_binary64_4119
92×neg-mul-1_binary64_4166 neg-sub0_binary64_4165
91×cancel-sign-sub-inv_binary64_4136 distribute-lft-neg-in_binary64_4127
81×distribute-lft-out_binary64_4121
72×rem-sqrt-square_binary64_4183
68×times-frac_binary64_4176
67×+-commutative_binary64_4100
61×distribute-rgt-neg-in_binary64_4128
28×cube-unmult_binary64_4207
26×swap-sqr_binary64_4137 associate-/l*_binary64_4115
23×count-2_binary64_4118
20×associate-/r/_binary64_4116
19×*-lft-identity_binary64_4159 distribute-lft1-in_binary64_4125
18×/-rgt-identity_binary64_4161 *-rgt-identity_binary64_4160
13×cube-prod_binary64_4198
12×exp-lft-sqr_binary64_4225 exp-sqrt_binary64_4223 prod-exp_binary64_4219
10×distribute-neg-frac_binary64_4134
div-exp_binary64_4221
cube-div_binary64_4199
rec-exp_binary64_4220
unpow3_binary64_4236 1-exp_binary64_4214 exp-1-e_binary64_4213 sub-neg_binary64_4163 --rgt-identity_binary64_4156 +-rgt-identity_binary64_4155 div0_binary64_4151 *-inverses_binary64_4150 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 associate-*r/_binary64_4112
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 unpow2_binary64_4235 unpow1/2_binary64_4234 exp-to-pow_binary64_4232 unpow0_binary64_4229 unpow1_binary64_4228 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-cbrt_binary64_4224 exp-diff_binary64_4218 exp-neg_binary64_4217 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-log-exp_binary64_4211 rem-exp-log_binary64_4210 cube-mult_binary64_4200 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-square-sqrt_binary64_4182 div-sub_binary64_4175 unsub-neg_binary64_4164 mul-1-neg_binary64_4162 remove-double-neg_binary64_4158 sub0-neg_binary64_4157 +-lft-identity_binary64_4154 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 +-inverses_binary64_4149 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 difference-of-squares_binary64_4139 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-out--_binary64_4124 distribute-lft-out--_binary64_4122 associate-*l/_binary64_4113 associate--r-_binary64_4109 associate--l-_binary64_4108 associate--l+_binary64_4107 associate--r+_binary64_4106 associate-+l-_binary64_4105 associate-+r-_binary64_4104
Counts
1 → 3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0916
12113
25813
312313
414713
515313
615913
715513
817313
916713
1018313
1120213
1228713
1389613
14187013
15343313

prune6.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New123
Fresh101
Picked000
Done000
Total224
Error
0.1b
Counts
4 → 2
Compiler

Compiled 49 to 33 computations (32.7% saved)

localize6.0ms (0.1%)

Local error

Found 2 expressions with local error:

0.0b
(+.f64 (*.f64 2 (+.f64 x y)) z)
0.0b
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))

rewrite48.0ms (0.6%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_4209
sum-log_binary64_4261 *-un-lft-identity_binary64_4170
pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 add-cube-cbrt_binary64_4205 add-sqr-sqrt_binary64_4192 flip3-+_binary64_4173 flip-+_binary64_4144 +-commutative_binary64_4100 associate-+l+_binary64_4103
distribute-lft-out_binary64_4121 associate-+r+_binary64_4102 distribute-rgt-in_binary64_4120 distribute-lft-in_binary64_4119
Counts
2 → 27
Calls

2 calls:

10.0ms
(+.f64 (*.f64 2 (+.f64 x y)) z)
8.0ms
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))
Compiler

Compiled 475 to 252 computations (46.9% saved)

series385.0ms (4.9%)

Error
0.0b
Counts
2 → 36
Calls

2 calls:

181.0ms
(+.f64 (*.f64 2 (+.f64 x y)) z)
180.0ms
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))
Compiler

Compiled 700 to 609 computations (13% saved)

simplify133.0ms (1.7%)

Algorithm
egg-herbie
Rules
499×distribute-rgt-in_binary64_4120
467×distribute-lft-in_binary64_4119
425×associate--r+_binary64_4106
371×associate--l+_binary64_4107
319×cancel-sign-sub-inv_binary64_4136
202×distribute-neg-in_binary64_4131
175×associate-*l*_binary64_4111
154×associate-+l+_binary64_4103
147×distribute-rgt-out_binary64_4123 associate-*r*_binary64_4110
146×sub-neg_binary64_4163
145×associate-+l-_binary64_4105
129×associate-+r+_binary64_4102
113×associate-+r-_binary64_4104
78×distribute-rgt-neg-in_binary64_4128
76×prod-exp_binary64_4219
69×distribute-lft-neg-in_binary64_4127
68×*-commutative_binary64_4101
61×unsub-neg_binary64_4164
55×distribute-lft-out_binary64_4121
48×sqr-pow_binary64_4142
41×distribute-lft-neg-out_binary64_4129 +-commutative_binary64_4100
39×neg-sub0_binary64_4165
38×neg-mul-1_binary64_4166
33×distribute-rgt-out--_binary64_4124
30×distribute-rgt-neg-out_binary64_4130
28×pow-sqr_binary64_4143
26×associate--l-_binary64_4108
25×exp-sum_binary64_4216
20×unswap-sqr_binary64_4138
16×+-rgt-identity_binary64_4155
14×associate--r-_binary64_4109
10×unpow3_binary64_4236
sub0-neg_binary64_4157
exp-prod_binary64_4222 distribute-lft-out--_binary64_4122
cube-unmult_binary64_4207 cube-mult_binary64_4200 swap-sqr_binary64_4137
difference-of-squares_binary64_4139 associate-/l/_binary64_4117
distribute-neg-out_binary64_4132
unpow1_binary64_4228 exp-lft-sqr_binary64_4225 associate-/l*_binary64_4115 associate-*r/_binary64_4112
cube-prod_binary64_4198 distribute-rgt1-in_binary64_4126
pow-plus_binary64_4233 1-exp_binary64_4214 *-inverses_binary64_4150 cancel-sign-sub_binary64_4135 distribute-lft1-in_binary64_4125 count-2_binary64_4118 associate-*l/_binary64_4113
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 unpow2_binary64_4235 unpow1/2_binary64_4234 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 div-exp_binary64_4221 rec-exp_binary64_4220 exp-diff_binary64_4218 exp-neg_binary64_4217 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-div_binary64_4199 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 times-frac_binary64_4176 div-sub_binary64_4175 mul-1-neg_binary64_4162 /-rgt-identity_binary64_4161 *-rgt-identity_binary64_4160 *-lft-identity_binary64_4159 remove-double-neg_binary64_4158 --rgt-identity_binary64_4156 +-lft-identity_binary64_4154 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 div0_binary64_4151 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 distribute-neg-frac_binary64_4134 distribute-frac-neg_binary64_4133 associate-/r/_binary64_4116 associate-/r*_binary64_4114
Counts
63 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
063813
1183759
2606753
32655753
44991753

prune126.0ms (1.6%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1084112
Fresh101
Picked101
Done000
Total1104114
Error
0.0b
Counts
114 → 4
Compiler

Compiled 2244 to 1186 computations (47.1% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

0.0b
(+.f64 (+.f64 z (*.f64 2 y)) (*.f64 3 x))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
add-log-exp_binary64_4209
sum-log_binary64_4261
pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 add-cube-cbrt_binary64_4205 add-sqr-sqrt_binary64_4192 flip3-+_binary64_4173 *-un-lft-identity_binary64_4170 flip-+_binary64_4144 associate-+l+_binary64_4103 +-commutative_binary64_4100
Counts
1 → 13
Calls

1 calls:

5.0ms
(+.f64 (+.f64 z (*.f64 2 y)) (*.f64 3 x))
Compiler

Compiled 242 to 176 computations (27.3% saved)

series205.0ms (2.6%)

Error
0.0b
Counts
1 → 18
Calls

1 calls:

193.0ms
(+.f64 (+.f64 z (*.f64 2 y)) (*.f64 3 x))
Compiler

Compiled 305 to 284 computations (6.9% saved)

simplify130.0ms (1.7%)

Algorithm
egg-herbie
Rules
437×associate--r+_binary64_4106
326×associate--l+_binary64_4107
316×*-commutative_binary64_4101
298×sub-neg_binary64_4163
286×associate-+l-_binary64_4105
276×distribute-rgt-in_binary64_4120
271×+-commutative_binary64_4100
261×distribute-lft-in_binary64_4119
226×unsub-neg_binary64_4164
208×unswap-sqr_binary64_4138
195×associate-+r-_binary64_4104
164×cancel-sign-sub-inv_binary64_4136
143×associate-*l*_binary64_4111
133×distribute-rgt-out_binary64_4123
124×neg-mul-1_binary64_4166
117×associate--r-_binary64_4109
114×distribute-rgt-neg-in_binary64_4128
109×neg-sub0_binary64_4165 distribute-neg-in_binary64_4131
108×associate-*r*_binary64_4110
100×distribute-lft-neg-in_binary64_4127
98×cancel-sign-sub_binary64_4135
94×associate-+l+_binary64_4103
84×times-frac_binary64_4176
73×prod-exp_binary64_4219 sqr-pow_binary64_4142
68×distribute-lft-out_binary64_4121
66×sub0-neg_binary64_4157 associate-+r+_binary64_4102
58×distribute-rgt-out--_binary64_4124
49×associate--l-_binary64_4108
47×pow-sqr_binary64_4143
37×+-rgt-identity_binary64_4155
32×distribute-lft-neg-out_binary64_4129
25×--rgt-identity_binary64_4156
22×associate-/l/_binary64_4117
16×distribute-rgt-neg-out_binary64_4130
15×associate-/l*_binary64_4115
14×remove-double-neg_binary64_4158 distribute-lft-out--_binary64_4122
13×exp-sum_binary64_4216
12×associate-*r/_binary64_4112
exp-prod_binary64_4222 cube-unmult_binary64_4207 difference-of-squares_binary64_4139 distribute-neg-out_binary64_4132
swap-sqr_binary64_4137
pow-plus_binary64_4233
unpow3_binary64_4236 cube-mult_binary64_4200
cube-prod_binary64_4198 /-rgt-identity_binary64_4161
count-2_binary64_4118
exp-lft-sqr_binary64_4225 exp-diff_binary64_4218 associate-/r/_binary64_4116 associate-*l/_binary64_4113
unpow1_binary64_4228 exp-lft-cube_binary64_4226 exp-sqrt_binary64_4223 1-exp_binary64_4214 cube-div_binary64_4199 sqr-neg_binary64_4184 *-rgt-identity_binary64_4160 +-lft-identity_binary64_4154 *-inverses_binary64_4150 +-inverses_binary64_4149 rgt-mult-inverse_binary64_4147
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 unpow2_binary64_4235 unpow1/2_binary64_4234 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow-1_binary64_4227 exp-cbrt_binary64_4224 div-exp_binary64_4221 rec-exp_binary64_4220 exp-neg_binary64_4217 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-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 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 div-sub_binary64_4175 mul-1-neg_binary64_4162 *-lft-identity_binary64_4159 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 div0_binary64_4151 lft-mult-inverse_binary64_4148 remove-double-div_binary64_4146 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 distribute-neg-frac_binary64_4134 distribute-frac-neg_binary64_4133 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 associate-/r*_binary64_4114
Counts
31 → 115
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038446
1115419
2420416
31605416
42340416
54563416

prune137.0ms (1.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New1150115
Fresh033
Picked011
Done000
Total1154119
Error
0.0b
Counts
119 → 4
Compiler

Compiled 2466 to 1570 computations (36.3% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 z (*.f64 2 (+.f64 y x)))
0.0b
(+.f64 (*.f64 2 (+.f64 x y)) z)
0.0b
(+.f64 x (*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x))))))
0.2b
(*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x)))))

rewrite159.0ms (2%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
16×add-sqr-sqrt_binary64_4192
12×sqrt-div_binary64_4187
10×add-log-exp_binary64_4209 sqrt-prod_binary64_4186
flip3-+_binary64_4173 flip-+_binary64_4144
pow1_binary64_4231 add-cube-cbrt_binary64_4205 *-un-lft-identity_binary64_4170
add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 associate-*l*_binary64_4111 associate-*r*_binary64_4110
frac-times_binary64_4180 unswap-sqr_binary64_4138
pow-prod-down_binary64_4241 sum-log_binary64_4261 +-commutative_binary64_4100
pow1/2_binary64_4250 sqrt-pow1_binary64_4188 associate-*l/_binary64_4113 associate-*r/_binary64_4112 distribute-rgt-in_binary64_4120 associate-+l+_binary64_4103 distribute-lft-in_binary64_4119 associate-+r+_binary64_4102
prod-exp_binary64_4219 cbrt-unprod_binary64_4203 sqrt-unprod_binary64_4190 *-commutative_binary64_4101
Counts
4 → 75
Calls

4 calls:

14.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x)))))
6.0ms
(+.f64 (*.f64 2 (+.f64 x y)) z)
3.0ms
(+.f64 z (*.f64 2 (+.f64 y x)))
3.0ms
(+.f64 x (*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x))))))
Compiler

Compiled 2503 to 1394 computations (44.3% saved)

series827.0ms (10.6%)

Error
0.0b
Counts
4 → 72
Calls

4 calls:

212.0ms
(*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x)))))
196.0ms
(+.f64 z (*.f64 2 (+.f64 y x)))
186.0ms
(+.f64 x (*.f64 (sqrt.f64 (+.f64 (*.f64 2 (+.f64 x y)) z)) (sqrt.f64 (+.f64 z (*.f64 2 (+.f64 y x))))))
178.0ms
(+.f64 (*.f64 2 (+.f64 x y)) z)
Compiler

Compiled 2390 to 1854 computations (22.4% saved)

simplify324.0ms (4.1%)

Algorithm
egg-herbie
Rules
571×distribute-rgt-in_binary64_4120
541×distribute-lft-in_binary64_4119
509×associate--l+_binary64_4107
421×associate-*l*_binary64_4111
378×associate-*r*_binary64_4110
244×distribute-neg-in_binary64_4131
185×associate-+l+_binary64_4103
165×associate-+r+_binary64_4102
158×sub-neg_binary64_4163
147×distribute-rgt-neg-in_binary64_4128
120×distribute-lft-neg-in_binary64_4127
113×cancel-sign-sub-inv_binary64_4136 *-commutative_binary64_4101
96×unsub-neg_binary64_4164
88×unswap-sqr_binary64_4138
84×associate--r+_binary64_4106
82×distribute-rgt-out--_binary64_4124
79×distribute-lft-neg-out_binary64_4129
68×sqr-pow_binary64_4142
64×distribute-rgt-neg-out_binary64_4130
50×neg-sub0_binary64_4165
45×+-commutative_binary64_4100
43×neg-mul-1_binary64_4166
38×pow-sqr_binary64_4143
35×prod-exp_binary64_4219
32×*-rgt-identity_binary64_4160
30×associate--l-_binary64_4108
28×exp-sum_binary64_4216 *-lft-identity_binary64_4159
26×swap-sqr_binary64_4137
24×exp-prod_binary64_4222
22×distribute-lft-out--_binary64_4122
21×associate-+r-_binary64_4104
20×associate--r-_binary64_4109
18×distribute-rgt-out_binary64_4123
16×log-prod_binary64_4256 cube-prod_binary64_4198 +-rgt-identity_binary64_4155
15×associate-+l-_binary64_4105
10×difference-of-squares_binary64_4139 associate-/l*_binary64_4115
unpow3_binary64_4236 sub0-neg_binary64_4157
cube-unmult_binary64_4207 cube-mult_binary64_4200 associate-/l/_binary64_4117
pow-plus_binary64_4233
rem-sqrt-square_binary64_4183 associate-*r/_binary64_4112
rem-square-sqrt_binary64_4182 distribute-lft-out_binary64_4121
distribute-neg-out_binary64_4132
exp-lft-sqr_binary64_4225 count-2_binary64_4118 associate-/r/_binary64_4116 associate-/r*_binary64_4114
pow-base-1_binary64_4230
log-pow_binary64_4259 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-log-exp_binary64_4211 /-rgt-identity_binary64_4161 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 *-inverses_binary64_4150 cancel-sign-sub_binary64_4135 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125
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 unpow2_binary64_4235 unpow1/2_binary64_4234 exp-to-pow_binary64_4232 unpow0_binary64_4229 unpow1_binary64_4228 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-cbrt_binary64_4224 exp-sqrt_binary64_4223 div-exp_binary64_4221 rec-exp_binary64_4220 exp-diff_binary64_4218 exp-neg_binary64_4217 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-exp-log_binary64_4210 cube-div_binary64_4199 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 times-frac_binary64_4176 div-sub_binary64_4175 mul-1-neg_binary64_4162 remove-double-neg_binary64_4158 --rgt-identity_binary64_4156 +-lft-identity_binary64_4154 div0_binary64_4151 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 distribute-neg-frac_binary64_4134 distribute-frac-neg_binary64_4133 associate-*l/_binary64_4113
Counts
147 → 287
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01372483
12812276
29072123
338552123

prune487.0ms (6.2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2861287
Fresh022
Picked011
Done011
Total2865291
Error
0.0b
Counts
291 → 5
Compiler

Compiled 8621 to 4718 computations (45.3% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

0.0b
(sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))))
0.0b
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))
0.0b
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))
0.2b
(*.f64 (sqrt.f64 (+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))) (sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))))

rewrite187.0ms (2.4%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
19×*-un-lft-identity_binary64_4170
18×add-sqr-sqrt_binary64_4192
16×sqrt-prod_binary64_4186
14×add-log-exp_binary64_4209 sqrt-div_binary64_4187
pow1_binary64_4231 add-cube-cbrt_binary64_4205 flip3-+_binary64_4173 flip-+_binary64_4144
associate-*l*_binary64_4111 associate-*r*_binary64_4110
add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 sum-log_binary64_4261
distribute-lft-out_binary64_4121
frac-times_binary64_4180 unswap-sqr_binary64_4138
pow1/2_binary64_4250 pow-prod-down_binary64_4241 sqrt-pow1_binary64_4188
associate-*l/_binary64_4113 associate-*r/_binary64_4112 associate-+r+_binary64_4102 +-commutative_binary64_4100
prod-exp_binary64_4219 cbrt-unprod_binary64_4203 sqrt-unprod_binary64_4190 *-commutative_binary64_4101 rem-sqrt-square_binary64_4183
Counts
4 → 84
Calls

4 calls:

16.0ms
(*.f64 (sqrt.f64 (+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))) (sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))))
12.0ms
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))
5.0ms
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))
5.0ms
(sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))))
Compiler

Compiled 2972 to 1631 computations (45.1% saved)

series808.0ms (10.3%)

Error
0.0b
Counts
4 → 68
Calls

4 calls:

202.0ms
(*.f64 (sqrt.f64 (+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))) (sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))))
195.0ms
(+.f64 x (+.f64 z (*.f64 2 (+.f64 y x))))
189.0ms
(+.f64 x (+.f64 (*.f64 2 (+.f64 x y)) z))
161.0ms
(sqrt.f64 (+.f64 x (+.f64 z (*.f64 2 (+.f64 y x)))))
Compiler

Compiled 2967 to 2260 computations (23.8% saved)

simplify544.0ms (7%)

Algorithm
egg-herbie
Rules
611×distribute-rgt-in_binary64_4120
584×distribute-lft-in_binary64_4119
412×cancel-sign-sub-inv_binary64_4136
297×associate-*l*_binary64_4111
285×associate-*r*_binary64_4110
182×distribute-neg-in_binary64_4131
155×times-frac_binary64_4176
149×sub-neg_binary64_4163
136×associate-+l+_binary64_4103
135×associate-+r+_binary64_4102
133×*-commutative_binary64_4101
119×distribute-rgt-out_binary64_4123
86×distribute-rgt-neg-in_binary64_4128
80×distribute-lft-neg-in_binary64_4127
70×unswap-sqr_binary64_4138 associate--r+_binary64_4106
65×sqr-pow_binary64_4142
64×associate-/r/_binary64_4116
56×associate--l+_binary64_4107
55×associate-/l/_binary64_4117
51×+-commutative_binary64_4100
50×unsub-neg_binary64_4164
46×distribute-lft-out_binary64_4121
44×exp-sum_binary64_4216 distribute-lft-neg-out_binary64_4129
38×neg-sub0_binary64_4165
37×distribute-rgt-out--_binary64_4124
36×neg-mul-1_binary64_4166 distribute-rgt-neg-out_binary64_4130
34×prod-exp_binary64_4219
32×pow-sqr_binary64_4143
26×exp-prod_binary64_4222 associate-*r/_binary64_4112
24×swap-sqr_binary64_4137
23×*-rgt-identity_binary64_4160
20×*-lft-identity_binary64_4159 associate-*l/_binary64_4113
17×log-prod_binary64_4256
15×associate-+l-_binary64_4105 associate-+r-_binary64_4104
13×+-rgt-identity_binary64_4155
12×cube-prod_binary64_4198
10×pow-plus_binary64_4233 cube-unmult_binary64_4207 rem-sqrt-square_binary64_4183 associate-/r*_binary64_4114
log-div_binary64_4257 exp-sqrt_binary64_4223 distribute-lft-out--_binary64_4122
cube-div_binary64_4199 rem-square-sqrt_binary64_4182
unpow3_binary64_4236
cube-mult_binary64_4200 sub0-neg_binary64_4157 difference-of-squares_binary64_4139
exp-lft-sqr_binary64_4225 distribute-rgt1-in_binary64_4126 count-2_binary64_4118 associate--l-_binary64_4108
associate-/l*_binary64_4115
unpow1_binary64_4228
unpow2_binary64_4235 exp-diff_binary64_4218 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-log-exp_binary64_4211 /-rgt-identity_binary64_4161 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 *-inverses_binary64_4150 cancel-sign-sub_binary64_4135 distribute-neg-frac_binary64_4134 distribute-lft1-in_binary64_4125
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 unpow1/2_binary64_4234 exp-to-pow_binary64_4232 pow-base-1_binary64_4230 unpow0_binary64_4229 unpow-1_binary64_4227 exp-lft-cube_binary64_4226 exp-cbrt_binary64_4224 div-exp_binary64_4221 rec-exp_binary64_4220 exp-neg_binary64_4217 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-exp-log_binary64_4210 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 div-sub_binary64_4175 mul-1-neg_binary64_4162 remove-double-neg_binary64_4158 --rgt-identity_binary64_4156 +-lft-identity_binary64_4154 div0_binary64_4151 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 distribute-frac-neg_binary64_4133 distribute-neg-out_binary64_4132 associate--r-_binary64_4109
Counts
152 → 339
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01633328
12912863
28512786
336782780

prune659.0ms (8.4%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New3381339
Fresh022
Picked011
Done022
Total3386344
Error
0b
Counts
344 → 6
Compiler

Compiled 12010 to 6431 computations (46.5% saved)

regimes374.0ms (4.8%)

Accuracy

Total 0.0b remaining (62.4%)

Threshold costs 0.0b (62.4%)

Compiler

Compiled 3360 to 2606 computations (22.4% saved)

bsearch0.0ms (0%)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64_4101 +-commutative_binary64_4100
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 1-exp_binary64_4214 exp-1-e_binary64_4213 exp-0_binary64_4212 sqr-abs_binary64_4185 sqr-neg_binary64_4184 neg-mul-1_binary64_4166 neg-sub0_binary64_4165 unsub-neg_binary64_4164 sub-neg_binary64_4163 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-neg-frac_binary64_4134 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
01013
11413
Proof
(+ f64 (+ f64 h0 (* f64 2 h1)) (* f64 3 h2))

end0.0ms (0%)

sample1.3s (16.8%)

Algorithm
intervals
Results
211.0ms7436×body128valid
18.0ms194×body1024valid
12.0ms173×body512valid
10.0ms85×body2048valid
5.0ms112×body256valid
0.0ms12×body128invalid
Compiler

Compiled 854 to 664 computations (22.2% saved)

Profiling

Loading profile data...