Created
December 5, 2022 22:57
-
-
Save ezyang/fa65798977b0d018ec5637e601ce2b47 to your computer and use it in GitHub Desktop.
Sweep logs for symbolic-shapes --accuracy --backend aot_eager --training --explain (TORCHDYNAMO_DYNAMIC_SHAPES=1) - a05b7b1c73247ff562a82aac0edca79bbaebc2bd Mon Dec 5 11:00:00 PST 2022
This file has been truncated, but you can view the full file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Running torchbench.py BERT_pytorch... | |
[2022-12-05 11:00:11,413] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:00:11,639] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/BERT_pytorch/bert_pytorch/model/bert.py", line 43, in forward | |
x = self.embedding(x, segment_info) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/BERT_pytorch/bert_pytorch/model/embedding/bert.py", line 32, in forward | |
x = self.token(sequence) + self.position(sequence) + self.segment(segment_label) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/BERT_pytorch/bert_pytorch/model/embedding/position.py", line 25, in forward | |
return self.pe[:, :x.size(1)] | |
[2022-12-05 11:00:43,943] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 4 graph(s) covering 574 ops | |
cuda train BERT_pytorch PASS | |
Running torchbench.py Background_Matting... | |
[2022-12-05 11:01:14,798] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:01:53,363] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 366 ops | |
cuda train Background_Matting PASS | |
WARNING:root:DALLE2_pytorch failed to load | |
Eager model failed to run | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 973, in validate_model | |
self.model_iter_fn(model, example_inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 353, in forward_and_backward_pass | |
self.grad_scaler.scale(loss).backward() | |
File "/data/users/ezyang/b/pytorch/torch/_tensor.py", line 484, in backward | |
torch.autograd.backward( | |
File "/data/users/ezyang/b/pytorch/torch/autograd/__init__.py", line 197, in backward | |
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass | |
RuntimeError: element 0 of tensors does not require grad and does not have a grad_fn | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1972, in run | |
) = runner.load_model(device, model_name, batch_size=batch_size) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 298, in load_model | |
self.validate_model(model, example_inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 975, in validate_model | |
raise NotImplementedError("Eager model failed to run") | |
NotImplementedError: Eager model failed to run | |
Running torchbench.py LearningToPaint... | |
[2022-12-05 11:03:35,962] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:03:47,045] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 144 ops | |
cuda train LearningToPaint PASS | |
Running torchbench.py Super_SloMo... | |
[2022-12-05 11:04:19,492] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:15:57,473] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 374 ops | |
cuda train Super_SloMo PASS | |
Running torchbench.py alexnet... | |
[2022-12-05 11:16:27,299] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:16:31,401] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 44 ops | |
cuda train alexnet PASS | |
Running torchbench.py attention_is_all_you_need_pytorch... | |
[2022-12-05 11:16:54,018] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:16:54,378] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/attention_is_all_you_need_pytorch/transformer/Models.py", line 171, in forward | |
enc_output, *_ = self.encoder(src_seq, src_mask) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/attention_is_all_you_need_pytorch/transformer/Models.py", line 71, in forward | |
enc_output = self.dropout(self.position_enc(self.src_word_emb(src_seq))) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/attention_is_all_you_need_pytorch/transformer/Models.py", line 45, in forward | |
return x + self.pos_table[:, :x.size(1)].clone().detach() | |
[2022-12-05 11:17:34,208] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 6 graph(s) covering 615 ops | |
cuda train attention_is_all_you_need_pytorch PASS | |
Running torchbench.py dcgan... | |
[2022-12-05 11:18:06,216] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:18:10,290] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 26 ops | |
cuda train dcgan PASS | |
Running torchbench.py densenet121... | |
[2022-12-05 11:18:25,086] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:20:40,860] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 431 ops | |
cuda train densenet121 PASS | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 365, in <module> | |
main(TorchBenchmarkRunner(), original_dir) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1972, in run | |
) = runner.load_model(device, model_name, batch_size=batch_size) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 237, in load_model | |
module = importlib.import_module(f"torchbenchmark.models.{model_name}") | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/importlib/__init__.py", line 127, in import_module | |
return _bootstrap._gcd_import(name[level:], package, level) | |
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import | |
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load | |
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked | |
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked | |
File "<frozen importlib._bootstrap_external>", line 850, in exec_module | |
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/detectron2_fcos_r_50_fpn/__init__.py", line 3, in <module> | |
from torchbenchmark.util.framework.detectron2.model_factory import Detectron2Model | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/util/framework/detectron2/model_factory.py", line 15, in <module> | |
from detectron2.modeling.meta_arch.build import META_ARCH_REGISTRY | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/modeling/__init__.py", line 2, in <module> | |
from detectron2.layers import ShapeSpec | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/layers/__init__.py", line 3, in <module> | |
from .deform_conv import DeformConv, ModulatedDeformConv | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/layers/deform_conv.py", line 11, in <module> | |
from detectron2 import _C | |
ImportError: /home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/_C.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops10select_int4callERKNS_6TensorEll | |
cuda train detectron2_fcos_r_50_fpn FAIL | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 365, in <module> | |
main(TorchBenchmarkRunner(), original_dir) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1972, in run | |
) = runner.load_model(device, model_name, batch_size=batch_size) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 237, in load_model | |
module = importlib.import_module(f"torchbenchmark.models.{model_name}") | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/importlib/__init__.py", line 127, in import_module | |
return _bootstrap._gcd_import(name[level:], package, level) | |
File "<frozen importlib._bootstrap>", line 1030, in _gcd_import | |
File "<frozen importlib._bootstrap>", line 1007, in _find_and_load | |
File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked | |
File "<frozen importlib._bootstrap>", line 680, in _load_unlocked | |
File "<frozen importlib._bootstrap_external>", line 850, in exec_module | |
File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/detectron2_maskrcnn_r_50_c4/__init__.py", line 3, in <module> | |
from torchbenchmark.util.framework.detectron2.model_factory import Detectron2Model | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/util/framework/detectron2/model_factory.py", line 15, in <module> | |
from detectron2.modeling.meta_arch.build import META_ARCH_REGISTRY | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/modeling/__init__.py", line 2, in <module> | |
from detectron2.layers import ShapeSpec | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/layers/__init__.py", line 3, in <module> | |
from .deform_conv import DeformConv, ModulatedDeformConv | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/layers/deform_conv.py", line 11, in <module> | |
from detectron2 import _C | |
ImportError: /home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/detectron2/_C.cpython-39-x86_64-linux-gnu.so: undefined symbol: _ZN2at4_ops10select_int4callERKNS_6TensorEll | |
cuda train detectron2_maskrcnn_r_50_c4 FAIL | |
Running torchbench.py dlrm... | |
[2022-12-05 11:21:55,664] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:21:57,672] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 40 ops | |
cuda train dlrm PASS | |
/data/users/ezyang/b/pytorch/torch/utils/tensorboard/__init__.py:4: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead. | |
if not hasattr(tensorboard, "__version__") or LooseVersion( | |
/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/gym/core.py:317: DeprecationWarning: [33mWARN: Initializing wrapper in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.[0m | |
deprecation( | |
Running torchbench.py drq... | |
[2022-12-05 11:22:07,389] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:22:08,667] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP TupleVariable() != TupleVariable() from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/drq/drq.py", line 101, in forward | |
dist = utils.SquashedNormal(mu, std) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/drq/utils.py", line 164, in __init__ | |
super().__init__(self.base_dist, transforms) | |
File "/data/users/ezyang/b/pytorch/torch/distributions/transformed_distribution.py", line 65, in __init__ | |
if base_shape != expanded_base_shape: | |
ERROR:common: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/drq/drq.py", line 101, in forward | |
dist = utils.SquashedNormal(mu, std) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/drq/utils.py", line 158, in __init__ | |
def __init__(self, loc, scale): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1171, in debug_wrapper | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1585, in debug_compiled_function | |
return compiled_function(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1554, in compiled_function | |
assert type(inner_out) == type(user_out) | |
AssertionError | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 2 graph(s) covering 33 ops | |
cuda train drq FAIL | |
Running torchbench.py fastNLP_Bert... | |
[2022-12-05 11:22:18,748] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:22:18,977] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.item from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/fastNLP/models/bert.py", line 265, in forward | |
sequence_output = self.bert(words) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/fastNLP/embeddings/bert_embedding.py", line 137, in forward | |
outputs = self.model(words) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/fastNLP/embeddings/bert_embedding.py", line 445, in forward | |
max_word_piece_length = batch_word_pieces_length.sum(dim=-1).max().item() # 表示word piece的长度(包括padding) | |
[2022-12-05 11:22:19,194] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.numpy from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/fastNLP/embeddings/bert_embedding.py", line 462, in <graph break in forward> | |
word_indexes = words.cpu().numpy() | |
[2022-12-05 11:22:49,740] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 6 graph(s) covering 581 ops | |
cuda train fastNLP_Bert PASS | |
Running torchbench.py functorch_dp_cifar10... | |
[2022-12-05 11:23:13,835] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:23:31,261] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 138 ops | |
cuda train functorch_dp_cifar10 PASS | |
Running torchbench.py functorch_maml_omniglot... | |
[2022-12-05 11:24:11,774] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:24:16,571] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 28 ops | |
cuda train functorch_maml_omniglot PASS | |
Running torchbench.py hf_Albert... | |
[2022-12-05 11:24:33,026] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:24:33,301] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 990, in forward | |
outputs = self.albert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 723, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 535 ops | |
cuda train hf_Albert PASS | |
Running torchbench.py hf_Bart... | |
[2022-12-05 11:25:37,833] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:25:39,152] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 323, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 230, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 11:25:51,295] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 11:25:51,308] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 39 graph(s) covering 571 ops | |
cuda train hf_Bart PASS | |
Running torchbench.py hf_Bert... | |
[2022-12-05 11:27:01,156] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:27:01,422] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 1351, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 983, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 508 ops | |
cuda train hf_Bert PASS | |
Running torchbench.py hf_BigBird... | |
[2022-12-05 11:28:04,761] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:28:05,033] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 2462, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 2057, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
[2022-12-05 11:28:06,370] torch._dynamo.symbolic_convert: [WARNING] Graph break: numpy from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1493, in forward | |
self_attention_outputs = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1406, in forward | |
self_outputs = self.self( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 475, in forward | |
context_layer, attention_probs = self.bigbird_block_sparse_attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 573, in bigbird_block_sparse_attention | |
np.random.seed(seed) | |
[2022-12-05 11:28:07,581] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(zip) [TensorVariable(), TensorVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1026, in _create_rand_mask_from_inputs | |
rand_mask = torch.stack([p1[i1.flatten()] for p1, i1 in zip(to_blocked_mask, rand_attn)]) | |
ERROR:common:Output 0 of CompiledFunctionBackward is a view and is being modified inplace. This view was created inside a custom Function (or because an input was returned as-is) and the autograd logic to handle view+inplace would override the custom backward associated with the custom Function, leading to incorrect gradients. This behavior is forbidden. You can fix this by cloning the output of the custom Function. | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 2462, in forward | |
outputs = self.bert( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 2148, in forward | |
encoder_outputs = self.encoder( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1641, in forward | |
layer_outputs = layer_module( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1493, in forward | |
self_attention_outputs = self.attention( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 1406, in forward | |
self_outputs = self.self( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 475, in forward | |
context_layer, attention_probs = self.bigbird_block_sparse_attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 573, in bigbird_block_sparse_attention | |
np.random.seed(seed) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/big_bird/modeling_big_bird.py", line 635, in <graph break in bigbird_block_sparse_attention> | |
first_context_layer.unsqueeze_(2) | |
RuntimeError: Output 0 of CompiledFunctionBackward is a view and is being modified inplace. This view was created inside a custom Function (or because an input was returned as-is) and the autograd logic to handle view+inplace would override the custom backward associated with the custom Function, leading to incorrect gradients. This behavior is forbidden. You can fix this by cloning the output of the custom Function. | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 8 graph(s) covering 90 ops | |
cuda train hf_BigBird FAIL | |
Running torchbench.py hf_DistilBert... | |
[2022-12-05 11:28:19,756] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:28:20,035] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 649, in forward | |
dlbrt_output = self.distilbert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 566, in forward | |
inputs_embeds = self.embeddings(input_ids) # (bs, seq_length, dim) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 124, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 217 ops | |
cuda train hf_DistilBert PASS | |
Running torchbench.py hf_GPT2... | |
[2022-12-05 11:28:59,430] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:29:00,624] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(pow) [DynamicShapeVariable(), ConstantVariable(float)] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 391, in forward | |
attn_outputs = self.attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 332, in forward | |
attn_output, attn_weights = self._attn(query, key, value, attention_mask, head_mask) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 192, in _attn | |
attn_weights = attn_weights / (value.size(-1) ** 0.5) | |
[2022-12-05 11:29:38,110] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 11:29:38,368] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 60 graph(s) covering 828 ops | |
cuda train hf_GPT2 PASS | |
Running torchbench.py hf_GPT2_large... | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train hf_GPT2_large PASS | |
Running torchbench.py hf_Longformer... | |
[2022-12-05 11:31:01,340] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:31:01,621] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __sub__ (DynamicShapeVariable(),) {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1813, in forward | |
outputs = self.longformer( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1696, in forward | |
padding_len, input_ids, attention_mask, token_type_ids, position_ids, inputs_embeds = self._pad_to_window_size( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1577, in _pad_to_window_size | |
padding_len = (attention_window - seq_len % attention_window) % attention_window | |
[2022-12-05 11:31:02,384] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.item from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1715, in <graph break in forward> | |
encoder_outputs = self.encoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1265, in forward | |
is_global_attn = is_index_global_attn.flatten().any().item() | |
[2022-12-05 11:31:03,513] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() == SizeVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1221, in forward | |
self_attn_outputs = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1157, in forward | |
self_outputs = self.self( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 580, in forward | |
attn_scores = self._sliding_chunks_query_key_matmul( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 812, in _sliding_chunks_query_key_matmul | |
assert query.size() == key.size() | |
ERROR:common: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1813, in forward | |
outputs = self.longformer( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1696, in forward | |
padding_len, input_ids, attention_mask, token_type_ids, position_ids, inputs_embeds = self._pad_to_window_size( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1715, in <graph break in forward> | |
encoder_outputs = self.encoder( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1265, in forward | |
is_global_attn = is_index_global_attn.flatten().any().item() | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1297, in <graph break in forward> | |
layer_outputs = layer_module( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1221, in forward | |
self_attn_outputs = self.attention( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 1157, in forward | |
self_outputs = self.self( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/longformer/modeling_longformer.py", line 542, in forward | |
def forward( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1171, in debug_wrapper | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1585, in debug_compiled_function | |
return compiled_function(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1554, in compiled_function | |
assert type(inner_out) == type(user_out) | |
AssertionError | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 4 graph(s) covering 44 ops | |
cuda train hf_Longformer FAIL | |
Running torchbench.py hf_Reformer... | |
[2022-12-05 11:31:12,352] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:31:12,597] torch._dynamo.symbolic_convert: [WARNING] Graph break: numpy from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 2397, in forward | |
reformer_outputs = self.reformer( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 2063, in forward | |
least_common_mult_chunk_length = _get_least_common_mult_chunk_len(self.config) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 92, in _get_least_common_mult_chunk_len | |
return np.lcm(config.lsh_attn_chunk_length, config.local_attn_chunk_length) | |
[2022-12-05 11:31:12,809] torch._dynamo.symbolic_convert: [WARNING] Graph break: autograd.Function with requires_grad from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 2107, in <graph break in forward> | |
encoder_outputs = self.encoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1733, in forward | |
hidden_states = _ReversibleFunction.apply( | |
[2022-12-05 11:31:13,540] torch._dynamo.symbolic_convert: [WARNING] Graph break: hasattr: TorchVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1484, in forward | |
self._init_attention_seed() | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1440, in _init_attention_seed | |
if hasattr(torch.cuda, "default_generators") and len(torch.cuda.default_generators) > 0: | |
[2022-12-05 11:31:13,554] torch._dynamo.symbolic_convert: [WARNING] Graph break: inlining disallowed: <function current_device at 0x7f071f7be1f0> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1442, in <graph break in _init_attention_seed> | |
device_idx = torch.cuda.current_device() | |
[2022-12-05 11:31:13,559] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function UserDefinedObjectVariable(seed) [] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1443, in <graph break in _init_attention_seed> | |
self.attention_seed = torch.cuda.default_generators[device_idx].seed() | |
[2022-12-05 11:31:13,567] torch._dynamo.symbolic_convert: [WARNING] Graph break: generic_jump UserDefinedObjectVariable(bool) from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1448, in <graph break in _init_attention_seed> | |
torch.manual_seed(self.attention_seed) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/util/model.py", line 102, in deterministic_torch_manual_seed | |
if not torch.cuda._is_in_bad_fork(): | |
[2022-12-05 11:31:15,053] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() == TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1486, in <graph break in forward> | |
attn_outputs = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1319, in forward | |
self_attention_outputs = self.self_attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1213, in forward | |
assert out_vectors.shape == ( | |
[2022-12-05 11:31:20,930] torch._dynamo.symbolic_convert: [WARNING] Graph break: hasattr: TorchVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1509, in <graph break in forward> | |
self._init_feed_forward_seed() | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1457, in _init_feed_forward_seed | |
if hasattr(torch.cuda, "default_generators") and len(torch.cuda.default_generators) > 0: | |
[2022-12-05 11:31:21,031] torch._dynamo.symbolic_convert: [WARNING] Graph break: inlining disallowed: <function current_device at 0x7f071f7be1f0> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1459, in <graph break in _init_feed_forward_seed> | |
device_idx = torch.cuda.current_device() | |
[2022-12-05 11:31:21,036] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function UserDefinedObjectVariable(seed) [] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1460, in <graph break in _init_feed_forward_seed> | |
self.feed_forward_seed = torch.cuda.default_generators[device_idx].seed() | |
[2022-12-05 11:31:21,901] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __mul__ [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1486, in <graph break in forward> | |
attn_outputs = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 1319, in forward | |
self_attention_outputs = self.self_attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py", line 480, in forward | |
int(buckets.shape[-1]) == num_hashes * sequence_length | |
[2022-12-05 11:31:56,685] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 11:31:57,038] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Traceback (most recent call last): | |
File "<string>", line 2, in <lambda> | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/cache.py", line 70, in wrapper | |
retval = cfunc(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/function.py", line 469, in __new__ | |
result = super().__new__(cls, *args, **options) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/cache.py", line 70, in wrapper | |
retval = cfunc(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/function.py", line 309, in __new__ | |
evaluated = cls.eval(*args) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/mod.py", line 102, in eval | |
rv = number_eval(p, q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/mod.py", line 49, in number_eval | |
raise ZeroDivisionError("Modulo by zero") | |
ZeroDivisionError: Modulo by zero | |
ERROR RUNNING GUARDS _attend /home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/reformer/modeling_reformer.py:726 | |
___guarded_code.valid and | |
___check_obj_id(self, 139667000739296) and | |
self.training == True and | |
___check_obj_id(head_mask, 7584864) and | |
___check_obj_id(attention_mask, 7584864) and | |
___check_obj_id(do_cached_attention, 7634016) and | |
___check_obj_id(do_standard_self_attention, 7634016) and | |
___check_type_id(sorted_bucket_idx_per_hash, 61219600) and | |
___check_obj_id(self.mask_value_float32, 139667000956384) and | |
___check_obj_id(self.self_mask_value_float32, 139667000664208) and | |
str(torch.float16) == 'torch.float16' and | |
___check_tensors(key_vectors, query_vectors, value_vectors, sorted_bucket_idx_per_hash, self.mask_value_float32, self.self_mask_value_float32) and | |
(Eq(key_vectors.size()[1], 12) & (key_vectors.size()[0] <= 9223372036854775807) & (key_vectors.size()[1] <= 9223372036854775807) & (key_vectors.size()[3] <= 9223372036854775807) & Ne(key_vectors.size()[0], 9223372036854775807) & Ne(key_vectors.size()[1], 9223372036854775807) & Eq(key_vectors.size()[3], sorted_bucket_idx_per_hash.size()[2]//64) & (key_vectors.size()[3] - 1 >= 2) & (sorted_bucket_idx_per_hash.size()[2]//64 >= 2) & (key_vectors.size()[3] - 1 <= 9223372036854775807) & (sorted_bucket_idx_per_hash.size()[2]//64 <= 9223372036854775807) & (sorted_bucket_idx_per_hash.size()[2]//64 > 0) & Ne(key_vectors.size()[3] - 1, 1) & Ne(sorted_bucket_idx_per_hash.size()[2]//64, 0) & Ne(sorted_bucket_idx_per_hash.size()[2]//64, 1) & (12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2] > 64) & (64 < key_vectors.size()[0]*key_vectors.size()[1]*sorted_bucket_idx_per_hash.size()[2]) & Eq(Mod(sorted_bucket_idx_per_hash.size()[2], sorted_bucket_idx_per_hash.size()[2]//64), 0) & (sorted_bucket_idx_per_hash.size()[2]/64 - 1 >= 0) & (sorted_bucket_idx_per_hash.size()[2]//64 - 1 >= 0) & (sorted_bucket_idx_per_hash.size()[2]//64 - 1 >= 2) & (sorted_bucket_idx_per_hash.size()[2]//64 - 1 <= 9223372036854775807) & (12*sorted_bucket_idx_per_hash.size()[2]//64 > 1) & Ne(12, 12*sorted_bucket_idx_per_hash.size()[2]//64) & Ne(sorted_bucket_idx_per_hash.size()[2]//64 - 1, 0) & Ne(sorted_bucket_idx_per_hash.size()[2]//64 - 1, 1) & Ne(12*sorted_bucket_idx_per_hash.size()[2]//64, 0) & Eq(12*key_vectors.size()[0]*(Mod(sorted_bucket_idx_per_hash.size()[2], 64)), 0) & Ne(key_vectors.size()[0], 12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]//64) & Ne(12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2], 768*key_vectors.size()[0]) & Ne(12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]//64, 0) & Ne(key_vectors.size()[0]*key_vectors.size()[1]*sorted_bucket_idx_per_hash.size()[2], 768*key_vectors.size()[0]) & Eq(key_vectors.size()[3], sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64) & Eq(key_vectors.size()[0]*(Mod(key_vectors.size()[1]*sorted_bucket_idx_per_hash.size()[2], 768)), 0) & Eq(sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 64) & (sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 1) & (sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 2) & (sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 > 1) & (3*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]**2/8 > 1) & (sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 < sorted_bucket_idx_per_hash.size()[2]) & Ne(sorted_bucket_idx_per_hash.size()[2], sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64) & Ne(sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 1) & Eq(2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 128) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 2) & (sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]/sorted_bucket_idx_per_hash.size()[2]//64 >= key_vectors.size()[3]) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 > 1) & (0 < 2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64) & Ne(12*key_vectors.size()[0]*(Mod(1, sorted_bucket_idx_per_hash.size()[2]//64)), 0) & Ne(2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 1) & Ne(sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]/sorted_bucket_idx_per_hash.size()[2]//64, 1) & (24*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64 > 0) & (1 < 24*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64) & (key_vectors.size()[3] < 24*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64) & Ne(key_vectors.size()[0]*(Mod(1, 12*sorted_bucket_idx_per_hash.size()[2]//64)), 0) & Ne(24*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64, 0) & Ne(96*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64, 0) & Eq(2*key_vectors.size()[3], 2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2 >= 0) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (24*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (sorted_bucket_idx_per_hash.size()[2] - sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 >= 0) & (48*key_vectors.size()[0]*key_vectors.size()[3]**3 <= 48*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]) & (1 < 24*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 < 2*sorted_bucket_idx_per_hash.size()[2]) & Ne(2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64, 1) & (24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 > 0) & (1 < 24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & Eq(2*key_vectors.size()[3]**3, 2*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64) & Eq(24*key_vectors.size()[3]**3, 24*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64) & (2*key_vectors.size()[3]**2 < 24*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64) & Ne(sorted_bucket_idx_per_hash.size()[2]//64*(Mod(1, sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64)), 0) & Ne(96*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2] - 8*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 0) & (96*key_vectors.size()[0]*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64 <= 96*key_vectors.size()[0]*key_vectors.size()[3]**3) & Ne(12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2] - 12*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64, 0) & (96*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2] - 8*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 <= 96*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]) & (48*key_vectors.size()[0]*key_vectors.size()[3]**3 - 4*key_vectors.size()[3]**2 <= 48*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 < 2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2) & (4*key_vectors.size()[0]*key_vectors.size()[1]*key_vectors.size()[3]**3 - 4*key_vectors.size()[3]**2 <= 4*key_vectors.size()[0]*key_vectors.size()[1]*sorted_bucket_idx_per_hash.size()[2]*key_vectors.size()[3]) & (2*sorted_bucket_idx_per_hash.size()[2]/sorted_bucket_idx_per_hash.size()[2]//64 < 24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 >= 2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2) & (24*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 >= 2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2 < 2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 < 24*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (2*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64**2 < 24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 <= 24*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (96*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64 <= 96*key_vectors.size()[0]*sorted_bucket_idx_per_hash.size()[2]**2/sorted_bucket_idx_per_hash.size()[2]//64) & (96*key_vectors.size()[0]*key_vectors.size()[3]**3 - 8*key_vectors.size()[3]**3 + 8*key_vectors.size()[3]**2*sorted_bucket_idx_per_hash.size()[2]//64 <= 96*key_vectors.size()[0]*key_vectors.size()[3]**3) and key_vectors.size()[0] == query_vectors.size()[0] == value_vectors.size()[0] == sorted_bucket_idx_per_hash.size()[0] and key_vectors.size()[3] == key_vectors.size()[2] == key_vectors.stride()[3] == key_vectors.size()[4] == query_vectors.stride()[3] == query_vectors.size()[3] == query_vectors.size()[2] == query_vectors.size()[4] == value_vectors.size()[3] == value_vectors.size()[2] == value_vectors.stride()[3] == value_vectors.size()[4] and key_vectors.size()[1] == query_vectors.size()[1] == value_vectors.size()[1] == sorted_bucket_idx_per_hash.size()[1] and sorted_bucket_idx_per_hash.size()[2] == sorted_bucket_idx_per_hash.stride()[1])NULL ERROR: /data/users/ezyang/b/pytorch/torch/csrc/dynamo/eval_frame.c:251 | |
cuda train hf_Reformer FAIL | |
Running torchbench.py hf_T5... | |
WARNING:common:fp64 golden ref were not generated for hf_T5 | |
[2022-12-05 11:32:11,346] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 1 graph(s) covering 863 ops | |
cuda train hf_T5 PASS | |
Running torchbench.py hf_T5_base... | |
WARNING:common:fp64 golden ref were not generated for hf_T5_base | |
[2022-12-05 11:33:26,508] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 1 graph(s) covering 1607 ops | |
cuda train hf_T5_base PASS | |
Running torchbench.py hf_T5_large... | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train hf_T5_large PASS | |
Running torchbench.py lennard_jones... | |
[2022-12-05 11:35:59,503] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:36:00,142] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 9 ops | |
cuda train lennard_jones PASS | |
Running torchbench.py maml_omniglot... | |
[2022-12-05 11:36:07,044] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:36:11,744] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 28 ops | |
cuda train maml_omniglot PASS | |
Running torchbench.py mnasnet1_0... | |
[2022-12-05 11:36:25,883] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:36:51,859] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 152 ops | |
cuda train mnasnet1_0 PASS | |
Running torchbench.py mobilenet_v2... | |
[2022-12-05 11:37:13,535] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:37:49,314] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 153 ops | |
cuda train mobilenet_v2 PASS | |
Running torchbench.py mobilenet_v2_quantized_qat... | |
WARNING:common:fp64 golden ref were not generated for mobilenet_v2_quantized_qat | |
[2022-12-05 11:38:15,066] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common:output 2 where {s0: 2, s2: 224}: torch.Size([0]) aka (0,) != torch.Size([32]) | |
While executing %_fused_moving_avg_obs_fq_helper_functional_1 : [#users=6] = call_function[target=torch.ops.aten._fused_moving_avg_obs_fq_helper_functional.default](args = (%mul : Tensor[size=[32, 3, 3, 3], stride=[27, 9, 3, 1]], %primals_170 : Tensor[size=[1], stride=[1]], %primals_169 : Tensor[size=[1], stride=[1]], %clone_8 : Tensor[size=[0], stride=[1]], %clone_9 : Tensor[size=[0], stride=[1]], %clone_6 : Tensor[size=[1], stride=[1]], %clone_7 : Tensor[size=[1], stride=[1]], 0.01, -128, 127, 0, True, True), kwargs = {}) | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 660, in call_wrapped | |
return self._wrapped_call(self, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 279, in __call__ | |
raise e | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 269, in __call__ | |
return super(self.cls, obj).__call__(*args, **kwargs) # type: ignore[misc] | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "<eval_with_key>.8", line 4, in forward | |
def forward(self, x : torch.Tensor) -> torch.Tensor: | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1171, in debug_wrapper | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1585, in debug_compiled_function | |
return compiled_function(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1449, in compiled_function | |
all_outs = CompiledFunction.apply(*args_with_synthetic_bases) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1334, in forward | |
fw_outs = call_func_with_args( | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 829, in call_func_with_args | |
out = normalize_as_list(f(args)) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 215, in <lambda> | |
return lambda *args, **kwargs: DebugInterpreter(fx_g).run(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 130, in run | |
self.env[node] = self.run_node(node) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 204, in run_node | |
check(nv, rv, lambda: f"output {i} where {self.symbol_mapping}") | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 150, in check | |
assert subst_symint_tuple(nv.size()) == rv.size(), f"{desc()}: {nv.size()} aka {subst_symint_tuple(nv.size())} != {rv.size()}" | |
AssertionError: output 2 where {s0: 2, s2: 224}: torch.Size([0]) aka (0,) != torch.Size([32]) | |
While executing %_fused_moving_avg_obs_fq_helper_functional_1 : [#users=6] = call_function[target=torch.ops.aten._fused_moving_avg_obs_fq_helper_functional.default](args = (%mul : Tensor[size=[32, 3, 3, 3], stride=[27, 9, 3, 1]], %primals_170 : Tensor[size=[1], stride=[1]], %primals_169 : Tensor[size=[1], stride=[1]], %clone_8 : Tensor[size=[0], stride=[1]], %clone_9 : Tensor[size=[0], stride=[1]], %clone_6 : Tensor[size=[1], stride=[1]], %clone_7 : Tensor[size=[1], stride=[1]], 0.01, -128, 127, 0, True, True), kwargs = {}) | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 1 graph(s) covering 203 ops | |
cuda train mobilenet_v2_quantized_qat FAIL | |
Running torchbench.py mobilenet_v3_large... | |
[2022-12-05 11:39:21,932] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:39:57,333] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 187 ops | |
cuda train mobilenet_v3_large PASS | |
devgpu019:1031810:1031810 [0] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth0 | |
devgpu019:1031810:1031810 [0] NCCL INFO NCCL_SOCKET_IFNAME set to eth0 | |
devgpu019:1031810:1031810 [0] NCCL INFO Bootstrap : Using eth0:2803:6080:6188:70b4::1<0> | |
devgpu019:1031810:1031810 [0] NCCL INFO NET/Plugin : No plugin found (libnccl-net.so), using internal implementation | |
devgpu019:1031810:1031810 [0] NCCL INFO cudaDriverVersion 11040 | |
NCCL version 2.14.3+cuda11.4 | |
devgpu019:1031810:1042543 [0] NCCL INFO NCCL_IB_DISABLE set by environment to 1. | |
devgpu019:1031810:1042543 [0] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth0 | |
devgpu019:1031810:1042543 [0] NCCL INFO NET/Socket : Using [0]eth0:2803:6080:6188:70b4::1<0> | |
devgpu019:1031810:1042543 [0] NCCL INFO Using network Socket | |
devgpu019:1031810:1042543 [0] NCCL INFO NET/Socket : GPU Direct RDMA Disabled for HCA 0 'eth0' | |
devgpu019:1031810:1042543 [0] NCCL INFO === System : maxBw 5000.0 totalBw 0.0 === | |
devgpu019:1031810:1042543 [0] NCCL INFO CPU/0 (1/1/2) | |
devgpu019:1031810:1042543 [0] NCCL INFO + PCI[12.0] - PCI/D000 (11f840001d9bfbe1) | |
devgpu019:1031810:1042543 [0] NCCL INFO + PCI[24.0] - PCI/F000 (11f840001d9bfbe0) | |
devgpu019:1031810:1042543 [0] NCCL INFO + PCI[24.0] - GPU/11000 (0) | |
devgpu019:1031810:1042543 [0] NCCL INFO + PCI[12.0] - NIC/30000 | |
devgpu019:1031810:1042543 [0] NCCL INFO ========================================== | |
devgpu019:1031810:1042543 [0] NCCL INFO GPU/11000 :GPU/11000 (0/5000.000000/LOC) CPU/0 (3/12.000000/PHB) | |
devgpu019:1031810:1042543 [0] NCCL INFO Setting affinity for GPU 0 to ffffff,00000000,00000000,00ffffff | |
devgpu019:1031810:1042543 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 16, bw 44.000000/44.000000, type LOC/PIX, sameChannels 1 | |
devgpu019:1031810:1042543 [0] NCCL INFO 0 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 1 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 2 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 3 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 4 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 5 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 6 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 7 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 8 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 9 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 10 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 11 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 12 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 13 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 14 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 15 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Pattern 3, crossNic 0, nChannels 16, bw 44.000000/44.000000, type LOC/PIX, sameChannels 1 | |
devgpu019:1031810:1042543 [0] NCCL INFO 0 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 1 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 2 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 3 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 4 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 5 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 6 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 7 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 8 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 9 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 10 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 11 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 12 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 13 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 14 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 15 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Pattern 3, crossNic 0, nChannels 16, bw 44.000000/44.000000, type LOC/PIX, sameChannels 1 | |
devgpu019:1031810:1042543 [0] NCCL INFO 0 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 1 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 2 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 3 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 4 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 5 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 6 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 7 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 8 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 9 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 10 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 11 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 12 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 13 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 14 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO 15 : GPU/0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 0 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 16 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 1 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 17 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 2 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 18 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 3 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 19 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 4 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 20 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 5 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 21 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 6 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 22 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 7 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 23 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 8 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 24 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 9 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 25 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 10 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 26 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 11 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 27 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 12 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 28 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 13 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 29 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 14 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 30 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 15 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Tree 31 : -1 -> 0 -> -1/-1/-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 00/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 01/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 02/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 03/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 04/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 05/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 06/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 07/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 08/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 09/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 10/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 11/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 12/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 13/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 14/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 15/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 16/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 17/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 18/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 19/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 20/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 21/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 22/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 23/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 24/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 25/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 26/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 27/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 28/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 29/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 30/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Channel 31/32 : 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 00 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 01 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 02 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 03 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 04 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 05 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 06 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 07 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 08 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 09 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 10 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 11 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 12 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 13 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 14 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 15 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 16 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 17 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 18 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 19 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 20 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 21 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 22 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 23 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 24 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 25 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 26 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 27 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 28 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 29 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 30 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Ring 31 : 0 -> 0 -> 0 | |
devgpu019:1031810:1042543 [0] NCCL INFO Trees [0] -1/-1/-1->0->-1 [1] -1/-1/-1->0->-1 [2] -1/-1/-1->0->-1 [3] -1/-1/-1->0->-1 [4] -1/-1/-1->0->-1 [5] -1/-1/-1->0->-1 [6] -1/-1/-1->0->-1 [7] -1/-1/-1->0->-1 [8] -1/-1/-1->0->-1 [9] -1/-1/-1->0->-1 [10] -1/-1/-1->0->-1 [11] -1/-1/-1->0->-1 [12] -1/-1/-1->0->-1 [13] -1/-1/-1->0->-1 [14] -1/-1/-1->0->-1 [15] -1/-1/-1->0->-1 [16] -1/-1/-1->0->-1 [17] -1/-1/-1->0->-1 [18] -1/-1/-1->0->-1 [19] -1/-1/-1->0->-1 [20] -1/-1/-1->0->-1 [21] -1/-1/-1->0->-1 [22] -1/-1/-1->0->-1 [23] -1/-1/-1->0->-1 [24] -1/-1/-1->0->-1 [25] -1/-1/-1->0->-1 [26] -1/-1/-1->0->-1 [27] -1/-1/-1->0->-1 [28] -1/-1/-1->0->-1 [29] -1/-1/-1->0->-1 [30] -1/-1/-1->0->-1 [31] -1/-1/-1->0->-1 | |
devgpu019:1031810:1042543 [0] NCCL INFO Connected all rings | |
devgpu019:1031810:1042543 [0] NCCL INFO Connected all trees | |
devgpu019:1031810:1042543 [0] NCCL INFO 32 coll channels, 32 p2p channels, 32 p2p channels per peer | |
devgpu019:1031810:1042778 [0] NCCL INFO New proxy send connection 0 from local rank 0, transport 2 | |
devgpu019:1031810:1042543 [0] NCCL INFO Connection to proxy localRank 0 -> connection 0x7f9ba8002e80 | |
devgpu019:1031810:1042543 [0] NCCL INFO comm 0x6bc4570 rank 0 nranks 1 cudaDev 0 busId 11000 - Init COMPLETE | |
Running torchbench.py moco... | |
[2022-12-05 11:40:25,040] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:40:30,839] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/moco/moco/builder.py", line 130, in forward | |
self._momentum_update_key_encoder() # update the key encoder | |
ERROR:common:'ResNet' object has no attribute 'layer1[0]' | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/parallel/distributed.py", line 1098, in forward | |
output = self._run_ddp_forward(*inputs, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/parallel/distributed.py", line 1051, in _run_ddp_forward | |
return module_to_run(*inputs[0], **kwargs[0]) # type: ignore[index] | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/moco/moco/builder.py", line 130, in forward | |
self._momentum_update_key_encoder() # update the key encoder | |
File "/data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py", line 34, in decorate_context | |
return func(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/moco/moco/builder.py", line 44, in _momentum_update_key_encoder | |
@torch.no_grad() | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1587, in __getattr__ | |
raise AttributeError("'{}' object has no attribute '{}'".format( | |
AttributeError: 'ResNet' object has no attribute 'layer1[0]' | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 2 graph(s) covering 183 ops | |
cuda train moco FAIL | |
devgpu019:1031810:1042778 [0] NCCL INFO [Service thread] Connection closed by localRank 0 | |
devgpu019:1031810:1031810 [0] NCCL INFO comm 0x6bc4570 rank 0 nranks 1 cudaDev 0 busId 11000 - Abort COMPLETE | |
Running torchbench.py nvidia_deeprecommender... | |
[2022-12-05 11:41:03,928] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:41:05,014] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 13 ops | |
cuda train nvidia_deeprecommender PASS | |
Running torchbench.py pytorch_CycleGAN_and_pix2pix... | |
[2022-12-05 11:41:12,339] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:41:27,716] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
--dataroot /data/users/ezyang/b/torchbenchmark/torchbenchmark/data/.data/pytorch_CycleGAN_and_pix2pix_inputs/datasets/horse2zebra --name horse2zebra --model cycle_gan --display_id 0 --n_epochs 3 --n_epochs_decay 3 --gpu_ids 0 --checkpoints_dir /data/users/ezyang/b/torchbenchmark/torchbenchmark/models/pytorch_CycleGAN_and_pix2pix/.data/checkpoints | |
Dynamo produced 1 graph(s) covering 91 ops | |
cuda train pytorch_CycleGAN_and_pix2pix PASS | |
Running torchbench.py pytorch_stargan... | |
[2022-12-05 11:41:42,704] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:42:01,719] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 60 ops | |
cuda train pytorch_stargan PASS | |
Running torchbench.py pytorch_struct... | |
[2022-12-05 11:42:16,283] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:42:17,537] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 46 ops | |
cuda train pytorch_struct PASS | |
Running torchbench.py pytorch_unet... | |
[2022-12-05 11:42:28,079] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:43:06,797] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 2 graph(s) covering 270 ops | |
cuda train pytorch_unet PASS | |
Running torchbench.py resnet152... | |
[2022-12-05 11:44:12,763] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:45:26,723] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 515 ops | |
cuda train resnet152 PASS | |
Running torchbench.py resnet18... | |
[2022-12-05 11:46:15,126] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:46:25,512] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 69 ops | |
cuda train resnet18 PASS | |
Running torchbench.py resnet50... | |
[2022-12-05 11:46:39,164] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:47:04,911] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 175 ops | |
cuda train resnet50 PASS | |
Running torchbench.py resnet50_quantized_qat... | |
WARNING:common:fp64 golden ref were not generated for resnet50_quantized_qat | |
[2022-12-05 11:47:29,672] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common:output 2 where {s0: 2, s2: 224}: torch.Size([0]) aka (0,) != torch.Size([64]) | |
While executing %_fused_moving_avg_obs_fq_helper_functional_1 : [#users=6] = call_function[target=torch.ops.aten._fused_moving_avg_obs_fq_helper_functional.default](args = (%mul : Tensor[size=[64, 3, 7, 7], stride=[147, 49, 7, 1]], %primals_173 : Tensor[size=[1], stride=[1]], %primals_172 : Tensor[size=[1], stride=[1]], %clone_8 : Tensor[size=[0], stride=[1]], %clone_9 : Tensor[size=[0], stride=[1]], %clone_6 : Tensor[size=[1], stride=[1]], %clone_7 : Tensor[size=[1], stride=[1]], 0.01, -128, 127, 0, True, True), kwargs = {}) | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 660, in call_wrapped | |
return self._wrapped_call(self, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 279, in __call__ | |
raise e | |
File "/data/users/ezyang/b/pytorch/torch/fx/graph_module.py", line 269, in __call__ | |
return super(self.cls, obj).__call__(*args, **kwargs) # type: ignore[misc] | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "<eval_with_key>.8", line 4, in forward | |
def forward(self, x : torch.Tensor) -> torch.Tensor: | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1171, in debug_wrapper | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1585, in debug_compiled_function | |
return compiled_function(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1449, in compiled_function | |
all_outs = CompiledFunction.apply(*args_with_synthetic_bases) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1334, in forward | |
fw_outs = call_func_with_args( | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 829, in call_func_with_args | |
out = normalize_as_list(f(args)) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 215, in <lambda> | |
return lambda *args, **kwargs: DebugInterpreter(fx_g).run(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 130, in run | |
self.env[node] = self.run_node(node) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 204, in run_node | |
check(nv, rv, lambda: f"output {i} where {self.symbol_mapping}") | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 150, in check | |
assert subst_symint_tuple(nv.size()) == rv.size(), f"{desc()}: {nv.size()} aka {subst_symint_tuple(nv.size())} != {rv.size()}" | |
AssertionError: output 2 where {s0: 2, s2: 224}: torch.Size([0]) aka (0,) != torch.Size([64]) | |
While executing %_fused_moving_avg_obs_fq_helper_functional_1 : [#users=6] = call_function[target=torch.ops.aten._fused_moving_avg_obs_fq_helper_functional.default](args = (%mul : Tensor[size=[64, 3, 7, 7], stride=[147, 49, 7, 1]], %primals_173 : Tensor[size=[1], stride=[1]], %primals_172 : Tensor[size=[1], stride=[1]], %clone_8 : Tensor[size=[0], stride=[1]], %clone_9 : Tensor[size=[0], stride=[1]], %clone_6 : Tensor[size=[1], stride=[1]], %clone_7 : Tensor[size=[1], stride=[1]], 0.01, -128, 127, 0, True, True), kwargs = {}) | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 1 graph(s) covering 163 ops | |
cuda train resnet50_quantized_qat FAIL | |
Running torchbench.py resnext50_32x4d... | |
[2022-12-05 11:48:24,477] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:48:50,433] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 175 ops | |
cuda train resnext50_32x4d PASS | |
Running torchbench.py shufflenet_v2_x1_0... | |
[2022-12-05 11:49:11,857] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:49:42,325] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 367 ops | |
cuda train shufflenet_v2_x1_0 PASS | |
/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/gym/core.py:317: DeprecationWarning: [33mWARN: Initializing wrapper in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.[0m | |
deprecation( | |
/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/gym/wrappers/step_api_compatibility.py:39: DeprecationWarning: [33mWARN: Initializing environment in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.[0m | |
deprecation( | |
Running torchbench.py soft_actor_critic... | |
[2022-12-05 11:50:05,170] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:50:05,473] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP TupleVariable() != TupleVariable() from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/soft_actor_critic/nets.py", line 124, in forward | |
dist = SquashedNormal(mu, std) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/soft_actor_critic/nets.py", line 249, in __init__ | |
super().__init__(self.base_dist, transforms) | |
File "/data/users/ezyang/b/pytorch/torch/distributions/transformed_distribution.py", line 65, in __init__ | |
if base_shape != expanded_base_shape: | |
ERROR:common: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/soft_actor_critic/nets.py", line 124, in forward | |
dist = SquashedNormal(mu, std) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/soft_actor_critic/nets.py", line 243, in __init__ | |
def __init__(self, loc, scale): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1171, in debug_wrapper | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1585, in debug_compiled_function | |
return compiled_function(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1554, in compiled_function | |
assert type(inner_out) == type(user_out) | |
AssertionError | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 2 graph(s) covering 19 ops | |
cuda train soft_actor_critic FAIL | |
Running torchbench.py speech_transformer... | |
[2022-12-05 11:50:13,646] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:50:13,860] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/transformer.py", line 28, in forward | |
encoder_padded_outputs, *_ = self.encoder(padded_input, input_lengths) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/encoder.py", line 48, in forward | |
non_pad_mask = get_non_pad_mask(padded_input, input_lengths=input_lengths) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/utils/utils.py", line 109, in get_non_pad_mask | |
non_pad_mask[i, input_lengths[i]:] = 0 | |
[2022-12-05 11:50:14,209] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/encoder.py", line 55, in <graph break in forward> | |
self.positional_encoding(padded_input)) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/module.py", line 33, in forward | |
return self.pe[:, :length] | |
[2022-12-05 11:50:27,708] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(iter) [TensorVariable()] {} from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/transformer.py", line 30, in <graph break in forward> | |
pred, gold, *_ = self.decoder(padded_target, encoder_padded_outputs, | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/decoder.py", line 84, in forward | |
ys_in_pad, ys_out_pad = self.preprocess(padded_input) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/transformer/decoder.py", line 59, in preprocess | |
ys = [y[y != IGNORE_ID] for y in padded_input] # parse padded ys | |
[2022-12-05 11:50:27,840] torch._dynamo.variables.builtin: [WARNING] incorrect arg count <bound method BuiltinVariable._call_min_max of BuiltinVariable(max)> missing a required argument: 'b' and no constant handler | |
[2022-12-05 11:50:27,840] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(max) [ListIteratorVariable()] {} from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/speech_transformer/speech_transformer/utils/utils.py", line 8, in pad_list | |
max_len = max(x.size(0) for x in xs) | |
[2022-12-05 11:50:50,977] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 15 graph(s) covering 851 ops | |
cuda train speech_transformer PASS | |
Running torchbench.py squeezenet1_1... | |
[2022-12-05 11:51:21,828] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:51:32,036] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 66 ops | |
cuda train squeezenet1_1 PASS | |
Running torchbench.py tacotron2... | |
[2022-12-05 11:51:58,791] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 11:51:59,277] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.numpy from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 505, in forward | |
encoder_outputs = self.encoder(embedded_inputs, text_lengths) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 180, in forward | |
input_lengths = input_lengths.cpu().numpy() | |
[2022-12-05 11:52:00,882] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function args: TensorVariable() NumpyVariable() ConstantVariable(bool) from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 181, in <graph break in forward> | |
x = nn.utils.rnn.pack_padded_sequence( | |
[2022-12-05 11:52:00,889] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method NNModuleVariable() flatten_parameters [] {} from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 184, in <graph break in forward> | |
self.lstm.flatten_parameters() | |
[2022-12-05 11:52:00,895] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function args: UserDefinedObjectVariable(PackedSequence) from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 185, in <graph break in forward> | |
outputs, _ = self.lstm(x) | |
[2022-12-05 11:52:00,942] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function args: UserDefinedObjectVariable(PackedSequence) ConstantVariable(bool) from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 187, in <graph break in forward> | |
outputs, _ = nn.utils.rnn.pad_packed_sequence( | |
[2022-12-05 11:52:01,405] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.item from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 507, in <graph break in forward> | |
mel_outputs, gate_outputs, alignments = self.decoder( | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 402, in forward | |
memory, mask=~get_mask_from_lengths(memory_lengths)) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/utils.py", line 8, in get_mask_from_lengths | |
max_len = torch.max(lengths).item() | |
[2022-12-05 11:52:02,252] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function UserDefinedObjectVariable(initialize_decoder_states) [TensorVariable()] {'mask': TensorVariable()} from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 401, in <graph break in forward> | |
self.initialize_decoder_states( | |
ERROR:common:compiler_fn raised RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
While executing %masked_fill_ : [#users=0] = call_method[target=masked_fill_](args = (%detach : META IS MISSING, INVESTIGATE, %self_mask : META IS MISSING, INVESTIGATE, -inf), kwargs = {}) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 533, in call_user_compiler | |
compiled_fn = compiler_fn(gm, self.fake_example_inputs()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/debug_utils.py", line 865, in debug_wrapper | |
compiled_gm = compiler_fn(gm, example_inputs, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/optimizations/training.py", line 81, in compiler_fn | |
cg = aot_module_simplified(gm, example_inputs, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1983, in aot_module_simplified | |
compiled_fn = create_aot_dispatcher_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1684, in create_aot_dispatcher_function | |
aot_dispatch_autograd(flat_fn, fake_flat_tensor_args, aot_config) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1185, in aot_dispatch_autograd | |
compiled_fn = aot_dispatch_deduplicated_autograd(wrapped_flat_fn, deduped_flat_args, aot_config) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1207, in aot_dispatch_deduplicated_autograd | |
_fw_metadata, out, _num_aliasing_metadata_outs = run_functionalized_fw_and_collect_metadata( | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 265, in inner | |
outs = f(*f_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1183, in wrapped_flat_fn | |
return flat_fn(*add_dupe_args(args)) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1955, in functional_call | |
out = Interpreter(mod).run(*args[params_len:], **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 130, in run | |
self.env[node] = self.run_node(node) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 171, in run_node | |
return getattr(self, n.op)(n.target, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 265, in call_method | |
return getattr(self_obj, target)(*args_tail, **kwargs) | |
RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
While executing %masked_fill_ : [#users=0] = call_method[target=masked_fill_](args = (%detach : META IS MISSING, INVESTIGATE, %self_mask : META IS MISSING, INVESTIGATE, -inf), kwargs = {}) | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 505, in forward | |
encoder_outputs = self.encoder(embedded_inputs, text_lengths) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 507, in <graph break in forward> | |
mel_outputs, gate_outputs, alignments = self.decoder( | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 402, in forward | |
memory, mask=~get_mask_from_lengths(memory_lengths)) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tacotron2/model.py", line 401, in <graph break in forward> | |
self.initialize_decoder_states( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1677, in RETURN_VALUE | |
self.output.compile_subgraph(self) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 451, in compile_subgraph | |
self.compile_and_call_fx_graph(tx, pass2.graph_output_vars(), root) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 498, in compile_and_call_fx_graph | |
compiled_fn = self.call_user_compiler(gm) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 538, in call_user_compiler | |
raise BackendCompilerFailed(self.compiler_fn, e) from e | |
torch._dynamo.exc.BackendCompilerFailed: compiler_fn raised RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
While executing %masked_fill_ : [#users=0] = call_method[target=masked_fill_](args = (%detach : META IS MISSING, INVESTIGATE, %self_mask : META IS MISSING, INVESTIGATE, -inf), kwargs = {}) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 7 graph(s) covering 28325 ops | |
cuda train tacotron2 FAIL | |
Running torchbench.py timm_efficientdet... | |
[2022-12-05 12:01:08,140] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/effdet/efficientdet.py", line 211, in forward | |
input_node = resample(input_node) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/effdet/efficientdet.py", line 134, in forward | |
return F.interpolate( | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1112, in run_node | |
return node.target(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/functional.py", line 3928, in interpolate | |
return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors) | |
RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1071, in get_fake_value | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1072, in <lambda> | |
lambda: run_node(tx.output, node, args, kwargs, nnmodule) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1121, in run_node | |
raise RuntimeError( | |
RuntimeError: Failed running call_function <function interpolate at 0x7fe6f92bf160>(*(FakeTensor(FakeTensor(..., device='meta', | |
size=(s0, 88, ceiling(ceiling(ceiling(ceiling(ceiling(ceiling(ceiling(s2/2)/2)/2)/2)/2)/2)/2), ceiling(ceiling(ceiling(ceiling(ceiling(ceiling(ceiling(s2/2)/2)/2)/2)/2)/2)/2)), | |
grad_fn=<MaxPool2DWithIndicesBackward0>), cuda:0), (10, 10), None, 'nearest', None), **{'recompute_scale_factor': False}): | |
Cannot call sizes() on tensor with symbolic sizes/strides | |
(scroll up for backtrace) | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 960, in CALL_FUNCTION_KW | |
self.call_function(fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/torch.py", line 431, in call_function | |
tensor_variable = wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 708, in wrap_fx_proxy_cls | |
example_value = get_fake_value(proxy.node, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1091, in get_fake_value | |
raise TorchRuntimeError() from e | |
torch._dynamo.exc.TorchRuntimeError: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/effdet/efficientdet.py", line 211, in forward | |
input_node = resample(input_node) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/effdet/efficientdet.py", line 134, in forward | |
return F.interpolate( | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train timm_efficientdet FAIL | |
Running torchbench.py timm_efficientnet... | |
[2022-12-05 12:01:35,968] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:02:20,931] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 313 ops | |
cuda train timm_efficientnet PASS | |
Running torchbench.py timm_regnet... | |
[2022-12-05 12:02:54,997] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common:Unknown shape symbol s2. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 711, in _parse_symbolic_shape_expressions | |
assert str(key) not in expr_as_str, f"Unknown shape symbol {key}. " | |
AssertionError: Unknown shape symbol s2. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 1 graph(s) covering 458 ops | |
cuda train timm_regnet FAIL | |
Running torchbench.py timm_resnest... | |
[2022-12-05 12:03:30,577] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:03:45,068] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 180 ops | |
cuda train timm_resnest PASS | |
Running torchbench.py timm_vision_transformer... | |
[2022-12-05 12:04:02,728] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:04:24,059] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 441 ops | |
cuda train timm_vision_transformer PASS | |
Running torchbench.py timm_vision_transformer_large... | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train timm_vision_transformer_large PASS | |
Running torchbench.py timm_vovnet... | |
[2022-12-05 12:05:12,504] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:05:30,814] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 169 ops | |
cuda train timm_vovnet PASS | |
Running torchbench.py tts_angular... | |
[2022-12-05 12:05:50,419] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:05:50,574] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method NNModuleVariable() flatten_parameters [] {} from user code at File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 59, in forward | |
d = self.layers(x) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 17, in forward | |
self.lstm.flatten_parameters() | |
ERROR:common: | |
from user code: | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 18, in <graph break in forward> | |
o, (_, _) = self.lstm(x) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1117, in run_node | |
return nnmodule(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/rnn.py", line 776, in forward | |
result = _VF.lstm(input, hx, self._flat_weights, self.bias, self.num_layers, | |
RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1071, in get_fake_value | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1072, in <lambda> | |
lambda: run_node(tx.output, node, args, kwargs, nnmodule) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1121, in run_node | |
raise RuntimeError( | |
RuntimeError: Failed running call_module self_lstm(*(FakeTensor(FakeTensor(..., device='meta', size=(s0, s1, 40)), cuda:0),), **{}): | |
Cannot call sizes() on tensor with symbolic sizes/strides | |
(scroll up for backtrace) | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 59, in forward | |
d = self.layers(x) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/container.py", line 204, in forward | |
input = module(input) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 17, in forward | |
self.lstm.flatten_parameters() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 202, in call_function | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 708, in wrap_fx_proxy_cls | |
example_value = get_fake_value(proxy.node, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1091, in get_fake_value | |
raise TorchRuntimeError() from e | |
torch._dynamo.exc.TorchRuntimeError: | |
from user code: | |
File "/data/users/ezyang/b/torchbenchmark/torchbenchmark/models/tts_angular/model.py", line 18, in <graph break in forward> | |
o, (_, _) = self.lstm(x) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train tts_angular FAIL | |
Running torchbench.py vgg16... | |
[2022-12-05 12:05:58,535] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:06:04,817] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 1 graph(s) covering 40 ops | |
cuda train vgg16 PASS | |
Running torchbench.py vision_maskrcnn... | |
[2022-12-05 12:06:19,450] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:06:19,865] torch._dynamo.symbolic_convert: [WARNING] Graph break: Tensor.item from user code at File "/data/users/ezyang/b/torchvision/torchvision/models/detection/transform.py", line 181, in resize | |
image, target = _resize_image_and_masks(image, size, float(self.max_size), target, self.fixed_size) | |
File "/data/users/ezyang/b/torchvision/torchvision/models/detection/transform.py", line 50, in _resize_image_and_masks | |
scale_factor = scale.item() | |
ERROR:common:'SymInt' object has no attribute 'size' | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 130, in run | |
self.env[node] = self.run_node(node) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 154, in run_node | |
r = super().run_node(n) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 171, in run_node | |
return getattr(self, n.op)(n.target, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 243, in call_function | |
return target(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_ops.py", line 297, in __call__ | |
return self._op(*args, **kwargs or {}) | |
RuntimeError: aten::new_full() Expected a value of type 'List[int]' for argument 'size' but instead found type 'immutable_list'. | |
Position: 1 | |
Value: [2, 3, 800.0, 1216.0] | |
Declaration: aten::new_full(Tensor self, SymInt[] size, Scalar fill_value, *, ScalarType? dtype=None, Layout? layout=None, Device? device=None, bool? pin_memory=None) -> Tensor | |
Cast error details: Unable to cast Python instance to C++ type (#define PYBIND11_DETAILED_ERROR_MESSAGES or compile in debug mode for details) | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 351, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchvision/torchvision/models/detection/generalized_rcnn.py", line 83, in forward | |
images, targets = self.transform(images, targets) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/torchvision/torchvision/models/detection/transform.py", line 136, in forward | |
images = self.batch_images(images, size_divisible=self.size_divisible) | |
File "/data/users/ezyang/b/torchvision/torchvision/models/detection/transform.py", line 227, in batch_images | |
def batch_images(self, images: List[Tensor], size_divisible: int = 32) -> Tensor: | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 1997, in forward | |
return compiled_fn(full_args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 874, in new_fn | |
return call_func_with_args(compiled_fw, args, disable_amp=disable_amp) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 829, in call_func_with_args | |
out = normalize_as_list(f(args)) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/aot_autograd.py", line 804, in g | |
return f(*args) | |
File "/data/users/ezyang/b/pytorch/functorch/_src/compilers.py", line 215, in <lambda> | |
return lambda *args, **kwargs: DebugInterpreter(fx_g).run(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/fx/interpreter.py", line 132, in run | |
msg = f"While executing {node.format_node(detailed=True)}" | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 477, in format_node | |
f'args = {_format_arg(self.args, detailed=detailed)}, kwargs = {_format_arg(self.kwargs, detailed=detailed)})' | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 86, in _format_arg | |
items = ', '.join(_format_arg(a, detailed=detailed) for idx, a in enumerate(arg) if idx < max_list_len) | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 86, in <genexpr> | |
items = ', '.join(_format_arg(a, detailed=detailed) for idx, a in enumerate(arg) if idx < max_list_len) | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 82, in _format_arg | |
items = ', '.join(_format_arg(a, detailed=detailed) for idx, a in enumerate(arg) if idx < max_list_len) | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 82, in <genexpr> | |
items = ', '.join(_format_arg(a, detailed=detailed) for idx, a in enumerate(arg) if idx < max_list_len) | |
File "/data/users/ezyang/b/pytorch/torch/fx/node.py", line 98, in _format_arg | |
return f"%{arg} : Tensor[size={list(a.size())}, stride={list(a.stride())}]" | |
AttributeError: 'SymInt' object has no attribute 'size' | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 8 graph(s) covering 64 ops | |
cuda train vision_maskrcnn FAIL | |
Running torchbench.py yolov3... | |
[2022-12-05 12:06:32,973] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 348, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:07:42,954] torch._dynamo.convert_frame: [WARNING] torch._dynamo hit config.cache_size_limit (64) | |
function: 'forward' (/data/users/ezyang/b/pytorch/torch/nn/modules/container.py:202) | |
reasons: ['___check_obj_id(self, 139992947104208)'] | |
to diagnose recompilation issues, see https://github.com/pytorch/torchdynamo/blob/main/TROUBLESHOOTING.md. | |
[2022-12-05 12:07:45,386] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/testing.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/torchbench.py", line 342, in compute_loss | |
return reduce_to_scalar_loss(pred) | |
Dynamo produced 93 graph(s) covering 349 ops | |
cuda train yolov3 PASS | |
Running huggingface.py AlbertForMaskedLM... | |
[2022-12-05 12:08:48,239] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:08:48,504] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 990, in forward | |
outputs = self.albert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 723, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 538 ops | |
cuda train AlbertForMaskedLM PASS | |
Running huggingface.py AlbertForQuestionAnswering... | |
[2022-12-05 12:09:42,328] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:09:42,605] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 1274, in forward | |
outputs = self.albert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/albert/modeling_albert.py", line 723, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 541 ops | |
cuda train AlbertForQuestionAnswering PASS | |
Traceback (most recent call last): | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connection.py", line 174, in _new_conn | |
conn = connection.create_connection( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/util/connection.py", line 95, in create_connection | |
raise err | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/util/connection.py", line 85, in create_connection | |
sock.connect(sa) | |
ConnectionRefusedError: [Errno 111] Connection refused | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connectionpool.py", line 700, in urlopen | |
self._prepare_proxy(conn) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connectionpool.py", line 996, in _prepare_proxy | |
conn.connect() | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connection.py", line 358, in connect | |
self.sock = conn = self._new_conn() | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connection.py", line 186, in _new_conn | |
raise NewConnectionError( | |
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x7fdf74e12bb0>: Failed to establish a new connection: [Errno 111] Connection refused | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/adapters.py", line 489, in send | |
resp = conn.urlopen( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/connectionpool.py", line 787, in urlopen | |
retries = retries.increment( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/urllib3/util/retry.py", line 592, in increment | |
raise MaxRetryError(_pool, url, error or ResponseError(cause)) | |
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /allenai/longformer-base-4096/resolve/main/config.json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fdf74e12bb0>: Failed to establish a new connection: [Errno 111] Connection refused'))) | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/configuration_utils.py", line 601, in _get_config_dict | |
resolved_config_file = cached_path( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/hub.py", line 284, in cached_path | |
output_path = get_from_cache( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/hub.py", line 494, in get_from_cache | |
r = requests.head(url, headers=headers, allow_redirects=False, proxies=proxies, timeout=etag_timeout) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/api.py", line 100, in head | |
return request("head", url, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/api.py", line 59, in request | |
return session.request(method=method, url=url, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/sessions.py", line 587, in request | |
resp = self.send(prep, **send_kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/sessions.py", line 701, in send | |
r = adapter.send(request, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/requests/adapters.py", line 559, in send | |
raise ProxyError(e, request=request) | |
requests.exceptions.ProxyError: HTTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /allenai/longformer-base-4096/resolve/main/config.json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fdf74e12bb0>: Failed to establish a new connection: [Errno 111] Connection refused'))) | |
During handling of the above exception, another exception occurred: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 329, in <module> | |
AutoConfig.from_pretrained("allenai/longformer-base-4096"), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/auto/configuration_auto.py", line 705, in from_pretrained | |
config_dict, _ = PretrainedConfig.get_config_dict(pretrained_model_name_or_path, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/configuration_utils.py", line 553, in get_config_dict | |
config_dict, kwargs = cls._get_config_dict(pretrained_model_name_or_path, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/configuration_utils.py", line 641, in _get_config_dict | |
raise EnvironmentError( | |
OSError: Can't load config for 'allenai/longformer-base-4096'. If you were trying to load it from 'https://huggingface.co/models', make sure you don't have a local directory with the same name. Otherwise, make sure 'allenai/longformer-base-4096' is the correct path to a directory containing a config.json file | |
cuda train AllenaiLongformerBase FAIL | |
Running huggingface.py BartForCausalLM... | |
[2022-12-05 12:10:42,610] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:10:43,646] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 418, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 230, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:11:04,074] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:11:04,313] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 26 graph(s) covering 412 ops | |
cuda train BartForCausalLM PASS | |
Running huggingface.py BartForConditionalGeneration... | |
[2022-12-05 12:11:43,771] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:11:44,892] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 323, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bart/modeling_bart.py", line 230, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:12:03,686] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:12:03,697] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 76 graph(s) covering 1131 ops | |
cuda train BartForConditionalGeneration PASS | |
Running huggingface.py BertForMaskedLM... | |
[2022-12-05 12:13:20,029] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:13:20,312] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 1351, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 983, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 511 ops | |
cuda train BertForMaskedLM PASS | |
Running huggingface.py BertForQuestionAnswering... | |
[2022-12-05 12:14:07,675] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:14:07,946] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 1847, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/bert/modeling_bert.py", line 983, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 521 ops | |
cuda train BertForQuestionAnswering PASS | |
Running huggingface.py BlenderbotForCausalLM... | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train BlenderbotForCausalLM PASS | |
Running huggingface.py BlenderbotSmallForCausalLM... | |
[2022-12-05 12:16:00,806] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:16:01,805] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/blenderbot_small/modeling_blenderbot_small.py", line 407, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/blenderbot_small/modeling_blenderbot_small.py", line 217, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:16:16,900] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:16:17,072] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 18 graph(s) covering 279 ops | |
cuda train BlenderbotSmallForCausalLM PASS | |
Running huggingface.py BlenderbotSmallForConditionalGeneration... | |
[2022-12-05 12:16:41,377] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:16:42,397] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/blenderbot_small/modeling_blenderbot_small.py", line 311, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/blenderbot_small/modeling_blenderbot_small.py", line 217, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:16:57,016] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:16:57,028] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 51 graph(s) covering 753 ops | |
cuda train BlenderbotSmallForConditionalGeneration PASS | |
Running huggingface.py CamemBert... | |
[2022-12-05 12:17:57,066] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:17:57,346] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 1095, in forward | |
outputs = self.roberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 813, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 524 ops | |
cuda train CamemBert PASS | |
Running huggingface.py DebertaForMaskedLM... | |
[2022-12-05 12:18:45,743] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:18:46,014] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 1041, in forward | |
outputs = self.deberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 946, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 749, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
[2022-12-05 12:18:47,119] torch._dynamo.symbolic_convert: [WARNING] Graph break: autograd.Function with requires_grad from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 352, in forward | |
attention_output = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 285, in forward | |
self_output = self.self( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 647, in forward | |
attention_probs = XSoftmax.apply(attention_scores, attention_mask, -1) | |
[2022-12-05 12:18:47,906] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: save_for_backward /data/users/ezyang/b/pytorch/torch/autograd/function.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 112, in forward | |
self.save_for_backward(output) | |
[2022-12-05 12:19:26,889] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:19:27,041] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 77 graph(s) covering 979 ops | |
cuda train DebertaForMaskedLM PASS | |
Running huggingface.py DebertaForQuestionAnswering... | |
[2022-12-05 12:20:06,995] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:20:07,280] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 1369, in forward | |
outputs = self.deberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 946, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 749, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
[2022-12-05 12:20:08,394] torch._dynamo.symbolic_convert: [WARNING] Graph break: autograd.Function with requires_grad from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 352, in forward | |
attention_output = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 285, in forward | |
self_output = self.self( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 647, in forward | |
attention_probs = XSoftmax.apply(attention_scores, attention_mask, -1) | |
[2022-12-05 12:20:09,195] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: save_for_backward /data/users/ezyang/b/pytorch/torch/autograd/function.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta/modeling_deberta.py", line 112, in forward | |
self.save_for_backward(output) | |
[2022-12-05 12:20:48,797] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:20:48,934] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 77 graph(s) covering 989 ops | |
cuda train DebertaForQuestionAnswering PASS | |
Running huggingface.py DebertaV2ForMaskedLM... | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train DebertaV2ForMaskedLM PASS | |
Running huggingface.py DebertaV2ForQuestionAnswering... | |
[2022-12-05 12:22:17,795] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:22:18,080] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 1469, in forward | |
outputs = self.deberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 1042, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 843, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
[2022-12-05 12:22:19,096] torch._dynamo.symbolic_convert: [WARNING] Graph break: autograd.Function with requires_grad from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 343, in forward | |
attention_output = self.attention( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 274, in forward | |
self_output = self.self( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 711, in forward | |
attention_probs = XSoftmax.apply(attention_scores, attention_mask, -1) | |
[2022-12-05 12:22:20,133] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: save_for_backward /data/users/ezyang/b/pytorch/torch/autograd/function.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/deberta_v2/modeling_deberta_v2.py", line 115, in forward | |
self.save_for_backward(output) | |
[2022-12-05 12:23:40,156] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:23:40,416] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 172 graph(s) covering 2069 ops | |
cuda train DebertaV2ForQuestionAnswering PASS | |
WARNING:__main__:Sequence Length not defined for DistilBertForMaskedLM. Choosing 128 arbitrarily | |
Running huggingface.py DistilBertForMaskedLM... | |
[2022-12-05 12:25:01,420] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:25:01,697] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 649, in forward | |
dlbrt_output = self.distilbert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 566, in forward | |
inputs_embeds = self.embeddings(input_ids) # (bs, seq_length, dim) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 124, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 221 ops | |
cuda train DistilBertForMaskedLM PASS | |
WARNING:__main__:Sequence Length not defined for DistilBertForQuestionAnswering. Choosing 128 arbitrarily | |
Running huggingface.py DistilBertForQuestionAnswering... | |
[2022-12-05 12:25:31,981] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:25:32,257] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 868, in forward | |
distilbert_output = self.distilbert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 566, in forward | |
inputs_embeds = self.embeddings(input_ids) # (bs, seq_length, dim) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/distilbert/modeling_distilbert.py", line 124, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 231 ops | |
cuda train DistilBertForQuestionAnswering PASS | |
Running huggingface.py DistillGPT2... | |
[2022-12-05 12:26:03,186] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:26:03,937] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(pow) [DynamicShapeVariable(), ConstantVariable(float)] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 391, in forward | |
attn_outputs = self.attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 332, in forward | |
attn_output, attn_weights = self._attn(query, key, value, attention_mask, head_mask) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 192, in _attn | |
attn_weights = attn_weights / (value.size(-1) ** 0.5) | |
[2022-12-05 12:26:19,752] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:26:19,957] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 30 graph(s) covering 414 ops | |
cuda train DistillGPT2 PASS | |
If you want to use `ElectraForCausalLM` as a standalone, add `is_decoder=True.` | |
Running huggingface.py ElectraForCausalLM... | |
[2022-12-05 12:26:40,630] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:26:40,894] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/electra/modeling_electra.py", line 1621, in forward | |
outputs = self.electra( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/electra/modeling_electra.py", line 885, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 514 ops | |
cuda train ElectraForCausalLM PASS | |
Running huggingface.py ElectraForQuestionAnswering... | |
[2022-12-05 12:27:29,555] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:27:29,824] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/electra/modeling_electra.py", line 1390, in forward | |
discriminator_hidden_states = self.electra( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/electra/modeling_electra.py", line 885, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 520 ops | |
cuda train ElectraForQuestionAnswering PASS | |
Running huggingface.py GPT2ForSequenceClassification... | |
[2022-12-05 12:28:18,188] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:28:18,907] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(pow) [DynamicShapeVariable(), ConstantVariable(float)] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 391, in forward | |
attn_outputs = self.attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 332, in forward | |
attn_output, attn_weights = self._attn(query, key, value, attention_mask, head_mask) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/gpt2/modeling_gpt2.py", line 192, in _attn | |
attn_weights = attn_weights / (value.size(-1) ** 0.5) | |
[2022-12-05 12:28:49,645] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:28:49,992] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 60 graph(s) covering 828 ops | |
cuda train GPT2ForSequenceClassification PASS | |
Running huggingface.py GoogleFnet... | |
[2022-12-05 12:29:23,524] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:29:23,797] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/fnet/modeling_fnet.py", line 763, in forward | |
outputs = self.fnet( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/fnet/modeling_fnet.py", line 592, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
[2022-12-05 12:29:23,910] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function UserDefinedObjectVariable(partial) [TensorVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/fnet/modeling_fnet.py", line 267, in forward | |
self_fourier_outputs = self.fourier(hidden_states) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/fnet/modeling_fnet.py", line 220, in forward | |
self_outputs = self.self(hidden_states) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/fnet/modeling_fnet.py", line 199, in forward | |
outputs = self.fourier_transform(hidden_states).real | |
[2022-12-05 12:29:37,387] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:29:37,400] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 28 graph(s) covering 203 ops | |
cuda train GoogleFnet PASS | |
Running huggingface.py LayoutLMForMaskedLM... | |
[2022-12-05 12:30:03,269] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:30:03,882] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 935, in forward | |
outputs = self.layoutlm( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 820, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 91, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 4 graph(s) covering 516 ops | |
cuda train LayoutLMForMaskedLM PASS | |
Running huggingface.py LayoutLMForSequenceClassification... | |
[2022-12-05 12:30:53,441] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:30:54,030] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 1057, in forward | |
outputs = self.layoutlm( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 820, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/layoutlm/modeling_layoutlm.py", line 91, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 514 ops | |
cuda train LayoutLMForSequenceClassification PASS | |
WARNING:__main__:Sequence Length not defined for M2M100ForConditionalGeneration. Choosing 128 arbitrarily | |
Running huggingface.py M2M100ForConditionalGeneration... | |
[2022-12-05 12:32:02,769] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:32:03,051] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 1317, in forward | |
outputs = self.model( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 1190, in forward | |
encoder_outputs = self.encoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 782, in forward | |
embed_pos = self.embed_positions(input_ids, inputs_embeds) | |
[2022-12-05 12:32:03,798] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 384, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 289, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:32:22,076] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:32:22,089] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
[2022-12-05 12:32:22,182] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 1208, in <graph break in forward> | |
decoder_outputs = self.decoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/m2m_100/modeling_m2m_100.py", line 1015, in forward | |
positions = self.embed_positions(input_ids, inputs_embeds, past_key_values_length) | |
Dynamo produced 101 graph(s) covering 1174 ops | |
cuda train M2M100ForConditionalGeneration PASS | |
Running huggingface.py MBartForCausalLM... | |
[2022-12-05 12:33:53,137] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:33:54,203] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mbart/modeling_mbart.py", line 426, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mbart/modeling_mbart.py", line 237, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:34:12,017] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:34:12,262] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 38 graph(s) covering 412 ops | |
cuda train MBartForCausalLM PASS | |
Running huggingface.py MBartForConditionalGeneration... | |
[2022-12-05 12:34:49,682] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:34:51,014] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mbart/modeling_mbart.py", line 331, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mbart/modeling_mbart.py", line 237, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:35:07,863] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:35:07,875] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 100 graph(s) covering 1136 ops | |
cuda train MBartForConditionalGeneration PASS | |
WARNING:__main__:Sequence Length not defined for MT5ForConditionalGeneration. Choosing 128 arbitrarily | |
Running huggingface.py MT5ForConditionalGeneration... | |
WARNING:common:fp64 golden ref were not generated for MT5ForConditionalGeneration | |
[2022-12-05 12:36:21,471] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 1 graph(s) covering 1258 ops | |
cuda train MT5ForConditionalGeneration PASS | |
If you want to use `MegatronBertForCausalLM` as a standalone, add `is_decoder=True.` | |
Running huggingface.py MegatronBertForCausalLM... | |
[2022-12-05 12:37:53,723] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:37:54,760] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 1201, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 969, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 172, in forward | |
position_ids = self.position_ids[:, past_key_values_length : seq_length + past_key_values_length] | |
Dynamo produced 4 graph(s) covering 1009 ops | |
cuda train MegatronBertForCausalLM PASS | |
Running huggingface.py MegatronBertForQuestionAnswering... | |
[2022-12-05 12:39:33,200] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:39:34,293] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 1799, in forward | |
outputs = self.bert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 969, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/megatron_bert/modeling_megatron_bert.py", line 172, in forward | |
position_ids = self.position_ids[:, past_key_values_length : seq_length + past_key_values_length] | |
Dynamo produced 4 graph(s) covering 1015 ops | |
cuda train MegatronBertForQuestionAnswering PASS | |
Running huggingface.py MobileBertForMaskedLM... | |
[2022-12-05 12:41:01,280] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:41:03,383] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 1089, in forward | |
outputs = self.mobilebert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 895, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 212, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 1726 ops | |
cuda train MobileBertForMaskedLM PASS | |
Running huggingface.py MobileBertForQuestionAnswering... | |
[2022-12-05 12:43:21,650] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:43:23,823] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 1395, in forward | |
outputs = self.mobilebert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 895, in forward | |
embedding_output = self.embeddings( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/mobilebert/modeling_mobilebert.py", line 212, in forward | |
position_ids = self.position_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 1733 ops | |
cuda train MobileBertForQuestionAnswering PASS | |
Running huggingface.py OPTForCausalLM... | |
[2022-12-05 12:45:35,593] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:45:37,047] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/opt/modeling_opt.py", line 313, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/opt/modeling_opt.py", line 203, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:45:55,116] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:45:55,353] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 38 graph(s) covering 464 ops | |
cuda train OPTForCausalLM PASS | |
Running huggingface.py PLBartForCausalLM... | |
[2022-12-05 12:46:19,608] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:46:20,592] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/plbart/modeling_plbart.py", line 424, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/plbart/modeling_plbart.py", line 234, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:46:32,051] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:46:32,188] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 14 graph(s) covering 214 ops | |
cuda train PLBartForCausalLM PASS | |
Running huggingface.py PLBartForConditionalGeneration... | |
[2022-12-05 12:46:55,812] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:46:56,990] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/plbart/modeling_plbart.py", line 328, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/plbart/modeling_plbart.py", line 234, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:47:07,397] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:47:07,408] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 40 graph(s) covering 584 ops | |
cuda train PLBartForConditionalGeneration PASS | |
WARNING:__main__:Sequence Length not defined for PegasusForCausalLM. Choosing 128 arbitrarily | |
Running huggingface.py PegasusForCausalLM... | |
[2022-12-05 12:48:09,260] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:48:09,652] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1659, in forward | |
outputs = self.model.decoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1033, in forward | |
positions = self.embed_positions(input_shape, past_key_values_length) | |
[2022-12-05 12:48:10,471] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 425, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 234, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:48:31,503] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:48:31,750] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 39 graph(s) covering 423 ops | |
cuda train PegasusForCausalLM PASS | |
WARNING:__main__:Sequence Length not defined for PegasusForConditionalGeneration. Choosing 128 arbitrarily | |
Running huggingface.py PegasusForConditionalGeneration... | |
[2022-12-05 12:49:12,793] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:49:13,094] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1399, in forward | |
outputs = self.model( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1238, in forward | |
encoder_outputs = self.encoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 763, in forward | |
embed_pos = self.embed_positions(input_shape) | |
[2022-12-05 12:49:13,666] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 329, in forward | |
hidden_states, attn_weights, _ = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 234, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:49:33,147] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:49:33,160] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
[2022-12-05 12:49:33,265] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1256, in <graph break in forward> | |
decoder_outputs = self.decoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/pegasus/modeling_pegasus.py", line 1033, in forward | |
positions = self.embed_positions(input_shape, past_key_values_length) | |
Dynamo produced 101 graph(s) covering 1140 ops | |
cuda train PegasusForConditionalGeneration PASS | |
If you want to use `RobertaLMHeadModel` as a standalone, add `is_decoder=True.` | |
Running huggingface.py RobertaForCausalLM... | |
[2022-12-05 12:50:52,344] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:50:52,622] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 971, in forward | |
outputs = self.roberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 813, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 528 ops | |
cuda train RobertaForCausalLM PASS | |
Running huggingface.py RobertaForQuestionAnswering... | |
[2022-12-05 12:51:43,515] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:51:43,781] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 1513, in forward | |
outputs = self.roberta( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/roberta/modeling_roberta.py", line 813, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 534 ops | |
cuda train RobertaForQuestionAnswering PASS | |
WARNING:__main__:Sequence Length not defined for Speech2Text2ForCausalLM. Choosing 128 arbitrarily | |
Running huggingface.py Speech2Text2ForCausalLM... | |
[2022-12-05 12:52:30,991] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:52:31,371] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/speech_to_text_2/modeling_speech_to_text_2.py", line 910, in forward | |
outputs = self.model.decoder( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/speech_to_text_2/modeling_speech_to_text_2.py", line 623, in forward | |
positions = self.embed_positions(input_ids, past_key_values_length=past_key_values_length) | |
[2022-12-05 12:52:32,325] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/speech_to_text_2/modeling_speech_to_text_2.py", line 362, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/speech_to_text_2/modeling_speech_to_text_2.py", line 239, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:52:43,589] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:52:43,722] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 15 graph(s) covering 242 ops | |
cuda train Speech2Text2ForCausalLM PASS | |
Running huggingface.py T5ForConditionalGeneration... | |
WARNING:common:fp64 golden ref were not generated for T5ForConditionalGeneration | |
[2022-12-05 12:53:03,535] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 1 graph(s) covering 867 ops | |
cuda train T5ForConditionalGeneration PASS | |
Running huggingface.py T5Small... | |
WARNING:common:fp64 golden ref were not generated for T5Small | |
[2022-12-05 12:54:07,673] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 1 graph(s) covering 867 ops | |
cuda train T5Small PASS | |
Running huggingface.py TrOCRForCausalLM... | |
[2022-12-05 12:55:16,359] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:55:17,369] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/trocr/modeling_trocr.py", line 381, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/trocr/modeling_trocr.py", line 256, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:55:40,156] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:55:40,168] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 26 graph(s) covering 424 ops | |
cuda train TrOCRForCausalLM PASS | |
WARNING:__main__:Sequence Length not defined for XGLMForCausalLM. Choosing 128 arbitrarily | |
Running huggingface.py XGLMForCausalLM... | |
[2022-12-05 12:56:18,695] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:56:19,059] torch._dynamo.symbolic_convert: [WARNING] Graph break: inline in skipfiles: decorate_context /data/users/ezyang/b/pytorch/torch/autograd/grad_mode.py from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xglm/modeling_xglm.py", line 889, in forward | |
outputs = self.model( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xglm/modeling_xglm.py", line 711, in forward | |
positions = self.embed_positions(input_ids, inputs_embeds, past_key_values_length) | |
[2022-12-05 12:56:20,053] torch._dynamo.symbolic_convert: [WARNING] Graph break: COMPARE_OP SizeVariable() != TupleVariable() from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xglm/modeling_xglm.py", line 455, in forward | |
hidden_states, self_attn_weights, present_key_value = self.self_attn( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xglm/modeling_xglm.py", line 331, in forward | |
if attn_weights.size() != (bsz * self.num_heads, tgt_len, src_len): | |
[2022-12-05 12:57:02,219] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setitem__' of 'collections.OrderedDict' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 232, in __setitem__ | |
super().__setitem__(key, value) | |
[2022-12-05 12:57:02,715] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-function or method super: <slot wrapper '__setattr__' of 'object' objects> from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/utils/generic.py", line 234, in <graph break in __setitem__> | |
super().__setattr__(key, value) | |
Dynamo produced 75 graph(s) covering 843 ops | |
cuda train XGLMForCausalLM PASS | |
Running huggingface.py XLNetLMHeadModel... | |
[2022-12-05 12:57:45,637] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 12:57:47,036] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(neg) [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xlnet/modeling_xlnet.py", line 1448, in forward | |
transformer_outputs = self.transformer( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xlnet/modeling_xlnet.py", line 1207, in forward | |
pos_emb = self.relative_positional_encoding(qlen, klen, bsz=bsz) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/xlnet/modeling_xlnet.py", line 1030, in relative_positional_encoding | |
beg, end = klen, -qlen | |
Dynamo produced 4 graph(s) covering 1014 ops | |
cuda train XLNetLMHeadModel PASS | |
Running huggingface.py YituTechConvBert... | |
[2022-12-05 13:00:12,764] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/huggingface.py", line 482, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:00:13,039] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/convbert/modeling_convbert.py", line 928, in forward | |
generator_hidden_states = self.convbert( | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/transformers/models/convbert/modeling_convbert.py", line 837, in forward | |
buffered_token_type_ids = self.embeddings.token_type_ids[:, :seq_length] | |
Dynamo produced 5 graph(s) covering 786 ops | |
cuda train YituTechConvBert PASS | |
Running timm_models.py adv_inception_v3... | |
[2022-12-05 13:01:25,033] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 628 ops | |
cuda train adv_inception_v3 PASS | |
Running timm_models.py beit_base_patch16_224... | |
[2022-12-05 13:04:35,672] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 515 ops | |
cuda train beit_base_patch16_224 PASS | |
Running timm_models.py botnet26t_256... | |
[2022-12-05 13:05:25,843] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:05:28,751] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __mul__ [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1559, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1551, in forward_features | |
x = self.stages(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1245, in forward | |
x = self.self_attn(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 152, in forward | |
attn = (q @ k) * self.scale + self.pos_embed(q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 73, in forward | |
rel_logits_w = rel_logits_1d(q, self.width_rel, permute_mask=(0, 1, 3, 2, 4)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 41, in rel_logits_1d | |
x = x.reshape(-1, W, 2 * W -1) | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train botnet26t_256 FAIL | |
Running timm_models.py cait_m36_384... | |
[2022-12-05 13:05:43,790] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 1546 ops | |
cuda train cait_m36_384 PASS | |
Running timm_models.py coat_lite_mini... | |
[2022-12-05 13:08:16,970] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 651 ops | |
cuda train coat_lite_mini PASS | |
Running timm_models.py convit_base... | |
WARNING:common:fp64 golden ref were not generated for convit_base | |
[2022-12-05 13:09:14,546] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:09:15,288] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function BuiltinVariable(pow) [DynamicShapeVariable(), ConstantVariable(float)] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/convit.py", line 214, in forward | |
x = x + self.drop_path(self.attn(self.norm1(x))) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/convit.py", line 86, in forward | |
self.rel_indices = self.get_rel_indices(N) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/convit.py", line 134, in get_rel_indices | |
img_size = int(num_patches ** .5) | |
[2022-12-05 13:09:15,371] torch._dynamo.symbolic_convert: [WARNING] Graph break: dynamic shape operator: aten.repeat_interleave.Tensor from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/convit.py", line 138, in get_rel_indices | |
indy = ind.repeat_interleave(img_size, dim=0).repeat_interleave(img_size, dim=1) | |
Dynamo produced 58 graph(s) covering 1132 ops | |
cuda train convit_base PASS | |
Running timm_models.py convmixer_768_32... | |
[2022-12-05 13:11:09,832] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 232 ops | |
cuda train convmixer_768_32 PASS | |
Running timm_models.py convnext_base... | |
[2022-12-05 13:12:12,846] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 1048 ops | |
cuda train convnext_base PASS | |
Running timm_models.py crossvit_9_240... | |
[2022-12-05 13:15:33,117] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/crossvit.py", line 394, in forward_features | |
x_ = scale_image(x_, ss, self.crop_scale) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/crossvit.py", line 281, in scale_image | |
x = torch.nn.functional.interpolate(x, size=ss, mode='bicubic', align_corners=False) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1112, in run_node | |
return node.target(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/functional.py", line 3964, in interpolate | |
return torch._C._nn.upsample_bicubic2d(input, output_size, align_corners, scale_factors) | |
RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1071, in get_fake_value | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1072, in <lambda> | |
lambda: run_node(tx.output, node, args, kwargs, nnmodule) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1121, in run_node | |
raise RuntimeError( | |
RuntimeError: Failed running call_function <function interpolate at 0x7f45e82bb280>(*(FakeTensor(FakeTensor(..., device='meta', size=(s0, 3, 240, 240)), cuda:0),), **{'size': (224, 224), 'mode': 'bicubic', 'align_corners': False}): | |
Cannot call sizes() on tensor with symbolic sizes/strides | |
(scroll up for backtrace) | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 960, in CALL_FUNCTION_KW | |
self.call_function(fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/torch.py", line 431, in call_function | |
tensor_variable = wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 708, in wrap_fx_proxy_cls | |
example_value = get_fake_value(proxy.node, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1091, in get_fake_value | |
raise TorchRuntimeError() from e | |
torch._dynamo.exc.TorchRuntimeError: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/crossvit.py", line 394, in forward_features | |
x_ = scale_image(x_, ss, self.crop_scale) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/crossvit.py", line 281, in scale_image | |
x = torch.nn.functional.interpolate(x, size=ss, mode='bicubic', align_corners=False) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train crossvit_9_240 FAIL | |
Running timm_models.py cspdarknet53... | |
[2022-12-05 13:15:41,859] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:15:42,943] torch._dynamo.symbolic_convert: [WARNING] Graph break: Dynamic slicing not supported from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/cspnet.py", line 422, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/cspnet.py", line 415, in forward_features | |
x = self.stages(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/cspnet.py", line 276, in forward | |
xs, xb = x[:, :split], x[:, split:] | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train cspdarknet53 FAIL | |
Running timm_models.py deit_base_distilled_patch16_224... | |
[2022-12-05 13:15:52,302] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 449 ops | |
cuda train deit_base_distilled_patch16_224 PASS | |
Running timm_models.py dla102... | |
[2022-12-05 13:16:36,427] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 832 ops | |
cuda train dla102 PASS | |
Running timm_models.py dm_nfnet_f0... | |
[2022-12-05 13:19:48,830] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 1492 ops | |
cuda train dm_nfnet_f0 PASS | |
Running timm_models.py dpn107... | |
[2022-12-05 13:22:23,524] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common:Unknown shape symbol s2. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 711, in _parse_symbolic_shape_expressions | |
assert str(key) not in expr_as_str, f"Unknown shape symbol {key}. " | |
AssertionError: Unknown shape symbol s2. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 1 graph(s) covering 631 ops | |
cuda train dpn107 FAIL | |
Running timm_models.py eca_botnext26ts_256... | |
[2022-12-05 13:24:22,617] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:24:26,042] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __mul__ [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1559, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1551, in forward_features | |
x = self.stages(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1245, in forward | |
x = self.self_attn(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 152, in forward | |
attn = (q @ k) * self.scale + self.pos_embed(q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 73, in forward | |
rel_logits_w = rel_logits_1d(q, self.width_rel, permute_mask=(0, 1, 3, 2, 4)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 41, in rel_logits_1d | |
x = x.reshape(-1, W, 2 * W -1) | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train eca_botnext26ts_256 FAIL | |
Running timm_models.py eca_halonext26ts... | |
[2022-12-05 13:24:34,105] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 13:24:37,587] torch._dynamo.symbolic_convert: [WARNING] Graph break: non-Tensor, non-SymInt/SymFloat torch.* API return from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1559, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1551, in forward_features | |
x = self.stages(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1245, in forward | |
x = self.self_attn(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/halo_attn.py", line 199, in forward | |
attn = (q @ k.transpose(-1, -2)) * self.scale + self.pos_embed(q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/halo_attn.py", line 86, in forward | |
rel_logits_w = rel_logits_1d(q, self.width_rel, permute_mask=(0, 1, 3, 2, 4)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/halo_attn.py", line 50, in rel_logits_1d | |
x_pad = F.pad(x_pad, [0, rel_size - W]) | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train eca_halonext26ts FAIL | |
Running timm_models.py ese_vovnet19b_dw... | |
[2022-12-05 13:24:45,045] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 135 ops | |
cuda train ese_vovnet19b_dw PASS | |
Running timm_models.py fbnetc_100... | |
[2022-12-05 13:25:17,208] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 316 ops | |
cuda train fbnetc_100 PASS | |
Running timm_models.py fbnetv3_b... | |
[2022-12-05 13:26:20,157] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 521 ops | |
cuda train fbnetv3_b PASS | |
Running timm_models.py gernet_l... | |
[2022-12-05 13:27:57,881] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 350 ops | |
cuda train gernet_l PASS | |
Running timm_models.py ghostnet_100... | |
[2022-12-05 13:28:51,340] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 325 ops | |
cuda train ghostnet_100 PASS | |
Running timm_models.py gluon_inception_v3... | |
[2022-12-05 13:30:30,474] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 628 ops | |
cuda train gluon_inception_v3 PASS | |
Running timm_models.py gluon_xception65... | |
[2022-12-05 13:33:38,231] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 354 ops | |
cuda train gluon_xception65 PASS | |
Running timm_models.py gmixer_24_224... | |
[2022-12-05 13:35:18,288] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 640 ops | |
cuda train gmixer_24_224 PASS | |
Running timm_models.py gmlp_s16_224... | |
[2022-12-05 13:36:19,963] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 496 ops | |
cuda train gmlp_s16_224 PASS | |
Running timm_models.py hrnet_w18... | |
[2022-12-05 13:37:19,029] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/hrnet.py", line 713, in stages | |
yl = self.stage2(xl) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/hrnet.py", line 495, in forward | |
y = y + fuse_outer[j](x[j]) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1117, in run_node | |
return nnmodule(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/upsampling.py", line 156, in forward | |
return F.interpolate(input, self.size, self.scale_factor, self.mode, self.align_corners, | |
File "/data/users/ezyang/b/pytorch/torch/nn/functional.py", line 3928, in interpolate | |
return torch._C._nn.upsample_nearest2d(input, output_size, scale_factors) | |
RuntimeError: Cannot call sizes() on tensor with symbolic sizes/strides | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1071, in get_fake_value | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1072, in <lambda> | |
lambda: run_node(tx.output, node, args, kwargs, nnmodule) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1121, in run_node | |
raise RuntimeError( | |
RuntimeError: Failed running call_module sub1_1_2(*(FakeTensor(FakeTensor(..., device='meta', size=(s0, 18, (s2 - 1)//8 + 1, (s2 - 1)//8 + 1), | |
grad_fn=<NativeBatchNormLegitBackward0>), cuda:0),), **{}): | |
Cannot call sizes() on tensor with symbolic sizes/strides | |
(scroll up for backtrace) | |
The above exception was the direct cause of the following exception: | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 202, in call_function | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 708, in wrap_fx_proxy_cls | |
example_value = get_fake_value(proxy.node, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 1091, in get_fake_value | |
raise TorchRuntimeError() from e | |
torch._dynamo.exc.TorchRuntimeError: | |
from user code: | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/hrnet.py", line 713, in stages | |
yl = self.stage2(xl) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/hrnet.py", line 495, in forward | |
y = y + fuse_outer[j](x[j]) | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train hrnet_w18 FAIL | |
Running timm_models.py inception_v3... | |
[2022-12-05 13:37:32,464] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 628 ops | |
cuda train inception_v3 PASS | |
Running timm_models.py jx_nest_base... | |
[2022-12-05 13:40:39,548] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 962 ops | |
cuda train jx_nest_base PASS | |
Running timm_models.py lcnet_050... | |
[2022-12-05 13:42:13,420] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 139 ops | |
cuda train lcnet_050 PASS | |
Running timm_models.py levit_128... | |
WARNING:common:fp64 golden ref were not generated for levit_128 | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1096, in check_accuracy | |
correct_result = self.run_n_iterations( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1016, in run_n_iterations | |
return self.model_iter_fn(mod, inputs, collect_outputs=True) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 312, in forward_and_backward_pass | |
self.grad_scaler.scale(loss).backward() | |
File "/data/users/ezyang/b/pytorch/torch/_tensor.py", line 484, in backward | |
torch.autograd.backward( | |
File "/data/users/ezyang/b/pytorch/torch/autograd/__init__.py", line 197, in backward | |
Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass | |
RuntimeError: Trying to backward through the graph a second time (or directly access saved tensors after they have already been freed). Saved intermediate values of the graph are freed when you call .backward() or autograd.grad(). Specify retain_graph=True if you need to backward through the graph a second time or if you need to access saved tensors after calling backward. | |
cuda train levit_128 FAIL | |
Running timm_models.py mixer_b16_224... | |
[2022-12-05 13:43:11,750] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 232 ops | |
cuda train mixer_b16_224 PASS | |
Running timm_models.py mixnet_l... | |
[2022-12-05 13:43:45,608] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 617 ops | |
cuda train mixnet_l PASS | |
Running timm_models.py mnasnet_100... | |
[2022-12-05 13:45:49,398] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 250 ops | |
cuda train mnasnet_100 PASS | |
Running timm_models.py mobilenetv2_100... | |
[2022-12-05 13:46:40,102] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 250 ops | |
cuda train mobilenetv2_100 PASS | |
Running timm_models.py mobilenetv3_large_100... | |
[2022-12-05 13:47:41,039] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 267 ops | |
cuda train mobilenetv3_large_100 PASS | |
Running timm_models.py mobilevit_s... | |
[2022-12-05 13:48:44,516] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 599 ops | |
cuda train mobilevit_s PASS | |
Running timm_models.py nfnet_l0... | |
[2022-12-05 13:49:51,835] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 548 ops | |
cuda train nfnet_l0 PASS | |
Running timm_models.py pit_b_224... | |
[2022-12-05 13:50:59,925] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 8 graph(s) covering 494 ops | |
cuda train pit_b_224 PASS | |
Running timm_models.py pnasnet5large... | |
[2022-12-05 13:52:05,712] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 4076 ops | |
cuda train pnasnet5large PASS | |
Running timm_models.py poolformer_m36... | |
[2022-12-05 14:05:17,516] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 1392 ops | |
cuda train poolformer_m36 PASS | |
Running timm_models.py regnety_002... | |
[2022-12-05 14:09:06,941] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
ERROR:common:Unknown shape symbol s1. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 711, in _parse_symbolic_shape_expressions | |
assert str(key) not in expr_as_str, f"Unknown shape symbol {key}. " | |
AssertionError: Unknown shape symbol s1. | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 1 graph(s) covering 320 ops | |
cuda train regnety_002 FAIL | |
Running timm_models.py repvgg_a2... | |
[2022-12-05 14:09:43,297] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 334 ops | |
cuda train repvgg_a2 PASS | |
Running timm_models.py res2net101_26w_4s... | |
[2022-12-05 14:10:37,172] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 805 ops | |
cuda train res2net101_26w_4s PASS | |
Running timm_models.py res2net50_14w_8s... | |
[2022-12-05 14:13:27,750] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 701 ops | |
cuda train res2net50_14w_8s PASS | |
Running timm_models.py res2next50... | |
[2022-12-05 14:16:09,244] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 397 ops | |
cuda train res2next50 PASS | |
Running timm_models.py resmlp_12_224... | |
[2022-12-05 14:17:36,349] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 208 ops | |
cuda train resmlp_12_224 PASS | |
Running timm_models.py resnest101e... | |
[2022-12-05 14:18:04,637] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 1284 ops | |
cuda train resnest101e PASS | |
Running timm_models.py rexnet_100... | |
[2022-12-05 14:20:14,044] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 353 ops | |
cuda train rexnet_100 PASS | |
Running timm_models.py sebotnet33ts_256... | |
[2022-12-05 14:21:41,975] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 14:21:44,815] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __mul__ [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1559, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1551, in forward_features | |
x = self.stages(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/byobnet.py", line 1245, in forward | |
x = self.self_attn(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 152, in forward | |
attn = (q @ k) * self.scale + self.pos_embed(q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 73, in forward | |
rel_logits_w = rel_logits_1d(q, self.width_rel, permute_mask=(0, 1, 3, 2, 4)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/layers/bottleneck_attn.py", line 41, in rel_logits_1d | |
x = x.reshape(-1, W, 2 * W -1) | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train sebotnet33ts_256 FAIL | |
Running timm_models.py selecsls42b... | |
[2022-12-05 14:21:52,816] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 134 ops | |
cuda train selecsls42b PASS | |
Running timm_models.py spnasnet_100... | |
[2022-12-05 14:22:36,746] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 310 ops | |
cuda train spnasnet_100 PASS | |
Running timm_models.py swin_base_patch4_window7_224... | |
[2022-12-05 14:23:39,131] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
[2022-12-05 14:23:43,780] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_method ConstantVariable(int) __mul__ [DynamicShapeVariable()] {} from user code at File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 568, in forward | |
x = self.forward_features(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 558, in forward_features | |
x = self.layers(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 422, in forward | |
x = self.downsample(x) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/swin_transformer.py", line 363, in forward | |
x = x.view(B, -1, 4 * C) # B H/2*W/2 4*C | |
ERROR:common:Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 960, in CALL_FUNCTION_KW | |
self.call_function(fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
Traceback (most recent call last): | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 434, in _compile | |
check_fn = CheckFunctionManager(output, output.guards, locals, globals) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 649, in __init__ | |
self.check_fn = self.compile_check_fn(local_builder, global_builder, guards) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 758, in compile_check_fn | |
symbolic_shape_expression = self._parse_symbolic_shape_expressions( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 707, in _parse_symbolic_shape_expressions | |
expr_as_str = guard_printer.doprint(guard_expression) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 292, in doprint | |
return self._str(self._print(expr)) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 86, in _print_And | |
return self.stringify(args, " & ", PRECEDENCE["BitwiseAnd"]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in stringify | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 40, in <listcomp> | |
return sep.join([self.parenthesize(item, level) for item in args]) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 777, in _print_Relational | |
return '%s(%s, %s)' % (charmap[expr.rel_op], self._print(expr.lhs), | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 668, in _print_Pow | |
return '%s**%s' % (self.parenthesize(expr.base, PREC, strict=False), e) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/str.py", line 37, in parenthesize | |
return self._print(item) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/printing/printer.py", line 331, in _print | |
return printmethod(expr, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/guards.py", line 590, in _print_Symbol | |
assert expr_found, f"Failed to find {expr} allocated at {''.join(traceback.format_list(expr.tb))}" | |
AssertionError: Failed to find s3 allocated at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 322, in <module> | |
main(TimmRunnner()) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1640, in main | |
return maybe_fresh_cache(run, args.cold_start_latency and args.only)( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 820, in inner | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 2006, in run | |
runner.run_one_model( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1304, in run_one_model | |
status = self.check_accuracy( | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1121, in check_accuracy | |
new_result = optimized_model_iter_fn( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 209, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/common.py", line 1015, in run_n_iterations | |
self.model_iter_fn(mod, inputs, collect_outputs=False) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 308, in <graph break in forward_and_backward_pass> | |
pred = mod(*cloned_inputs) | |
File "/data/users/ezyang/b/pytorch/torch/nn/modules/module.py", line 1480, in _call_impl | |
return forward_call(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/eval_frame.py", line 325, in catch_errors | |
return callback(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 466, in _convert_frame | |
result = inner_convert(frame, cache_size) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 103, in _fn | |
return fn(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 90, in time_wrapper | |
r = func(*args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 337, in _convert_frame_assert | |
return _compile( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 393, in _compile | |
out_code = transform_code_object(code, transform) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/bytecode_transformation.py", line 341, in transform_code_object | |
transformations(instructions, code_options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/convert_frame.py", line 380, in transform | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1615, in run | |
super().run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 183, in call_function | |
tx.call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 960, in CALL_FUNCTION_KW | |
self.call_function(fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 222, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 281, in wrapper | |
return inner_fn(self, inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 911, in CALL_FUNCTION | |
self.call_function(fn, args, {}) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 389, in call_function | |
self.push(fn.call_function(self, args, kwargs)) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 226, in call_function | |
return super().call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 196, in call_function | |
return super(UserFunctionVariable, self).call_function(tx, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/functions.py", line 67, in call_function | |
return tx.inline_user_function_return( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 425, in inline_user_function_return | |
result = InliningInstructionTranslator.inline_call(self, fn, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1687, in inline_call | |
return cls.inline_call_(parent, func, args, kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 1741, in inline_call_ | |
tracer.run() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 484, in run | |
and self.step() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 454, in step | |
getattr(self, inst.opname)(inst) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/symbolic_convert.py", line 976, in LOAD_ATTR | |
result = BuiltinVariable(getattr).call_function( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 355, in call_function | |
result = handler(tx, *args, **kwargs) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builtin.py", line 729, in call_getattr | |
return obj.var_getattr(tx, name).add_options(options) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/nn_module.py", line 132, in var_getattr | |
return VariableBuilder(tx, NNModuleSource(source))(subobj) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 158, in __call__ | |
return self._wrap(value).clone(**self.options()) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 222, in _wrap | |
return self.wrap_tensor(value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 551, in wrap_tensor | |
return self.tx.output.register_attr_or_module( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 342, in register_attr_or_module | |
return wrap_name(name) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/output_graph.py", line 282, in wrap_name | |
return wrap_fx_proxy( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 674, in wrap_fx_proxy | |
return wrap_fx_proxy_cls( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/variables/builder.py", line 713, in wrap_fx_proxy_cls | |
example_value = fake_wrapper(example_value) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 774, in wrap_to_fake_tensor_and_record | |
return wrap_fake_exception( | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 748, in wrap_fake_exception | |
return fn() | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 775, in <lambda> | |
lambda: make_fake_tensor(e, tx.fake_mode, static_shapes, tx) | |
File "/data/users/ezyang/b/pytorch/torch/_dynamo/utils.py", line 703, in make_fake_tensor | |
fake_tensor = fake_mode.from_tensor(e, static_shapes=static_shapes) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 997, in from_tensor | |
return self.fake_tensor_converter(self, tensor, shape_env=self.shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 261, in __call__ | |
return self.from_real_tensor(fake_mode, t, make_constant, shape_env=shape_env) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/fake_tensor.py", line 233, in from_real_tensor | |
out = self.meta_converter(t, shape_env=shape_env, callback=mk_fake_tensor) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 498, in __call__ | |
r = self.meta_tensor(t, shape_env=shape_env, callback=callback) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 384, in meta_tensor | |
sizes, strides = sym_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/_subclasses/meta_utils.py", line 237, in sym_sizes_strides | |
return shape_env.create_symbolic_sizes_strides(t) | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in create_symbolic_sizes_strides | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 478, in <listcomp> | |
size = [self.create_symbol(i) for i in ex.size()] | |
File "/data/users/ezyang/b/pytorch/torch/fx/experimental/symbolic_shapes.py", line 529, in create_symbol | |
sympy_expr.tb = traceback.extract_stack() | |
Set torch._dynamo.config.verbose=True for more information | |
You can suppress this exception and fall back to eager by setting: | |
torch._dynamo.config.suppress_errors = True | |
TorchDynamo optimized model failed to run because of following error | |
Dynamo produced 0 graph(s) covering 0 ops | |
cuda train swin_base_patch4_window7_224 FAIL | |
Running timm_models.py swsl_resnext101_32x16d... | |
[2022-12-05 14:23:56,678] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 413 ops | |
cuda train swsl_resnext101_32x16d PASS | |
Running timm_models.py tf_efficientnet_b0... | |
[2022-12-05 14:25:19,076] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 968 ops | |
cuda train tf_efficientnet_b0 PASS | |
Running timm_models.py tf_mixnet_l... | |
[2022-12-05 14:28:12,892] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 3 graph(s) covering 2252 ops | |
cuda train tf_mixnet_l PASS | |
Running timm_models.py tinynet_a... | |
[2022-12-05 14:33:38,856] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 375 ops | |
cuda train tinynet_a PASS | |
Running timm_models.py tnt_s_patch16_224... | |
[2022-12-05 14:34:54,462] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Dynamo produced 2 graph(s) covering 956 ops | |
cuda train tnt_s_patch16_224 PASS | |
Running timm_models.py twins_pcpvt_base... | |
[2022-12-05 14:36:27,909] torch._dynamo.symbolic_convert: [WARNING] Graph break: call_function in skip_files /data/users/ezyang/b/pytorch/torch/_dynamo/utils.py from user code at File "/data/users/ezyang/b/pytorch/benchmarks/dynamo/timm_models.py", line 305, in forward_and_backward_pass | |
cloned_inputs = clone_inputs(inputs) | |
Traceback (most recent call last): | |
File "<string>", line 2, in <lambda> | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/cache.py", line 70, in wrapper | |
retval = cfunc(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/function.py", line 469, in __new__ | |
result = super().__new__(cls, *args, **options) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/cache.py", line 70, in wrapper | |
retval = cfunc(*args, **kwargs) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/function.py", line 309, in __new__ | |
evaluated = cls.eval(*args) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/mod.py", line 102, in eval | |
rv = number_eval(p, q) | |
File "/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/sympy-1.11.1-py3.9.egg/sympy/core/mod.py", line 49, in number_eval | |
raise ZeroDivisionError("Modulo by zero") | |
ZeroDivisionError: Modulo by zero | |
ERROR RUNNING GUARDS forward /home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/timm/models/twins.py:390 | |
___guarded_code.valid and | |
___check_type_id(x, 61260208) and | |
___check_obj_id(self, 140154319539504) and | |
self.training == False and | |
___check_tensors(x) and | |
(Eq(x.size()[1], 3) & (x.size()[3] >= 4) & (x.size()[3]//4 >= 2) & (x.size()[3]//4 >= 8) & (x.size()[3]//8 >= 2) & (x.size()[3]//8 >= 4) & (x.size()[3]//16 >= 2) & (x.size()[3]//4 > 1) & (x.size()[3]//8 > 1) & (x.size()[3]//16 > 1) & (x.size()[3]//32 > 1) & Ne(x.size()[3]//4, 0) & Ne(x.size()[3]//4, 1) & Ne(x.size()[3]//8, 0) & Ne(x.size()[3]//8, 1) & Ne(x.size()[3]//16, 0) & Ne(x.size()[3]//16, 1) & Ne(x.size()[3]//32, 0) & Ne(x.size()[3]//32, 1) & (x.size()[3]//4 + 2 >= 3) & (x.size()[3]//8 + 2 >= 3) & (x.size()[3]//16 + 2 >= 3) & (x.size()[3]//32 + 2 >= 3) & (3*x.size()[3]**2 <= 2147483647) & ((x.size()[3] - 4)//4 + 1 >= 0) & ((x.size()[3] - 4)//4 + 1 >= 1) & (x.size()[0]*x.size()[3]//4**2 > 0) & ((x.size()[3] - 4)//4 + 1 > 1) & Ne(x.size()[0]*x.size()[3]//4**2, 0) & Ne((x.size()[3] - 4)//4 + 1, -1) & Ne((x.size()[3] - 4)//4 + 1, 0) & Ne((x.size()[3] - 4)//4 + 1, 1) & (64*(x.size()[3] - 4)//4 + 64 >= 0) & ((x.size()[3]//4 - 8)//8 + 1 >= 0) & ((x.size()[3]//4 - 2)//2 + 1 >= 0) & ((x.size()[3]//8 - 4)//4 + 1 >= 0) & ((x.size()[3]//8 - 2)//2 + 1 >= 0) & ((x.size()[3]//16 - 2)//2 + 1 >= 0) & ((x.size()[3]//4 - 8)//8 + 1 > 1) & ((x.size()[3]//4 - 2)//2 + 1 > 1) & ((x.size()[3]//8 - 4)//4 + 1 > 1) & ((x.size()[3]//8 - 2)//2 + 1 > 1) & ((x.size()[3]//16 - 2)//2 + 1 > 1) & Ne((x.size()[3]//4 - 8)//8 + 1, -1) & Ne((x.size()[3]//4 - 8)//8 + 1, 0) & Ne((x.size()[3]//4 - 8)//8 + 1, 1) & Ne((x.size()[3]//4 - 2)//2 + 1, -1) & Ne((x.size()[3]//4 - 2)//2 + 1, 0) & Ne((x.size()[3]//4 - 2)//2 + 1, 1) & Ne((x.size()[3]//8 - 4)//4 + 1, -1) & Ne((x.size()[3]//8 - 4)//4 + 1, 0) & Ne((x.size()[3]//8 - 4)//4 + 1, 1) & Ne((x.size()[3]//8 - 2)//2 + 1, -1) & Ne((x.size()[3]//8 - 2)//2 + 1, 0) & Ne((x.size()[3]//8 - 2)//2 + 1, 1) & Ne((x.size()[3]//16 - 2)//2 + 1, -1) & Ne((x.size()[3]//16 - 2)//2 + 1, 0) & Ne((x.size()[3]//16 - 2)//2 + 1, 1) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 >= 0) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 >= 1) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 >= 2) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 > 0) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 > 1) & Ne((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1, -1) & Ne((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1, 0) & Ne((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1, 1) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 >= 0) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 >= 64) & (512*(x.size()[3] - 4)//4**2 + 1024*(x.size()[3] - 4)//4 + 512 >= 0) & (512*(x.size()[3] - 4)//4**2 + 1024*(x.size()[3] - 4)//4 + 512 >= 512) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 <= 2147483647) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 > 1) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 > 64) & (512*(x.size()[3] - 4)//4**2 + 1024*(x.size()[3] - 4)//4 + 512 > 512) & (x.size()[3]//4 < (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & Ne((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1, x.size()[3]//4) & Ne(64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64, 0) & Ne(64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64, 64) & Ne(512*(x.size()[3] - 4)//4**2 + 1024*(x.size()[3] - 4)//4 + 512, 0) & Ne(Mod(1, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1), 0) & (x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0] >= 2) & (x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0] > 0) & Ne(x.size()[0], x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0]) & Ne(x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0], -1) & Ne(x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0], 0) & Ne(x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0], 1) & Eq(x.size()[3]//4**2, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & Eq(Mod((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1, x.size()[3]//4), 0) & (x.size()[3]//4**2 >= (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & Ne(x.size()[0]*(Mod(1, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)), 0) & Ne(Mod(x.size()[3]//4, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1), 0) & (((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) >= 0) & (64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0] > 0) & (64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0] > 1) & (64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0] > 64) & (512*x.size()[0]*(x.size()[3] - 4)//4**2 + 1024*x.size()[0]*(x.size()[3] - 4)//4 + 512*x.size()[0] > 0) & (512*x.size()[0]*(x.size()[3] - 4)//4**2 + 1024*x.size()[0]*(x.size()[3] - 4)//4 + 512*x.size()[0] > 1) & (512*x.size()[0]*(x.size()[3] - 4)//4**2 + 1024*x.size()[0]*(x.size()[3] - 4)//4 + 512*x.size()[0] > 512) & ((x.size()[3] - 4)//4 + 1 < (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & Ne((x.size()[3] - 4)//4 + 1, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & Ne(4*x.size()[0]*(x.size()[3] - 4)//4**2 + 8*x.size()[0]*(x.size()[3] - 4)//4 + 4*x.size()[0], 0) & Ne(64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0], 0) & Ne(256*x.size()[0]*(x.size()[3] - 4)//4**2 + 512*x.size()[0]*(x.size()[3] - 4)//4 + 256*x.size()[0], 0) & Ne(512*x.size()[0]*(x.size()[3] - 4)//4**2 + 1024*x.size()[0]*(x.size()[3] - 4)//4 + 512*x.size()[0], 0) & Ne(2048*x.size()[0]*(x.size()[3] - 4)//4**2 + 4096*x.size()[0]*(x.size()[3] - 4)//4 + 2048*x.size()[0], 0) & Ne(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), -1) & Ne(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), 1) & (x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) > 0) & Ne(x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), 0) & Ne(64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0], x.size()[0]*x.size()[3]//4**2) & Eq(64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0], 64*x.size()[0]*x.size()[3]//4**2) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 >= 0) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 >= 1) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 >= 2) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 >= 8) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 > 1) & Ne((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4, -1) & Ne((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4, 0) & Ne((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4, 1) & (2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 >= 3) & Eq(x.size()[3]//4, (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 < 64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64) & Ne(64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64, (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & (64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4 >= 0) & (64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4 > 1) & Ne(x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0], (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & ((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 0) & ((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 1) & ((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= 0) & ((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= 1) & ((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 > 1) & ((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 > 1) & Ne((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, -1) & Ne((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 0) & Ne((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 1) & Ne((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, -1) & Ne((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, 0) & Ne((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, 1) & Eq(x.size()[3]//4*(Mod((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4, 1)), 0) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 < 64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0]) & Ne(x.size()[3]//4*(Mod(1, (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)), 0) & Eq((64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4)//(x.size()[3]//4), 64) & (64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 >= 0) & (128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 0) & ((64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4)//(x.size()[3]//4) >= 0) & ((64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4)//(x.size()[3]//4) >= 64) & Ne((64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4)//(x.size()[3]//4), -1) & (64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64 < 64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0]) & (512*(x.size()[3] - 4)//4**2 + 1024*(x.size()[3] - 4)//4 + 512 < 512*x.size()[0]*(x.size()[3] - 4)//4**2 + 1024*x.size()[0]*(x.size()[3] - 4)//4 + 512*x.size()[0]) & Eq(x.size()[0]*x.size()[3]//4*(Mod(64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4, x.size()[3]//4)), 0) & ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1 >= (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 < (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 < 64*(x.size()[3] - 4)//4**2 + 128*(x.size()[3] - 4)//4 + 64) & ((x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4 < 64*x.size()[0]*(x.size()[3] - 4)//4**2 + 128*x.size()[0]*(x.size()[3] - 4)//4 + 64*x.size()[0]) & (64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4 >= 64*(x.size()[3] - 4)//4**2/x.size()[3]//4 + 128*(x.size()[3] - 4)//4/x.size()[3]//4 + 64/x.size()[3]//4) & (64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 >= 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64) & (128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & Eq((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 49) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 0) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 1) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 2) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= 0) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= 1) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= 2) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 > 1) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 > 1) & Ne((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, -1) & Ne((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 0) & Ne((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 1) & Ne((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, -1) & Ne((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, 0) & Ne((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, 1) & Eq(Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8, 1), 0) & Ne((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, x.size()[3]//8) & Ne(Mod(1, (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1), 0) & Eq(x.size()[0]*(Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8, 1)), 0) & Eq(x.size()[0]*(Mod((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2, 1)), 0) & Eq(64*x.size()[0]*(Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8, 1)), 0) & Eq(128*x.size()[0]*(Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8, 1)), 0) & Eq(Mod((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1, x.size()[3]//8), 0) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 1) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 2) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 4) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & Ne(x.size()[0]*(Mod(1, (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1)), 0) & Ne(x.size()[0]*(Mod(1, (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)), 0) & Ne(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), -1) & Ne(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1) & Ne(Mod(x.size()[3]//8, (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1), 0) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 >= 0) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 >= 64) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 >= 0) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 >= 64) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 >= 128) & (2*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2*(x.size()[3]//4 - 2)//2 + 2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2 >= 0) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 >= 0) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 >= 64) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 0) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 128) & (1024*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*(x.size()[3]//4 - 2)//2 + 1024*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024 >= 0) & (1024*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*(x.size()[3]//4 - 2)//2 + 1024*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024 >= 1024) & (x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0] >= 2) & (x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0] >= 2) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 <= 2147483647) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 <= 2147483647) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 > 1) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 > 64) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 > 1) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 > 128) & (2*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2*(x.size()[3]//4 - 2)//2 + 2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2 > 0) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 > 1) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 > 64) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 > 1) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 > 64) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 > 128) & (1024*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*(x.size()[3]//4 - 2)//2 + 1024*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024 > 1024) & (x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0] > 0) & (x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0] > 1) & (x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0] > 0) & Ne(1, 128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128) & Ne(1, 128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & Ne(64, 128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & Ne(x.size()[0], x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]) & Ne(x.size()[0], x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]) & Ne(64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64, 0) & Ne(64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64, 1) & Ne(64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64, 64) & Ne(128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128, 0) & Ne(128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128, 64) & Ne(64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64, 0) & Ne(64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64, 1) & Ne(64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64, 64) & Ne(128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128, 0) & Ne(128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128, 128) & Ne(1024*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*(x.size()[3]//4 - 2)//2 + 1024*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024, 0) & Ne(x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0], -1) & Ne(x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0], 0) & Ne(x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0], 1) & Ne(x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0], -1) & Ne(x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0], 0) & Ne(x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0], 1) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) + 2 >= 3) & (128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) >= 0) & (128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & Ne(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), -1) & Ne(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), 1) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 1) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 2) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & Ne(x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), -1) & Ne(x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1) & Ne((x.size()[3]//4 - 8)//8 + 1, (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1) & Ne((x.size()[3]//4 - 2)//2 + 1, (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & (2*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 64) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 128) & (1024*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (1024*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 1024) & (x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 0) & (x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 2) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) <= 2147483647) & (2*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 0) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 64) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 64) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 128) & (1024*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1024) & (x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 0) & Ne(1, 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(64, 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(x.size()[0], x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1) & Ne(64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 64) & Ne(128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 128) & Ne(1024*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), -1) & Ne(x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1) & Eq(x.size()[3]//8*(Mod(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1)), 0) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= 0) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= 1) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= 0) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= 1) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] >= 0) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] >= 64) & (128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 0) & (128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & (128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 64) & (128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 128) & (1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 0) & (1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1) & (1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) > 1024) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 > 1) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 > 1) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] > 0) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] > 1) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] > 64) & (128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0] > 0) & (128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0] > 1) & (128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0] > 64) & (128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0] > 128) & (128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0] > 0) & (128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0] > 1) & (128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0] > 64) & (128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0] > 128) & (1024*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*x.size()[0]*(x.size()[3]//4 - 2)//2 + 1024*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*x.size()[0] > 0) & Ne(x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), x.size()[3]//8) & Ne(x.size()[3]//8*(Mod(1, ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))), 0) & Ne(2*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(512*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne(4096*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 0) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, -1) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, 0) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, 1) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, -1) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, 0) & Ne((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, 1) & Ne(4*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3]//4 - 8)//8 + 4*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0], 0) & Ne(64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0], 0) & Ne(64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0], 64) & Ne(128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0], 0) & Ne(128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0], 1) & Ne(256*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0]*(x.size()[3]//4 - 8)//8 + 256*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0], 0) & Ne(512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0], 0) & Ne(2*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2*x.size()[0]*(x.size()[3]//4 - 2)//2 + 2*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2*x.size()[0], 0) & Ne(4*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0], 0) & Ne(8*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0]*(x.size()[3]//4 - 2)//2 + 8*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0], 0) & Ne(128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0], 0) & Ne(512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0], 0) & Ne(1024*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*x.size()[0]*(x.size()[3]//4 - 2)//2 + 1024*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*x.size()[0], 0) & Ne(4096*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4096*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0], 0) & (x.size()[0]*x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) > 0) & Ne(x.size()[0]*x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), 0) & Ne(512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0] - 256, 0) & Eq(x.size()[0]*(Mod(x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 1)), 0) & Eq((x.size()[3] - 4)//4*(Mod((x.size()[3] - 4)//4**2/((x.size()[3] - 4)//4 + 1) + 2*(x.size()[3] - 4)//4/((x.size()[3] - 4)//4 + 1) + 1/((x.size()[3] - 4)//4 + 1), 1)) + Mod((x.size()[3] - 4)//4**2/((x.size()[3] - 4)//4 + 1) + 2*(x.size()[3] - 4)//4/((x.size()[3] - 4)//4 + 1) + 1/((x.size()[3] - 4)//4 + 1), 1), 0) & (128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 0) & (320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 0) & Ne(x.size()[0]*(Mod(1, x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))), 0) & Ne((x.size()[3] - 4)//4*(Mod(1, (x.size()[3] - 4)//4**2/((x.size()[3] - 4)//4 + 1) + 2*(x.size()[3] - 4)//4/((x.size()[3] - 4)//4 + 1) + 1/((x.size()[3] - 4)//4 + 1))) + Mod(1, (x.size()[3] - 4)//4**2/((x.size()[3] - 4)//4 + 1) + 2*(x.size()[3] - 4)//4/((x.size()[3] - 4)//4 + 1) + 1/((x.size()[3] - 4)//4 + 1)), 0) & Ne(64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0], 64*x.size()[0]) & Ne(128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0], 128*x.size()[0]) & (((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) < (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & Eq(x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & Eq(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) >= (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & Eq((128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))//(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)), 128) & ((128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))//(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)) >= 0) & ((128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))//(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)) >= 128) & (((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) < x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne((128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))//(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)), -1) & Eq(x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4), x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4) >= x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Eq(x.size()[0]*x.size()[3]//8*(Mod(128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), ((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4))), 0) & ((-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1) & ((-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 < (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & Ne(128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)) & Eq(128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), 128*x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)) & Eq(128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0], 128*x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < 64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 < 2*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2*(x.size()[3]//4 - 2)//2 + 2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 2) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 < 128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 >= x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 >= 64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 <= 64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < 64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1 < 128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 < 128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0]*(x.size()[3]//4 - 2)//2 + x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + x.size()[0], x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 >= 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0] >= 64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64) & (64*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*(x.size()[3]//4 - 8)//8 + 64*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64 < 64*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]*(x.size()[3]//4 - 8)//8 + 64*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 64*x.size()[0]) & (128*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*(x.size()[3]//4 - 8)//8 + 128*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128 < 128*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]*(x.size()[3]//4 - 8)//8 + 128*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 128*x.size()[0]) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (64*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64*(x.size()[3]//4 - 2)//2 + 64*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 64 < 128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*(x.size()[3]//4 - 2)//2 + 128*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128 < 128*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]*(x.size()[3]//4 - 2)//2 + 128*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 128*x.size()[0]) & (1024*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024*(x.size()[3]//4 - 2)//2 + 1024*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1024 < 1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 2*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & Ne(x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) >= 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (64*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (128*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (1024*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) < 1024*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) <= 4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) <= 8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (512*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) <= 512*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (4096*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) <= 4096*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (4*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3]//4 - 8)//8 + 4*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0] <= 4*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3]//4 - 8)//8 + 4*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]) & (256*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0]*(x.size()[3]//4 - 8)//8 + 256*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0] <= 256*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0]*(x.size()[3]//4 - 8)//8 + 256*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 256*x.size()[0]) & (512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0] <= 512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]) & (4*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0] <= 4*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*x.size()[0]) & (8*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0]*(x.size()[3]//4 - 2)//2 + 8*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0] <= 8*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0]*(x.size()[3]//4 - 2)//2 + 8*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 8*x.size()[0]) & (512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0] <= 512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]) & (4096*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4096*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0] <= 4096*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0]*(x.size()[3]//4 - 2)//2 + 4096*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4096*x.size()[0]) & (512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0] - 256 <= 512*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]*(x.size()[3]//4 - 8)//8 + 512*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 512*x.size()[0]) & (128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128) & (320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & Eq((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, 49) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= 0) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= 1) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= 2) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= 0) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= 1) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= 2) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 > 1) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 > 1) & Ne((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, -1) & Ne((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, 0) & Ne((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1, 1) & Ne((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, -1) & Ne((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, 0) & Ne((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, 1) & Ne((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, x.size()[3]//16) & Eq(x.size()[0]*(Mod((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4, 1)), 0) & Eq(x.size()[0]*(Mod((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2, 1)), 0) & Eq(128*x.size()[0]*(Mod((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4, 1)), 0) & Eq(256*x.size()[0]*(Mod((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4, 1)), 0) & Eq(Mod((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1, x.size()[3]//16), 0) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 1) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 2) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & Ne(x.size()[0]*(Mod(1, (x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1)), 0) & Ne(x.size()[0]*(Mod(1, (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)), 0) & Ne(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), -1) & Ne(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1) & Ne(Mod(x.size()[3]//16, (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1), 0) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 >= 0) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 >= 64) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 0) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 128) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 >= 0) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 >= 128) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 >= 256) & (5*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5*(x.size()[3]//8 - 2)//2 + 5*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5 >= 0) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 >= 0) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 >= 64) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 0) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 320) & (1280*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*(x.size()[3]//8 - 2)//2 + 1280*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280 >= 0) & (1280*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*(x.size()[3]//8 - 2)//2 + 1280*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280 >= 1280) & (x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0] >= 2) & (x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0] >= 2) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 <= 2147483647) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 <= 2147483647) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 > 1) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 > 64) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 > 1) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 > 64) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 > 128) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 > 1) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 > 64) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 > 256) & (5*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5*(x.size()[3]//8 - 2)//2 + 5*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5 > 0) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 > 1) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 > 64) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 > 1) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 > 64) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 > 320) & (1280*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*(x.size()[3]//8 - 2)//2 + 1280*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280 > 1280) & (x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0] > 0) & (x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0] > 0) & Ne(1, 256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256) & Ne(1, 320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & Ne(64, 256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256) & Ne(64, 320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & Ne(x.size()[0], x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]) & Ne(x.size()[0], x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]) & Ne(64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64, 0) & Ne(64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64, 1) & Ne(64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64, 64) & Ne(128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128, 0) & Ne(128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128, 1) & Ne(128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128, 128) & Ne(256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256, 0) & Ne(256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256, 128) & Ne(64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64, 0) & Ne(64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64, 1) & Ne(64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64, 64) & Ne(320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320, 0) & Ne(320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320, 320) & Ne(1280*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*(x.size()[3]//8 - 2)//2 + 1280*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280, 0) & Ne(x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0], -1) & Ne(x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0], 0) & Ne(x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0]*(x.size()[3]//8 - 4)//4 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + x.size()[0], 1) & Ne(x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0], -1) & Ne(x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0], 0) & Ne(x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0], 1) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) + 2 >= 3) & (320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(2*x.size()[3]//16) >= 0) & (320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & Ne(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(2*x.size()[3]//16), -1) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 1) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 2) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & Ne(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), -1) & Ne(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1) & Ne((x.size()[3]//8 - 4)//4 + 1, (x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1) & Ne((x.size()[3]//8 - 2)//2 + 1, (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & (5*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 64) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 320) & (1280*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (1280*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 1280) & (x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 0) & (x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 2) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) <= 2147483647) & (5*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 0) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 64) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 64) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 320) & (1280*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1280) & (x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 0) & Ne(1, 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(64, 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(x.size()[0], x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1) & Ne(64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 64) & Ne(320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 320) & Ne(1280*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), -1) & Ne(x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1) & Eq(x.size()[3]//16*(Mod(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1)), 0) & ((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 >= 0) & ((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 >= 1) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] >= 0) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] >= 64) & (320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 0) & (320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & (320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 64) & (320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 320) & (1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 0) & (1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1) & (1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) > 1280) & ((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 > 1) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] > 0) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] > 1) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] > 64) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] > 128) & (256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0] > 0) & (256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0] > 1) & (256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0] > 64) & (256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0] > 128) & (256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0] > 256) & (320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0] > 0) & (320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0] > 1) & (320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0] > 64) & (320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0] > 320) & (1280*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]*(x.size()[3]//8 - 2)//2 + 1280*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0] > 0) & Ne(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), x.size()[3]//16) & Ne(x.size()[3]//16*(Mod(1, ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))), 0) & Ne(4*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(5*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(20*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne(5120*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 0) & Ne((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, -1) & Ne((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, 0) & Ne((((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, 1) & Ne(4*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0]*(x.size()[3]//8 - 4)//4 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0], 0) & Ne(128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0], 0) & Ne(256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0], 0) & Ne(256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0], 1) & Ne(512*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0]*(x.size()[3]//8 - 4)//4 + 512*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0], 0) & Ne(1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0], 0) & Ne(4*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0]*(x.size()[3]//8 - 2)//2 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0], 0) & Ne(5*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5*x.size()[0]*(x.size()[3]//8 - 2)//2 + 5*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5*x.size()[0], 0) & Ne(20*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0]*(x.size()[3]//8 - 2)//2 + 20*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0], 0) & Ne(320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0], 0) & Ne(1280*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]*(x.size()[3]//8 - 2)//2 + 1280*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0], 0) & Ne(5120*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0]*(x.size()[3]//8 - 2)//2 + 5120*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0], 0) & Ne(1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0] - 512, 0) & Eq(x.size()[0]*(Mod(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1)), 0) & (320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 >= 0) & (512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 >= 0) & Ne(x.size()[0]*(Mod(1, x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))), 0) & Ne(128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0], 128*x.size()[0]) & Ne(256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0], 256*x.size()[0]) & Eq(128*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8), x.size()[0]*x.size()[3]//8*((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4)*(128*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8))//(((x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4 + 1)//(2*x.size()[3]//4))) & Eq((x.size()[3]//4 - 8)//8*(Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + (x.size()[3]//4 - 8)//8/((x.size()[3]//4 - 8)//8 + 1) + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + 1/((x.size()[3]//4 - 8)//8 + 1), 1)) + Mod((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + (x.size()[3]//4 - 8)//8/((x.size()[3]//4 - 8)//8 + 1) + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + 1/((x.size()[3]//4 - 8)//8 + 1), 1), 0) & Eq((x.size()[3]//4 - 2)//2*(Mod((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + (x.size()[3]//4 - 2)//2/((x.size()[3]//4 - 2)//2 + 1) + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + 1/((x.size()[3]//4 - 2)//2 + 1), 1)) + Mod((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + (x.size()[3]//4 - 2)//2/((x.size()[3]//4 - 2)//2 + 1) + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + 1/((x.size()[3]//4 - 2)//2 + 1), 1), 0) & Ne((x.size()[3]//4 - 8)//8*(Mod(1, (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + (x.size()[3]//4 - 8)//8/((x.size()[3]//4 - 8)//8 + 1) + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + 1/((x.size()[3]//4 - 8)//8 + 1))) + Mod(1, (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + (x.size()[3]//4 - 8)//8/((x.size()[3]//4 - 8)//8 + 1) + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8/((x.size()[3]//4 - 8)//8 + 1) + 1/((x.size()[3]//4 - 8)//8 + 1)), 0) & Ne((x.size()[3]//4 - 2)//2*(Mod(1, (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + (x.size()[3]//4 - 2)//2/((x.size()[3]//4 - 2)//2 + 1) + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + 1/((x.size()[3]//4 - 2)//2 + 1))) + Mod(1, (x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + (x.size()[3]//4 - 2)//2/((x.size()[3]//4 - 2)//2 + 1) + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2/((x.size()[3]//4 - 2)//2 + 1) + 1/((x.size()[3]//4 - 2)//2 + 1)), 0) & Ne(512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0] + 512*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 512*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 - 512*(x.size()[3]//4 - 2)//2 - 512*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 - 512, 0) & Ne(4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) + 4*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*(x.size()[3]//4 - 2)//2 + 4*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4, 0) & Ne(8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) + 4*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*(x.size()[3]//4 - 2)//2 + 4*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4, 0) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) < (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & Eq(x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & Eq(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) >= (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 < (x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1) & ((((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 < (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & Eq((320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))//(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)), 320) & ((320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))//(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)) >= 0) & ((320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))//(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)) >= 320) & (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) < x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne((320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16))//(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)), -1) & Eq(x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8), x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8) >= x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Eq(x.size()[0]*x.size()[3]//16*(Mod(320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), ((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8))), 0) & ((x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + (x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4 + (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 >= 0) & ((x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + (x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4 + (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 > 1) & Ne(320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), x.size()[0]*x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)) & Ne((x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + (x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4 + (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1, 0) & Eq(320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)) & Eq(320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0], 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(2*x.size()[3]//8)) & (x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0] > 1) & Ne(x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0], 0) & Ne(4*x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + 4*x.size()[0]*(x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3] - 4)//4**2 + 8*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 8*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 8*x.size()[0]*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 8*x.size()[0]*(x.size()[3] - 4)//4 + 4*x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0]*(x.size()[3]//4 - 8)//8 + 4*x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 4*x.size()[0], 0) & (512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0] + 512*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 512*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 - 512*(x.size()[3]//4 - 2)//2 - 512*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 - 512 <= 512*x.size()[0]*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]*(x.size()[3]//4 - 2)//2 + 512*x.size()[0]*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 512*x.size()[0]) & (4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) + 4*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*(x.size()[3]//4 - 2)//2 + 4*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4 <= 4*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & (8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) + 4*(x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4*(x.size()[3]//4 - 2)//2 + 4*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 4 <= 8*x.size()[0]*x.size()[3]//8*((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8)) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < (x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + (x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3] - 4)//4**2 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*(x.size()[3] - 4)//4 + (x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 >= (x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & ((x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + (x.size()[3]//4 - 8)//8 + (-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 1 < x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(x.size()[3]//4 - 8)//8 + x.size()[0]*(x.size()[3] - 4)//4**2*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3] - 4)//4**2 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(x.size()[3]//4 - 8)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + 2*x.size()[0]*(x.size()[3] - 4)//4 + x.size()[0]*(x.size()[3]//4 - 8)//8*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]*(x.size()[3]//4 - 8)//8 + x.size()[0]*(-8 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//8 + x.size()[0]) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 < 64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 < 128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 < 5*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5*(x.size()[3]//8 - 2)//2 + 5*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 < 320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & Eq(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 >= x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Eq(Mod(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1), 0) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 >= 128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & ((x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + (x.size()[3]//8 - 4)//4 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1 < 128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 < 128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1 < 320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 < 320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320) & Eq(x.size()[0]*(Mod(x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), (x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)), 0) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= ((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 320*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0], x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Eq(x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]*(x.size()[3]//8 - 2)//2 + x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + x.size()[0]) & Eq(320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320, 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 >= 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0] >= 128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128) & (64*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64*(x.size()[3]//8 - 4)//4 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 64 < 128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]) & (128*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*(x.size()[3]//8 - 4)//4 + 128*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128 < 128*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]*(x.size()[3]//8 - 4)//4 + 128*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 128*x.size()[0]) & (256*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*(x.size()[3]//8 - 4)//4 + 256*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256 < 256*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]*(x.size()[3]//8 - 4)//4 + 256*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 256*x.size()[0]) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (64*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64*(x.size()[3]//8 - 2)//2 + 64*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 64 < 320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*(x.size()[3]//8 - 2)//2 + 320*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320 < 320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]) & (1280*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*(x.size()[3]//8 - 2)//2 + 1280*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280 < 1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 5*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Ne(x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) >= 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (64*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (320*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (1280*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) < 1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & Eq(320*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 320*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]*(x.size()[3]//8 - 2)//2 + 320*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 320*x.size()[0]) & Eq(1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16), 1280*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]*(x.size()[3]//8 - 2)//2 + 1280*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]) & (4*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) <= 4*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (20*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) <= 20*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) <= 1280*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (5120*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) <= 5120*x.size()[0]*x.size()[3]//16*((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16)) & (4*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0]*(x.size()[3]//8 - 4)//4 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0] <= 4*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0]*(x.size()[3]//8 - 4)//4 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 4*x.size()[0]) & (512*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0]*(x.size()[3]//8 - 4)//4 + 512*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0] <= 512*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0]*(x.size()[3]//8 - 4)//4 + 512*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 512*x.size()[0]) & (1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0] <= 1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]) & (4*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0]*(x.size()[3]//8 - 2)//2 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0] <= 4*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0]*(x.size()[3]//8 - 2)//2 + 4*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 4*x.size()[0]) & (20*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0]*(x.size()[3]//8 - 2)//2 + 20*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0] <= 20*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0]*(x.size()[3]//8 - 2)//2 + 20*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 20*x.size()[0]) & (1280*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]*(x.size()[3]//8 - 2)//2 + 1280*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0] <= 1280*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]*(x.size()[3]//8 - 2)//2 + 1280*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1280*x.size()[0]) & (5120*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0]*(x.size()[3]//8 - 2)//2 + 5120*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0] <= 5120*x.size()[0]*(x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0]*(x.size()[3]//8 - 2)//2 + 5120*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 5120*x.size()[0]) & (1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0] - 512 <= 1024*x.size()[0]*(x.size()[3]//8 - 4)//4*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]*(x.size()[3]//8 - 4)//4 + 1024*x.size()[0]*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 4)//4 + 1024*x.size()[0]) & (320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 >= 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320) & (512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 >= 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512) & Eq((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, 49) & ((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 >= 0) & ((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 >= 1) & ((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 >= 2) & ((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1 > 1) & Ne((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, -1) & Ne((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, 0) & Ne((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, 1) & Ne((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, x.size()[3]//32) & Eq(x.size()[0]*(Mod((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2, 1)), 0) & Eq(320*x.size()[0]*(Mod((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2, 1)), 0) & Eq(640*x.size()[0]*(Mod((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2, 1)), 0) & Eq(1024*x.size()[0]*(Mod((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2, 1)), 0) & Eq(Mod((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1, x.size()[3]//32), 0) & (((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32) >= 0) & (((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32) >= 1) & (((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32) > 1) & Ne(x.size()[0]*(Mod(1, (x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)), 0) & Ne(((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32), -1) & Ne(((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32), 0) & Ne(((x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1)//(x.size()[3]//32), 1) & Ne(Mod(x.size()[3]//32, (x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + (x.size()[3]//16 - 2)//2 + (((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1), 0) & (8*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 8*(x.size()[3]//16 - 2)//2 + 8*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 8 >= 0) & (64*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64*(x.size()[3]//16 - 2)//2 + 64*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64 >= 0) & (64*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64*(x.size()[3]//16 - 2)//2 + 64*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64 >= 64) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 >= 0) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 >= 320) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 >= 0) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 >= 512) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 >= 0) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 >= 320) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 >= 640) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 >= 0) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 >= 512) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 >= 1024) & (2048*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 2048*(x.size()[3]//16 - 2)//2 + 2048*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 2048 >= 0) & (2048*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 2048*(x.size()[3]//16 - 2)//2 + 2048*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 2048 >= 2048) & (x.size()[0]*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + x.size()[0]*(x.size()[3]//16 - 2)//2 + x.size()[0]*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + x.size()[0] >= 0) & (x.size()[0]*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + x.size()[0]*(x.size()[3]//16 - 2)//2 + x.size()[0]*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + x.size()[0] >= 2) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 <= 2147483647) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 <= 2147483647) & (8*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 8*(x.size()[3]//16 - 2)//2 + 8*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 8 > 0) & (64*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64*(x.size()[3]//16 - 2)//2 + 64*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64 > 1) & (64*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64*(x.size()[3]//16 - 2)//2 + 64*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 64 > 64) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 > 1) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 > 64) & (320*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320*(x.size()[3]//16 - 2)//2 + 320*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 320 > 320) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 > 1) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 > 64) & (512*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512*(x.size()[3]//16 - 2)//2 + 512*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 512 > 512) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 > 1) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 > 64) & (640*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640*(x.size()[3]//16 - 2)//2 + 640*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 640 > 640) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 > 1) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 > 64) & (1024*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024*(x.size()[3]//16 - 2)//2 + 1024*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + 1)//(x.size()[3]//16) - 2)//2 + 1024 > 1024) & (2048*(x.size()[3]//16 - 2)//2*(((x.size()[3]//8 - 2)//2*(((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3]//4 - 2)//2 + (-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + 1)//(x.size()[3]//8) - 2)//2 + (x.size()[3]//8 - 2)//2 + (((x.size()[3]//4 - 2)//2*(-2 + (x.size()[3] - 4)//4**2/x.size()[3]//4 + 2*(x.size()[3] - 4)//4/x.size()[3]//4 + 1/x.size()[3]//4)//2 + (x.size()[3] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment