Details

Time bar (total: 45.9s)

analyze809.0ms (1.8%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
7.8%92%0.2%8
7.8%92%0.2%9
10.9%88.9%0.2%10
34.7%65.1%0.2%11
43.1%56.7%0.2%12
44.2%55.7%0.2%13
49.5%50.3%0.2%14
Compiler

Compiled 16 to 13 computations (18.8% saved)

sample26.0ms (0.1%)

Algorithm
intervals
Results
12.0ms254×body128valid
1.0ms15×body128invalid
0.0msbody1024valid
0.0msbody256valid
Compiler

Compiled 31 to 29 computations (6.5% saved)

simplify214.0ms (0.5%)

Algorithm
egg-herbie
Rules
420×distribute-rgt-in_binary64_4120
391×distribute-lft-in_binary64_4119
325×associate-*l*_binary64_4111
304×associate-*r*_binary64_4110
210×associate-+r+_binary64_4102
205×associate-/l*_binary64_4115
174×associate-*l/_binary64_4113
173×associate-+l+_binary64_4103
164×associate-*r/_binary64_4112
149×sub-neg_binary64_4163
143×associate--r+_binary64_4106
107×distribute-lft-neg-out_binary64_4129
96×div-sub_binary64_4175 associate-+r-_binary64_4104
95×distribute-rgt-neg-out_binary64_4130
84×associate--l+_binary64_4107
74×associate--r-_binary64_4109
60×distribute-neg-in_binary64_4131
59×associate-+l-_binary64_4105
58×neg-sub0_binary64_4165
55×cancel-sign-sub-inv_binary64_4136
53×neg-mul-1_binary64_4166
49×*-commutative_binary64_4101
40×unsub-neg_binary64_4164
38×associate--l-_binary64_4108 +-commutative_binary64_4100
34×associate-/r*_binary64_4114
32×difference-of-squares_binary64_4139
31×distribute-rgt-neg-in_binary64_4128
30×sqr-pow_binary64_4142 distribute-neg-frac_binary64_4134
29×associate-/r/_binary64_4116
27×distribute-lft-neg-in_binary64_4127
18×exp-prod_binary64_4222
16×times-frac_binary64_4176
15×distribute-frac-neg_binary64_4133
14×pow-sqr_binary64_4143
13×sub0-neg_binary64_4157
10×+-rgt-identity_binary64_4155
difference-of-sqr-1_binary64_4140 unswap-sqr_binary64_4138 associate-/l/_binary64_4117
remove-double-neg_binary64_4158
div0_binary64_4151 distribute-neg-out_binary64_4132
exp-sum_binary64_4216
prod-exp_binary64_4219 difference-of-sqr--1_binary64_4141
exp-diff_binary64_4218 *-rgt-identity_binary64_4160 *-lft-identity_binary64_4159 --rgt-identity_binary64_4156 mul0-rgt_binary64_4153 mul0-lft_binary64_4152 distribute-rgt-out_binary64_4123 distribute-lft-out_binary64_4121 count-2_binary64_4118
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 exp-lft-sqr_binary64_4225 div-exp_binary64_4221 exp-neg_binary64_4217 cube-unmult_binary64_4207 /-rgt-identity_binary64_4161 distribute-lft-out--_binary64_4122
1-exp_binary64_4214 mul-1-neg_binary64_4162 *-inverses_binary64_4150
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 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-cbrt_binary64_4224 exp-sqrt_binary64_4223 rec-exp_binary64_4220 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-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 +-lft-identity_binary64_4154 +-inverses_binary64_4149 lft-mult-inverse_binary64_4148 rgt-mult-inverse_binary64_4147 remove-double-div_binary64_4146 swap-sqr_binary64_4137 cancel-sign-sub_binary64_4135 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 distribute-rgt-out--_binary64_4124
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01323
15523
214823
335923
4127823

prune10.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
2.0b
Counts
3 → 3
Compiler

Compiled 75 to 51 computations (32% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.0b
(+.f64 x (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
0.0b
(tanh.f64 (/.f64 t y))
0.0b
(*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))
2.7b
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))

rewrite218.0ms (0.5%)

Algorithm
rewrite-expression-head
Error
1.9b
Rules
36×distribute-rgt-in_binary64_4120 distribute-lft-in_binary64_4119
33×associate-*r/_binary64_4112
30×cancel-sign-sub-inv_binary64_4136
21×add-sqr-sqrt_binary64_4192
19×*-un-lft-identity_binary64_4170
18×frac-sub_binary64_4179
17×add-cube-cbrt_binary64_4205
16×associate-+r+_binary64_4102
13×tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357
11×pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206
10×sub-neg_binary64_4163
add-log-exp_binary64_4209 associate-*l*_binary64_4111 associate-*r*_binary64_4110
pow-prod-down_binary64_4241 prod-exp_binary64_4219 cbrt-unprod_binary64_4203
flip3--_binary64_4174 flip--_binary64_4145 *-commutative_binary64_4101
unswap-sqr_binary64_4138 difference-of-squares_binary64_4139 distribute-lft-out--_binary64_4122 sum-log_binary64_4261 flip3-+_binary64_4173 flip-+_binary64_4144 +-commutative_binary64_4100
Counts
4 → 121
Calls

4 calls:

15.0ms
(*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))
14.0ms
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
6.0ms
(+.f64 x (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
2.0ms
(tanh.f64 (/.f64 t y))
Compiler

Compiled 3806 to 978 computations (74.3% saved)

series4.3s (9.5%)

Error
0.0b
Counts
4 → 57
Calls

4 calls:

1.6s
(+.f64 x (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
1.6s
(*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))
916.0ms
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
152.0ms
(tanh.f64 (/.f64 t y))
Compiler

Compiled 6487 to 4421 computations (31.8% saved)

simplify825.0ms (1.8%)

Algorithm
egg-herbie
Rules
604×times-frac_binary64_4176
255×associate-*r*_binary64_4110
253×associate-*l*_binary64_4111
218×cancel-sign-sub-inv_binary64_4136
216×sub-neg_binary64_4163
194×distribute-lft-neg-out_binary64_4129
160×*-commutative_binary64_4101
157×distribute-rgt-neg-out_binary64_4130
150×distribute-rgt-in_binary64_4120
144×distribute-lft-in_binary64_4119
127×distribute-rgt-neg-in_binary64_4128
102×distribute-neg-in_binary64_4131
100×+-commutative_binary64_4100
92×associate--l+_binary64_4107
89×neg-sub0_binary64_4165
79×neg-mul-1_binary64_4166
72×distribute-neg-frac_binary64_4134
67×sqr-pow_binary64_4142
63×unsub-neg_binary64_4164
58×*-rgt-identity_binary64_4160
55×associate-/l*_binary64_4115
54×*-lft-identity_binary64_4159
49×associate-*r/_binary64_4112
46×exp-prod_binary64_4222
45×associate--r+_binary64_4106
44×associate-+l+_binary64_4103
42×associate-/r*_binary64_4114
40×associate-*l/_binary64_4113
34×prod-exp_binary64_4219
30×cube-prod_binary64_4198
28×div-sub_binary64_4175
26×log-prod_binary64_4256
24×unswap-sqr_binary64_4138
23×distribute-lft-neg-in_binary64_4127
20×unpow3_binary64_4236 pow-sqr_binary64_4143
18×cube-mult_binary64_4200 swap-sqr_binary64_4137
14×mul-1-neg_binary64_4162 /-rgt-identity_binary64_4161
12×associate-/r/_binary64_4116
11×associate-+r+_binary64_4102
10×exp-sum_binary64_4216
exp-diff_binary64_4218 cube-div_binary64_4199
log-div_binary64_4257 cube-unmult_binary64_4207 difference-of-sqr--1_binary64_4141 difference-of-squares_binary64_4139 associate-+r-_binary64_4104
pow-plus_binary64_4233 +-rgt-identity_binary64_4155 distribute-rgt-out--_binary64_4124 associate-+l-_binary64_4105
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 exp-lft-sqr_binary64_4225 exp-neg_binary64_4217
unpow2_binary64_4235 unpow1_binary64_4228 exp-sqrt_binary64_4223 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-log-exp_binary64_4211 rem-3cbrt-lft_binary64_4195 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 remove-double-neg_binary64_4158 *-inverses_binary64_4150 cancel-sign-sub_binary64_4135 distribute-neg-out_binary64_4132 associate--l-_binary64_4108
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 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 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-exp-log_binary64_4210 cube-neg_binary64_4197 rem-3cbrt-rft_binary64_4196 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 sqr-neg_binary64_4184 sub0-neg_binary64_4157 --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_4140 distribute-frac-neg_binary64_4133 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 distribute-rgt-out_binary64_4123 distribute-lft-out--_binary64_4122 distribute-lft-out_binary64_4121 count-2_binary64_4118 associate-/l/_binary64_4117 associate--r-_binary64_4109
Counts
178 → 438
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03316502
18785993
231755993

prune778.0ms (1.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New4335438
Fresh202
Picked101
Done000
Total4365441
Error
0.0b
Counts
441 → 5
Compiler

Compiled 14999 to 4978 computations (66.8% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.0b
(tanh.f64 (/.f64 t y))
0.3b
(+.f64 (+.f64 x (*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))) (*.f64 (*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y) z))
6.6b
(*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))
8.7b
(*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y)

rewrite139.0ms (0.3%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
18×associate-*l/_binary64_4113
13×associate-*l*_binary64_4111
11×pow1_binary64_4231 add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 add-sqr-sqrt_binary64_4192
add-log-exp_binary64_4209 add-cube-cbrt_binary64_4205 *-un-lft-identity_binary64_4170 distribute-neg-frac_binary64_4134
frac-add_binary64_4178
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357
pow-prod-down_binary64_4241 prod-exp_binary64_4219 cbrt-unprod_binary64_4203 associate-*r*_binary64_4110 flip3-+_binary64_4173 flip-+_binary64_4144
distribute-lft-neg-out_binary64_4129 distribute-rgt-neg-in_binary64_4128 distribute-lft-neg-in_binary64_4127 sum-log_binary64_4261
*-commutative_binary64_4101
unswap-sqr_binary64_4138 neg-mul-1_binary64_4166 unsub-neg_binary64_4164 associate-+l+_binary64_4103 +-commutative_binary64_4100
Counts
4 → 80
Calls

4 calls:

9.0ms
(+.f64 (+.f64 x (*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))) (*.f64 (*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y) z))
7.0ms
(*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y)
7.0ms
(*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))
2.0ms
(tanh.f64 (/.f64 t y))
Compiler

Compiled 2756 to 534 computations (80.6% saved)

series2.7s (5.9%)

Error
0.0b
Counts
4 → 46
Calls

4 calls:

1.6s
(+.f64 (+.f64 x (*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))) (*.f64 (*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y) z))
495.0ms
(*.f64 (tanh.f64 (/.f64 t y)) (*.f64 y z))
319.0ms
(*.f64 (neg.f64 (tanh.f64 (/.f64 x y))) y)
159.0ms
(tanh.f64 (/.f64 t y))
Compiler

Compiled 4508 to 2895 computations (35.8% saved)

simplify537.0ms (1.2%)

Algorithm
egg-herbie
Rules
292×distribute-lft-neg-out_binary64_4129
274×cancel-sign-sub-inv_binary64_4136
247×distribute-rgt-neg-out_binary64_4130
239×associate-*r*_binary64_4110
219×associate-*l*_binary64_4111
193×distribute-rgt-neg-in_binary64_4128
165×sub-neg_binary64_4163
156×*-commutative_binary64_4101
135×distribute-rgt-in_binary64_4120
127×distribute-lft-in_binary64_4119
121×neg-sub0_binary64_4165
109×neg-mul-1_binary64_4166
106×times-frac_binary64_4176
101×distribute-neg-frac_binary64_4134
77×+-commutative_binary64_4100
71×sqr-pow_binary64_4142
67×exp-prod_binary64_4222
59×associate--l+_binary64_4107
51×associate-/l*_binary64_4115
50×associate-*l/_binary64_4113
45×cube-prod_binary64_4198
44×associate-*r/_binary64_4112
41×associate-+l+_binary64_4103
40×unswap-sqr_binary64_4138 distribute-neg-in_binary64_4131
37×unsub-neg_binary64_4164
32×associate--r+_binary64_4106
29×log-div_binary64_4257
28×log-prod_binary64_4256 swap-sqr_binary64_4137
27×cube-div_binary64_4199 div-sub_binary64_4175 associate-+r+_binary64_4102
25×*-rgt-identity_binary64_4160
24×distribute-lft-neg-in_binary64_4127
23×pow-sqr_binary64_4143
21×*-lft-identity_binary64_4159
20×associate-/r*_binary64_4114
17×unpow3_binary64_4236
14×associate-/r/_binary64_4116
13×remove-double-neg_binary64_4158
12×cube-mult_binary64_4200
exp-diff_binary64_4218
prod-exp_binary64_4219 cancel-sign-sub_binary64_4135
mul-1-neg_binary64_4162 distribute-rgt-out--_binary64_4124
exp-neg_binary64_4217
exp-sum_binary64_4216 cube-unmult_binary64_4207 sqr-neg_binary64_4184
cube-neg_binary64_4197 difference-of-sqr-1_binary64_4140 distribute-rgt-out_binary64_4123
pow-plus_binary64_4233 distribute-neg-out_binary64_4132 associate--r-_binary64_4109
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 exp-lft-sqr_binary64_4225 difference-of-squares_binary64_4139 associate-+l-_binary64_4105 associate-+r-_binary64_4104
unpow2_binary64_4235 unpow1_binary64_4228 exp-sqrt_binary64_4223 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-log-exp_binary64_4211 *-inverses_binary64_4150
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 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 e-exp-1_binary64_4215 exp-0_binary64_4212 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-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 /-rgt-identity_binary64_4161 sub0-neg_binary64_4157 --rgt-identity_binary64_4156 +-rgt-identity_binary64_4155 +-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 distribute-frac-neg_binary64_4133 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 distribute-lft-out--_binary64_4122 distribute-lft-out_binary64_4121 count-2_binary64_4118 associate-/l/_binary64_4117 associate--l-_binary64_4108
Counts
126 → 346
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02734219
17933773
228593733

prune711.0ms (1.6%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New3460346
Fresh044
Picked011
Done000
Total3465351
Error
0.0b
Counts
351 → 5
Compiler

Compiled 16832 to 4204 computations (75% saved)

localize17.0ms (0%)

Local error

Found 4 expressions with local error:

0.1b
(*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))
0.1b
(*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y)))
6.3b
(*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))))
6.3b
(/.f64 (*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))

rewrite4.3s (9.5%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
640×associate-*r/_binary64_4112
558×frac-times_binary64_4180
502×tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357
450×frac-sub_binary64_4179
227×associate-/l/_binary64_4117
186×associate-*l/_binary64_4113
23×pow1_binary64_4231
22×add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206
19×add-sqr-sqrt_binary64_4192 *-un-lft-identity_binary64_4170
15×add-cube-cbrt_binary64_4205
11×associate-/r/_binary64_4116
10×associate-*r*_binary64_4110
frac-add_binary64_4178
prod-exp_binary64_4219 cbrt-unprod_binary64_4203
associate-*l*_binary64_4111
swap-sqr_binary64_4137
pow-prod-down_binary64_4241
add-log-exp_binary64_4209 times-frac_binary64_4176 associate-/r*_binary64_4114
div-exp_binary64_4221 cbrt-undiv_binary64_4204 *-commutative_binary64_4101
distribute-lft-out_binary64_4121 flip3--_binary64_4174 flip--_binary64_4145 sub-neg_binary64_4163 distribute-rgt-in_binary64_4120 cancel-sign-sub-inv_binary64_4136 distribute-lft-in_binary64_4119 pow2_binary64_4251 pow-prod-up_binary64_4240 pow-plus_binary64_4233 pow-sqr_binary64_4143 unswap-sqr_binary64_4138
frac-2neg_binary64_4181 clear-num_binary64_4169 div-inv_binary64_4167 flip3-+_binary64_4173 flip-+_binary64_4144 associate-/l*_binary64_4115 difference-of-squares_binary64_4139
Counts
4 → 593
Calls

4 calls:

70.0ms
(/.f64 (*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
48.0ms
(*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))))
15.0ms
(*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y)))
7.0ms
(*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))
Compiler

Compiled 57886 to 20967 computations (63.8% saved)

series11.8s (25.7%)

Error
0.0b
Counts
4 → 45
Calls

4 calls:

7.0s
(/.f64 (*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y))))) (+.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
4.0s
(*.f64 (*.f64 y z) (-.f64 (*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y))) (*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))))
298.0ms
(*.f64 (tanh.f64 (/.f64 x y)) (tanh.f64 (/.f64 x y)))
258.0ms
(*.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 t y)))
Compiler

Compiled 12306 to 8274 computations (32.8% saved)

simplify2.4s (5.2%)

Algorithm
egg-herbie
Rules
675×associate-*l*_binary64_4111
599×associate-*r*_binary64_4110
249×sub-neg_binary64_4163
229×cancel-sign-sub-inv_binary64_4136
113×distribute-rgt-in_binary64_4120 distribute-lft-in_binary64_4119
54×associate-/l*_binary64_4115
28×unswap-sqr_binary64_4138
23×associate-*r/_binary64_4112
22×sqr-pow_binary64_4142
12×associate-/r*_binary64_4114
11×times-frac_binary64_4176
10×unpow2_binary64_4235 associate--l+_binary64_4107
unpow3_binary64_4236 exp-prod_binary64_4222 cube-mult_binary64_4200
neg-mul-1_binary64_4166 neg-sub0_binary64_4165
*-rgt-identity_binary64_4160
log-prod_binary64_4256
div-sub_binary64_4175 count-2_binary64_4118
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 exp-neg_binary64_4217 cube-prod_binary64_4198 rem-sqrt-square_binary64_4183 rem-square-sqrt_binary64_4182 /-rgt-identity_binary64_4161 difference-of-squares_binary64_4139 swap-sqr_binary64_4137 distribute-neg-frac_binary64_4134 distribute-lft-neg-out_binary64_4129 distribute-rgt-neg-in_binary64_4128
log-div_binary64_4257 1-exp_binary64_4214 distribute-neg-in_binary64_4131 distribute-rgt-neg-out_binary64_4130 distribute-lft-neg-in_binary64_4127 distribute-rgt-out_binary64_4123 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 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 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 div-exp_binary64_4221 rec-exp_binary64_4220 prod-exp_binary64_4219 exp-diff_binary64_4218 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-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 unsub-neg_binary64_4164 mul-1-neg_binary64_4162 *-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 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 pow-sqr_binary64_4143 difference-of-sqr--1_binary64_4141 difference-of-sqr-1_binary64_4140 cancel-sign-sub_binary64_4135 distribute-frac-neg_binary64_4133 distribute-neg-out_binary64_4132 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 distribute-rgt-out--_binary64_4124 distribute-lft-out--_binary64_4122 distribute-lft-out_binary64_4121 associate-/l/_binary64_4117 associate-/r/_binary64_4116 associate--r-_binary64_4109 associate--l-_binary64_4108 associate--r+_binary64_4106 associate-+l-_binary64_4105 associate-+r-_binary64_4104 associate-+l+_binary64_4103 associate-+r+_binary64_4102 *-commutative_binary64_4101 +-commutative_binary64_4100
Counts
638 → 668
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0153349278

prune4.6s (10.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New6680668
Fresh033
Picked011
Done011
Total6685673
Error
0.0b
Counts
673 → 5
Compiler

Compiled 63682 to 23888 computations (62.5% saved)

localize18.0ms (0%)

Local error

Found 4 expressions with local error:

2.7b
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
4.7b
(*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z))
5.1b
(sqrt.f64 (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
5.1b
(sqrt.f64 (*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z)))

rewrite306.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
0.0b
Rules
55×associate-*r/_binary64_4112
36×frac-sub_binary64_4179
24×tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357
23×pow1_binary64_4231
22×associate-*l/_binary64_4113 sqrt-div_binary64_4187
13×add-sqr-sqrt_binary64_4192
11×add-exp-log_binary64_4208 add-cbrt-cube_binary64_4206 *-un-lft-identity_binary64_4170
10×pow-prod-down_binary64_4241
add-cube-cbrt_binary64_4205
sqrt-pow1_binary64_4188 associate-*l*_binary64_4111 associate-*r*_binary64_4110 cancel-sign-sub-inv_binary64_4136
add-log-exp_binary64_4209 flip3--_binary64_4174 flip--_binary64_4145 prod-exp_binary64_4219 cbrt-unprod_binary64_4203 distribute-rgt-in_binary64_4120 distribute-lft-in_binary64_4119
pow1/2_binary64_4250 sqrt-prod_binary64_4186 *-commutative_binary64_4101 sub-neg_binary64_4163
unswap-sqr_binary64_4138 difference-of-squares_binary64_4139 distribute-lft-out--_binary64_4122
Counts
4 → 114
Calls

4 calls:

17.0ms
(*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z))
13.0ms
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
12.0ms
(sqrt.f64 (*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z)))
12.0ms
(sqrt.f64 (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
Compiler

Compiled 6120 to 1591 computations (74% saved)

series5.9s (12.9%)

Error
0.0b
Counts
4 → 53
Calls

4 calls:

1.7s
(sqrt.f64 (*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z)))
1.6s
(sqrt.f64 (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))))
1.6s
(*.f64 y (*.f64 (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))) z))
888.0ms
(*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))
Compiler

Compiled 12245 to 7828 computations (36.1% saved)

simplify1.1s (2.4%)

Algorithm
egg-herbie
Rules
726×times-frac_binary64_4176
336×associate-/l*_binary64_4115
265×associate-*l*_binary64_4111
262×associate-*r*_binary64_4110
213×distribute-rgt-in_binary64_4120
212×distribute-lft-in_binary64_4119
191×*-commutative_binary64_4101
159×distribute-lft-neg-out_binary64_4129
136×sub-neg_binary64_4163
135×distribute-rgt-neg-out_binary64_4130
83×distribute-neg-in_binary64_4131
82×cancel-sign-sub-inv_binary64_4136
76×associate-/r/_binary64_4116
71×*-rgt-identity_binary64_4160
67×neg-sub0_binary64_4165
66×*-lft-identity_binary64_4159 distribute-neg-frac_binary64_4134 +-commutative_binary64_4100
65×sqr-pow_binary64_4142
62×neg-mul-1_binary64_4166
57×distribute-rgt-neg-in_binary64_4128
52×associate-*r/_binary64_4112
51×exp-prod_binary64_4222 prod-exp_binary64_4219
47×unsub-neg_binary64_4164
46×associate-*l/_binary64_4113
42×associate--l+_binary64_4107
40×associate-/r*_binary64_4114
34×distribute-lft-neg-in_binary64_4127 associate-/l/_binary64_4117
31×cube-prod_binary64_4198
29×associate-+l+_binary64_4103
28×unswap-sqr_binary64_4138
27×swap-sqr_binary64_4137
25×log-prod_binary64_4256
24×div-sub_binary64_4175 associate--r+_binary64_4106
17×pow-sqr_binary64_4143
16×unpow3_binary64_4236 cube-mult_binary64_4200
13×/-rgt-identity_binary64_4161
10×mul-1-neg_binary64_4162
cube-div_binary64_4199
exp-sum_binary64_4216 cube-unmult_binary64_4207
pow-plus_binary64_4233 difference-of-sqr--1_binary64_4141 associate-+r+_binary64_4102
exp-diff_binary64_4218 rem-square-sqrt_binary64_4182 +-rgt-identity_binary64_4155 difference-of-squares_binary64_4139 distribute-rgt-out_binary64_4123 associate-+r-_binary64_4104
tanh-def-c_binary64_4359 tanh-def-b_binary64_4358 tanh-def-a_binary64_4357 exp-lft-sqr_binary64_4225 exp-neg_binary64_4217 rem-sqrt-square_binary64_4183 distribute-rgt-out--_binary64_4124 distribute-lft-out--_binary64_4122
log-div_binary64_4257 unpow2_binary64_4235 unpow1_binary64_4228 exp-sqrt_binary64_4223 1-exp_binary64_4214 exp-1-e_binary64_4213 rem-log-exp_binary64_4211 rem-3cbrt-lft_binary64_4195 remove-double-neg_binary64_4158 *-inverses_binary64_4150 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 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 e-exp-1_binary64_4215 exp-0_binary64_4212 rem-exp-log_binary64_4210 cube-neg_binary64_4197 rem-3cbrt-rft_binary64_4196 rem-cbrt-cube_binary64_4194 rem-cube-cbrt_binary64_4193 sqr-abs_binary64_4185 sqr-neg_binary64_4184 sub0-neg_binary64_4157 --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_4140 cancel-sign-sub_binary64_4135 distribute-frac-neg_binary64_4133 distribute-neg-out_binary64_4132 distribute-rgt1-in_binary64_4126 distribute-lft1-in_binary64_4125 distribute-lft-out_binary64_4121 associate--r-_binary64_4109 associate--l-_binary64_4108 associate-+l-_binary64_4105
Counts
167 → 542
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03468554
18847133
231536973

prune2.1s (4.5%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New5420542
Fresh022
Picked011
Done022
Total5425547
Error
0.0b
Counts
547 → 5
Compiler

Compiled 33940 to 11154 computations (67.1% saved)

regimes462.0ms (1%)

Accuracy

Total 0.9b remaining (98.5%)

Threshold costs 0.9b (98.5%)

Compiler

Compiled 5093 to 2951 computations (42.1% saved)

bsearch3.0ms (0%)

Compiler

Compiled 15 to 12 computations (20% saved)

simplify7.0ms (0%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64_4101
+-commutative_binary64_4100
sub-neg_binary64_4163
neg-mul-1_binary64_4166 neg-sub0_binary64_4165
cancel-sign-sub-inv_binary64_4136 distribute-rgt-neg-in_binary64_4128
distribute-lft-neg-out_binary64_4129 distribute-lft-neg-in_binary64_4127
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 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_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
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02464
14064
25364
36164
46664
56764
Proof
(if real (<= f64 (+ f64 h0 (* f64 (* f64 h1 h2) (- f64 (tanh f64 (/ f64 h3 h1)) (tanh f64 (/ f64 h0 h1))))) 125086870948314383984070418109386741802675766980996191064158160567438400590724219453881357352418162686694171126006563963174358256177415689650274971833584483958690427196073334530926535023075242933258010456170664996771717429171992396143989128419414901905602543884578620364767987279198015236904985770852352) (+ f64 h0 (* f64 h2 (* f64 h1 (- f64 (tanh f64 (/ f64 h3 h1)) (tanh f64 (/ f64 h0 h1)))))) (- f64 (+ f64 h0 (=> (* f64 h3 h2))) (* f64 h0 h2))) *-commutative_binary64_4101 => (if real (<= f64 (+ f64 h0 (* f64 (* f64 h1 h2) (- f64 (tanh f64 (/ f64 h3 h1)) (tanh f64 (/ f64 h0 h1))))) 125086870948314383984070418109386741802675766980996191064158160567438400590724219453881357352418162686694171126006563963174358256177415689650274971833584483958690427196073334530926535023075242933258010456170664996771717429171992396143989128419414901905602543884578620364767987279198015236904985770852352) (+ f64 h0 (* f64 h2 (* f64 h1 (- f64 (tanh f64 (/ f64 h3 h1)) (tanh f64 (/ f64 h0 h1)))))) (- f64 (+ f64 h0 (* f64 h2 h3)) (* f64 h0 h2)))

end0.0ms (0%)

sample1.5s (3.3%)

Algorithm
intervals
Results
390.0ms7753×body128valid
30.0ms533×body128invalid
18.0ms92×body1024valid
12.0ms90×body512valid
6.0ms65×body256valid
Compiler

Compiled 1084 to 630 computations (41.9% saved)

Profiling

Loading profile data...