Skip to content

Instantly share code, notes, and snippets.

@ezyang
Created December 5, 2022 22:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ezyang/fa65798977b0d018ec5637e601ce2b47 to your computer and use it in GitHub Desktop.
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.
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: WARN: 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.
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: WARN: 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.
deprecation(
/home/ezyang/local/b/pytorch-env/lib/python3.9/site-packages/gym/wrappers/step_api_compatibility.py:39: DeprecationWarning: WARN: 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.
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