From 9f16fef6c2a42c7000b0f0edbe1392a8532e48ed Mon Sep 17 00:00:00 2001 From: Graham Kelly Date: Thu, 6 Jun 2024 16:37:15 -0400 Subject: [PATCH] initial poc --- .gitignore | 1 + Cargo.lock | 1060 + Cargo.toml | 7 + wars-macro/Cargo.toml | 19 + wars-macro/src/lib.rs | 94 + wars-macro/tests/a.rs | 18 + wars-macro/tests/b.rs | 7 + wars-macro/tests/out.rs.x | 54108 +++++++++++++++++++++++++++++++++++ wars-macro/tests/out.rs.y | 54224 ++++++++++++++++++++++++++++++++++++ wars-rt/Cargo.toml | 14 + wars-rt/src/func.rs | 202 + wars-rt/src/lib.rs | 203 + wars-test/Cargo.toml | 11 + wars-test/build.sh | 2 + wars-test/src/lib.rs | 8 + wars/Cargo.toml | 14 + wars/src/lib.rs | 1007 + wars/src/unswitch.rs | 74 + 18 files changed, 111073 insertions(+) create mode 100644 .gitignore create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 wars-macro/Cargo.toml create mode 100644 wars-macro/src/lib.rs create mode 100644 wars-macro/tests/a.rs create mode 100644 wars-macro/tests/b.rs create mode 100644 wars-macro/tests/out.rs.x create mode 100644 wars-macro/tests/out.rs.y create mode 100644 wars-rt/Cargo.toml create mode 100644 wars-rt/src/func.rs create mode 100644 wars-rt/src/lib.rs create mode 100644 wars-test/Cargo.toml create mode 100644 wars-test/build.sh create mode 100644 wars-test/src/lib.rs create mode 100644 wars/Cargo.toml create mode 100644 wars/src/lib.rs create mode 100644 wars/src/unswitch.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1de5659 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target \ No newline at end of file diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..30f419e --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,1060 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "addr2line" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +dependencies = [ + "cpp_demangle", + "fallible-iterator", + "gimli", + "memmap2", + "object", + "rustc-demangle", + "smallvec", +] + +[[package]] +name = "adler" +version = "1.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" + +[[package]] +name = "aho-corasick" +version = "1.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" +dependencies = [ + "memchr", +] + +[[package]] +name = "ansi_term" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2" +dependencies = [ + "winapi", +] + +[[package]] +name = "anstream" +version = "0.6.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418c75fa768af9c03be99d17643f93f79bbba589895012a80e3452a19ddda15b" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "038dfcf04a5feb68e9c60b21c9625a54c2c0616e79b72b0fd87075a056ae1d1b" + +[[package]] +name = "anstyle-parse" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c03a11a9034d92058ceb6ee011ce58af4a9bf61491aa7e1e59ecd24bd40d22d4" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ad186efb764318d35165f1758e7dcef3b10628e26d41a44bc5550652e6804391" +dependencies = [ + "windows-sys", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61a38449feb7068f52bb06c12759005cf459ee52bb4adc1d5a7c4322d716fb19" +dependencies = [ + "anstyle", + "windows-sys", +] + +[[package]] +name = "anyhow" +version = "1.0.86" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" + +[[package]] +name = "atty" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9b39be18770d11421cdb1b9947a45dd3f37e93092cbf377614828a319d5fee8" +dependencies = [ + "hermit-abi", + "libc", + "winapi", +] + +[[package]] +name = "autocfg" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "blake2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46502ad458c9a52b69d4d4d32775c788b7a1b85e8bc9d482d92250fc0e3f8efe" +dependencies = [ + "digest", +] + +[[package]] +name = "block-buffer" +version = "0.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" +dependencies = [ + "generic-array", +] + +[[package]] +name = "bumpalo" +version = "3.16.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" + +[[package]] +name = "byteorder" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" + +[[package]] +name = "castaway" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a17ed5635fc8536268e5d4de1e22e81ac34419e5f052d4d51f4e01dcc263fcc" +dependencies = [ + "rustversion", +] + +[[package]] +name = "cc" +version = "1.0.98" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "41c270e7540d725e65ac7f1b212ac8ce349719624d7bcff99f8e2e488e8cf03f" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "clap" +version = "2.34.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c" +dependencies = [ + "ansi_term", + "atty", + "bitflags 1.3.2", + "strsim", + "textwrap", + "unicode-width", + "vec_map", +] + +[[package]] +name = "colorchoice" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b6a852b24ab71dffc585bcb46eaf7959d175cb865a7152e35b348d1b2960422" + +[[package]] +name = "convert_case" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6245d59a3e82a7fc217c5828a6692dbc6dfb63a0c8c90495621f7b9d79704a0e" + +[[package]] +name = "cpp_demangle" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7e8227005286ec39567949b33df9896bcadfa6051bccca2488129f108ca23119" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crc32fast" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" +dependencies = [ + "cfg-if", +] + +[[package]] +name = "crossbeam-deque" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613f8cc01fe9cf1a3eb3d7f488fd2fa8388403e97039e2f73692932e291a770d" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-epoch" +version = "0.9.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b82ac4a3c2ca9c3460964f020e1402edd5753411d7737aa39c3714ad1b5420e" +dependencies = [ + "crossbeam-utils", +] + +[[package]] +name = "crossbeam-utils" +version = "0.8.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "derive_more" +version = "0.99.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" +dependencies = [ + "convert_case", + "proc-macro2", + "quote", + "rustc_version", + "syn 1.0.109", +] + +[[package]] +name = "digest" +version = "0.10.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" +dependencies = [ + "block-buffer", + "crypto-common", + "subtle", +] + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" + +[[package]] +name = "env_filter" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a009aa4810eb158359dda09d0c87378e4bbb89b5a801f016885a4707ba24f7ea" +dependencies = [ + "log", + "regex", +] + +[[package]] +name = "env_logger" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9" +dependencies = [ + "anstream", + "anstyle", + "env_filter", + "humantime", + "log", +] + +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + +[[package]] +name = "expander" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00e83c02035136f1592a47964ea60c05a50e4ed8b5892cfac197063850898d4d" +dependencies = [ + "blake2", + "fs-err", + "prettier-please", + "proc-macro2", + "quote", + "syn 2.0.66", +] + +[[package]] +name = "fallible-iterator" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2acce4a10f12dc2fb14a218589d4f1f62ef011b2d0cc4b3cb1bba8e94da14649" + +[[package]] +name = "fixedbitset" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37ab347416e802de484e4d03c7316c48f1ecb56574dfd4a46a80f173ce1de04d" + +[[package]] +name = "flate2" +version = "1.0.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" +dependencies = [ + "crc32fast", + "miniz_oxide", +] + +[[package]] +name = "fnv" +version = "1.0.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" + +[[package]] +name = "fs-err" +version = "2.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88a41f105fe1d5b6b34b2055e3dc59bb79b46b48b2040b9e6c7b4b5de097aa41" +dependencies = [ + "autocfg", +] + +[[package]] +name = "fxhash" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c31b6d751ae2c7f11320402d34e41349dd1016f8d5d45e48c4312bc8625af50c" +dependencies = [ + "byteorder", +] + +[[package]] +name = "generic-array" +version = "0.14.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "gimli" +version = "0.28.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +dependencies = [ + "fallible-iterator", + "stable_deref_trait", +] + +[[package]] +name = "hashbrown" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" + +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + +[[package]] +name = "heck" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c" +dependencies = [ + "unicode-segmentation", +] + +[[package]] +name = "hermit-abi" +version = "0.1.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" +dependencies = [ + "libc", +] + +[[package]] +name = "humantime" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" + +[[package]] +name = "indexmap" +version = "1.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" +dependencies = [ + "autocfg", + "hashbrown 0.12.3", +] + +[[package]] +name = "indexmap" +version = "2.2.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" +dependencies = [ + "equivalent", + "hashbrown 0.14.5", +] + +[[package]] +name = "is_terminal_polyfill" +version = "1.70.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8478577c03552c21db0e2724ffb8986a5ce7af88107e6be5d2ee6e158c12800" + +[[package]] +name = "lazy_static" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" + +[[package]] +name = "leb128" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "884e2677b40cc8c339eaefcb701c32ef1fd2493d71118dc0ca4b6a736c93bd67" + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "memchr" +version = "2.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" + +[[package]] +name = "memmap2" +version = "0.5.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" +dependencies = [ + "libc", +] + +[[package]] +name = "miniz_oxide" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87dfd01fe195c66b572b37921ad8803d010623c0aca821bea2302239d155cdae" +dependencies = [ + "adler", +] + +[[package]] +name = "object" +version = "0.32.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +dependencies = [ + "flate2", + "memchr", + "ruzstd", +] + +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "petgraph" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "467d164a6de56270bd7c4d070df81d07beace25012d5103ced4e9ff08d6afdb7" +dependencies = [ + "fixedbitset", + "indexmap 1.9.3", +] + +[[package]] +name = "portal-pc-waffle" +version = "0.0.27+portal" +source = "git+https://github.com/portal-co/waffle-.git?branch=pr/changes2#3f9e7a560f40c29c1de6389f1f6371cde261adb7" +dependencies = [ + "addr2line", + "anyhow", + "env_logger", + "fxhash", + "indexmap 2.2.6", + "lazy_static", + "libc", + "log", + "rayon", + "smallvec", + "stacker", + "structopt", + "wasm-encoder 0.202.0", + "wasmparser", +] + +[[package]] +name = "prettier-please" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22020dfcf177fcc7bf5deaf7440af371400c67c0de14c399938d8ed4fb4645d3" +dependencies = [ + "proc-macro2", + "syn 2.0.66", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn 1.0.109", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro2" +version = "1.0.85" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22244ce15aa966053a896d1accb3a6e68469b97c7f33f284b99f0d576879fc23" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "psm" +version = "0.1.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +dependencies = [ + "cc", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rayon" +version = "1.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b418a60154510ca1a002a752ca9714984e21e4241e804d32555251faf8b78ffa" +dependencies = [ + "either", + "rayon-core", +] + +[[package]] +name = "rayon-core" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1465873a3dfdaa8ae7cb14b4383657caab0b3e8a0aa9ae8e04b044854c8dfce2" +dependencies = [ + "crossbeam-deque", + "crossbeam-utils", +] + +[[package]] +name = "regex" +version = "1.10.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +dependencies = [ + "aho-corasick", + "memchr", + "regex-automata", + "regex-syntax", +] + +[[package]] +name = "regex-automata" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +dependencies = [ + "aho-corasick", + "memchr", + "regex-syntax", +] + +[[package]] +name = "regex-syntax" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" + +[[package]] +name = "relooper" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "efae3de559cde28a2580a0cd4bb80e6a3100e3ebeb390c0d9f82c9cd4cedf118" +dependencies = [ + "fnv", + "petgraph", +] + +[[package]] +name = "rustc-demangle" +version = "0.1.24" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" + +[[package]] +name = "rustc_version" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +dependencies = [ + "semver", +] + +[[package]] +name = "rustversion" +version = "1.0.17" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" + +[[package]] +name = "ruzstd" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "58c4eb8a81997cf040a091d1f7e1938aeab6749d3a0dfa73af43cdc32393483d" +dependencies = [ + "byteorder", + "derive_more", + "twox-hash", +] + +[[package]] +name = "semver" +version = "1.0.23" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" + +[[package]] +name = "smallvec" +version = "1.13.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" + +[[package]] +name = "stable_deref_trait" +version = "1.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" + +[[package]] +name = "stacker" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c886bd4480155fd3ef527d45e9ac8dd7118a898a46530b7b94c3e21866259fce" +dependencies = [ + "cc", + "cfg-if", + "libc", + "psm", + "winapi", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "strsim" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea5119cdb4c55b55d432abb513a0429384878c15dde60cc77b1c99de1a95a6a" + +[[package]] +name = "structopt" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c6b5c64445ba8094a6ab0c3cd2ad323e07171012d9c98b0b15651daf1787a10" +dependencies = [ + "clap", + "lazy_static", + "structopt-derive", +] + +[[package]] +name = "structopt-derive" +version = "0.4.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcb5ae327f9cc13b68763b5749770cb9e048a99bd9dfdfa58d0cf05d5f64afe0" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn 1.0.109", +] + +[[package]] +name = "subtle" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" + +[[package]] +name = "syn" +version = "1.0.109" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn" +version = "2.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "textwrap" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060" +dependencies = [ + "unicode-width", +] + +[[package]] +name = "tramp" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b1ee032eda9f2e819b93fed2bbb2ea4e459b78cd0141b9e3644ec6dc013b2cf4" + +[[package]] +name = "tuple_list" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "141fb9f71ee586d956d7d6e4d5a9ef8e946061188520140f7591b668841d502e" + +[[package]] +name = "twox-hash" +version = "1.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" +dependencies = [ + "cfg-if", + "static_assertions", +] + +[[package]] +name = "typenum" +version = "1.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "unicode-segmentation" +version = "1.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" + +[[package]] +name = "utf8parse" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" + +[[package]] +name = "vec_map" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wars" +version = "0.1.0" +dependencies = [ + "portal-pc-waffle", + "proc-macro2", + "quote", + "relooper", + "syn 2.0.66", +] + +[[package]] +name = "wars-macro" +version = "0.1.0" +dependencies = [ + "expander", + "proc-macro2", + "quote", + "syn 2.0.66", + "wars", + "wars-rt", + "wat", +] + +[[package]] +name = "wars-rt" +version = "0.1.0" +dependencies = [ + "anyhow", + "castaway", + "derive_more", + "paste", + "tramp", + "tuple_list", +] + +[[package]] +name = "wars-test" +version = "0.1.0" + +[[package]] +name = "wasm-encoder" +version = "0.202.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bfd106365a7f5f7aa3c1916a98cbb3ad477f5ff96ddb130285a91c6e7429e67a" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasm-encoder" +version = "0.209.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b4a05336882dae732ce6bd48b7e11fe597293cb72c13da4f35d7d5f8d53b2a7" +dependencies = [ + "leb128", +] + +[[package]] +name = "wasmparser" +version = "0.202.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6998515d3cf3f8b980ef7c11b29a9b1017d4cf86b99ae93b546992df9931413" +dependencies = [ + "bitflags 2.5.0", + "indexmap 2.2.6", + "semver", +] + +[[package]] +name = "wast" +version = "209.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fffef2ff6147e4d12e972765fd75332c6a11c722571d4ab7a780d81ffc8f0a4" +dependencies = [ + "bumpalo", + "leb128", + "memchr", + "unicode-width", + "wasm-encoder 0.209.1", +] + +[[package]] +name = "wat" +version = "1.209.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42203ec0271d113f8eb1f77ebc624886530cecb35915a7f63a497131f16e4d24" +dependencies = [ + "wast", +] + +[[package]] +name = "winapi" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" +dependencies = [ + "winapi-i686-pc-windows-gnu", + "winapi-x86_64-pc-windows-gnu", +] + +[[package]] +name = "winapi-i686-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" + +[[package]] +name = "winapi-x86_64-pc-windows-gnu" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", + "windows_i686_gnullvm", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..67a4751 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,7 @@ +[workspace] +members=[ "wars", "wars-macro","wars-rt", "wars-test"] +resolver="2" + +[workspace.dependencies] + +portal-pc-waffle = {git="https://github.com/portal-co/waffle-.git",branch="pr/changes2"} diff --git a/wars-macro/Cargo.toml b/wars-macro/Cargo.toml new file mode 100644 index 0000000..79c3e43 --- /dev/null +++ b/wars-macro/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "wars-macro" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +expander = {version="2.1.0",features=["pretty"]} +proc-macro2 = "1.0.85" +quote = "1.0.36" +syn = "2.0.66" +wars = { version = "0.1.0", path = "../wars" } +wars-rt = { version = "0.1.0", path = "../wars-rt" } +wat = "1.209.1" + + +[lib] +proc-macro = true diff --git a/wars-macro/src/lib.rs b/wars-macro/src/lib.rs new file mode 100644 index 0000000..eb60eb8 --- /dev/null +++ b/wars-macro/src/lib.rs @@ -0,0 +1,94 @@ +use std::sync::Arc; + +use expander::{Edition, Expander}; +use proc_macro::TokenStream; +use proc_macro2::Span; +use quote::quote; +use syn::{parse::Parse, parse_macro_input, Ident, Path, Token}; +use wars::Opts; + +struct O { + pub crate_path: syn::Path, + pub module: Vec, + pub name: Ident, + // pub cfg: Arc, +} +// struct NoopCfg {} +// impl ImportCfg for NoopCfg { +// fn import(&self, module: &str, name: &str) -> proc_macro2::TokenStream { +// quote! { +// compile_error!("import used") +// } +// } +// } +impl Parse for O { + fn parse(input: syn::parse::ParseStream) -> syn::Result { + let mut o = O { + crate_path: syn::parse(quote! {::wars_rt}.into())?, + module: vec![], + name: Ident::new("Wars", Span::call_site()), + // cfg: Arc::new(NoopCfg {}), + }; + while input.lookahead1().peek(Ident) { + let i: Ident = input.parse()?; + let _eq: Token![=] = input.parse()?; + match i.to_string().as_str() { + "crate_path" => { + let s: syn::LitStr = input.parse()?; + o.crate_path = s.parse()?; + } + "env" => { + let s: syn::LitStr = input.parse()?; + let sp = s.span(); + let s = std::env::var(s.value()).map_err(|x| syn::Error::new(sp, x))?; + let x = std::fs::read(s).map_err(|x| syn::Error::new(sp, x))?; + o.module = x; + } + "file" => { + let s: syn::LitStr = input.parse()?; + let sp = s.span(); + let x = std::fs::read(s.value()).map_err(|x| syn::Error::new(sp, x))?; + o.module = x; + } + "inline" => { + let s: syn::LitStr = input.parse()?; + let sp = s.span(); + let x = wat::parse_str(&s.value()).map_err(|x| syn::Error::new(sp, x))?; + o.module = x; + } + "name" => { + o.name = input.parse()?; + } + _ => return Err(syn::Error::new(i.span(), "unexpected type")), + }; + let _comma: Token![,] = input.parse()?; + } + // while input.lookahead1().peek(Token![;]){ + // let _semi: Token![;] = input.parse()?; + // } + Ok(o) + } +} + +#[proc_macro] +pub fn wars(a: TokenStream) -> TokenStream { + let o = parse_macro_input!(a as O); + let x = wars::go(&Opts { + crate_path: o.crate_path, + module: o.module, + name: o.name, + // cfg: o.cfg, + }); + let expanded = Expander::new("wars") + .add_comment("This is generated code!".to_owned()) + .fmt(Edition::_2021) + .verbose(true) + // common way of gating this, by making it part of the default feature set + .dry(cfg!(feature = "no-file-expansion")) + .write_to_out_dir(x.clone()) + .unwrap_or_else(|e| { + eprintln!("Failed to write to file: {:?}", e); + x + }); + expanded.into() +} diff --git a/wars-macro/tests/a.rs b/wars-macro/tests/a.rs new file mode 100644 index 0000000..cadfc2c --- /dev/null +++ b/wars-macro/tests/a.rs @@ -0,0 +1,18 @@ +wars_macro::wars!( + inline = " + (module + (func (result i32) call 2 call 1) + (func (result i32) + i32.const 0 + (if + (then i32.const 0 + return_call 0 + ) + (else i32.const 1) + ) + ) + (func) + ) + + ", +); diff --git a/wars-macro/tests/b.rs b/wars-macro/tests/b.rs new file mode 100644 index 0000000..c188241 --- /dev/null +++ b/wars-macro/tests/b.rs @@ -0,0 +1,7 @@ +wars_macro::wars!( + file = "target/wasm32-unknown-unknown/debug/wars_test.wasm", +); + +fn x(){ + +} diff --git a/wars-macro/tests/out.rs.x b/wars-macro/tests/out.rs.x new file mode 100644 index 0000000..d1edc5f --- /dev/null +++ b/wars-macro/tests/out.rs.x @@ -0,0 +1,54108 @@ +#![feature(prelude_import)] +#[prelude_import] +use std::prelude::rust_2021::*; +#[macro_use] +extern crate std; +mod _Wars_internal { + fn func0<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, (p4, ()))))): (u32, (u32, (u32, (u32, (u32, ()))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (block0param4.clone(), ()); + let (v5, ()) = (*ctx.global0(), ()); + let (v6, ()) = (256u32, ()); + let (v7, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v7; + () + }; + let (v9, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (1049385u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 148u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 155u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (32u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 156u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v24, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 160u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v24 != 0 { + block3param0 = v4; + block3param1 = v0; + block3param2 = v7; + block3param3 = v24; + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v204, ()) = (block3param0.clone(), ()); + let (v208, ()) = (block3param1.clone(), ()); + let (v210, ()) = (block3param2.clone(), ()); + let (v212, ()) = (block3param3.clone(), ()); + if v204 != 0 { + block6param0 = v208; + block6param1 = v210; + block6param2 = v212; + cff = 6usize; + } else { + block7param0 = v208; + block7param1 = v210; + block7param2 = v212; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v207, ()) = (block6param0.clone(), ()); + let (v209, ()) = (block6param1.clone(), ()); + let (v211, ()) = (block6param2.clone(), ()); + let (v80, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = (64u32, ()); + let (v85, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 212u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v87, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 68u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = (64u32, ()); + let (v89, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 216u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 64u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 220u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 120u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 120u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v95, ()) = match ::wars_rt::_rexport::tramp::tramp( + func11( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + (::wars_rt::func::cast::<_, _, C>(v94.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v209; + block5param1 = v211; + block5param2 = v207; + cff = 5usize; + break 'l6; + } + } + 1usize => { + 'l5: loop { + let (v213, ()) = (block7param0.clone(), ()); + let (v214, ()) = (block7param1.clone(), ()); + let (v215, ()) = (block7param2.clone(), ()); + let (v59, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (0u32, ()); + let (v64, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v63.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 199u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (72u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 200u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (72u32, ()); + let (v71, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 204u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 72u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 208u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 124u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 124u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + (::wars_rt::func::cast::<_, _, C>(v76.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v214; + block5param1 = v215; + block5param2 = v213; + cff = 5usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v97, ()) = (block5param0.clone(), ()); + let (v150, ()) = (block5param1.clone(), ()); + let (v191, ()) = (block5param2.clone(), ()); + let (v98, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 224u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v98 != 0 { + block9param0 = v97; + block9param1 = v98; + block9param2 = v150; + block9param3 = v191; + cff = 9usize; + } else { + block10param0 = v97; + block10param1 = v150; + block10param2 = v191; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v216, ()) = (block9param0.clone(), ()); + let (v217, ()) = (block9param1.clone(), ()); + let (v218, ()) = (block9param2.clone(), ()); + let (v219, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 128u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 128u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v216; + block8param1 = v218; + block8param2 = v219; + cff = 8usize; + break 'l9; + } + } + 1usize => { + 'l8: loop { + let (v220, ()) = (block10param0.clone(), ()); + let (v221, ()) = (block10param1.clone(), ()); + let (v222, ()) = (block10param2.clone(), ()); + let (v100, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v220.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v220; + block8param1 = v221; + block8param2 = v222; + cff = 8usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v108, ()) = (block8param0.clone(), ()); + let (v148, ()) = (block8param1.clone(), ()); + let (v189, ()) = (block8param2.clone(), ()); + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v108.clone() + 88u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = (0u32, ()); + let (v111, ()) = (1u32, ()); + let (v112, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v112 != 0 { + block12param0 = v108; + block12param1 = v148; + block12param2 = v189; + cff = 12usize; + } else { + block13param0 = v108; + block13param1 = v148; + block13param2 = v189; + cff = 13usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + 13usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v223, ()) = (block12param0.clone(), ()); + let (v224, ()) = (block12param1.clone(), ()); + let (v225, ()) = (block12param2.clone(), ()); + let (v117, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 88u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 228u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v223; + block11param1 = v224; + block11param2 = v225; + cff = 11usize; + break 'l12; + } + } + 1usize => { + 'l11: loop { + let (v226, ()) = (block13param0.clone(), ()); + let (v227, ()) = (block13param1.clone(), ()); + let (v228, ()) = (block13param2.clone(), ()); + let (v113, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v226.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v226; + block11param1 = v227; + block11param2 = v228; + cff = 11usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l10: loop { + let (v120, ()) = (block11param0.clone(), ()); + let (v146, ()) = (block11param1.clone(), ()); + let (v187, ()) = (block11param2.clone(), ()); + let (v121, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v120.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = (1u32, ()); + let (v123, ()) = (0u32, ()); + let (v124, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v124 != 0 { + block15param0 = v120; + block15param1 = v146; + block15param2 = v187; + cff = 15usize; + } else { + block16param0 = v120; + block16param1 = v146; + block16param2 = v187; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v229, ()) = (block15param0.clone(), ()); + let (v230, ()) = (block15param1.clone(), ()); + let (v231, ()) = (block15param2.clone(), ()); + let (v129, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v229.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v229; + block14param1 = v230; + block14param2 = v231; + cff = 14usize; + break 'l15; + } + } + 1usize => { + 'l14: loop { + let (v232, ()) = (block16param0.clone(), ()); + let (v233, ()) = (block16param1.clone(), ()); + let (v234, ()) = (block16param2.clone(), ()); + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 232u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v232; + block14param1 = v233; + block14param2 = v234; + cff = 14usize; + break 'l14; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l13: loop { + let (v132, ()) = (block14param0.clone(), ()); + let (v144, ()) = (block14param1.clone(), ()); + let (v185, ()) = (block14param2.clone(), ()); + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (1u32, ()); + let (v135, ()) = (0u32, ()); + let (v136, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v136 != 0 { + block17param0 = v132; + block17param1 = v185; + cff = 17usize; + } else { + block18param0 = v132; + block18param1 = v144; + block18param2 = v185; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v235, ()) = (block17param0.clone(), ()); + let (v236, ()) = (block17param1.clone(), ()); + let (v172, ()) = (0u32, ()); + let (v173, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 1048576u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v174, ()) = (0u32, ()); + let (v175, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v174.clone() + 1048580u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v235.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v235.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v235; + block2param1 = v236; + cff = 2usize; + break 'l17; + } + } + 1usize => { + 'l16: loop { + let (v237, ()) = (block18param0.clone(), ()); + let (v238, ()) = (block18param1.clone(), ()); + let (v239, ()) = (block18param2.clone(), ()); + let (v138, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 236u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 240u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 244u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 140u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 144u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v238.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v158, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 140u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 144u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 132u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v158.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 136u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 132u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 136u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 248u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 252u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 96u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v168, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 92u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 96u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v237; + block2param1 = v239; + cff = 2usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + } + } + 1usize => { + 'l3: loop { + let (v205, ()) = (block4param0.clone(), ()); + let (v206, ()) = (block4param1.clone(), ()); + let (v26, ()) = (32u32, ()); + let (v28, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 164u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 168u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 100u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 100u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 172u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 176u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 180u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 184u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 112u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 116u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 112u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 116u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 104u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 108u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 104u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 108u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 188u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 192u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 48u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v206; + block2param1 = v205; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v179, ()) = (block2param0.clone(), ()); + let (v182, ()) = (block2param1.clone(), ()); + let (v180, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 40u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v181, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (256u32, ()); + let (v202, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v202; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func1<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (32u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = (8u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func0( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (32u32, ()); + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v20; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func2<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (32u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (0u32, ()); + let (v12, ()) = (8u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func0( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (32u32, ()); + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v20; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func3<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v12 != 0 { + cff = 2usize; + } else { + block3param0 = v5; + block3param1 = v9; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v18, ()) = (1048624u32, ()); + let (v19, ()) = (28u32, ()); + let (v20, ()) = (1048604u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + (::wars_rt::func::cast::<_, _, C>(v20.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v22, ()) = (block3param0.clone(), ()); + let (v23, ()) = (block3param1.clone(), ()); + let (v13, ()) = (16u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v15; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v23, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func4<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func5( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (16u32, ()); + let (v11, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v11; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func5<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (96u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (0u32, ()); + let (v13, ()) = (8u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func7( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v12.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v20, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = (40u32, ()); + let (v24, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v26, ()) = (40u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v29, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v32, ()) = (0u32, ()); + let (v33, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v34, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v33.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v35, ()) = (40u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v39, ()) = (8u32, ()); + let (v40, ()) = (24u32, ()); + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (40u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v45.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v42.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v48, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 40u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v50, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v52, ()) = (8u32, ()); + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v54, ()) = (24u32, ()); + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v56.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v53.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v59, ()) = (96u32, ()); + let (v60, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v60; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func6<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block3param4: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v11 != 0 { + block3param0 = v1; + block3param1 = v3; + block3param2 = v6; + block3param3 = v2; + block3param4 = v0; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v6; + block4param3 = v0; + block4param4 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v84, ()) = (block4param0.clone(), ()); + let (v85, ()) = (block4param1.clone(), ()); + let (v86, ()) = (block4param2.clone(), ()); + let (v89, ()) = (block4param3.clone(), ()); + let (v103, ()) = (block4param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1u32, ()); + let (v17, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (2147483647u32, ()); + let (v19, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (0u32, ()); + let (v22, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (1u32, ()); + let (v24, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v24 != 0 { + cff = 7usize; + } else { + block8param0 = v89; + block8param1 = v86; + block8param2 = v84; + block8param3 = v85; + block8param4 = v103; + block8param5 = v19; + cff = 8usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + 8usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v33, ()) = (1048752u32, ()); + let (v34, ()) = (25u32, ()); + let (v35, ()) = (1048732u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + (::wars_rt::func::cast::<_, _, C>(v35.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l5: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v91, ()) = (block8param1.clone(), ()); + let (v96, ()) = (block8param2.clone(), ()); + let (v99, ()) = (block8param3.clone(), ()); + let (v102, ()) = (block8param4.clone(), ()); + let (v106, ()) = (block8param5.clone(), ()); + let (v27, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block5param0 = v88; + block5param1 = v91; + cff = 5usize; + } else { + block9param0 = v88; + block9param1 = v96; + block9param2 = v99; + block9param3 = v102; + block9param4 = v91; + cff = 9usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v87, ()) = (block5param0.clone(), ()); + let (v90, ()) = (block5param1.clone(), ()); + let (v37, ()) = (0u32, ()); + let (v38, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 1048780u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (0u32, ()); + let (v40, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v39.clone() + 1048784u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + block2param1 = v87; + cff = 2usize; + break 'l7; + } + } + 1usize => { + 'l6: loop { + let (v93, ()) = (block9param0.clone(), ()); + let (v95, ()) = (block9param1.clone(), ()); + let (v98, ()) = (block9param2.clone(), ()); + let (v101, ()) = (block9param3.clone(), ()); + let (v105, ()) = (block9param4.clone(), ()); + block6param0 = v93; + block6param1 = v95; + block6param2 = v98; + block6param3 = v101; + block6param4 = v105; + cff = 6usize; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v92, ()) = (block6param0.clone(), ()); + let (v94, ()) = (block6param1.clone(), ()); + let (v97, ()) = (block6param2.clone(), ()); + let (v100, ()) = (block6param3.clone(), ()); + let (v104, ()) = (block6param4.clone(), ()); + block3param0 = v94; + block3param1 = v100; + block3param2 = v104; + block3param3 = v97; + block3param4 = v92; + cff = 3usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v69, ()) = (block2param0.clone(), ()); + let (v72, ()) = (block2param1.clone(), ()); + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (48u32, ()); + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v82; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v45, ()) = (block3param0.clone(), ()); + let (v48, ()) = (block3param1.clone(), ()); + let (v52, ()) = (block3param2.clone(), ()); + let (v56, ()) = (block3param3.clone(), ()); + let (v76, ()) = (block3param4.clone(), ()); + let (v51, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v52; + block2param1 = v76; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func7<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (160u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (0u32, ()); + let (v8, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (0u32, ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v9.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (0u32, ()); + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v15.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 42u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 108u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (0u32, ()); + let (v22, ()) = (1u32, ()); + let (v23, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v23 != 0 { + block4param0 = v5; + block4param1 = v0; + cff = 4usize; + } else { + block5param0 = v1; + block5param1 = v5; + block5param2 = v0; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v187, ()) = (block5param0.clone(), ()); + let (v189, ()) = (block5param1.clone(), ()); + let (v191, ()) = (block5param2.clone(), ()); + if v187 != 0 { + block3param0 = v187; + block3param1 = v189; + block3param2 = v191; + cff = 3usize; + } else { + block6param0 = v191; + block6param1 = v189; + cff = 6usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 6usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v186, ()) = (block3param0.clone(), ()); + let (v188, ()) = (block3param1.clone(), ()); + let (v195, ()) = (block3param2.clone(), ()); + let (v40, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 116u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (1u32, ()); + let (v44, ()) = (16u32, ()); + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func6( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + (::wars_rt::func::cast::<_, _, C>(v186.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = (1u32, ()); + let (v54, ()) = (0u32, ()); + let (v55, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + cff = 10usize; + } else { + block11param0 = v195; + block11param1 = v186; + block11param2 = v188; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l7: loop { + let (v194, ()) = (block11param0.clone(), ()); + let (v197, ()) = (block11param1.clone(), ()); + let (v199, ()) = (block11param2.clone(), ()); + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 64u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 120u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 124u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (52u32, ()); + let (v64, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 128u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 132u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (2147483647u32, ()); + let (v69, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (1u32, ()); + let (v71, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block8param0 = v194; + block8param1 = v197; + block8param2 = v199; + cff = 8usize; + } else { + block12param0 = v194; + block12param1 = v197; + block12param2 = v199; + cff = 12usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v193, ()) = (block8param0.clone(), ()); + let (v196, ()) = (block8param1.clone(), ()); + let (v198, ()) = (block8param2.clone(), ()); + let (v81, ()) = (0u32, ()); + let (v82, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (0u32, ()); + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v198; + block7param1 = v196; + block7param2 = v193; + cff = 7usize; + break 'l10; + } + } + 1usize => { + 'l9: loop { + let (v201, ()) = (block12param0.clone(), ()); + let (v203, ()) = (block12param1.clone(), ()); + let (v205, ()) = (block12param2.clone(), ()); + block9param0 = v201; + block9param1 = v203; + block9param2 = v205; + cff = 9usize; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v200, ()) = (block9param0.clone(), ()); + let (v202, ()) = (block9param1.clone(), ()); + let (v204, ()) = (block9param2.clone(), ()); + let (v73, ()) = (0u32, ()); + let (v74, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v73.clone() + 1048796u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (0u32, ()); + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 1048800u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v204; + block7param1 = v202; + block7param2 = v200; + cff = 7usize; + break 'l13; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v88, ()) = (block7param0.clone(), ()); + let (v146, ()) = (block7param1.clone(), ()); + let (v173, ()) = (block7param2.clone(), ()); + let (v89, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 68u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (2147483649u32, ()); + let (v91, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (0u32, ()); + let (v93, ()) = (1u32, ()); + let (v94, ()) = (1u32, ()); + let (v95, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v96 != 0 { + cff = 16usize; + } else { + block17param0 = v88; + block17param1 = v146; + block17param2 = v173; + cff = 17usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 17usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l12: loop { + let (v208, ()) = (block17param0.clone(), ()); + let (v211, ()) = (block17param1.clone(), ()); + let (v214, ()) = (block17param2.clone(), ()); + let (v98, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v208.clone() + 42u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (1u32, ()); + let (v100, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v101 != 0 { + block15param0 = v208; + block15param1 = v211; + block15param2 = v214; + cff = 15usize; + } else { + block18param0 = v208; + block18param1 = v211; + block18param2 = v214; + cff = 18usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v215, ()) = (block15param0.clone(), ()); + let (v216, ()) = (block15param1.clone(), ()); + let (v217, ()) = (block15param2.clone(), ()); + let (v104, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (43u32, ()); + let (v107, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func2( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + (::wars_rt::func::cast::<_, _, C>(v105.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v215; + block13param1 = v216; + block13param2 = v217; + cff = 13usize; + break 'l15; + } + } + 1usize => { + 'l16: loop { + let (v207, ()) = (block18param0.clone(), ()); + let (v210, ()) = (block18param1.clone(), ()); + let (v213, ()) = (block18param2.clone(), ()); + block14param0 = v207; + block14param1 = v210; + block14param2 = v213; + cff = 14usize; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v206, ()) = (block14param0.clone(), ()); + let (v209, ()) = (block14param1.clone(), ()); + let (v212, ()) = (block14param2.clone(), ()); + let (v115, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = (8u32, ()); + let (v118, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = (43u32, ()); + let (v120, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func1( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + (::wars_rt::func::cast::<_, _, C>(v116.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v206; + block13param1 = v209; + block13param2 = v212; + cff = 13usize; + break 'l19; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v126, ()) = (block13param0.clone(), ()); + let (v143, ()) = (block13param1.clone(), ()); + let (v170, ()) = (block13param2.clone(), ()); + let (v127, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = (1u32, ()); + let (v129, ()) = (0u32, ()); + let (v130, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v130 != 0 { + block19param0 = v126; + cff = 19usize; + } else { + block20param0 = v126; + block20param1 = v143; + block20param2 = v170; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v218, ()) = (block19param0.clone(), ()); + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v218.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v160, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v218.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + (::wars_rt::func::cast::<_, _, C>(v160.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + }; + } + 1usize => { + 'l17: loop { + let (v219, ()) = (block20param0.clone(), ()); + let (v220, ()) = (block20param1.clone(), ()); + let (v221, ()) = (block20param2.clone(), ()); + let (v132, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 136u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 140u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 144u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 148u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 104u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 104u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 92u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v219; + block2param1 = v221; + cff = 2usize; + break 'l17; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v190, ()) = (block6param0.clone(), ()); + let (v192, ()) = (block6param1.clone(), ()); + block4param0 = v192; + block4param1 = v190; + cff = 4usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v162, ()) = (block2param0.clone(), ()); + let (v165, ()) = (block2param1.clone(), ()); + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v162.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v162.clone() + 48u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v165.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v165.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v183, ()) = (160u32, ()); + let (v184, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v183.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v184; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v26, ()) = (block4param0.clone(), ()); + let (v166, ()) = (block4param1.clone(), ()); + let (v25, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 152u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 156u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 100u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 100u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 96u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 96u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v26; + block2param1 = v166; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func8<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::_rexport::tramp::tramp( + func35( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v3, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func9<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func36( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func10<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = match ::wars_rt::_rexport::tramp::tramp( + func37( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v4.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v5, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func11<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::_rexport::tramp::tramp( + func38( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v3, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func12<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func46( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + (::wars_rt::func::cast::<_, _, C>(v1.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func13<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (18283513330535624548u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (13952935171328998337u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func14<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (6926430033507184546u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (12394070061986338271u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func15<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (10287760977718510952u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2010871330890654687u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func16<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block2param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (32u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + block4param2 = v5; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v76, ()) = (block4param0.clone(), ()); + let (v77, ()) = (block4param1.clone(), ()); + let (v80, ()) = (block4param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (8u32, ()); + let (v17, ()) = (8u32, ()); + let (v18, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (4294967295u32, ()); + let (v21, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (31u32, ()); + let (v23, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v10 != 0 { + block6param0 = v76; + block6param1 = v80; + block6param2 = v10; + block6param3 = v19; + block6param4 = v23; + cff = 6usize; + } else { + block7param0 = v76; + block7param1 = v80; + block7param2 = v19; + block7param3 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v78, ()) = (block6param0.clone(), ()); + let (v79, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v82, ()) = (block6param3.clone(), ()); + let (v83, ()) = (block6param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v79; + block5param1 = v83; + block5param2 = v82; + block5param3 = v78; + cff = 5usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v84, ()) = (block7param0.clone(), ()); + let (v85, ()) = (block7param1.clone(), ()); + let (v86, ()) = (block7param2.clone(), ()); + let (v87, ()) = (block7param3.clone(), ()); + let (v26, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v85.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v85; + block5param1 = v87; + block5param2 = v86; + block5param3 = v84; + cff = 5usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v39, ()) = (block5param1.clone(), ()); + let (v42, ()) = (block5param2.clone(), ()); + let (v51, ()) = (block5param3.clone(), ()); + let (v37, ()) = (8u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (20u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func25( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + (::wars_rt::func::cast::<_, _, C>(v46.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v49 != 0 { + block8param0 = v36; + block8param1 = v48; + cff = 8usize; + } else { + block9param0 = v36; + block9param1 = v42; + block9param2 = v48; + block9param3 = v51; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v89, ()) = (block8param1.clone(), ()); + let (v58, ()) = (2147483649u32, ()); + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block2param0 = v88; + cff = 2usize; + break 'l8; + } else { + block10param0 = v89; + block10param1 = v88; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v94, ()) = (block10param0.clone(), ()); + let (v96, ()) = (block10param1.clone(), ()); + let (v61, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + cff = 3usize; + break 'l9; + } else { + block11param0 = v96; + block11param1 = v94; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v95, ()) = (block11param0.clone(), ()); + let (v97, ()) = (block11param1.clone(), ()); + let (v66, ()) = (16u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + (::wars_rt::func::cast::<_, _, C>(v68.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v90, ()) = (block9param0.clone(), ()); + let (v91, ()) = (block9param1.clone(), ()); + let (v92, ()) = (block9param2.clone(), ()); + let (v93, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + cff = 2usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v71, ()) = (block2param0.clone(), ()); + let (v73, ()) = (32u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v74; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func17<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (1048804u32, ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func18<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func19<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func20<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v2, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v2 != 0 { + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v8, ()) = (block3param0.clone(), ()); + let (v9, ()) = (block3param1.clone(), ()); + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v8.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v6, ()) = (1u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func9( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + (::wars_rt::func::cast::<_, _, C>(v6.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func21<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v2, ()) = (2147483648u32, ()); + let (v3, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2147483648u32, ()); + let (v5, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v11, ()) = (block3param0.clone(), ()); + let (v12, ()) = (block3param1.clone(), ()); + let (v7, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v11.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v9, ()) = (1u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func9( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + (::wars_rt::func::cast::<_, _, C>(v9.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func22<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (128u32, ()); + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block5param0 = v1; + block5param1 = v2; + block5param2 = v5; + cff = 5usize; + } else { + block6param0 = v1; + block6param1 = v2; + block6param2 = v5; + cff = 6usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 6usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v143, ()) = (block5param0.clone(), ()); + let (v144, ()) = (block5param1.clone(), ()); + let (v145, ()) = (block5param2.clone(), ()); + let (v69, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block10param0 = v143; + block10param1 = v69; + block10param2 = v144; + block10param3 = v145; + cff = 10usize; + } else { + block11param0 = v143; + block11param1 = v144; + block11param2 = v145; + block11param3 = v69; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v155, ()) = (block11param0.clone(), ()); + let (v156, ()) = (block11param1.clone(), ()); + let (v157, ()) = (block11param2.clone(), ()); + let (v158, ()) = (block11param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func23( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + (::wars_rt::func::cast::<_, _, C>(v158.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v155.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v155; + block10param1 = v75; + block10param2 = v156; + block10param3 = v157; + cff = 10usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v76, ()) = (block10param0.clone(), ()); + let (v77, ()) = (block10param1.clone(), ()); + let (v83, ()) = (block10param2.clone(), ()); + let (v130, ()) = (block10param3.clone(), ()); + let (v78, ()) = (1u32, ()); + let (v79, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v130; + cff = 2usize; + break 'l4; + } + } + } + 1usize => { + 'l2: loop { + let (v138, ()) = (block6param0.clone(), ()); + let (v140, ()) = (block6param1.clone(), ()); + let (v142, ()) = (block6param2.clone(), ()); + let (v10, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v142.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = (2048u32, ()); + let (v14, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + block4param0 = v138; + block4param1 = v140; + block4param2 = v142; + cff = 4usize; + } else { + block7param0 = v140; + block7param1 = v138; + block7param2 = v142; + cff = 7usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v137, ()) = (block4param0.clone(), ()); + let (v139, ()) = (block4param1.clone(), ()); + let (v141, ()) = (block4param2.clone(), ()); + let (v89, ()) = (63u32, ()); + let (v90, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v91, ()) = (128u32, ()); + let (v92, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = (6u32, ()); + let (v95, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = (192u32, ()); + let (v97, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (2u32, ()); + block3param0 = v137; + block3param1 = v99; + block3param2 = v141; + cff = 3usize; + break 'l8; + } + } + 1usize => { + 'l7: loop { + let (v146, ()) = (block7param0.clone(), ()); + let (v148, ()) = (block7param1.clone(), ()); + let (v151, ()) = (block7param2.clone(), ()); + let (v16, ()) = (65536u32, ()); + let (v17, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v17 != 0 { + block8param0 = v148; + block8param1 = v146; + block8param2 = v151; + cff = 8usize; + } else { + block9param0 = v148; + block9param1 = v146; + block9param2 = v151; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v147, ()) = (block8param0.clone(), ()); + let (v149, ()) = (block8param1.clone(), ()); + let (v150, ()) = (block8param2.clone(), ()); + let (v41, ()) = (63u32, ()); + let (v42, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (128u32, ()); + let (v44, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 15u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (6u32, ()); + let (v47, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (63u32, ()); + let (v49, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = (128u32, ()); + let (v51, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 14u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = (12u32, ()); + let (v54, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = (63u32, ()); + let (v56, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (128u32, ()); + let (v58, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = (18u32, ()); + let (v61, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v62, ()) = (7u32, ()); + let (v63, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (240u32, ()); + let (v65, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (4u32, ()); + block3param0 = v147; + block3param1 = v67; + block3param2 = v150; + cff = 3usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v152, ()) = (block9param0.clone(), ()); + let (v153, ()) = (block9param1.clone(), ()); + let (v154, ()) = (block9param2.clone(), ()); + let (v21, ()) = (63u32, ()); + let (v22, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (128u32, ()); + let (v24, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 14u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (12u32, ()); + let (v27, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (224u32, ()); + let (v29, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (6u32, ()); + let (v32, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = (63u32, ()); + let (v34, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = (128u32, ()); + let (v36, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (3u32, ()); + block3param0 = v152; + block3param1 = v38; + block3param2 = v154; + cff = 3usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v100, ()) = (block3param0.clone(), ()); + let (v109, ()) = (block3param1.clone(), ()); + let (v121, ()) = (block3param2.clone(), ()); + let (v106, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v100.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v100.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v110 != 0 { + block12param0 = v100; + block12param1 = v107; + block12param2 = v121; + block12param3 = v109; + cff = 12usize; + } else { + block13param0 = v100; + block13param1 = v107; + block13param2 = v109; + block13param3 = v121; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v159, ()) = (block13param0.clone(), ()); + let (v160, ()) = (block13param1.clone(), ()); + let (v161, ()) = (block13param2.clone(), ()); + let (v162, ()) = (block13param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func16( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + (::wars_rt::func::cast::<_, _, C>(v161.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v159.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v159; + block12param1 = v115; + block12param2 = v162; + block12param3 = v161; + cff = 12usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l10: loop { + let (v116, ()) = (block12param0.clone(), ()); + let (v118, ()) = (block12param1.clone(), ()); + let (v120, ()) = (block12param2.clone(), ()); + let (v125, ()) = (block12param3.clone(), ()); + let (v117, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v116.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = (12u32, ()); + let (v124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + (::wars_rt::func::cast::<_, _, C>(v125.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v127, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ::wars_rt::func::cast::<_, _, C>(v125.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v116.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v120; + cff = 2usize; + break 'l10; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v129, ()) = (block2param0.clone(), ()); + let (v133, ()) = (16u32, ()); + let (v134, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v134; + () + }; + let (v136, ()) = (0u32, ()); + block1param0 = v136; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func23<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (1u32, ()); + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + block4param2 = v4; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v76, ()) = (block4param0.clone(), ()); + let (v77, ()) = (block4param1.clone(), ()); + let (v80, ()) = (block4param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (8u32, ()); + let (v17, ()) = (8u32, ()); + let (v18, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (4294967295u32, ()); + let (v21, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (31u32, ()); + let (v23, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v10 != 0 { + block6param0 = v76; + block6param1 = v80; + block6param2 = v10; + block6param3 = v19; + block6param4 = v23; + cff = 6usize; + } else { + block7param0 = v76; + block7param1 = v80; + block7param2 = v19; + block7param3 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v78, ()) = (block6param0.clone(), ()); + let (v79, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v82, ()) = (block6param3.clone(), ()); + let (v83, ()) = (block6param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v79; + block5param1 = v83; + block5param2 = v82; + block5param3 = v78; + cff = 5usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v84, ()) = (block7param0.clone(), ()); + let (v85, ()) = (block7param1.clone(), ()); + let (v86, ()) = (block7param2.clone(), ()); + let (v87, ()) = (block7param3.clone(), ()); + let (v26, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v85.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v85; + block5param1 = v87; + block5param2 = v86; + block5param3 = v84; + cff = 5usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v39, ()) = (block5param1.clone(), ()); + let (v42, ()) = (block5param2.clone(), ()); + let (v51, ()) = (block5param3.clone(), ()); + let (v37, ()) = (8u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (20u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func25( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + (::wars_rt::func::cast::<_, _, C>(v46.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v49 != 0 { + block8param0 = v36; + block8param1 = v48; + cff = 8usize; + } else { + block9param0 = v36; + block9param1 = v42; + block9param2 = v48; + block9param3 = v51; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v89, ()) = (block8param1.clone(), ()); + let (v58, ()) = (2147483649u32, ()); + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block2param0 = v88; + cff = 2usize; + break 'l8; + } else { + block10param0 = v89; + block10param1 = v88; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v94, ()) = (block10param0.clone(), ()); + let (v96, ()) = (block10param1.clone(), ()); + let (v61, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + cff = 3usize; + break 'l9; + } else { + block11param0 = v96; + block11param1 = v94; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v95, ()) = (block11param0.clone(), ()); + let (v97, ()) = (block11param1.clone(), ()); + let (v66, ()) = (16u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + (::wars_rt::func::cast::<_, _, C>(v68.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v90, ()) = (block9param0.clone(), ()); + let (v91, ()) = (block9param1.clone(), ()); + let (v92, ()) = (block9param2.clone(), ()); + let (v93, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + cff = 2usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v71, ()) = (block2param0.clone(), ()); + let (v73, ()) = (32u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v74; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func24<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block2param0 = v1; + block2param1 = v5; + block2param2 = v2; + block2param3 = v3; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + block3param3 = v5; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v24, ()) = (block3param0.clone(), ()); + let (v25, ()) = (block3param1.clone(), ()); + let (v26, ()) = (block3param2.clone(), ()); + let (v27, ()) = (block3param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func16( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + (::wars_rt::func::cast::<_, _, C>(v26.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v24; + block2param1 = v12; + block2param2 = v25; + block2param3 = v26; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v13, ()) = (block2param0.clone(), ()); + let (v15, ()) = (block2param1.clone(), ()); + let (v17, ()) = (block2param2.clone(), ()); + let (v19, ()) = (block2param3.clone(), ()); + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v20, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + (::wars_rt::func::cast::<_, _, C>(v19.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = (0u32, ()); + block1param0 = v23; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func25<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block4param0 = v0; + block4param1 = v2; + cff = 4usize; + } else { + block5param0 = v0; + block5param1 = v2; + block5param2 = v3; + block5param3 = v1; + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v93, ()) = (block4param0.clone(), ()); + let (v94, ()) = (block4param1.clone(), ()); + let (v79, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (8u32, ()); + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v93; + cff = 2usize; + break 'l2; + } + } + 1usize => { + 'l3: loop { + let (v92, ()) = (block5param0.clone(), ()); + let (v95, ()) = (block5param1.clone(), ()); + let (v97, ()) = (block5param2.clone(), ()); + let (v107, ()) = (block5param3.clone(), ()); + let (v6, ()) = (4294967295u32, ()); + let (v7, ()) = match ::wars_rt::i32les( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v7 != 0 { + block3param0 = v92; + cff = 3usize; + } else { + block6param0 = v97; + block6param1 = v95; + block6param2 = v92; + block6param3 = v107; + cff = 6usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 6usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v91, ()) = (block3param0.clone(), ()); + let (v86, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v91; + cff = 2usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v96, ()) = (block6param0.clone(), ()); + let (v99, ()) = (block6param1.clone(), ()); + let (v103, ()) = (block6param2.clone(), ()); + let (v106, ()) = (block6param3.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v96.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v11 != 0 { + block9param0 = v99; + block9param1 = v103; + block9param2 = v106; + cff = 9usize; + } else { + block10param0 = v96; + block10param1 = v103; + block10param2 = v106; + block10param3 = v99; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v98, ()) = (block9param0.clone(), ()); + let (v122, ()) = (block9param1.clone(), ()); + let (v124, ()) = (block9param2.clone(), ()); + if v98 != 0 { + block15param0 = v122; + block15param1 = v124; + block15param2 = v98; + cff = 15usize; + } else { + block16param0 = v122; + block16param1 = v124; + block16param2 = v98; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v121, ()) = (block15param0.clone(), ()); + let (v123, ()) = (block15param1.clone(), ()); + let (v125, ()) = (block15param2.clone(), ()); + let (v35, ()) = (0u32, ()); + let (v36, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v35.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v125; + block8param1 = v123; + block8param2 = v121; + cff = 8usize; + break 'l14; + } + } + 1usize => { + 'l13: loop { + let (v126, ()) = (block16param0.clone(), ()); + let (v127, ()) = (block16param1.clone(), ()); + let (v128, ()) = (block16param2.clone(), ()); + block7param0 = v127; + block7param1 = v126; + block7param2 = v128; + block7param3 = v127; + cff = 7usize; + break 'l13; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v100, ()) = (block10param0.clone(), ()); + let (v102, ()) = (block10param1.clone(), ()); + let (v105, ()) = (block10param2.clone(), ()); + let (v109, ()) = (block10param3.clone(), ()); + let (v13, ()) = (8u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v14.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v15 != 0 { + block11param0 = v102; + block11param1 = v105; + block11param2 = v109; + block11param3 = v100; + block11param4 = v15; + cff = 11usize; + } else { + block12param0 = v109; + block12param1 = v102; + block12param2 = v105; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v101, ()) = (block11param0.clone(), ()); + let (v104, ()) = (block11param1.clone(), ()); + let (v108, ()) = (block11param2.clone(), ()); + let (v110, ()) = (block11param3.clone(), ()); + let (v111, ()) = (block11param4.clone(), ()); + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v110.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = match ::wars_rt::_rexport::tramp::tramp( + func10( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + (::wars_rt::func::cast::<_, _, C>(v108.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v31; + block7param1 = v101; + block7param2 = v108; + block7param3 = v104; + cff = 7usize; + break 'l16; + } + } + 1usize => { + 'l15: loop { + let (v112, ()) = (block12param0.clone(), ()); + let (v114, ()) = (block12param1.clone(), ()); + let (v116, ()) = (block12param2.clone(), ()); + if v112 != 0 { + block13param0 = v114; + block13param1 = v116; + block13param2 = v112; + cff = 13usize; + } else { + block14param0 = v114; + block14param1 = v116; + block14param2 = v112; + cff = 14usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v113, ()) = (block13param0.clone(), ()); + let (v115, ()) = (block13param1.clone(), ()); + let (v117, ()) = (block13param2.clone(), ()); + let (v24, ()) = (0u32, ()); + let (v25, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v117; + block8param1 = v115; + block8param2 = v113; + cff = 8usize; + break 'l18; + } + } + 1usize => { + 'l17: loop { + let (v118, ()) = (block14param0.clone(), ()); + let (v119, ()) = (block14param1.clone(), ()); + let (v120, ()) = (block14param2.clone(), ()); + block7param0 = v119; + block7param1 = v118; + block7param2 = v120; + block7param3 = v119; + cff = 7usize; + break 'l17; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 7usize => 0usize, + 8usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v44, ()) = (block7param0.clone(), ()); + let (v47, ()) = (block7param1.clone(), ()); + let (v64, ()) = (block7param2.clone(), ()); + let (v72, ()) = (block7param3.clone(), ()); + let (v45, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v45 != 0 { + block17param0 = v47; + block17param1 = v64; + block17param2 = v72; + cff = 17usize; + } else { + block18param0 = v44; + block18param1 = v47; + block18param2 = v64; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v129, ()) = (block17param0.clone(), ()); + let (v130, ()) = (block17param1.clone(), ()); + let (v131, ()) = (block17param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v129.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v131.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = (8u32, ()); + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v129; + cff = 2usize; + break 'l12; + } + } + 1usize => { + 'l11: loop { + let (v132, ()) = (block18param0.clone(), ()); + let (v133, ()) = (block18param1.clone(), ()); + let (v134, ()) = (block18param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v133.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (8u32, ()); + let (v62, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v62.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v133.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v37, ()) = (block8param0.clone(), ()); + let (v40, ()) = (block8param1.clone(), ()); + let (v56, ()) = (block8param2.clone(), ()); + let (v43, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + (::wars_rt::func::cast::<_, _, C>(v40.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v43; + block7param1 = v56; + block7param2 = v37; + block7param3 = v40; + cff = 7usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v88, ()) = (block2param0.clone(), ()); + let (v89, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func26<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block23param0: u32; + let mut block23param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = (256u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block4param0 = v0; + block4param1 = v2; + block4param2 = v1; + cff = 4usize; + } else { + block5param0 = v0; + block5param1 = v2; + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v145, ()) = (block4param0.clone(), ()); + let (v146, ()) = (block4param1.clone(), ()); + let (v186, ()) = (block4param2.clone(), ()); + let (v101, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v145.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v102 != 0 { + block19param0 = v186; + cff = 19usize; + } else { + block20param0 = v146; + block20param1 = v101; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v185, ()) = (block19param0.clone(), ()); + let (v107, ()) = (0u32, ()); + let (v108, ()) = (0u32, ()); + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v108.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = (4294967294u32, ()); + let (v113, ()) = (3u32, ()); + let (v114, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v185.clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v107.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l3: loop { + let (v187, ()) = (block20param0.clone(), ()); + let (v188, ()) = (block20param1.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v187.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v147, ()) = (block5param0.clone(), ()); + let (v148, ()) = (block5param1.clone(), ()); + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v147.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v8 != 0 { + block8param0 = v147; + block8param1 = v148; + block8param2 = v6; + cff = 8usize; + } else { + block9param0 = v147; + block9param1 = v6; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v154, ()) = (block8param0.clone(), ()); + let (v155, ()) = (block8param1.clone(), ()); + let (v156, ()) = (block8param2.clone(), ()); + let (v20, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v20.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v155.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block6param0 = v156; + block6param1 = v154; + block6param2 = v155; + cff = 6usize; + break 'l7; + } + } + 1usize => { + 'l6: loop { + let (v150, ()) = (block9param0.clone(), ()); + let (v159, ()) = (block9param1.clone(), ()); + let (v10, ()) = (20u32, ()); + let (v11, ()) = (16u32, ()); + let (v12, ()) = (20u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v13.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v17 != 0 { + block7param0 = v150; + block7param1 = v13; + block7param2 = v14; + block7param3 = v17; + block7param4 = v159; + cff = 7usize; + } else { + block10param0 = v150; + block10param1 = v159; + cff = 10usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v149, ()) = (block7param0.clone(), ()); + let (v151, ()) = (block7param1.clone(), ()); + let (v152, ()) = (block7param2.clone(), ()); + let (v153, ()) = (block7param3.clone(), ()); + let (v166, ()) = (block7param4.clone(), ()); + let (v26, ()) = (16u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v29; + block11param1 = v153; + block11param2 = v149; + block11param3 = v166; + cff = 11usize; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v30, ()) = (block11param0.clone(), ()); + let (v31, ()) = (block11param1.clone(), ()); + let (v162, ()) = (block11param2.clone(), ()); + let (v165, ()) = (block11param3.clone(), ()); + let (v32, ()) = (20u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = (16u32, ()); + let (v35, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (20u32, ()); + let (v39, ()) = (16u32, ()); + let (v40, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v41.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v42 != 0 { + block11param0 = v37; + block11param1 = v42; + block11param2 = v162; + block11param3 = v165; + cff = 11usize; + continue 'l12; + } else { + block13param0 = v162; + block13param1 = v165; + block13param2 = v30; + block13param3 = v31; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v161, ()) = (block13param0.clone(), ()); + let (v164, ()) = (block13param1.clone(), ()); + let (v168, ()) = (block13param2.clone(), ()); + let (v170, ()) = (block13param3.clone(), ()); + block12param0 = v161; + block12param1 = v164; + block12param2 = v168; + block12param3 = v170; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v160, ()) = (block12param0.clone(), ()); + let (v163, ()) = (block12param1.clone(), ()); + let (v167, ()) = (block12param2.clone(), ()); + let (v169, ()) = (block12param3.clone(), ()); + let (v46, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block6param0 = v163; + block6param1 = v160; + block6param2 = v169; + cff = 6usize; + break 'l23; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v157, ()) = (block10param0.clone(), ()); + let (v158, ()) = (block10param1.clone(), ()); + let (v18, ()) = (0u32, ()); + block6param0 = v158; + block6param1 = v157; + block6param2 = v18; + cff = 6usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v48, ()) = (block6param0.clone(), ()); + let (v58, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v56, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + cff = 2usize; + } else { + block14param0 = v58; + block14param1 = v48; + block14param2 = v81; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v171, ()) = (block14param0.clone(), ()); + let (v173, ()) = (block14param1.clone(), ()); + let (v177, ()) = (block14param2.clone(), ()); + let (v63, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v171.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (2u32, ()); + let (v65, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (1049412u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block15param0 = v173; + block15param1 = v171; + block15param2 = v67; + block15param3 = v177; + cff = 15usize; + } else { + block16param0 = v173; + block16param1 = v171; + block16param2 = v177; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v172, ()) = (block15param0.clone(), ()); + let (v174, ()) = (block15param1.clone(), ()); + let (v175, ()) = (block15param2.clone(), ()); + let (v176, ()) = (block15param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v176.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v176 != 0 { + block3param0 = v176; + block3param1 = v172; + block3param2 = v174; + cff = 3usize; + break 'l15; + } else { + block18param0 = v174; + cff = 18usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v184, ()) = (block18param0.clone(), ()); + let (v89, ()) = (0u32, ()); + let (v90, ()) = (0u32, ()); + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (4294967294u32, ()); + let (v95, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v89.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l14: loop { + let (v178, ()) = (block16param0.clone(), ()); + let (v179, ()) = (block16param1.clone(), ()); + let (v180, ()) = (block16param2.clone(), ()); + let (v72, ()) = (16u32, ()); + let (v73, ()) = (20u32, ()); + let (v74, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v178.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v178.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v85 != 0 { + cff = 2usize; + break 'l14; + } else { + block17param0 = v178; + block17param1 = v179; + block17param2 = v180; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v181, ()) = (block17param0.clone(), ()); + let (v182, ()) = (block17param1.clone(), ()); + let (v183, ()) = (block17param2.clone(), ()); + block3param0 = v183; + block3param1 = v181; + block3param2 = v182; + cff = 3usize; + break 'l20; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l13: loop { + let (v118, ()) = (block3param0.clone(), ()); + let (v120, ()) = (block3param1.clone(), ()); + let (v124, ()) = (block3param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v127, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v127 != 0 { + block21param0 = v124; + block21param1 = v118; + cff = 21usize; + } else { + block22param0 = v118; + block22param1 = v124; + block22param2 = v126; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v189, ()) = (block22param0.clone(), ()); + let (v190, ()) = (block22param1.clone(), ()); + let (v191, ()) = (block22param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v189.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v191.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v189.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block21param0 = v190; + block21param1 = v189; + cff = 21usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v132, ()) = (block21param0.clone(), ()); + let (v139, ()) = (block21param1.clone(), ()); + let (v134, ()) = (20u32, ()); + let (v135, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v135.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v137, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v137 != 0 { + cff = 2usize; + break 'l17; + } else { + block23param0 = v136; + block23param1 = v139; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v192, ()) = (block23param0.clone(), ()); + let (v193, ()) = (block23param1.clone(), ()); + let (v140, ()) = (20u32, ()); + let (v141, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v192.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func27<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (1u32, ()); + let (v5, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v2; + block3param1 = v0; + block3param2 = v1; + cff = 3usize; + } else { + block4param0 = v3; + block4param1 = v0; + block4param2 = v1; + block4param3 = v2; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v171, ()) = (block4param0.clone(), ()); + let (v173, ()) = (block4param1.clone(), ()); + let (v175, ()) = (block4param2.clone(), ()); + let (v178, ()) = (block4param3.clone(), ()); + let (v7, ()) = (3u32, ()); + let (v8, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v9, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v9 != 0 { + cff = 2usize; + break 'l3; + } else { + block5param0 = v173; + block5param1 = v175; + block5param2 = v178; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v172, ()) = (block5param0.clone(), ()); + let (v174, ()) = (block5param1.clone(), ()); + let (v177, ()) = (block5param2.clone(), ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v19 != 0 { + block6param0 = v177; + block6param1 = v12; + block6param2 = v15; + block6param3 = v16; + cff = 6usize; + } else { + block7param0 = v177; + block7param1 = v15; + block7param2 = v16; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v176, ()) = (block6param0.clone(), ()); + let (v179, ()) = (block6param1.clone(), ()); + let (v180, ()) = (block6param2.clone(), ()); + let (v181, ()) = (block6param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + (::wars_rt::func::cast::<_, _, C>(v179.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v176; + block3param1 = v181; + block3param2 = v180; + cff = 3usize; + break 'l14; + } + } + 1usize => { + 'l13: loop { + let (v182, ()) = (block7param0.clone(), ()); + let (v183, ()) = (block7param1.clone(), ()); + let (v184, ()) = (block7param2.clone(), ()); + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (3u32, ()); + let (v25, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (3u32, ()); + let (v27, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v27 != 0 { + block3param0 = v182; + block3param1 = v184; + block3param2 = v183; + cff = 3usize; + break 'l13; + } else { + block8param0 = v182; + block8param1 = v183; + block8param2 = v184; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v185, ()) = (block8param0.clone(), ()); + let (v186, ()) = (block8param1.clone(), ()); + let (v187, ()) = (block8param2.clone(), ()); + let (v28, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v28.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = (4294967294u32, ()); + let (v35, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (1u32, ()); + let (v40, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v187.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v46, ()) = (block3param0.clone(), ()); + let (v69, ()) = (block3param1.clone(), ()); + let (v73, ()) = (block3param2.clone(), ()); + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v46.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (2u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v50 != 0 { + block12param0 = v46; + block12param1 = v48; + block12param2 = v69; + block12param3 = v73; + cff = 12usize; + } else { + block13param0 = v69; + block13param1 = v73; + block13param2 = v46; + block13param3 = v48; + cff = 13usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + 13usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v196, ()) = (block12param0.clone(), ()); + let (v197, ()) = (block12param1.clone(), ()); + let (v198, ()) = (block12param2.clone(), ()); + let (v199, ()) = (block12param3.clone(), ()); + let (v89, ()) = (4294967294u32, ()); + let (v90, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v196.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = (1u32, ()); + let (v95, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v198.clone()), + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v199; + block11param1 = v198; + cff = 11usize; + break 'l5; + } + } + 1usize => { + 'l6: loop { + let (v190, ()) = (block13param0.clone(), ()); + let (v193, ()) = (block13param1.clone(), ()); + let (v200, ()) = (block13param2.clone(), ()); + let (v205, ()) = (block13param3.clone(), ()); + let (v52, ()) = (0u32, ()); + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v54 != 0 { + block10param0 = v190; + block10param1 = v193; + cff = 10usize; + } else { + block14param0 = v190; + block14param1 = v193; + block14param2 = v200; + block14param3 = v205; + cff = 14usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v194, ()) = (block10param0.clone(), ()); + let (v195, ()) = (block10param1.clone(), ()); + let (v136, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v136.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v139, ()) = (0u32, ()); + let (v140, ()) = (0u32, ()); + let (v141, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v143, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v139.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = (1u32, ()); + let (v146, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v194.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = (0u32, ()); + let (v149, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v150 != 0 { + cff = 2usize; + break 'l11; + } else { + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v151, ()) = (0u32, ()); + let (v152, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = (0u32, ()); + let (v155, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l12: loop { + let (v189, ()) = (block14param0.clone(), ()); + let (v192, ()) = (block14param1.clone(), ()); + let (v201, ()) = (block14param2.clone(), ()); + let (v204, ()) = (block14param3.clone(), ()); + let (v56, ()) = (0u32, ()); + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v56.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v58 != 0 { + block9param0 = v189; + block9param1 = v192; + cff = 9usize; + } else { + block15param0 = v201; + block15param1 = v204; + block15param2 = v189; + block15param3 = v192; + cff = 15usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v188, ()) = (block9param0.clone(), ()); + let (v191, ()) = (block9param1.clone(), ()); + let (v157, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v157.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v160, ()) = (0u32, ()); + let (v161, ()) = (0u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v161.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v160.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = (1u32, ()); + let (v167, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v169.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l19: loop { + let (v202, ()) = (block15param0.clone(), ()); + let (v203, ()) = (block15param1.clone(), ()); + let (v206, ()) = (block15param2.clone(), ()); + let (v207, ()) = (block15param3.clone(), ()); + let (v63, ()) = (4294967288u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v203.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v202.clone()), + (::wars_rt::func::cast::<_, _, C>(v64.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (1u32, ()); + let (v77, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (0u32, ()); + let (v82, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v83 != 0 { + block11param0 = v75; + block11param1 = v206; + cff = 11usize; + break 'l19; + } else { + block16param0 = v75; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v208, ()) = (block16param0.clone(), ()); + let (v84, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v208.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v99, ()) = (block11param0.clone(), ()); + let (v103, ()) = (block11param1.clone(), ()); + let (v100, ()) = (256u32, ()); + let (v101, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v101 != 0 { + block17param0 = v99; + block17param1 = v103; + cff = 17usize; + } else { + block18param0 = v99; + block18param1 = v103; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v209, ()) = (block17param0.clone(), ()); + let (v213, ()) = (block17param1.clone(), ()); + let (v107, ()) = (4294967288u32, ()); + let (v108, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1049556u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = (1u32, ()); + let (v114, ()) = (3u32, ()); + let (v115, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v112.clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v117 != 0 { + block20param0 = v213; + block20param1 = v110; + cff = 20usize; + } else { + block21param0 = v213; + block21param1 = v110; + block21param2 = v112; + block21param3 = v116; + cff = 21usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + 21usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v212, ()) = (block20param0.clone(), ()); + let (v214, ()) = (block20param1.clone(), ()); + let (v125, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block19param0 = v214; + block19param1 = v212; + block19param2 = v125; + cff = 19usize; + break 'l18; + } + } + 1usize => { + 'l17: loop { + let (v215, ()) = (block21param0.clone(), ()); + let (v216, ()) = (block21param1.clone(), ()); + let (v217, ()) = (block21param2.clone(), ()); + let (v218, ()) = (block21param3.clone(), ()); + let (v118, ()) = (0u32, ()); + let (v121, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v218.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block19param0 = v216; + block19param1 = v215; + block19param2 = v216; + cff = 19usize; + break 'l17; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l16: loop { + let (v126, ()) = (block19param0.clone(), ()); + let (v127, ()) = (block19param1.clone(), ()); + let (v132, ()) = (block19param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l9: loop { + let (v210, ()) = (block18param0.clone(), ()); + let (v211, ()) = (block18param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + (::wars_rt::func::cast::<_, _, C>(v210.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func28<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = (256u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block2param0 = v0; + block2param1 = v2; + block2param2 = v1; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v117, ()) = (block3param0.clone(), ()); + let (v118, ()) = (block3param1.clone(), ()); + let (v5, ()) = (31u32, ()); + let (v7, ()) = (16777215u32, ()); + let (v8, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v8 != 0 { + block2param0 = v117; + block2param1 = v5; + block2param2 = v118; + cff = 2usize; + break 'l2; + } else { + block4param0 = v117; + block4param1 = v118; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v119, ()) = (block4param0.clone(), ()); + let (v120, ()) = (block4param1.clone(), ()); + let (v10, ()) = (6u32, ()); + let (v11, ()) = (8u32, ()); + let (v12, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32clz( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let (v19, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (62u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v119; + block2param1 = v22; + block2param2 = v120; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v23, ()) = (block2param0.clone(), ()); + let (v28, ()) = (block2param1.clone(), ()); + let (v54, ()) = (block2param2.clone(), ()); + let (v26, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v23.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v23.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v30, ()) = (2u32, ()); + let (v31, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v32, ()) = (1049412u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v34, ()) = (0u32, ()); + let (v35, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v34.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v36, ()) = (1u32, ()); + let (v37, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v38, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v38 != 0 { + block6param0 = v33; + block6param1 = v54; + block6param2 = v23; + block6param3 = v28; + cff = 6usize; + } else { + block7param0 = v23; + block7param1 = v33; + block7param2 = v35; + block7param3 = v37; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v121, ()) = (block6param0.clone(), ()); + let (v122, ()) = (block6param1.clone(), ()); + let (v131, ()) = (block6param2.clone(), ()); + let (v133, ()) = (block6param3.clone(), ()); + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v121.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967288u32, ()); + let (v52, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + block10param0 = v131; + block10param1 = v133; + block10param2 = v49; + block10param3 = v122; + cff = 10usize; + } else { + block11param0 = v131; + block11param1 = v49; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v130, ()) = (block10param0.clone(), ()); + let (v132, ()) = (block10param1.clone(), ()); + let (v134, ()) = (block10param2.clone(), ()); + let (v135, ()) = (block10param3.clone(), ()); + let (v58, ()) = (0u32, ()); + let (v59, ()) = (25u32, ()); + let (v62, ()) = (1u32, ()); + let (v63, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = (31u32, ()); + let (v66, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v134; + block12param1 = v68; + block12param2 = v135; + block12param3 = v130; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v69, ()) = (block12param0.clone(), ()); + let (v70, ()) = (block12param1.clone(), ()); + let (v88, ()) = (block12param2.clone(), ()); + let (v101, ()) = (block12param3.clone(), ()); + let (v71, ()) = (29u32, ()); + let (v72, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = (4u32, ()); + let (v74, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (16u32, ()); + let (v77, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v77.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v79 != 0 { + block8param0 = v69; + block8param1 = v77; + block8param2 = v101; + cff = 8usize; + } else { + block14param0 = v78; + block14param1 = v101; + block14param2 = v70; + block14param3 = v88; + cff = 14usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v127, ()) = (block8param0.clone(), ()); + let (v128, ()) = (block8param1.clone(), ()); + let (v129, ()) = (block8param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v128.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v129.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v129; + cff = 5usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v140, ()) = (block14param0.clone(), ()); + let (v143, ()) = (block14param1.clone(), ()); + let (v144, ()) = (block14param2.clone(), ()); + let (v145, ()) = (block14param3.clone(), ()); + let (v81, ()) = (1u32, ()); + let (v82, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = (4294967288u32, ()); + let (v86, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v89 != 0 { + block12param0 = v140; + block12param1 = v82; + block12param2 = v145; + block12param3 = v143; + cff = 12usize; + continue 'l11; + } else { + block15param0 = v140; + block15param1 = v143; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v139, ()) = (block15param0.clone(), ()); + let (v142, ()) = (block15param1.clone(), ()); + block13param0 = v139; + block13param1 = v142; + cff = 13usize; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v138, ()) = (block13param0.clone(), ()); + let (v141, ()) = (block13param1.clone(), ()); + block9param0 = v138; + block9param1 = v141; + cff = 9usize; + break 'l15; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v136, ()) = (block11param0.clone(), ()); + let (v137, ()) = (block11param1.clone(), ()); + block9param0 = v137; + block9param1 = v136; + cff = 9usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v91, ()) = (block9param0.clone(), ()); + let (v95, ()) = (block9param1.clone(), ()); + let (v94, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v94.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l6: loop { + let (v123, ()) = (block7param0.clone(), ()); + let (v124, ()) = (block7param1.clone(), ()); + let (v125, ()) = (block7param2.clone(), ()); + let (v126, ()) = (block7param3.clone(), ()); + let (v39, ()) = (0u32, ()); + let (v42, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v125.clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v39.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v123.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v123; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v114, ()) = (block5param0.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v114.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v114.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func29<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block21param0: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block23param0: u32; + let mut block24param0: u32; + let mut block25param0: u32; + let mut block26param0: u32; + let mut block27param0: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block31param4: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block34param3: u32; + let mut block34param4: u32; + let mut block34param5: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block35param2: u32; + let mut block35param3: u32; + let mut block35param4: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block37param0: u32; + let mut block37param1: u32; + let mut block37param2: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (4294967288u32, ()); + let (v2, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = (4294967292u32, ()); + let (v4, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (4294967288u32, ()); + let (v7, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (1u32, ()); + let (v10, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block5param0 = v8; + block5param1 = v2; + block5param2 = v7; + cff = 5usize; + } else { + block6param0 = v5; + block6param1 = v2; + block6param2 = v7; + block6param3 = v8; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v300, ()) = (block6param0.clone(), ()); + let (v302, ()) = (block6param1.clone(), ()); + let (v304, ()) = (block6param2.clone(), ()); + let (v307, ()) = (block6param3.clone(), ()); + let (v12, ()) = (3u32, ()); + let (v13, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v300.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + cff = 4usize; + break 'l3; + } else { + block7param0 = v302; + block7param1 = v304; + block7param2 = v307; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v301, ()) = (block7param0.clone(), ()); + let (v303, ()) = (block7param1.clone(), ()); + let (v306, ()) = (block7param2.clone(), ()); + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v301.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (0u32, ()); + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v22.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v24 != 0 { + block8param0 = v306; + block8param1 = v17; + block8param2 = v20; + block8param3 = v21; + cff = 8usize; + } else { + block9param0 = v306; + block9param1 = v20; + block9param2 = v21; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v305, ()) = (block8param0.clone(), ()); + let (v308, ()) = (block8param1.clone(), ()); + let (v309, ()) = (block8param2.clone(), ()); + let (v310, ()) = (block8param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + (::wars_rt::func::cast::<_, _, C>(v308.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v305; + block5param1 = v310; + block5param2 = v309; + cff = 5usize; + break 'l11; + } + } + 1usize => { + 'l10: loop { + let (v311, ()) = (block9param0.clone(), ()); + let (v312, ()) = (block9param1.clone(), ()); + let (v313, ()) = (block9param2.clone(), ()); + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v311.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (3u32, ()); + let (v30, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (3u32, ()); + let (v32, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block5param0 = v311; + block5param1 = v313; + block5param2 = v312; + cff = 5usize; + break 'l10; + } else { + block10param0 = v311; + block10param1 = v312; + block10param2 = v313; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v314, ()) = (block10param0.clone(), ()); + let (v315, ()) = (block10param1.clone(), ()); + let (v316, ()) = (block10param2.clone(), ()); + let (v33, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (4294967294u32, ()); + let (v40, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (1u32, ()); + let (v45, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v316.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v51, ()) = (block5param0.clone(), ()); + let (v74, ()) = (block5param1.clone(), ()); + let (v78, ()) = (block5param2.clone(), ()); + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v51.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = (2u32, ()); + let (v55, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + block13param0 = v51; + block13param1 = v53; + block13param2 = v74; + block13param3 = v78; + cff = 13usize; + } else { + block14param0 = v74; + block14param1 = v78; + block14param2 = v51; + block14param3 = v53; + cff = 14usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v319, ()) = (block13param0.clone(), ()); + let (v320, ()) = (block13param1.clone(), ()); + let (v321, ()) = (block13param2.clone(), ()); + let (v322, ()) = (block13param3.clone(), ()); + let (v94, ()) = (4294967294u32, ()); + let (v95, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v319.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (1u32, ()); + let (v100, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v321.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v321.clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v102.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v322; + block12param1 = v321; + cff = 12usize; + break 'l6; + } + } + 1usize => { + 'l7: loop { + let (v295, ()) = (block14param0.clone(), ()); + let (v298, ()) = (block14param1.clone(), ()); + let (v323, ()) = (block14param2.clone(), ()); + let (v328, ()) = (block14param3.clone(), ()); + let (v57, ()) = (0u32, ()); + let (v58, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v57.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v323.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block11param0 = v295; + block11param1 = v298; + cff = 11usize; + } else { + block15param0 = v295; + block15param1 = v298; + block15param2 = v323; + block15param3 = v328; + cff = 15usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v317, ()) = (block11param0.clone(), ()); + let (v318, ()) = (block11param1.clone(), ()); + let (v138, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v138.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v141, ()) = (0u32, ()); + let (v142, ()) = (0u32, ()); + let (v143, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v142.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v147, ()) = (1u32, ()); + let (v148, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v317.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (0u32, ()); + let (v151, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v152 != 0 { + block25param0 = v145; + cff = 25usize; + } else { + block26param0 = v145; + cff = 26usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v338, ()) = (block26param0.clone(), ()); + let (v153, ()) = (0u32, ()); + let (v154, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v153.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = (0u32, ()); + let (v157, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v156.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block25param0 = v338; + cff = 25usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v159, ()) = (block25param0.clone(), ()); + let (v161, ()) = (0u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v161.clone() + 1049852u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v163 != 0 { + cff = 4usize; + break 'l17; + } else { + block27param0 = v162; + cff = 27usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v340, ()) = (block27param0.clone(), ()); + let (v164, ()) = (0u32, ()); + let (v165, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v166 != 0 { + cff = 4usize; + break 'l23; + } else { + block28param0 = v340; + block28param1 = v165; + cff = 28usize; + }; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v339, ()) = (block28param0.clone(), ()); + let (v343, ()) = (block28param1.clone(), ()); + let (v167, ()) = (0u32, ()); + let (v168, ()) = (0u32, ()); + let (v169, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v168.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v170, ()) = (41u32, ()); + let (v171, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v171 != 0 { + block29param0 = v167; + block29param1 = v169; + block29param2 = v339; + cff = 29usize; + } else { + block30param0 = v339; + block30param1 = v343; + block30param2 = v167; + block30param3 = v169; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v341, ()) = (block30param0.clone(), ()); + let (v342, ()) = (block30param1.clone(), ()); + let (v344, ()) = (block30param2.clone(), ()); + let (v345, ()) = (block30param3.clone(), ()); + let (v172, ()) = (1049540u32, ()); + block31param0 = v172; + block31param1 = v342; + block31param2 = v344; + block31param3 = v345; + block31param4 = v341; + cff = 31usize; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l35: loop { + let (v173, ()) = (block31param0.clone(), ()); + let (v175, ()) = (block31param1.clone(), ()); + let (v204, ()) = (block31param2.clone(), ()); + let (v220, ()) = (block31param3.clone(), ()); + let (v235, ()) = (block31param4.clone(), ()); + let (v174, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v173.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v176, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v176 != 0 { + block33param0 = v173; + block33param1 = v175; + block33param2 = v204; + block33param3 = v220; + block33param4 = v235; + cff = 33usize; + } else { + block34param0 = v173; + block34param1 = v174; + block34param2 = v175; + block34param3 = v204; + block34param4 = v220; + block34param5 = v235; + cff = 34usize; + }; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v352, ()) = (block34param0.clone(), ()); + let (v353, ()) = (block34param1.clone(), ()); + let (v354, ()) = (block34param2.clone(), ()); + let (v355, ()) = (block34param3.clone(), ()); + let (v356, ()) = (block34param4.clone(), ()); + let (v357, ()) = (block34param5.clone(), ()); + let (v179, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v352.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v180, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v353.clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v182, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v182 != 0 { + block29param0 = v355; + block29param1 = v356; + block29param2 = v357; + cff = 29usize; + break 'l40; + } else { + block35param0 = v352; + block35param1 = v354; + block35param2 = v355; + block35param3 = v356; + block35param4 = v357; + cff = 35usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + let (v358, ()) = (block35param0.clone(), ()); + let (v359, ()) = (block35param1.clone(), ()); + let (v360, ()) = (block35param2.clone(), ()); + let (v361, ()) = (block35param3.clone(), ()); + let (v362, ()) = (block35param4.clone(), ()); + block33param0 = v358; + block33param1 = v359; + block33param2 = v360; + block33param3 = v361; + block33param4 = v362; + cff = 33usize; + break 'l42; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l39: loop { + let (v183, ()) = (block33param0.clone(), ()); + let (v188, ()) = (block33param1.clone(), ()); + let (v206, ()) = (block33param2.clone(), ()); + let (v222, ()) = (block33param3.clone(), ()); + let (v237, ()) = (block33param4.clone(), ()); + let (v185, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v183.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v185 != 0 { + block31param0 = v185; + block31param1 = v188; + block31param2 = v206; + block31param3 = v222; + block31param4 = v237; + cff = 31usize; + continue 'l35; + } else { + block36param0 = v206; + block36param1 = v222; + block36param2 = v237; + cff = 36usize; + }; + let mut cff2 = match cff { + 36usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v347, ()) = (block36param0.clone(), ()); + let (v349, ()) = (block36param1.clone(), ()); + let (v351, ()) = (block36param2.clone(), ()); + block32param0 = v347; + block32param1 = v349; + block32param2 = v351; + cff = 32usize; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v346, ()) = (block32param0.clone(), ()); + let (v348, ()) = (block32param1.clone(), ()); + let (v350, ()) = (block32param2.clone(), ()); + block29param0 = v346; + block29param1 = v348; + block29param2 = v350; + cff = 29usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v202, ()) = (block29param0.clone(), ()); + let (v218, ()) = (block29param1.clone(), ()); + let (v231, ()) = (block29param2.clone(), ()); + let (v190, ()) = (0u32, ()); + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v190.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v192, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v192 != 0 { + block37param0 = v202; + block37param1 = v218; + block37param2 = v231; + cff = 37usize; + } else { + block38param0 = v191; + block38param1 = v218; + block38param2 = v231; + cff = 38usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v363, ()) = (block38param0.clone(), ()); + let (v369, ()) = (block38param1.clone(), ()); + let (v373, ()) = (block38param2.clone(), ()); + let (v193, ()) = (0u32, ()); + block39param0 = v193; + block39param1 = v363; + block39param2 = v369; + block39param3 = v373; + cff = 39usize; + let mut cff2 = match cff { + 39usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v194, ()) = (block39param0.clone(), ()); + let (v197, ()) = (block39param1.clone(), ()); + let (v368, ()) = (block39param2.clone(), ()); + let (v372, ()) = (block39param3.clone(), ()); + let (v195, ()) = (1u32, ()); + let (v196, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v198, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v197.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v198 != 0 { + block39param0 = v196; + block39param1 = v198; + block39param2 = v368; + block39param3 = v372; + cff = 39usize; + continue 'l38; + } else { + block41param0 = v196; + block41param1 = v368; + block41param2 = v372; + cff = 41usize; + }; + let mut cff2 = match cff { + 41usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v365, ()) = (block41param0.clone(), ()); + let (v367, ()) = (block41param1.clone(), ()); + let (v371, ()) = (block41param2.clone(), ()); + block40param0 = v365; + block40param1 = v367; + block40param2 = v371; + cff = 40usize; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v364, ()) = (block40param0.clone(), ()); + let (v366, ()) = (block40param1.clone(), ()); + let (v370, ()) = (block40param2.clone(), ()); + block37param0 = v364; + block37param1 = v366; + block37param2 = v370; + cff = 37usize; + break 'l44; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l33: loop { + let (v201, ()) = (block37param0.clone(), ()); + let (v217, ()) = (block37param1.clone(), ()); + let (v230, ()) = (block37param2.clone(), ()); + let (v200, ()) = (0u32, ()); + let (v212, ()) = (4095u32, ()); + let (v213, ()) = (4095u32, ()); + let (v214, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v213.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v215, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v212.clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v200.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v245 != 0 { + cff = 4usize; + break 'l33; + } else { + cff = 42usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l37: loop { + let (v246, ()) = (0u32, ()); + let (v247, ()) = (4294967295u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v246.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 4usize; + break 'l37; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l13: loop { + let (v294, ()) = (block15param0.clone(), ()); + let (v297, ()) = (block15param1.clone(), ()); + let (v324, ()) = (block15param2.clone(), ()); + let (v327, ()) = (block15param3.clone(), ()); + let (v61, ()) = (0u32, ()); + let (v62, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v61.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v324.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v63 != 0 { + block2param0 = v294; + block2param1 = v297; + cff = 2usize; + } else { + block16param0 = v324; + block16param1 = v327; + block16param2 = v294; + block16param3 = v297; + cff = 16usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v293, ()) = (block2param0.clone(), ()); + let (v296, ()) = (block2param1.clone(), ()); + let (v279, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v279.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v293.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v282, ()) = (0u32, ()); + let (v283, ()) = (0u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v283.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v286, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v282.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = (1u32, ()); + let (v289, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ::wars_rt::func::cast::<_, _, C>(v288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v293.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v291, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v293.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v291.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l20: loop { + let (v325, ()) = (block16param0.clone(), ()); + let (v326, ()) = (block16param1.clone(), ()); + let (v329, ()) = (block16param2.clone(), ()); + let (v330, ()) = (block16param3.clone(), ()); + let (v68, ()) = (4294967288u32, ()); + let (v69, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v325.clone()), + (::wars_rt::func::cast::<_, _, C>(v69.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (1u32, ()); + let (v82, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v329.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (0u32, ()); + let (v87, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v88 != 0 { + block12param0 = v80; + block12param1 = v329; + cff = 12usize; + break 'l20; + } else { + block17param0 = v80; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v331, ()) = (block17param0.clone(), ()); + let (v89, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v89.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v104, ()) = (block12param0.clone(), ()); + let (v108, ()) = (block12param1.clone(), ()); + let (v105, ()) = (256u32, ()); + let (v106, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v106 != 0 { + block3param0 = v104; + block3param1 = v108; + cff = 3usize; + } else { + block18param0 = v104; + block18param1 = v108; + cff = 18usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v299, ()) = (block3param0.clone(), ()); + let (v375, ()) = (block3param1.clone(), ()); + let (v250, ()) = (4294967288u32, ()); + let (v251, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v299.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = (1049556u32, ()); + let (v253, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v252.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v254, ()) = (0u32, ()); + let (v255, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v254.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v256, ()) = (1u32, ()); + let (v257, ()) = (3u32, ()); + let (v258, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v299.clone()), + ::wars_rt::func::cast::<_, _, C>(v257.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v260, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v260 != 0 { + block44param0 = v375; + block44param1 = v253; + cff = 44usize; + } else { + block45param0 = v375; + block45param1 = v253; + block45param2 = v255; + block45param3 = v259; + cff = 45usize; + }; + let mut cff2 = match cff { + 44usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v374, ()) = (block44param0.clone(), ()); + let (v376, ()) = (block44param1.clone(), ()); + let (v268, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v376.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v376; + block43param1 = v374; + block43param2 = v268; + cff = 43usize; + break 'l16; + } + } + 1usize => { + 'l15: loop { + let (v377, ()) = (block45param0.clone(), ()); + let (v378, ()) = (block45param1.clone(), ()); + let (v379, ()) = (block45param2.clone(), ()); + let (v380, ()) = (block45param3.clone(), ()); + let (v261, ()) = (0u32, ()); + let (v264, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v261.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v264.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v378; + block43param1 = v377; + block43param2 = v378; + cff = 43usize; + break 'l15; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v269, ()) = (block43param0.clone(), ()); + let (v270, ()) = (block43param1.clone(), ()); + let (v275, ()) = (block43param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v269.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v275.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v270.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v270.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l8: loop { + let (v332, ()) = (block18param0.clone(), ()); + let (v333, ()) = (block18param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + (::wars_rt::func::cast::<_, _, C>(v332.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = (0u32, ()); + let (v113, ()) = (0u32, ()); + let (v114, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v113.clone() + 1049860u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = (4294967295u32, ()); + let (v116, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v112.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v116 != 0 { + cff = 4usize; + break 'l8; + } else { + block19param0 = v111; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v334, ()) = (block19param0.clone(), ()); + let (v118, ()) = (0u32, ()); + let (v119, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v120, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v120 != 0 { + block20param0 = v334; + cff = 20usize; + } else { + block21param0 = v119; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v335, ()) = (block21param0.clone(), ()); + let (v121, ()) = (0u32, ()); + block22param0 = v121; + block22param1 = v335; + cff = 22usize; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v122, ()) = (block22param0.clone(), ()); + let (v125, ()) = (block22param1.clone(), ()); + let (v123, ()) = (1u32, ()); + let (v124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v125.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v126 != 0 { + block22param0 = v124; + block22param1 = v126; + cff = 22usize; + continue 'l29; + } else { + block24param0 = v124; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v337, ()) = (block24param0.clone(), ()); + block23param0 = v337; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v336, ()) = (block23param0.clone(), ()); + block20param0 = v336; + cff = 20usize; + break 'l36; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l24: loop { + let (v129, ()) = (block20param0.clone(), ()); + let (v128, ()) = (0u32, ()); + let (v133, ()) = (4095u32, ()); + let (v134, ()) = (4095u32, ()); + let (v135, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v128.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func30<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block4param5: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block18param7: u32; + let mut block18param8: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block21param9: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block24param8: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + let mut block32param4: u32; + let mut block32param5: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block35param2: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block36param3: u32; + let mut block36param4: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block38param3: u32; + let mut block38param4: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block39param4: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block41param4: u32; + let mut block41param5: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block42param4: u32; + let mut block42param5: u32; + let mut block42param6: u32; + let mut block42param7: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block43param4: u32; + let mut block43param5: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block44param2: u32; + let mut block44param3: u32; + let mut block44param4: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + let mut block45param4: u32; + let mut block46param0: u32; + let mut block46param1: u32; + let mut block46param2: u32; + let mut block46param3: u32; + let mut block46param4: u32; + let mut block46param5: u32; + let mut block46param6: u32; + let mut block47param0: u32; + let mut block47param1: u32; + let mut block47param2: u32; + let mut block47param3: u32; + let mut block47param4: u32; + let mut block47param5: u32; + let mut block47param6: u32; + let mut block48param0: u32; + let mut block48param1: u32; + let mut block48param2: u32; + let mut block48param3: u32; + let mut block48param4: u32; + let mut block48param5: u32; + let mut block48param6: u32; + let mut block49param0: u32; + let mut block49param1: u32; + let mut block49param2: u32; + let mut block49param3: u32; + let mut block49param4: u32; + let mut block49param5: u32; + let mut block50param0: u32; + let mut block50param1: u32; + let mut block50param2: u32; + let mut block50param3: u32; + let mut block50param4: u32; + let mut block50param5: u32; + let mut block50param6: u32; + let mut block51param0: u32; + let mut block51param1: u32; + let mut block51param2: u32; + let mut block51param3: u32; + let mut block51param4: u32; + let mut block51param5: u32; + let mut block52param0: u32; + let mut block52param1: u32; + let mut block52param2: u32; + let mut block52param3: u32; + let mut block52param4: u32; + let mut block52param5: u32; + let mut block53param0: u32; + let mut block53param1: u32; + let mut block53param2: u32; + let mut block53param3: u32; + let mut block54param0: u32; + let mut block54param1: u32; + let mut block54param2: u32; + let mut block54param3: u32; + let mut block55param0: u32; + let mut block55param1: u32; + let mut block55param2: u32; + let mut block55param3: u32; + let mut block55param4: u32; + let mut block56param0: u32; + let mut block56param1: u32; + let mut block56param2: u32; + let mut block56param3: u32; + let mut block56param4: u32; + let mut block56param5: u32; + let mut block57param0: u32; + let mut block57param1: u32; + let mut block57param2: u32; + let mut block57param3: u32; + let mut block58param0: u32; + let mut block58param1: u32; + let mut block58param2: u32; + let mut block58param3: u32; + let mut block58param4: u32; + let mut block59param0: u32; + let mut block59param1: u32; + let mut block59param2: u32; + let mut block59param3: u32; + let mut block59param4: u32; + let mut block59param5: u32; + let mut block59param6: u32; + let mut block60param0: u32; + let mut block60param1: u32; + let mut block60param2: u32; + let mut block60param3: u32; + let mut block60param4: u32; + let mut block60param5: u32; + let mut block61param0: u32; + let mut block61param1: u32; + let mut block61param2: u32; + let mut block61param3: u32; + let mut block61param4: u32; + let mut block61param5: u32; + let mut block61param6: u32; + let mut block61param7: u32; + let mut block62param0: u32; + let mut block62param1: u32; + let mut block62param2: u32; + let mut block62param3: u32; + let mut block62param4: u32; + let mut block63param0: u32; + let mut block63param1: u32; + let mut block63param2: u32; + let mut block63param3: u32; + let mut block63param4: u32; + let mut block63param5: u32; + let mut block64param0: u32; + let mut block64param1: u32; + let mut block64param2: u32; + let mut block64param3: u32; + let mut block64param4: u32; + let mut block64param5: u32; + let mut block65param0: u32; + let mut block65param1: u32; + let mut block66param0: u32; + let mut block66param1: u32; + let mut block66param2: u32; + let mut block66param3: u32; + let mut block67param0: u32; + let mut block67param1: u32; + let mut block67param2: u32; + let mut block67param3: u32; + let mut block68param0: u32; + let mut block68param1: u32; + let mut block68param2: u32; + let mut block68param3: u32; + let mut block69param0: u32; + let mut block69param1: u32; + let mut block69param2: u32; + let mut block69param3: u32; + let mut block69param4: u32; + let mut block70param0: u32; + let mut block70param1: u32; + let mut block70param2: u32; + let mut block70param3: u32; + let mut block70param4: u32; + let mut block70param5: u32; + let mut block70param6: u32; + let mut block71param0: u32; + let mut block71param1: u32; + let mut block71param2: u32; + let mut block71param3: u32; + let mut block71param4: u32; + let mut block71param5: u32; + let mut block72param0: u32; + let mut block72param1: u32; + let mut block72param2: u32; + let mut block72param3: u32; + let mut block72param4: u32; + let mut block72param5: u32; + let mut block72param6: u32; + let mut block72param7: u32; + let mut block73param0: u32; + let mut block73param1: u32; + let mut block73param2: u32; + let mut block73param3: u32; + let mut block73param4: u32; + let mut block74param0: u32; + let mut block74param1: u32; + let mut block74param2: u32; + let mut block74param3: u32; + let mut block74param4: u32; + let mut block75param0: u32; + let mut block75param1: u32; + let mut block75param2: u32; + let mut block75param3: u32; + let mut block75param4: u32; + let mut block76param0: u32; + let mut block76param1: u32; + let mut block76param2: u32; + let mut block76param3: u32; + let mut block76param4: u32; + let mut block77param0: u32; + let mut block77param1: u32; + let mut block77param2: u32; + let mut block77param3: u32; + let mut block77param4: u32; + let mut block78param0: u32; + let mut block78param1: u32; + let mut block78param2: u32; + let mut block78param3: u32; + let mut block79param0: u32; + let mut block79param1: u32; + let mut block79param2: u32; + let mut block79param3: u32; + let mut block79param4: u32; + let mut block79param5: u32; + let mut block79param6: u32; + let mut block79param7: u32; + let mut block80param0: u32; + let mut block80param1: u32; + let mut block80param2: u32; + let mut block80param3: u32; + let mut block80param4: u32; + let mut block80param5: u32; + let mut block80param6: u32; + let mut block80param7: u32; + let mut block81param0: u32; + let mut block81param1: u32; + let mut block81param2: u32; + let mut block81param3: u32; + let mut block82param0: u32; + let mut block82param1: u32; + let mut block82param2: u32; + let mut block82param3: u32; + let mut block83param0: u32; + let mut block83param1: u32; + let mut block83param2: u32; + let mut block83param3: u32; + let mut block84param0: u32; + let mut block84param1: u32; + let mut block84param2: u32; + let mut block84param3: u32; + let mut block84param4: u32; + let mut block85param0: u32; + let mut block85param1: u32; + let mut block85param2: u32; + let mut block85param3: u32; + let mut block86param0: u32; + let mut block86param1: u32; + let mut block86param2: u32; + let mut block86param3: u32; + let mut block86param4: u32; + let mut block86param5: u32; + let mut block87param0: u32; + let mut block87param1: u32; + let mut block87param2: u32; + let mut block87param3: u32; + let mut block87param4: u32; + let mut block87param5: u32; + let mut block87param6: u32; + let mut block87param7: u32; + let mut block88param0: u32; + let mut block88param1: u32; + let mut block88param2: u32; + let mut block88param3: u32; + let mut block88param4: u32; + let mut block88param5: u32; + let mut block89param0: u32; + let mut block89param1: u32; + let mut block89param2: u32; + let mut block89param3: u32; + let mut block89param4: u32; + let mut block90param0: u32; + let mut block90param1: u32; + let mut block90param2: u32; + let mut block90param3: u32; + let mut block90param4: u32; + let mut block91param0: u32; + let mut block91param1: u32; + let mut block91param2: u32; + let mut block91param3: u32; + let mut block91param4: u32; + let mut block91param5: u32; + let mut block91param6: u32; + let mut block92param0: u32; + let mut block92param1: u32; + let mut block92param2: u32; + let mut block92param3: u32; + let mut block92param4: u32; + let mut block92param5: u32; + let mut block92param6: u32; + let mut block93param0: u32; + let mut block93param1: u32; + let mut block93param2: u32; + let mut block93param3: u32; + let mut block93param4: u32; + let mut block93param5: u32; + let mut block93param6: u32; + let mut block94param0: u32; + let mut block94param1: u32; + let mut block94param2: u32; + let mut block94param3: u32; + let mut block94param4: u32; + let mut block94param5: u32; + let mut block95param0: u32; + let mut block95param1: u32; + let mut block95param2: u32; + let mut block95param3: u32; + let mut block95param4: u32; + let mut block95param5: u32; + let mut block95param6: u32; + let mut block96param0: u32; + let mut block96param1: u32; + let mut block96param2: u32; + let mut block96param3: u32; + let mut block96param4: u32; + let mut block96param5: u32; + let mut block97param0: u32; + let mut block97param1: u32; + let mut block97param2: u32; + let mut block97param3: u32; + let mut block97param4: u32; + let mut block97param5: u32; + let mut block98param0: u32; + let mut block98param1: u32; + let mut block98param2: u32; + let mut block98param3: u32; + let mut block99param0: u32; + let mut block99param1: u32; + let mut block100param0: u32; + let mut block100param1: u32; + let mut block101param0: u32; + let mut block101param1: u32; + let mut block101param2: u32; + let mut block101param3: u32; + let mut block102param0: u32; + let mut block102param1: u32; + let mut block102param2: u32; + let mut block102param3: u32; + let mut block103param0: u32; + let mut block103param1: u32; + let mut block103param2: u32; + let mut block103param3: u32; + let mut block103param4: u32; + let mut block104param0: u32; + let mut block104param1: u32; + let mut block104param2: u32; + let mut block105param0: u32; + let mut block105param1: u32; + let mut block106param0: u32; + let mut block106param1: u32; + let mut block106param2: u32; + let mut block107param0: u32; + let mut block107param1: u32; + let mut block108param0: u32; + let mut block108param1: u32; + let mut block108param2: u32; + let mut block109param0: u32; + let mut block110param0: u32; + let mut block110param1: u32; + let mut block110param2: u32; + let mut block110param3: u32; + let mut block110param4: u32; + let mut block110param5: u32; + let mut block111param0: u32; + let mut block111param1: u32; + let mut block111param2: u32; + let mut block111param3: u32; + let mut block111param4: u32; + let mut block111param5: u32; + let mut block111param6: u32; + let mut block111param7: u32; + let mut block111param8: u32; + let mut block112param0: u32; + let mut block112param1: u32; + let mut block112param2: u32; + let mut block112param3: u32; + let mut block112param4: u32; + let mut block113param0: u32; + let mut block113param1: u32; + let mut block113param2: u32; + let mut block113param3: u32; + let mut block113param4: u32; + let mut block113param5: u32; + let mut block114param0: u32; + let mut block114param1: u32; + let mut block114param2: u32; + let mut block114param3: u32; + let mut block114param4: u32; + let mut block114param5: u32; + let mut block114param6: u32; + let mut block116param0: u32; + let mut block116param1: u32; + let mut block116param2: u32; + let mut block116param3: u32; + let mut block116param4: u32; + let mut block116param5: u32; + let mut block116param6: u32; + let mut block117param0: u32; + let mut block117param1: u32; + let mut block117param2: u32; + let mut block117param3: u32; + let mut block117param4: u32; + let mut block117param5: u32; + let mut block118param0: u32; + let mut block118param1: u32; + let mut block118param2: u32; + let mut block118param3: u32; + let mut block118param4: u32; + let mut block119param0: u32; + let mut block119param1: u32; + let mut block119param2: u32; + let mut block119param3: u32; + let mut block119param4: u32; + let mut block120param0: u32; + let mut block120param1: u32; + let mut block120param2: u32; + let mut block120param3: u32; + let mut block120param4: u32; + let mut block120param5: u32; + let mut block121param0: u32; + let mut block121param1: u32; + let mut block121param2: u32; + let mut block121param3: u32; + let mut block121param4: u32; + let mut block122param0: u32; + let mut block122param1: u32; + let mut block122param2: u32; + let mut block122param3: u32; + let mut block122param4: u32; + let mut block122param5: u32; + let mut block122param6: u32; + let mut block122param7: u32; + let mut block122param8: u32; + let mut block123param0: u32; + let mut block123param1: u32; + let mut block123param2: u32; + let mut block123param3: u32; + let mut block123param4: u32; + let mut block123param5: u32; + let mut block123param6: u32; + let mut block123param7: u32; + let mut block124param0: u32; + let mut block124param1: u32; + let mut block124param2: u32; + let mut block124param3: u32; + let mut block124param4: u32; + let mut block124param5: u32; + let mut block124param6: u32; + let mut block124param7: u32; + let mut block124param8: u32; + let mut block125param0: u32; + let mut block125param1: u32; + let mut block125param2: u32; + let mut block125param3: u32; + let mut block125param4: u32; + let mut block125param5: u32; + let mut block126param0: u32; + let mut block126param1: u32; + let mut block126param2: u32; + let mut block126param3: u32; + let mut block126param4: u32; + let mut block126param5: u32; + let mut block127param0: u32; + let mut block127param1: u32; + let mut block127param2: u32; + let mut block127param3: u32; + let mut block127param4: u32; + let mut block127param5: u32; + let mut block128param0: u32; + let mut block128param1: u32; + let mut block128param2: u32; + let mut block128param3: u32; + let mut block128param4: u32; + let mut block128param5: u32; + let mut block128param6: u32; + let mut block128param7: u32; + let mut block129param0: u32; + let mut block129param1: u32; + let mut block129param2: u32; + let mut block129param3: u32; + let mut block129param4: u32; + let mut block129param5: u32; + let mut block129param6: u32; + let mut block129param7: u32; + let mut block131param0: u32; + let mut block131param1: u32; + let mut block131param2: u32; + let mut block131param3: u32; + let mut block131param4: u32; + let mut block131param5: u32; + let mut block131param6: u32; + let mut block131param7: u32; + let mut block132param0: u32; + let mut block132param1: u32; + let mut block132param2: u32; + let mut block132param3: u32; + let mut block132param4: u32; + let mut block132param5: u32; + let mut block133param0: u32; + let mut block133param1: u32; + let mut block133param2: u32; + let mut block133param3: u32; + let mut block133param4: u32; + let mut block133param5: u32; + let mut block133param6: u32; + let mut block133param7: u32; + let mut block133param8: u32; + let mut block134param0: u32; + let mut block134param1: u32; + let mut block134param2: u32; + let mut block134param3: u32; + let mut block134param4: u32; + let mut block134param5: u32; + let mut block135param0: u32; + let mut block135param1: u32; + let mut block135param2: u32; + let mut block135param3: u32; + let mut block135param4: u32; + let mut block135param5: u32; + let mut block135param6: u32; + let mut block136param0: u32; + let mut block136param1: u32; + let mut block136param2: u32; + let mut block136param3: u32; + let mut block136param4: u32; + let mut block136param5: u32; + let mut block136param6: u32; + let mut block138param0: u32; + let mut block138param1: u32; + let mut block138param2: u32; + let mut block138param3: u32; + let mut block138param4: u32; + let mut block138param5: u32; + let mut block138param6: u32; + let mut block139param0: u32; + let mut block139param1: u32; + let mut block139param2: u32; + let mut block139param3: u32; + let mut block139param4: u32; + let mut block139param5: u32; + let mut block139param6: u32; + let mut block139param7: u32; + let mut block140param0: u32; + let mut block140param1: u32; + let mut block140param2: u32; + let mut block140param3: u32; + let mut block140param4: u32; + let mut block140param5: u32; + let mut block140param6: u32; + let mut block141param0: u32; + let mut block141param1: u32; + let mut block141param2: u32; + let mut block141param3: u32; + let mut block141param4: u32; + let mut block141param5: u32; + let mut block142param0: u32; + let mut block142param1: u32; + let mut block142param2: u32; + let mut block142param3: u32; + let mut block143param0: u32; + let mut block143param1: u32; + let mut block143param2: u32; + let mut block143param3: u32; + let mut block144param0: u32; + let mut block144param1: u32; + let mut block144param2: u32; + let mut block144param3: u32; + let mut block145param0: u32; + let mut block145param1: u32; + let mut block145param2: u32; + let mut block145param3: u32; + let mut block146param0: u32; + let mut block146param1: u32; + let mut block146param2: u32; + let mut block146param3: u32; + let mut block147param0: u32; + let mut block147param1: u32; + let mut block147param2: u32; + let mut block147param3: u32; + let mut block147param4: u32; + let mut block148param0: u32; + let mut block148param1: u32; + let mut block148param2: u32; + let mut block148param3: u32; + let mut block149param0: u32; + let mut block149param1: u32; + let mut block149param2: u32; + let mut block149param3: u32; + let mut block149param4: u32; + let mut block149param5: u32; + let mut block150param0: u32; + let mut block150param1: u32; + let mut block150param2: u32; + let mut block150param3: u32; + let mut block150param4: u32; + let mut block151param0: u32; + let mut block151param1: u32; + let mut block151param2: u32; + let mut block151param3: u32; + let mut block151param4: u32; + let mut block152param0: u32; + let mut block152param1: u32; + let mut block152param2: u32; + let mut block152param3: u32; + let mut block152param4: u32; + let mut block152param5: u32; + let mut block153param0: u32; + let mut block153param1: u32; + let mut block153param2: u32; + let mut block153param3: u32; + let mut block153param4: u32; + let mut block153param5: u32; + let mut block154param0: u32; + let mut block154param1: u32; + let mut block154param2: u32; + let mut block154param3: u32; + let mut block155param0: u32; + let mut block155param1: u32; + let mut block155param2: u32; + let mut block155param3: u32; + let mut block156param0: u32; + let mut block156param1: u32; + let mut block156param2: u32; + let mut block156param3: u32; + let mut block156param4: u32; + let mut block157param0: u32; + let mut block157param1: u32; + let mut block157param2: u32; + let mut block157param3: u32; + let mut block158param0: u32; + let mut block158param1: u32; + let mut block158param2: u32; + let mut block158param3: u32; + let mut block158param4: u32; + let mut block158param5: u32; + let mut block159param0: u32; + let mut block159param1: u32; + let mut block160param0: u32; + let mut block160param1: u32; + let mut block160param2: u32; + let mut block160param3: u32; + let mut block160param4: u32; + let mut block161param0: u32; + let mut block161param1: u32; + let mut block161param2: u32; + let mut block162param0: u32; + let mut block162param1: u32; + let mut block162param2: u32; + let mut block163param0: u32; + let mut block163param1: u32; + let mut block163param2: u32; + let mut block163param3: u32; + let mut block163param4: u32; + let mut block164param0: u32; + let mut block164param1: u32; + let mut block164param2: u32; + let mut block164param3: u32; + let mut block164param4: u32; + let mut block164param5: u32; + let mut block165param0: u32; + let mut block165param1: u32; + let mut block165param2: u32; + let mut block165param3: u32; + let mut block165param4: u32; + let mut block165param5: u32; + let mut block166param0: u32; + let mut block166param1: u32; + let mut block167param0: u32; + let mut block167param1: u32; + let mut block167param2: u32; + let mut block167param3: u32; + let mut block168param0: u32; + let mut block168param1: u32; + let mut block168param2: u32; + let mut block168param3: u32; + let mut block169param0: u32; + let mut block169param1: u32; + let mut block169param2: u32; + let mut block169param3: u32; + let mut block170param0: u32; + let mut block170param1: u32; + let mut block170param2: u32; + let mut block170param3: u32; + let mut block171param0: u32; + let mut block171param1: u32; + let mut block171param2: u32; + let mut block171param3: u32; + let mut block171param4: u32; + let mut block172param0: u32; + let mut block172param1: u32; + let mut block172param2: u32; + let mut block172param3: u32; + let mut block173param0: u32; + let mut block173param1: u32; + let mut block173param2: u32; + let mut block173param3: u32; + let mut block173param4: u32; + let mut block173param5: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (16u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (245u32, ()); + let (v7, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block9param0 = v1; + block9param1 = v4; + cff = 9usize; + } else { + block10param0 = v1; + block10param1 = v4; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v1958, ()) = (block9param0.clone(), ()); + let (v2017, ()) = (block9param1.clone(), ()); + let (v122, ()) = (0u32, ()); + let (v123, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v122.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v124, ()) = (16u32, ()); + let (v126, ()) = (11u32, ()); + let (v127, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1958.clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = (4294967288u32, ()); + let (v129, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v130, ()) = (11u32, ()); + let (v131, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1958.clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v132, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v131.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = (3u32, ()); + let (v134, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v135, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = (3u32, ()); + let (v137, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v138, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v138 != 0 { + block25param0 = v2017; + block25param1 = v132; + block25param2 = v135; + block25param3 = v134; + block25param4 = v123; + cff = 25usize; + } else { + block26param0 = v134; + block26param1 = v135; + block26param2 = v2017; + block26param3 = v123; + cff = 26usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + 26usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v2016, ()) = (block25param0.clone(), ()); + let (v2018, ()) = (block25param1.clone(), ()); + let (v2033, ()) = (block25param2.clone(), ()); + let (v2036, ()) = (block25param3.clone(), ()); + let (v2131, ()) = (block25param4.clone(), ()); + let (v185, ()) = (0u32, ()); + let (v186, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v187, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v2018.clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v187 != 0 { + block5param0 = v2018; + block5param1 = v2016; + cff = 5usize; + break 'l8; + } else { + block30param0 = v2033; + block30param1 = v2036; + block30param2 = v2016; + block30param3 = v2018; + block30param4 = v2131; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v2032, ()) = (block30param0.clone(), ()); + let (v2035, ()) = (block30param1.clone(), ()); + let (v2039, ()) = (block30param2.clone(), ()); + let (v2041, ()) = (block30param3.clone(), ()); + let (v2130, ()) = (block30param4.clone(), ()); + if v2032 != 0 { + block33param0 = v2035; + block33param1 = v2032; + block33param2 = v2039; + block33param3 = v2130; + block33param4 = v2041; + cff = 33usize; + } else { + block34param0 = v2039; + block34param1 = v2041; + cff = 34usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + 34usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v2034, ()) = (block33param0.clone(), ()); + let (v2037, ()) = (block33param1.clone(), ()); + let (v2127, ()) = (block33param2.clone(), ()); + let (v2129, ()) = (block33param3.clone(), ()); + let (v2133, ()) = (block33param4.clone(), ()); + let (v328, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v2037.clone()), + ::wars_rt::func::cast::<_, _, C>(v2034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v329, ()) = (2u32, ()); + let (v330, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v2034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v331, ()) = (0u32, ()); + let (v332, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v333, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v335, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v336, ()) = (3u32, ()); + let (v337, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v335.clone()), + ::wars_rt::func::cast::<_, _, C>(v336.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v338, ()) = (1049556u32, ()); + let (v339, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v337.clone()), + ::wars_rt::func::cast::<_, _, C>(v338.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v340, ()) = (1049564u32, ()); + let (v341, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v337.clone()), + ::wars_rt::func::cast::<_, _, C>(v340.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v342, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v341.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v343, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v342.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v344, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v339.clone()), + ::wars_rt::func::cast::<_, _, C>(v343.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v344 != 0 { + block55param0 = v2127; + block55param1 = v2129; + block55param2 = v2133; + block55param3 = v335; + block55param4 = v342; + cff = 55usize; + } else { + block56param0 = v2127; + block56param1 = v2133; + block56param2 = v335; + block56param3 = v339; + block56param4 = v342; + block56param5 = v343; + cff = 56usize; + }; + let mut cff2 = match cff { + 55usize => 0usize, + 56usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v2126, ()) = (block55param0.clone(), ()); + let (v2128, ()) = (block55param1.clone(), ()); + let (v2132, ()) = (block55param2.clone(), ()); + let (v2134, ()) = (block55param3.clone(), ()); + let (v2135, ()) = (block55param4.clone(), ()); + let (v349, ()) = (0u32, ()); + let (v354, ()) = (4294967294u32, ()); + let (v356, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ::wars_rt::func::cast::<_, _, C>(v2134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v357, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2128.clone()), + ::wars_rt::func::cast::<_, _, C>(v356.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v349.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v357.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block54param0 = v2135; + block54param1 = v2132; + block54param2 = v2134; + block54param3 = v2126; + cff = 54usize; + break 'l32; + } + } + 1usize => { + 'l31: loop { + let (v2136, ()) = (block56param0.clone(), ()); + let (v2137, ()) = (block56param1.clone(), ()); + let (v2138, ()) = (block56param2.clone(), ()); + let (v2139, ()) = (block56param3.clone(), ()); + let (v2140, ()) = (block56param4.clone(), ()); + let (v2141, ()) = (block56param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2141.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2139.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2139.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2141.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block54param0 = v2140; + block54param1 = v2137; + block54param2 = v2138; + block54param3 = v2136; + cff = 54usize; + break 'l31; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l30: loop { + let (v359, ()) = (block54param0.clone(), ()); + let (v362, ()) = (block54param1.clone(), ()); + let (v370, ()) = (block54param2.clone(), ()); + let (v1829, ()) = (block54param3.clone(), ()); + let (v366, ()) = (3u32, ()); + let (v367, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v359.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v369, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v359.clone()), + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v372, ()) = (3u32, ()); + let (v373, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v370.clone()), + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v375, ()) = (1u32, ()); + let (v376, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v369.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v376.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v378, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v359.clone()), + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v378.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v380, ()) = (0u32, ()); + let (v381, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v380.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v382, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v382 != 0 { + block57param0 = v359; + block57param1 = v369; + block57param2 = v374; + block57param3 = v1829; + cff = 57usize; + } else { + block58param0 = v381; + block58param1 = v359; + block58param2 = v369; + block58param3 = v374; + block58param4 = v1829; + cff = 58usize; + }; + let mut cff2 = match cff { + 58usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l49: loop { + let (v2142, ()) = (block58param0.clone(), ()); + let (v2144, ()) = (block58param1.clone(), ()); + let (v2146, ()) = (block58param2.clone(), ()); + let (v2148, ()) = (block58param3.clone(), ()); + let (v2152, ()) = (block58param4.clone(), ()); + let (v384, ()) = (4294967288u32, ()); + let (v385, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2142.clone()), + ::wars_rt::func::cast::<_, _, C>(v384.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = (1049556u32, ()); + let (v387, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v386.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v388, ()) = (0u32, ()); + let (v389, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v388.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v390, ()) = (0u32, ()); + let (v391, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v390.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v392, ()) = (1u32, ()); + let (v393, ()) = (3u32, ()); + let (v394, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2142.clone()), + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v395, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v396, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v395.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v396 != 0 { + block60param0 = v2144; + block60param1 = v2146; + block60param2 = v2148; + block60param3 = v387; + block60param4 = v389; + block60param5 = v2152; + cff = 60usize; + } else { + block61param0 = v2144; + block61param1 = v2146; + block61param2 = v2148; + block61param3 = v387; + block61param4 = v389; + block61param5 = v391; + block61param6 = v395; + block61param7 = v2152; + cff = 61usize; + }; + let mut cff2 = match cff { + 60usize => 0usize, + 61usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l63: loop { + let (v2143, ()) = (block60param0.clone(), ()); + let (v2145, ()) = (block60param1.clone(), ()); + let (v2147, ()) = (block60param2.clone(), ()); + let (v2149, ()) = (block60param3.clone(), ()); + let (v2150, ()) = (block60param4.clone(), ()); + let (v2151, ()) = (block60param5.clone(), ()); + let (v404, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2149.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block59param0 = v2149; + block59param1 = v2150; + block59param2 = v404; + block59param3 = v2143; + block59param4 = v2145; + block59param5 = v2147; + block59param6 = v2151; + cff = 59usize; + break 'l63; + }; + } + 1usize => { + 'l62: loop { + let (v2153, ()) = (block61param0.clone(), ()); + let (v2154, ()) = (block61param1.clone(), ()); + let (v2155, ()) = (block61param2.clone(), ()); + let (v2156, ()) = (block61param3.clone(), ()); + let (v2157, ()) = (block61param4.clone(), ()); + let (v2158, ()) = (block61param5.clone(), ()); + let (v2159, ()) = (block61param6.clone(), ()); + let (v2160, ()) = (block61param7.clone(), ()); + let (v397, ()) = (0u32, ()); + let (v400, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2158.clone()), + ::wars_rt::func::cast::<_, _, C>(v2159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v397.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block59param0 = v2156; + block59param1 = v2157; + block59param2 = v2156; + block59param3 = v2153; + block59param4 = v2154; + block59param5 = v2155; + block59param6 = v2160; + cff = 59usize; + break 'l62; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l61: loop { + let (v405, ()) = (block59param0.clone(), ()); + let (v406, ()) = (block59param1.clone(), ()); + let (v410, ()) = (block59param2.clone(), ()); + let (v415, ()) = (block59param3.clone(), ()); + let (v423, ()) = (block59param4.clone(), ()); + let (v430, ()) = (block59param5.clone(), ()); + let (v1833, ()) = (block59param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v405.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v410.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v406.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v405.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v406.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v410.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block57param0 = v415; + block57param1 = v423; + block57param2 = v430; + block57param3 = v1833; + cff = 57usize; + break 'l61; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 57usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l48: loop { + let (v414, ()) = (block57param0.clone(), ()); + let (v422, ()) = (block57param1.clone(), ()); + let (v429, ()) = (block57param2.clone(), ()); + let (v1828, ()) = (block57param3.clone(), ()); + let (v419, ()) = (8u32, ()); + let (v420, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v414.clone()), + ::wars_rt::func::cast::<_, _, C>(v419.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v421, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v421.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v422.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v428, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v428.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v429.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1828; + block2param1 = v420; + cff = 2usize; + break 'l48; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l24: loop { + let (v2038, ()) = (block34param0.clone(), ()); + let (v2040, ()) = (block34param1.clone(), ()); + let (v190, ()) = (0u32, ()); + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v190.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v192, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v192 != 0 { + block5param0 = v2040; + block5param1 = v2038; + cff = 5usize; + break 'l24; + } else { + block35param0 = v2038; + block35param1 = v2040; + block35param2 = v191; + cff = 35usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l33: loop { + let (v2042, ()) = (block35param0.clone(), ()); + let (v2043, ()) = (block35param1.clone(), ()); + let (v2044, ()) = (block35param2.clone(), ()); + let (v194, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v2044.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v195, ()) = (2u32, ()); + let (v196, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v197, ()) = (1049412u32, ()); + let (v198, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v196.clone()), + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v200, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (4294967288u32, ()); + let (v202, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v206, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v202.clone()), + ::wars_rt::func::cast::<_, _, C>(v2043.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block36param0 = v199; + block36param1 = v199; + block36param2 = v2043; + block36param3 = v206; + block36param4 = v2042; + cff = 36usize; + let mut cff2 = match cff { + 36usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l50: loop { + let (v207, ()) = (block36param0.clone(), ()); + let (v215, ()) = (block36param1.clone(), ()); + let (v314, ()) = (block36param2.clone(), ()); + let (v318, ()) = (block36param3.clone(), ()); + let (v1845, ()) = (block36param4.clone(), ()); + let (v208, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v208 != 0 { + block38param0 = v208; + block38param1 = v314; + block38param2 = v318; + block38param3 = v215; + block38param4 = v1845; + cff = 38usize; + } else { + block39param0 = v207; + block39param1 = v215; + block39param2 = v314; + block39param3 = v318; + block39param4 = v1845; + cff = 39usize; + }; + let mut cff2 = match cff { + 39usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l65: loop { + let (v2045, ()) = (block39param0.clone(), ()); + let (v2046, ()) = (block39param1.clone(), ()); + let (v2047, ()) = (block39param2.clone(), ()); + let (v2048, ()) = (block39param3.clone(), ()); + let (v2049, ()) = (block39param4.clone(), ()); + let (v210, ()) = (20u32, ()); + let (v211, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2045.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v212, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v211.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v212 != 0 { + block38param0 = v212; + block38param1 = v2047; + block38param2 = v2048; + block38param3 = v2046; + block38param4 = v2049; + cff = 38usize; + break 'l65; + } else { + block40param0 = v2046; + block40param1 = v2047; + block40param2 = v2048; + block40param3 = v2049; + cff = 40usize; + }; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l75: loop { + let (v2050, ()) = (block40param0.clone(), ()); + let (v2060, ()) = (block40param1.clone(), ()); + let (v2062, ()) = (block40param2.clone(), ()); + let (v2064, ()) = (block40param3.clone(), ()); + let (v216, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2050.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v217, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2050.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v218, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v2050.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v218 != 0 { + block43param0 = v2050; + block43param1 = v216; + block43param2 = v217; + block43param3 = v2060; + block43param4 = v2062; + block43param5 = v2064; + cff = 43usize; + } else { + block44param0 = v2050; + block44param1 = v216; + block44param2 = v2060; + block44param3 = v2062; + block44param4 = v2064; + cff = 44usize; + }; + let mut cff2 = match cff { + 43usize => 0usize, + 44usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l90: loop { + let (v2056, ()) = (block43param0.clone(), ()); + let (v2057, ()) = (block43param1.clone(), ()); + let (v2058, ()) = (block43param2.clone(), ()); + let (v2059, ()) = (block43param3.clone(), ()); + let (v2061, ()) = (block43param4.clone(), ()); + let (v2063, ()) = (block43param5.clone(), ()); + let (v230, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2056.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v230.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2058.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2058.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block41param0 = v2057; + block41param1 = v2056; + block41param2 = v2058; + block41param3 = v2061; + block41param4 = v2059; + block41param5 = v2063; + cff = 41usize; + break 'l90; + }; + } + 1usize => { + 'l89: loop { + let (v2052, ()) = (block44param0.clone(), ()); + let (v2067, ()) = (block44param1.clone(), ()); + let (v2069, ()) = (block44param2.clone(), ()); + let (v2071, ()) = (block44param3.clone(), ()); + let (v2073, ()) = (block44param4.clone(), ()); + let (v220, ()) = (20u32, ()); + let (v221, ()) = (16u32, ()); + let (v222, ()) = (20u32, ()); + let (v223, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2052.clone()), + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v224, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v225, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v226, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2052.clone()), + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v227, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v226.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v227 != 0 { + block42param0 = v2052; + block42param1 = v223; + block42param2 = v224; + block42param3 = v227; + block42param4 = v2067; + block42param5 = v2069; + block42param6 = v2071; + block42param7 = v2073; + cff = 42usize; + } else { + block45param0 = v2052; + block45param1 = v2067; + block45param2 = v2069; + block45param3 = v2071; + block45param4 = v2073; + cff = 45usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l103: loop { + let (v2051, ()) = (block42param0.clone(), ()); + let (v2053, ()) = (block42param1.clone(), ()); + let (v2054, ()) = (block42param2.clone(), ()); + let (v2055, ()) = (block42param3.clone(), ()); + let (v2080, ()) = (block42param4.clone(), ()); + let (v2088, ()) = (block42param5.clone(), ()); + let (v2092, ()) = (block42param6.clone(), ()); + let (v2096, ()) = (block42param7.clone(), ()); + let (v236, ()) = (16u32, ()); + let (v237, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2051.clone()), + ::wars_rt::func::cast::<_, _, C>(v236.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2053.clone()), + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v2054.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block46param0 = v239; + block46param1 = v2055; + block46param2 = v2051; + block46param3 = v2080; + block46param4 = v2088; + block46param5 = v2092; + block46param6 = v2096; + cff = 46usize; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l125: loop { + let (v240, ()) = (block46param0.clone(), ()); + let (v241, ()) = (block46param1.clone(), ()); + let (v2076, ()) = (block46param2.clone(), ()); + let (v2079, ()) = (block46param3.clone(), ()); + let (v2087, ()) = (block46param4.clone(), ()); + let (v2091, ()) = (block46param5.clone(), ()); + let (v2095, ()) = (block46param6.clone(), ()); + let (v242, ()) = (20u32, ()); + let (v243, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v242.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = (16u32, ()); + let (v245, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v246, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v243.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v247, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v243.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v248, ()) = (20u32, ()); + let (v249, ()) = (16u32, ()); + let (v250, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v248.clone()), + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v251, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v251.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v252 != 0 { + block46param0 = v247; + block46param1 = v252; + block46param2 = v2076; + block46param3 = v2079; + block46param4 = v2087; + block46param5 = v2091; + block46param6 = v2095; + cff = 46usize; + continue 'l125; + } else { + block48param0 = v2076; + block48param1 = v2079; + block48param2 = v240; + block48param3 = v241; + block48param4 = v2087; + block48param5 = v2091; + block48param6 = v2095; + cff = 48usize; + }; + let mut cff2 = match cff { + 48usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l145: loop { + let (v2075, ()) = (block48param0.clone(), ()); + let (v2078, ()) = (block48param1.clone(), ()); + let (v2082, ()) = (block48param2.clone(), ()); + let (v2084, ()) = (block48param3.clone(), ()); + let (v2086, ()) = (block48param4.clone(), ()); + let (v2090, ()) = (block48param5.clone(), ()); + let (v2094, ()) = (block48param6.clone(), ()); + block47param0 = v2075; + block47param1 = v2078; + block47param2 = v2082; + block47param3 = v2084; + block47param4 = v2086; + block47param5 = v2090; + block47param6 = v2094; + cff = 47usize; + let mut cff2 = match cff { + 47usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l153: loop { + let (v2074, ()) = (block47param0.clone(), ()); + let (v2077, ()) = (block47param1.clone(), ()); + let (v2081, ()) = (block47param2.clone(), ()); + let (v2083, ()) = (block47param3.clone(), ()); + let (v2085, ()) = (block47param4.clone(), ()); + let (v2089, ()) = (block47param5.clone(), ()); + let (v2093, ()) = (block47param6.clone(), ()); + let (v256, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2081.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block41param0 = v2077; + block41param1 = v2074; + block41param2 = v2083; + block41param3 = v2089; + block41param4 = v2085; + block41param5 = v2093; + cff = 41usize; + break 'l153; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l102: loop { + let (v2065, ()) = (block45param0.clone(), ()); + let (v2066, ()) = (block45param1.clone(), ()); + let (v2068, ()) = (block45param2.clone(), ()); + let (v2070, ()) = (block45param3.clone(), ()); + let (v2072, ()) = (block45param4.clone(), ()); + let (v228, ()) = (0u32, ()); + block41param0 = v2066; + block41param1 = v2065; + block41param2 = v228; + block41param3 = v2070; + block41param4 = v2068; + block41param5 = v2072; + cff = 41usize; + break 'l102; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l88: loop { + let (v258, ()) = (block41param0.clone(), ()); + let (v268, ()) = (block41param1.clone(), ()); + let (v291, ()) = (block41param2.clone(), ()); + let (v463, ()) = (block41param3.clone(), ()); + let (v488, ()) = (block41param4.clone(), ()); + let (v1840, ()) = (block41param5.clone(), ()); + let (v266, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v266 != 0 { + block31param0 = v463; + block31param1 = v268; + block31param2 = v488; + block31param3 = v1840; + cff = 31usize; + } else { + block49param0 = v268; + block49param1 = v258; + block49param2 = v291; + block49param3 = v463; + block49param4 = v488; + block49param5 = v1840; + cff = 49usize; + }; + let mut cff2 = match cff { + 49usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l105: loop { + let (v2097, ()) = (block49param0.clone(), ()); + let (v2099, ()) = (block49param1.clone(), ()); + let (v2103, ()) = (block49param2.clone(), ()); + let (v2105, ()) = (block49param3.clone(), ()); + let (v2107, ()) = (block49param4.clone(), ()); + let (v2109, ()) = (block49param5.clone(), ()); + let (v273, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2097.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v274, ()) = (2u32, ()); + let (v275, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v273.clone()), + ::wars_rt::func::cast::<_, _, C>(v274.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v276, ()) = (1049412u32, ()); + let (v277, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v276.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v278, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v277.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v279, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v278.clone()), + ::wars_rt::func::cast::<_, _, C>(v2097.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v279 != 0 { + block50param0 = v2099; + block50param1 = v2097; + block50param2 = v277; + block50param3 = v2103; + block50param4 = v2105; + block50param5 = v2107; + block50param6 = v2109; + cff = 50usize; + } else { + block51param0 = v2099; + block51param1 = v2097; + block51param2 = v2103; + block51param3 = v2105; + block51param4 = v2107; + block51param5 = v2109; + cff = 51usize; + }; + let mut cff2 = match cff { + 50usize => 0usize, + 51usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l128: loop { + let (v2098, ()) = (block50param0.clone(), ()); + let (v2100, ()) = (block50param1.clone(), ()); + let (v2101, ()) = (block50param2.clone(), ()); + let (v2102, ()) = (block50param3.clone(), ()); + let (v2104, ()) = (block50param4.clone(), ()); + let (v2106, ()) = (block50param5.clone(), ()); + let (v2108, ()) = (block50param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2101.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v2102 != 0 { + block32param0 = v2102; + block32param1 = v2098; + block32param2 = v2100; + block32param3 = v2104; + block32param4 = v2106; + block32param5 = v2108; + cff = 32usize; + break 'l128; + } else { + block53param0 = v2100; + block53param1 = v2104; + block53param2 = v2106; + block53param3 = v2108; + cff = 53usize; + }; + let mut cff2 = match cff { + 53usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l143: loop { + let (v2122, ()) = (block53param0.clone(), ()); + let (v2123, ()) = (block53param1.clone(), ()); + let (v2124, ()) = (block53param2.clone(), ()); + let (v2125, ()) = (block53param3.clone(), ()); + let (v299, ()) = (0u32, ()); + let (v300, ()) = (0u32, ()); + let (v301, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v300.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v302, ()) = (4294967294u32, ()); + let (v305, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2122.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v306, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ::wars_rt::func::cast::<_, _, C>(v305.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v307, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ::wars_rt::func::cast::<_, _, C>(v306.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v299.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block31param0 = v2123; + block31param1 = v2122; + block31param2 = v2124; + block31param3 = v2125; + cff = 31usize; + break 'l143; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l127: loop { + let (v2110, ()) = (block51param0.clone(), ()); + let (v2111, ()) = (block51param1.clone(), ()); + let (v2112, ()) = (block51param2.clone(), ()); + let (v2113, ()) = (block51param3.clone(), ()); + let (v2114, ()) = (block51param4.clone(), ()); + let (v2115, ()) = (block51param5.clone(), ()); + let (v282, ()) = (16u32, ()); + let (v283, ()) = (20u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2110.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v286, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v2111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v287, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v282.clone()), + ::wars_rt::func::cast::<_, _, C>(v283.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2110.clone()), + ::wars_rt::func::cast::<_, _, C>(v287.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v288.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v295, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v2112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v295 != 0 { + block31param0 = v2113; + block31param1 = v2111; + block31param2 = v2114; + block31param3 = v2115; + cff = 31usize; + break 'l127; + } else { + block52param0 = v2110; + block52param1 = v2111; + block52param2 = v2112; + block52param3 = v2113; + block52param4 = v2114; + block52param5 = v2115; + cff = 52usize; + }; + let mut cff2 = match cff { + 52usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l144: loop { + let (v2116, ()) = (block52param0.clone(), ()); + let (v2117, ()) = (block52param1.clone(), ()); + let (v2118, ()) = (block52param2.clone(), ()); + let (v2119, ()) = (block52param3.clone(), ()); + let (v2120, ()) = (block52param4.clone(), ()); + let (v2121, ()) = (block52param5.clone(), ()); + block32param0 = v2118; + block32param1 = v2116; + block32param2 = v2117; + block32param3 = v2119; + block32param4 = v2120; + block32param5 = v2121; + cff = 32usize; + break 'l144; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l126: loop { + let (v435, ()) = (block32param0.clone(), ()); + let (v437, ()) = (block32param1.clone(), ()); + let (v441, ()) = (block32param2.clone(), ()); + let (v477, ()) = (block32param3.clone(), ()); + let (v502, ()) = (block32param4.clone(), ()); + let (v1858, ()) = (block32param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v443, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v441.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v444, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v444 != 0 { + block62param0 = v441; + block62param1 = v435; + block62param2 = v477; + block62param3 = v502; + block62param4 = v1858; + cff = 62usize; + } else { + block63param0 = v435; + block63param1 = v441; + block63param2 = v443; + block63param3 = v477; + block63param4 = v502; + block63param5 = v1858; + cff = 63usize; + }; + let mut cff2 = match cff { + 63usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l142: loop { + let (v2161, ()) = (block63param0.clone(), ()); + let (v2162, ()) = (block63param1.clone(), ()); + let (v2163, ()) = (block63param2.clone(), ()); + let (v2164, ()) = (block63param3.clone(), ()); + let (v2165, ()) = (block63param4.clone(), ()); + let (v2166, ()) = (block63param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2161.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2163.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2161.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block62param0 = v2162; + block62param1 = v2161; + block62param2 = v2164; + block62param3 = v2165; + block62param4 = v2166; + cff = 62usize; + break 'l142; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l141: loop { + let (v449, ()) = (block62param0.clone(), ()); + let (v456, ()) = (block62param1.clone(), ()); + let (v476, ()) = (block62param2.clone(), ()); + let (v501, ()) = (block62param3.clone(), ()); + let (v1857, ()) = (block62param4.clone(), ()); + let (v451, ()) = (20u32, ()); + let (v452, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v449.clone()), + ::wars_rt::func::cast::<_, _, C>(v451.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v453, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v452.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v454, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v453.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v454 != 0 { + block31param0 = v476; + block31param1 = v449; + block31param2 = v501; + block31param3 = v1857; + cff = 31usize; + break 'l141; + } else { + block64param0 = v449; + block64param1 = v453; + block64param2 = v456; + block64param3 = v476; + block64param4 = v501; + block64param5 = v1857; + cff = 64usize; + }; + let mut cff2 = match cff { + 64usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l152: loop { + let (v2167, ()) = (block64param0.clone(), ()); + let (v2168, ()) = (block64param1.clone(), ()); + let (v2169, ()) = (block64param2.clone(), ()); + let (v2170, ()) = (block64param3.clone(), ()); + let (v2171, ()) = (block64param4.clone(), ()); + let (v2172, ()) = (block64param5.clone(), ()); + let (v457, ()) = (20u32, ()); + let (v458, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2169.clone()), + ::wars_rt::func::cast::<_, _, C>(v457.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v458.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2168.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2168.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block31param0 = v2170; + block31param1 = v2167; + block31param2 = v2171; + block31param3 = v2172; + cff = 31usize; + break 'l152; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l104: loop { + let (v462, ()) = (block31param0.clone(), ()); + let (v484, ()) = (block31param1.clone(), ()); + let (v487, ()) = (block31param2.clone(), ()); + let (v1839, ()) = (block31param3.clone(), ()); + let (v481, ()) = (16u32, ()); + let (v482, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v482 != 0 { + block67param0 = v462; + block67param1 = v484; + block67param2 = v487; + block67param3 = v1839; + cff = 67usize; + } else { + block68param0 = v462; + block68param1 = v484; + block68param2 = v487; + block68param3 = v1839; + cff = 68usize; + }; + let mut cff2 = match cff { + 67usize => 0usize, + 68usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l123: loop { + let (v2173, ()) = (block67param0.clone(), ()); + let (v2174, ()) = (block67param1.clone(), ()); + let (v2175, ()) = (block67param2.clone(), ()); + let (v2176, ()) = (block67param3.clone(), ()); + let (v553, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2173.clone()), + ::wars_rt::func::cast::<_, _, C>(v2175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v554, ()) = (3u32, ()); + let (v555, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v553.clone()), + ::wars_rt::func::cast::<_, _, C>(v554.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2174.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v555.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v557, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2174.clone()), + ::wars_rt::func::cast::<_, _, C>(v553.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v558, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v557.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v559, ()) = (1u32, ()); + let (v560, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v558.clone()), + ::wars_rt::func::cast::<_, _, C>(v559.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v557.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v560.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block65param0 = v2174; + block65param1 = v2176; + cff = 65usize; + break 'l123; + }; + } + 1usize => { + 'l124: loop { + let (v2177, ()) = (block68param0.clone(), ()); + let (v2178, ()) = (block68param1.clone(), ()); + let (v2179, ()) = (block68param2.clone(), ()); + let (v2180, ()) = (block68param3.clone(), ()); + let (v506, ()) = (3u32, ()); + let (v507, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2179.clone()), + ::wars_rt::func::cast::<_, _, C>(v506.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2178.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v507.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v509, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2178.clone()), + ::wars_rt::func::cast::<_, _, C>(v2179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v511, ()) = (1u32, ()); + let (v512, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ::wars_rt::func::cast::<_, _, C>(v511.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v509.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v512.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v514, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v509.clone()), + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v514.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v516, ()) = (0u32, ()); + let (v517, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v516.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v518, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v517.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v518 != 0 { + block66param0 = v509; + block66param1 = v2177; + block66param2 = v2178; + block66param3 = v2180; + cff = 66usize; + } else { + block69param0 = v517; + block69param1 = v2177; + block69param2 = v2178; + block69param3 = v509; + block69param4 = v2180; + cff = 69usize; + }; + let mut cff2 = match cff { + 69usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l140: loop { + let (v2181, ()) = (block69param0.clone(), ()); + let (v2183, ()) = (block69param1.clone(), ()); + let (v2185, ()) = (block69param2.clone(), ()); + let (v2187, ()) = (block69param3.clone(), ()); + let (v2191, ()) = (block69param4.clone(), ()); + let (v520, ()) = (4294967288u32, ()); + let (v521, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2181.clone()), + ::wars_rt::func::cast::<_, _, C>(v520.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v522, ()) = (1049556u32, ()); + let (v523, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v521.clone()), + ::wars_rt::func::cast::<_, _, C>(v522.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v524, ()) = (0u32, ()); + let (v525, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v524.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v526, ()) = (0u32, ()); + let (v527, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v526.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v528, ()) = (1u32, ()); + let (v529, ()) = (3u32, ()); + let (v530, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2181.clone()), + ::wars_rt::func::cast::<_, _, C>(v529.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v531, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v528.clone()), + ::wars_rt::func::cast::<_, _, C>(v530.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v532, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v527.clone()), + ::wars_rt::func::cast::<_, _, C>(v531.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v532 != 0 { + block71param0 = v2183; + block71param1 = v2185; + block71param2 = v2187; + block71param3 = v523; + block71param4 = v525; + block71param5 = v2191; + cff = 71usize; + } else { + block72param0 = v2183; + block72param1 = v2185; + block72param2 = v2187; + block72param3 = v523; + block72param4 = v525; + block72param5 = v527; + block72param6 = v531; + block72param7 = v2191; + cff = 72usize; + }; + let mut cff2 = match cff { + 71usize => 0usize, + 72usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l151: loop { + let (v2182, ()) = (block71param0.clone(), ()); + let (v2184, ()) = (block71param1.clone(), ()); + let (v2186, ()) = (block71param2.clone(), ()); + let (v2188, ()) = (block71param3.clone(), ()); + let (v2189, ()) = (block71param4.clone(), ()); + let (v2190, ()) = (block71param5.clone(), ()); + let (v540, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2188.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block70param0 = v2188; + block70param1 = v2189; + block70param2 = v540; + block70param3 = v2186; + block70param4 = v2182; + block70param5 = v2184; + block70param6 = v2190; + cff = 70usize; + break 'l151; + }; + } + 1usize => { + 'l150: loop { + let (v2192, ()) = (block72param0.clone(), ()); + let (v2193, ()) = (block72param1.clone(), ()); + let (v2194, ()) = (block72param2.clone(), ()); + let (v2195, ()) = (block72param3.clone(), ()); + let (v2196, ()) = (block72param4.clone(), ()); + let (v2197, ()) = (block72param5.clone(), ()); + let (v2198, ()) = (block72param6.clone(), ()); + let (v2199, ()) = (block72param7.clone(), ()); + let (v533, ()) = (0u32, ()); + let (v536, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2197.clone()), + ::wars_rt::func::cast::<_, _, C>(v2198.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v533.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v536.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block70param0 = v2195; + block70param1 = v2196; + block70param2 = v2195; + block70param3 = v2194; + block70param4 = v2192; + block70param5 = v2193; + block70param6 = v2199; + cff = 70usize; + break 'l150; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l149: loop { + let (v541, ()) = (block70param0.clone(), ()); + let (v542, ()) = (block70param1.clone(), ()); + let (v546, ()) = (block70param2.clone(), ()); + let (v564, ()) = (block70param3.clone(), ()); + let (v571, ()) = (block70param4.clone(), ()); + let (v578, ()) = (block70param5.clone(), ()); + let (v1864, ()) = (block70param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v541.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v542.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v546.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v542.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v542.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v541.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v542.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v546.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block66param0 = v564; + block66param1 = v571; + block66param2 = v578; + block66param3 = v1864; + cff = 66usize; + break 'l149; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 66usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l139: loop { + let (v563, ()) = (block66param0.clone(), ()); + let (v570, ()) = (block66param1.clone(), ()); + let (v577, ()) = (block66param2.clone(), ()); + let (v1862, ()) = (block66param3.clone(), ()); + let (v562, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v562.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v563.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v569, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v569.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v570.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block65param0 = v577; + block65param1 = v1862; + cff = 65usize; + break 'l139; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 65usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l122: loop { + let (v576, ()) = (block65param0.clone(), ()); + let (v1837, ()) = (block65param1.clone(), ()); + let (v582, ()) = (8u32, ()); + let (v583, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v576.clone()), + ::wars_rt::func::cast::<_, _, C>(v582.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1837; + block2param1 = v583; + cff = 2usize; + break 'l122; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l64: loop { + let (v309, ()) = (block38param0.clone(), ()); + let (v313, ()) = (block38param1.clone(), ()); + let (v317, ()) = (block38param2.clone(), ()); + let (v322, ()) = (block38param3.clone(), ()); + let (v1847, ()) = (block38param4.clone(), ()); + let (v310, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v309.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v311, ()) = (4294967288u32, ()); + let (v312, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v316, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v312.clone()), + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v320, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v321, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v323, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block36param0 = v309; + block36param1 = v323; + block36param2 = v313; + block36param3 = v321; + block36param4 = v1847; + cff = 36usize; + continue 'l50; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v2019, ()) = (block26param0.clone(), ()); + let (v2020, ()) = (block26param1.clone(), ()); + let (v2022, ()) = (block26param2.clone(), ()); + let (v2024, ()) = (block26param3.clone(), ()); + let (v140, ()) = (4294967295u32, ()); + let (v141, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v2020.clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v142, ()) = (1u32, ()); + let (v143, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v2019.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v146, ()) = (3u32, ()); + let (v147, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = (1049556u32, ()); + let (v149, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (1049564u32, ()); + let (v151, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v152.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v154 != 0 { + block28param0 = v2022; + block28param1 = v2024; + block28param2 = v145; + block28param3 = v152; + cff = 28usize; + } else { + block29param0 = v2022; + block29param1 = v145; + block29param2 = v149; + block29param3 = v152; + block29param4 = v153; + cff = 29usize; + }; + let mut cff2 = match cff { + 28usize => 0usize, + 29usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v2021, ()) = (block28param0.clone(), ()); + let (v2023, ()) = (block28param1.clone(), ()); + let (v2025, ()) = (block28param2.clone(), ()); + let (v2026, ()) = (block28param3.clone(), ()); + let (v159, ()) = (0u32, ()); + let (v162, ()) = (4294967294u32, ()); + let (v164, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v2025.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v165, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2023.clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v159.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v2026; + block27param1 = v2025; + block27param2 = v2021; + cff = 27usize; + break 'l19; + } + } + 1usize => { + 'l18: loop { + let (v2027, ()) = (block29param0.clone(), ()); + let (v2028, ()) = (block29param1.clone(), ()); + let (v2029, ()) = (block29param2.clone(), ()); + let (v2030, ()) = (block29param3.clone(), ()); + let (v2031, ()) = (block29param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2031.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2029.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2029.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2031.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v2030; + block27param1 = v2028; + block27param2 = v2027; + cff = 27usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v167, ()) = (block27param0.clone(), ()); + let (v172, ()) = (block27param1.clone(), ()); + let (v1824, ()) = (block27param2.clone(), ()); + let (v170, ()) = (8u32, ()); + let (v171, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v174, ()) = (3u32, ()); + let (v175, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v176, ()) = (3u32, ()); + let (v177, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ::wars_rt::func::cast::<_, _, C>(v176.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v179, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v180, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v181, ()) = (1u32, ()); + let (v182, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1824; + block2param1 = v171; + cff = 2usize; + break 'l17; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v1959, ()) = (block10param0.clone(), ()); + let (v1960, ()) = (block10param1.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v10, ()) = (4294901709u32, ()); + let (v11, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v1959.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v11 != 0 { + block2param0 = v1960; + block2param1 = v8; + cff = 2usize; + break 'l4; + } else { + block11param0 = v1959; + block11param1 = v1960; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v1961, ()) = (block11param0.clone(), ()); + let (v1962, ()) = (block11param1.clone(), ()); + let (v13, ()) = (11u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1961.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = (4294967288u32, ()); + let (v16, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v19 != 0 { + block5param0 = v16; + block5param1 = v1962; + cff = 5usize; + break 'l9; + } else { + block12param0 = v1962; + block12param1 = v16; + block12param2 = v18; + block12param3 = v14; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v1963, ()) = (block12param0.clone(), ()); + let (v1964, ()) = (block12param1.clone(), ()); + let (v1965, ()) = (block12param2.clone(), ()); + let (v1972, ()) = (block12param3.clone(), ()); + let (v20, ()) = (0u32, ()); + let (v22, ()) = (256u32, ()); + let (v23, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1964.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v23 != 0 { + block13param0 = v1964; + block13param1 = v20; + block13param2 = v1965; + block13param3 = v1963; + cff = 13usize; + } else { + block14param0 = v1963; + block14param1 = v1964; + block14param2 = v1965; + block14param3 = v1972; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v1966, ()) = (block14param0.clone(), ()); + let (v1967, ()) = (block14param1.clone(), ()); + let (v1968, ()) = (block14param2.clone(), ()); + let (v1971, ()) = (block14param3.clone(), ()); + let (v24, ()) = (31u32, ()); + let (v26, ()) = (16777215u32, ()); + let (v27, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1967.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v27 != 0 { + block13param0 = v1967; + block13param1 = v24; + block13param2 = v1968; + block13param3 = v1966; + cff = 13usize; + break 'l26; + } else { + block15param0 = v1966; + block15param1 = v1971; + block15param2 = v1967; + block15param3 = v1968; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v1969, ()) = (block15param0.clone(), ()); + let (v1970, ()) = (block15param1.clone(), ()); + let (v1973, ()) = (block15param2.clone(), ()); + let (v1974, ()) = (block15param3.clone(), ()); + let (v29, ()) = (6u32, ()); + let (v33, ()) = (8u32, ()); + let (v34, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1970.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32clz( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1973.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (1u32, ()); + let (v39, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (1u32, ()); + let (v41, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (62u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v1973; + block13param1 = v44; + block13param2 = v1974; + block13param3 = v1969; + cff = 13usize; + break 'l34; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l25: loop { + let (v46, ()) = (block13param0.clone(), ()); + let (v48, ()) = (block13param1.clone(), ()); + let (v608, ()) = (block13param2.clone(), ()); + let (v819, ()) = (block13param3.clone(), ()); + let (v45, ()) = (0u32, ()); + let (v47, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (2u32, ()); + let (v50, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (1049412u32, ()); + let (v52, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block16param0 = v46; + block16param1 = v47; + block16param2 = v48; + block16param3 = v53; + block16param4 = v608; + block16param5 = v819; + cff = 16usize; + } else { + block17param0 = v46; + block17param1 = v47; + block17param2 = v48; + block17param3 = v608; + block17param4 = v819; + cff = 17usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 17usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v1975, ()) = (block16param0.clone(), ()); + let (v1976, ()) = (block16param1.clone(), ()); + let (v1977, ()) = (block16param2.clone(), ()); + let (v1978, ()) = (block16param3.clone(), ()); + let (v1979, ()) = (block16param4.clone(), ()); + let (v1980, ()) = (block16param5.clone(), ()); + let (v56, ()) = (0u32, ()); + let (v58, ()) = (0u32, ()); + let (v59, ()) = (25u32, ()); + let (v61, ()) = (1u32, ()); + let (v62, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1977.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (31u32, ()); + let (v65, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1977.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1975.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (0u32, ()); + block18param0 = v1978; + block18param1 = v1975; + block18param2 = v1976; + block18param3 = v56; + block18param4 = v67; + block18param5 = v68; + block18param6 = v1977; + block18param7 = v1979; + block18param8 = v1980; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l51: loop { + let (v69, ()) = (block18param0.clone(), ()); + let (v73, ()) = (block18param1.clone(), ()); + let (v79, ()) = (block18param2.clone(), ()); + let (v91, ()) = (block18param3.clone(), ()); + let (v95, ()) = (block18param4.clone(), ()); + let (v587, ()) = (block18param5.clone(), ()); + let (v597, ()) = (block18param6.clone(), ()); + let (v613, ()) = (block18param7.clone(), ()); + let (v824, ()) = (block18param8.clone(), ()); + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = (4294967288u32, ()); + let (v72, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v74 != 0 { + block20param0 = v69; + block20param1 = v91; + block20param2 = v95; + block20param3 = v73; + block20param4 = v79; + block20param5 = v587; + block20param6 = v597; + block20param7 = v613; + block20param8 = v824; + cff = 20usize; + } else { + block21param0 = v69; + block21param1 = v72; + block21param2 = v73; + block21param3 = v79; + block21param4 = v91; + block21param5 = v95; + block21param6 = v587; + block21param7 = v597; + block21param8 = v613; + block21param9 = v824; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l67: loop { + let (v1986, ()) = (block21param0.clone(), ()); + let (v1987, ()) = (block21param1.clone(), ()); + let (v1988, ()) = (block21param2.clone(), ()); + let (v1989, ()) = (block21param3.clone(), ()); + let (v1990, ()) = (block21param4.clone(), ()); + let (v1991, ()) = (block21param5.clone(), ()); + let (v1992, ()) = (block21param6.clone(), ()); + let (v1993, ()) = (block21param7.clone(), ()); + let (v1994, ()) = (block21param8.clone(), ()); + let (v1995, ()) = (block21param9.clone(), ()); + let (v77, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1987.clone()), + ::wars_rt::func::cast::<_, _, C>(v1988.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v1989.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v80 != 0 { + block20param0 = v1986; + block20param1 = v1990; + block20param2 = v1991; + block20param3 = v1988; + block20param4 = v1989; + block20param5 = v1992; + block20param6 = v1993; + block20param7 = v1994; + block20param8 = v1995; + cff = 20usize; + break 'l67; + } else { + block22param0 = v1986; + block22param1 = v1988; + block22param2 = v77; + block22param3 = v1990; + block22param4 = v1991; + block22param5 = v1993; + block22param6 = v1994; + block22param7 = v1995; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l77: loop { + let (v1996, ()) = (block22param0.clone(), ()); + let (v1997, ()) = (block22param1.clone(), ()); + let (v1998, ()) = (block22param2.clone(), ()); + let (v1999, ()) = (block22param3.clone(), ()); + let (v2000, ()) = (block22param4.clone(), ()); + let (v2001, ()) = (block22param5.clone(), ()); + let (v2002, ()) = (block22param6.clone(), ()); + let (v2003, ()) = (block22param7.clone(), ()); + if v1998 != 0 { + block20param0 = v1996; + block20param1 = v1999; + block20param2 = v2000; + block20param3 = v1997; + block20param4 = v1998; + block20param5 = v1996; + block20param6 = v2001; + block20param7 = v2002; + block20param8 = v2003; + cff = 20usize; + break 'l77; + } else { + block23param0 = v1996; + block23param1 = v1997; + block23param2 = v2003; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l91: loop { + let (v2004, ()) = (block23param0.clone(), ()); + let (v2005, ()) = (block23param1.clone(), ()); + let (v2006, ()) = (block23param2.clone(), ()); + let (v84, ()) = (0u32, ()); + block7param0 = v2004; + block7param1 = v2004; + block7param2 = v2005; + block7param3 = v84; + block7param4 = v2006; + cff = 7usize; + break 'l91; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l66: loop { + let (v86, ()) = (block20param0.clone(), ()); + let (v90, ()) = (block20param1.clone(), ()); + let (v94, ()) = (block20param2.clone(), ()); + let (v115, ()) = (block20param3.clone(), ()); + let (v119, ()) = (block20param4.clone(), ()); + let (v586, ()) = (block20param5.clone(), ()); + let (v596, ()) = (block20param6.clone(), ()); + let (v612, ()) = (block20param7.clone(), ()); + let (v823, ()) = (block20param8.clone(), ()); + let (v87, ()) = (20u32, ()); + let (v88, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = (29u32, ()); + let (v99, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v100, ()) = (4u32, ()); + let (v101, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (16u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v104.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1u32, ()); + let (v110, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v111 != 0 { + block8param0 = v108; + block8param1 = v586; + block8param2 = v596; + block8param3 = v612; + block8param4 = v115; + block8param5 = v119; + block8param6 = v823; + cff = 8usize; + break 'l66; + } else { + block24param0 = v105; + block24param1 = v108; + block24param2 = v110; + block24param3 = v115; + block24param4 = v119; + block24param5 = v586; + block24param6 = v596; + block24param7 = v612; + block24param8 = v823; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l76: loop { + let (v2007, ()) = (block24param0.clone(), ()); + let (v2008, ()) = (block24param1.clone(), ()); + let (v2009, ()) = (block24param2.clone(), ()); + let (v2010, ()) = (block24param3.clone(), ()); + let (v2011, ()) = (block24param4.clone(), ()); + let (v2012, ()) = (block24param5.clone(), ()); + let (v2013, ()) = (block24param6.clone(), ()); + let (v2014, ()) = (block24param7.clone(), ()); + let (v2015, ()) = (block24param8.clone(), ()); + block18param0 = v2007; + block18param1 = v2010; + block18param2 = v2011; + block18param3 = v2008; + block18param4 = v2009; + block18param5 = v2012; + block18param6 = v2013; + block18param7 = v2014; + block18param8 = v2015; + cff = 18usize; + continue 'l51; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l39: loop { + let (v1981, ()) = (block17param0.clone(), ()); + let (v1982, ()) = (block17param1.clone(), ()); + let (v1983, ()) = (block17param2.clone(), ()); + let (v1984, ()) = (block17param3.clone(), ()); + let (v1985, ()) = (block17param4.clone(), ()); + let (v54, ()) = (0u32, ()); + let (v55, ()) = (0u32, ()); + block8param0 = v54; + block8param1 = v55; + block8param2 = v1983; + block8param3 = v1984; + block8param4 = v1981; + block8param5 = v1982; + block8param6 = v1985; + cff = 8usize; + break 'l39; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + 8usize => 2usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l35: loop { + let (v682, ()) = (block6param0.clone(), ()); + let (v689, ()) = (block6param1.clone(), ()); + let (v695, ()) = (block6param2.clone(), ()); + let (v829, ()) = (block6param3.clone(), ()); + let (v685, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v682.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v685 != 0 { + block5param0 = v689; + block5param1 = v829; + cff = 5usize; + break 'l35; + } else { + block82param0 = v682; + block82param1 = v689; + block82param2 = v695; + block82param3 = v829; + cff = 82usize; + }; + let mut cff2 = match cff { + 82usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l52: loop { + let (v2231, ()) = (block82param0.clone(), ()); + let (v2232, ()) = (block82param1.clone(), ()); + let (v2233, ()) = (block82param2.clone(), ()); + let (v2234, ()) = (block82param3.clone(), ()); + let (v686, ()) = (0u32, ()); + let (v687, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v686.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v692, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v687.clone()), + ::wars_rt::func::cast::<_, _, C>(v2232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v692 != 0 { + block83param0 = v2231; + block83param1 = v2233; + block83param2 = v2232; + block83param3 = v2234; + cff = 83usize; + } else { + block84param0 = v687; + block84param1 = v2232; + block84param2 = v2233; + block84param3 = v2234; + block84param4 = v2231; + cff = 84usize; + }; + let mut cff2 = match cff { + 84usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l69: loop { + let (v2235, ()) = (block84param0.clone(), ()); + let (v2236, ()) = (block84param1.clone(), ()); + let (v2237, ()) = (block84param2.clone(), ()); + let (v2238, ()) = (block84param3.clone(), ()); + let (v2240, ()) = (block84param4.clone(), ()); + let (v700, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2235.clone()), + ::wars_rt::func::cast::<_, _, C>(v2236.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v701, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2237.clone()), + ::wars_rt::func::cast::<_, _, C>(v700.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v701 != 0 { + block5param0 = v2236; + block5param1 = v2238; + cff = 5usize; + break 'l69; + } else { + block85param0 = v2240; + block85param1 = v2236; + block85param2 = v2237; + block85param3 = v2238; + cff = 85usize; + }; + let mut cff2 = match cff { + 85usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l73: loop { + let (v2239, ()) = (block85param0.clone(), ()); + let (v2241, ()) = (block85param1.clone(), ()); + let (v2242, ()) = (block85param2.clone(), ()); + let (v2243, ()) = (block85param3.clone(), ()); + block83param0 = v2239; + block83param1 = v2242; + block83param2 = v2241; + block83param3 = v2243; + cff = 83usize; + break 'l73; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l68: loop { + let (v702, ()) = (block83param0.clone(), ()); + let (v1716, ()) = (block83param1.clone(), ()); + let (v1742, ()) = (block83param2.clone(), ()); + let (v1933, ()) = (block83param3.clone(), ()); + let (v706, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v702.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v707, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v702.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v708, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v707.clone()), + ::wars_rt::func::cast::<_, _, C>(v702.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v708 != 0 { + block88param0 = v702; + block88param1 = v706; + block88param2 = v707; + block88param3 = v1716; + block88param4 = v1742; + block88param5 = v1933; + cff = 88usize; + } else { + block89param0 = v702; + block89param1 = v706; + block89param2 = v1716; + block89param3 = v1742; + block89param4 = v1933; + cff = 89usize; + }; + let mut cff2 = match cff { + 88usize => 0usize, + 89usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l80: loop { + let (v2249, ()) = (block88param0.clone(), ()); + let (v2250, ()) = (block88param1.clone(), ()); + let (v2251, ()) = (block88param2.clone(), ()); + let (v2252, ()) = (block88param3.clone(), ()); + let (v2253, ()) = (block88param4.clone(), ()); + let (v2254, ()) = (block88param5.clone(), ()); + let (v720, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2249.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v720.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2251.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2251.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v720.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block86param0 = v2250; + block86param1 = v2249; + block86param2 = v2251; + block86param3 = v2252; + block86param4 = v2253; + block86param5 = v2254; + cff = 86usize; + break 'l80; + }; + } + 1usize => { + 'l79: loop { + let (v2245, ()) = (block89param0.clone(), ()); + let (v2257, ()) = (block89param1.clone(), ()); + let (v2259, ()) = (block89param2.clone(), ()); + let (v2261, ()) = (block89param3.clone(), ()); + let (v2263, ()) = (block89param4.clone(), ()); + let (v710, ()) = (20u32, ()); + let (v711, ()) = (16u32, ()); + let (v712, ()) = (20u32, ()); + let (v713, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2245.clone()), + ::wars_rt::func::cast::<_, _, C>(v712.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v714, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v713.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v715, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v710.clone()), + ::wars_rt::func::cast::<_, _, C>(v711.clone()), + ::wars_rt::func::cast::<_, _, C>(v714.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v716, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2245.clone()), + ::wars_rt::func::cast::<_, _, C>(v715.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v717, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v716.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v717 != 0 { + block87param0 = v2245; + block87param1 = v713; + block87param2 = v714; + block87param3 = v717; + block87param4 = v2257; + block87param5 = v2259; + block87param6 = v2261; + block87param7 = v2263; + cff = 87usize; + } else { + block90param0 = v2245; + block90param1 = v2257; + block90param2 = v2259; + block90param3 = v2261; + block90param4 = v2263; + cff = 90usize; + }; + let mut cff2 = match cff { + 87usize => 0usize, + 90usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l86: loop { + let (v2244, ()) = (block87param0.clone(), ()); + let (v2246, ()) = (block87param1.clone(), ()); + let (v2247, ()) = (block87param2.clone(), ()); + let (v2248, ()) = (block87param3.clone(), ()); + let (v2270, ()) = (block87param4.clone(), ()); + let (v2278, ()) = (block87param5.clone(), ()); + let (v2282, ()) = (block87param6.clone(), ()); + let (v2286, ()) = (block87param7.clone(), ()); + let (v726, ()) = (16u32, ()); + let (v727, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2244.clone()), + ::wars_rt::func::cast::<_, _, C>(v726.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v729, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2246.clone()), + ::wars_rt::func::cast::<_, _, C>(v727.clone()), + ::wars_rt::func::cast::<_, _, C>(v2247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block91param0 = v729; + block91param1 = v2248; + block91param2 = v2244; + block91param3 = v2270; + block91param4 = v2278; + block91param5 = v2282; + block91param6 = v2286; + cff = 91usize; + let mut cff2 = match cff { + 91usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l101: loop { + let (v730, ()) = (block91param0.clone(), ()); + let (v731, ()) = (block91param1.clone(), ()); + let (v2266, ()) = (block91param2.clone(), ()); + let (v2269, ()) = (block91param3.clone(), ()); + let (v2277, ()) = (block91param4.clone(), ()); + let (v2281, ()) = (block91param5.clone(), ()); + let (v2285, ()) = (block91param6.clone(), ()); + let (v732, ()) = (20u32, ()); + let (v733, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v732.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v734, ()) = (16u32, ()); + let (v735, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v734.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v736, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v733.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v737, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v733.clone()), + ::wars_rt::func::cast::<_, _, C>(v735.clone()), + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v738, ()) = (20u32, ()); + let (v739, ()) = (16u32, ()); + let (v740, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v738.clone()), + ::wars_rt::func::cast::<_, _, C>(v739.clone()), + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v741, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v740.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v742, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v741.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v742 != 0 { + block91param0 = v737; + block91param1 = v742; + block91param2 = v2266; + block91param3 = v2269; + block91param4 = v2277; + block91param5 = v2281; + block91param6 = v2285; + cff = 91usize; + continue 'l101; + } else { + block93param0 = v2266; + block93param1 = v2269; + block93param2 = v730; + block93param3 = v731; + block93param4 = v2277; + block93param5 = v2281; + block93param6 = v2285; + cff = 93usize; + }; + let mut cff2 = match cff { + 93usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l121: loop { + let (v2265, ()) = (block93param0.clone(), ()); + let (v2268, ()) = (block93param1.clone(), ()); + let (v2272, ()) = (block93param2.clone(), ()); + let (v2274, ()) = (block93param3.clone(), ()); + let (v2276, ()) = (block93param4.clone(), ()); + let (v2280, ()) = (block93param5.clone(), ()); + let (v2284, ()) = (block93param6.clone(), ()); + block92param0 = v2265; + block92param1 = v2268; + block92param2 = v2272; + block92param3 = v2274; + block92param4 = v2276; + block92param5 = v2280; + block92param6 = v2284; + cff = 92usize; + let mut cff2 = match cff { + 92usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l138: loop { + let (v2264, ()) = (block92param0.clone(), ()); + let (v2267, ()) = (block92param1.clone(), ()); + let (v2271, ()) = (block92param2.clone(), ()); + let (v2273, ()) = (block92param3.clone(), ()); + let (v2275, ()) = (block92param4.clone(), ()); + let (v2279, ()) = (block92param5.clone(), ()); + let (v2283, ()) = (block92param6.clone(), ()); + let (v746, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2271.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v746.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block86param0 = v2267; + block86param1 = v2264; + block86param2 = v2273; + block86param3 = v2275; + block86param4 = v2279; + block86param5 = v2283; + cff = 86usize; + break 'l138; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l85: loop { + let (v2255, ()) = (block90param0.clone(), ()); + let (v2256, ()) = (block90param1.clone(), ()); + let (v2258, ()) = (block90param2.clone(), ()); + let (v2260, ()) = (block90param3.clone(), ()); + let (v2262, ()) = (block90param4.clone(), ()); + let (v718, ()) = (0u32, ()); + block86param0 = v2256; + block86param1 = v2255; + block86param2 = v718; + block86param3 = v2258; + block86param4 = v2260; + block86param5 = v2262; + cff = 86usize; + break 'l85; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l78: loop { + let (v748, ()) = (block86param0.clone(), ()); + let (v758, ()) = (block86param1.clone(), ()); + let (v781, ()) = (block86param2.clone(), ()); + let (v1713, ()) = (block86param3.clone(), ()); + let (v1739, ()) = (block86param4.clone(), ()); + let (v1930, ()) = (block86param5.clone(), ()); + let (v756, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v748.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v756 != 0 { + block3param0 = v1713; + block3param1 = v758; + block3param2 = v1739; + block3param3 = v1930; + cff = 3usize; + } else { + block94param0 = v758; + block94param1 = v748; + block94param2 = v781; + block94param3 = v1713; + block94param4 = v1739; + block94param5 = v1930; + cff = 94usize; + }; + let mut cff2 = match cff { + 94usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l93: loop { + let (v2287, ()) = (block94param0.clone(), ()); + let (v2289, ()) = (block94param1.clone(), ()); + let (v2293, ()) = (block94param2.clone(), ()); + let (v2295, ()) = (block94param3.clone(), ()); + let (v2297, ()) = (block94param4.clone(), ()); + let (v2299, ()) = (block94param5.clone(), ()); + let (v763, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2287.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v764, ()) = (2u32, ()); + let (v765, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v763.clone()), + ::wars_rt::func::cast::<_, _, C>(v764.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v766, ()) = (1049412u32, ()); + let (v767, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v765.clone()), + ::wars_rt::func::cast::<_, _, C>(v766.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v768, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v767.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v769, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v768.clone()), + ::wars_rt::func::cast::<_, _, C>(v2287.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v769 != 0 { + block95param0 = v2289; + block95param1 = v2287; + block95param2 = v767; + block95param3 = v2293; + block95param4 = v2295; + block95param5 = v2297; + block95param6 = v2299; + cff = 95usize; + } else { + block96param0 = v2289; + block96param1 = v2287; + block96param2 = v2293; + block96param3 = v2295; + block96param4 = v2297; + block96param5 = v2299; + cff = 96usize; + }; + let mut cff2 = match cff { + 95usize => 0usize, + 96usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l108: loop { + let (v2288, ()) = (block95param0.clone(), ()); + let (v2290, ()) = (block95param1.clone(), ()); + let (v2291, ()) = (block95param2.clone(), ()); + let (v2292, ()) = (block95param3.clone(), ()); + let (v2294, ()) = (block95param4.clone(), ()); + let (v2296, ()) = (block95param5.clone(), ()); + let (v2298, ()) = (block95param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2291.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v2292 != 0 { + block4param0 = v2292; + block4param1 = v2288; + block4param2 = v2290; + block4param3 = v2294; + block4param4 = v2296; + block4param5 = v2298; + cff = 4usize; + break 'l108; + } else { + block98param0 = v2290; + block98param1 = v2294; + block98param2 = v2296; + block98param3 = v2298; + cff = 98usize; + }; + let mut cff2 = match cff { + 98usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l119: loop { + let (v2312, ()) = (block98param0.clone(), ()); + let (v2313, ()) = (block98param1.clone(), ()); + let (v2314, ()) = (block98param2.clone(), ()); + let (v2315, ()) = (block98param3.clone(), ()); + let (v789, ()) = (0u32, ()); + let (v790, ()) = (0u32, ()); + let (v791, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v790.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v792, ()) = (4294967294u32, ()); + let (v795, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2312.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v796, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v792.clone()), + ::wars_rt::func::cast::<_, _, C>(v795.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v797, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v791.clone()), + ::wars_rt::func::cast::<_, _, C>(v796.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v789.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v797.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v2313; + block3param1 = v2312; + block3param2 = v2314; + block3param3 = v2315; + cff = 3usize; + break 'l119; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l107: loop { + let (v2300, ()) = (block96param0.clone(), ()); + let (v2301, ()) = (block96param1.clone(), ()); + let (v2302, ()) = (block96param2.clone(), ()); + let (v2303, ()) = (block96param3.clone(), ()); + let (v2304, ()) = (block96param4.clone(), ()); + let (v2305, ()) = (block96param5.clone(), ()); + let (v772, ()) = (16u32, ()); + let (v773, ()) = (20u32, ()); + let (v774, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2300.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v776, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v774.clone()), + ::wars_rt::func::cast::<_, _, C>(v2301.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v777, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v772.clone()), + ::wars_rt::func::cast::<_, _, C>(v773.clone()), + ::wars_rt::func::cast::<_, _, C>(v776.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v778, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2300.clone()), + ::wars_rt::func::cast::<_, _, C>(v777.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v778.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v785, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v2302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v785 != 0 { + block3param0 = v2303; + block3param1 = v2301; + block3param2 = v2304; + block3param3 = v2305; + cff = 3usize; + break 'l107; + } else { + block97param0 = v2300; + block97param1 = v2301; + block97param2 = v2302; + block97param3 = v2303; + block97param4 = v2304; + block97param5 = v2305; + cff = 97usize; + }; + let mut cff2 = match cff { + 97usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l120: loop { + let (v2306, ()) = (block97param0.clone(), ()); + let (v2307, ()) = (block97param1.clone(), ()); + let (v2308, ()) = (block97param2.clone(), ()); + let (v2309, ()) = (block97param3.clone(), ()); + let (v2310, ()) = (block97param4.clone(), ()); + let (v2311, ()) = (block97param5.clone(), ()); + block4param0 = v2308; + block4param1 = v2306; + block4param2 = v2307; + block4param3 = v2309; + block4param4 = v2310; + block4param5 = v2311; + cff = 4usize; + break 'l120; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l106: loop { + let (v1685, ()) = (block4param0.clone(), ()); + let (v1687, ()) = (block4param1.clone(), ()); + let (v1691, ()) = (block4param2.clone(), ()); + let (v1728, ()) = (block4param3.clone(), ()); + let (v1754, ()) = (block4param4.clone(), ()); + let (v1945, ()) = (block4param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1685.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1687.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1693, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1691.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1694, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1693.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1694 != 0 { + block163param0 = v1691; + block163param1 = v1685; + block163param2 = v1728; + block163param3 = v1754; + block163param4 = v1945; + cff = 163usize; + } else { + block164param0 = v1685; + block164param1 = v1691; + block164param2 = v1693; + block164param3 = v1728; + block164param4 = v1754; + block164param5 = v1945; + cff = 164usize; + }; + let mut cff2 = match cff { + 164usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l112: loop { + let (v2564, ()) = (block164param0.clone(), ()); + let (v2565, ()) = (block164param1.clone(), ()); + let (v2566, ()) = (block164param2.clone(), ()); + let (v2567, ()) = (block164param3.clone(), ()); + let (v2568, ()) = (block164param4.clone(), ()); + let (v2569, ()) = (block164param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2564.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2566.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2566.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2564.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block163param0 = v2565; + block163param1 = v2564; + block163param2 = v2567; + block163param3 = v2568; + block163param4 = v2569; + cff = 163usize; + break 'l112; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l111: loop { + let (v1699, ()) = (block163param0.clone(), ()); + let (v1706, ()) = (block163param1.clone(), ()); + let (v1727, ()) = (block163param2.clone(), ()); + let (v1753, ()) = (block163param3.clone(), ()); + let (v1944, ()) = (block163param4.clone(), ()); + let (v1701, ()) = (20u32, ()); + let (v1702, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1699.clone()), + ::wars_rt::func::cast::<_, _, C>(v1701.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1703, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1702.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1704, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1703.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1704 != 0 { + block3param0 = v1727; + block3param1 = v1699; + block3param2 = v1753; + block3param3 = v1944; + cff = 3usize; + break 'l111; + } else { + block165param0 = v1699; + block165param1 = v1703; + block165param2 = v1706; + block165param3 = v1727; + block165param4 = v1753; + block165param5 = v1944; + cff = 165usize; + }; + let mut cff2 = match cff { + 165usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l132: loop { + let (v2570, ()) = (block165param0.clone(), ()); + let (v2571, ()) = (block165param1.clone(), ()); + let (v2572, ()) = (block165param2.clone(), ()); + let (v2573, ()) = (block165param3.clone(), ()); + let (v2574, ()) = (block165param4.clone(), ()); + let (v2575, ()) = (block165param5.clone(), ()); + let (v1707, ()) = (20u32, ()); + let (v1708, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2572.clone()), + ::wars_rt::func::cast::<_, _, C>(v1707.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1708.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2571.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2571.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2572.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v2573; + block3param1 = v2570; + block3param2 = v2574; + block3param3 = v2575; + cff = 3usize; + break 'l132; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l92: loop { + let (v1712, ()) = (block3param0.clone(), ()); + let (v1735, ()) = (block3param1.clone(), ()); + let (v1738, ()) = (block3param2.clone(), ()); + let (v1929, ()) = (block3param3.clone(), ()); + let (v1732, ()) = (16u32, ()); + let (v1733, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1712.clone()), + ::wars_rt::func::cast::<_, _, C>(v1732.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1733 != 0 { + block167param0 = v1712; + block167param1 = v1735; + block167param2 = v1738; + block167param3 = v1929; + cff = 167usize; + } else { + block168param0 = v1712; + block168param1 = v1735; + block168param2 = v1738; + block168param3 = v1929; + cff = 168usize; + }; + let mut cff2 = match cff { + 167usize => 0usize, + 168usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l96: loop { + let (v2576, ()) = (block167param0.clone(), ()); + let (v2577, ()) = (block167param1.clone(), ()); + let (v2578, ()) = (block167param2.clone(), ()); + let (v2579, ()) = (block167param3.clone(), ()); + let (v1806, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2576.clone()), + ::wars_rt::func::cast::<_, _, C>(v2578.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1807, ()) = (3u32, ()); + let (v1808, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1806.clone()), + ::wars_rt::func::cast::<_, _, C>(v1807.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2577.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1808.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1810, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2577.clone()), + ::wars_rt::func::cast::<_, _, C>(v1806.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1811, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1810.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1812, ()) = (1u32, ()); + let (v1813, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1811.clone()), + ::wars_rt::func::cast::<_, _, C>(v1812.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1810.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1813.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v2577; + block166param1 = v2579; + cff = 166usize; + break 'l96; + }; + } + 1usize => { + 'l95: loop { + let (v2580, ()) = (block168param0.clone(), ()); + let (v2581, ()) = (block168param1.clone(), ()); + let (v2582, ()) = (block168param2.clone(), ()); + let (v2588, ()) = (block168param3.clone(), ()); + let (v1758, ()) = (3u32, ()); + let (v1759, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2582.clone()), + ::wars_rt::func::cast::<_, _, C>(v1758.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2581.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1759.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1761, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2581.clone()), + ::wars_rt::func::cast::<_, _, C>(v2582.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1763, ()) = (1u32, ()); + let (v1764, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ::wars_rt::func::cast::<_, _, C>(v1763.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1761.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1764.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1766, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1761.clone()), + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1766.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1768, ()) = (256u32, ()); + let (v1769, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ::wars_rt::func::cast::<_, _, C>(v1768.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1769 != 0 { + block169param0 = v2580; + block169param1 = v2581; + block169param2 = v1761; + block169param3 = v2588; + cff = 169usize; + } else { + block170param0 = v2580; + block170param1 = v2581; + block170param2 = v1761; + block170param3 = v2588; + cff = 170usize; + }; + let mut cff2 = match cff { + 169usize => 0usize, + 170usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l110: loop { + let (v2583, ()) = (block169param0.clone(), ()); + let (v2590, ()) = (block169param1.clone(), ()); + let (v2592, ()) = (block169param2.clone(), ()); + let (v2595, ()) = (block169param3.clone(), ()); + let (v1774, ()) = (4294967288u32, ()); + let (v1775, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2583.clone()), + ::wars_rt::func::cast::<_, _, C>(v1774.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1776, ()) = (1049556u32, ()); + let (v1777, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1775.clone()), + ::wars_rt::func::cast::<_, _, C>(v1776.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1778, ()) = (0u32, ()); + let (v1779, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1778.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1780, ()) = (1u32, ()); + let (v1781, ()) = (3u32, ()); + let (v1782, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2583.clone()), + ::wars_rt::func::cast::<_, _, C>(v1781.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1783, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1780.clone()), + ::wars_rt::func::cast::<_, _, C>(v1782.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1784, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1779.clone()), + ::wars_rt::func::cast::<_, _, C>(v1783.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1784 != 0 { + block172param0 = v2590; + block172param1 = v2592; + block172param2 = v1777; + block172param3 = v2595; + cff = 172usize; + } else { + block173param0 = v2590; + block173param1 = v2592; + block173param2 = v1777; + block173param3 = v1779; + block173param4 = v1783; + block173param5 = v2595; + cff = 173usize; + }; + let mut cff2 = match cff { + 172usize => 0usize, + 173usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l131: loop { + let (v2589, ()) = (block172param0.clone(), ()); + let (v2591, ()) = (block172param1.clone(), ()); + let (v2593, ()) = (block172param2.clone(), ()); + let (v2594, ()) = (block172param3.clone(), ()); + let (v1792, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2593.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block171param0 = v2593; + block171param1 = v2591; + block171param2 = v1792; + block171param3 = v2589; + block171param4 = v2594; + cff = 171usize; + break 'l131; + }; + } + 1usize => { + 'l130: loop { + let (v2596, ()) = (block173param0.clone(), ()); + let (v2597, ()) = (block173param1.clone(), ()); + let (v2598, ()) = (block173param2.clone(), ()); + let (v2599, ()) = (block173param3.clone(), ()); + let (v2600, ()) = (block173param4.clone(), ()); + let (v2601, ()) = (block173param5.clone(), ()); + let (v1785, ()) = (0u32, ()); + let (v1788, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2599.clone()), + ::wars_rt::func::cast::<_, _, C>(v2600.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1785.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1788.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block171param0 = v2598; + block171param1 = v2597; + block171param2 = v2598; + block171param3 = v2596; + block171param4 = v2601; + cff = 171usize; + break 'l130; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l129: loop { + let (v1793, ()) = (block171param0.clone(), ()); + let (v1794, ()) = (block171param1.clone(), ()); + let (v1799, ()) = (block171param2.clone(), ()); + let (v1817, ()) = (block171param3.clone(), ()); + let (v1949, ()) = (block171param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1793.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1794.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1799.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1794.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1794.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1793.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1794.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1799.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v1817; + block166param1 = v1949; + cff = 166usize; + break 'l129; + }; + }; + } + 1usize => { + 'l109: loop { + let (v2584, ()) = (block170param0.clone(), ()); + let (v2585, ()) = (block170param1.clone(), ()); + let (v2586, ()) = (block170param2.clone(), ()); + let (v2587, ()) = (block170param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2586.clone()), + (::wars_rt::func::cast::<_, _, C>(v2584.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v2585; + block166param1 = v2587; + cff = 166usize; + break 'l109; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 166usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l94: loop { + let (v1815, ()) = (block166param0.clone(), ()); + let (v1926, ()) = (block166param1.clone(), ()); + let (v1821, ()) = (8u32, ()); + let (v1822, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1815.clone()), + ::wars_rt::func::cast::<_, _, C>(v1821.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1926; + block2param1 = v1822; + cff = 2usize; + break 'l94; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l36: loop { + let (v659, ()) = (block7param0.clone(), ()); + let (v661, ()) = (block7param1.clone(), ()); + let (v665, ()) = (block7param2.clone(), ()); + let (v675, ()) = (block7param3.clone(), ()); + let (v836, ()) = (block7param4.clone(), ()); + block77param0 = v659; + block77param1 = v661; + block77param2 = v665; + block77param3 = v675; + block77param4 = v836; + cff = 77usize; + let mut cff2 = match cff { + 77usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v629, ()) = (block77param0.clone(), ()); + let (v630, ()) = (block77param1.clone(), ()); + let (v634, ()) = (block77param2.clone(), ()); + let (v636, ()) = (block77param3.clone(), ()); + let (v835, ()) = (block77param4.clone(), ()); + let (v631, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v629.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v632, ()) = (4294967288u32, ()); + let (v633, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v631.clone()), + ::wars_rt::func::cast::<_, _, C>(v632.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v635, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v633.clone()), + ::wars_rt::func::cast::<_, _, C>(v634.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v637, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v635.clone()), + ::wars_rt::func::cast::<_, _, C>(v636.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v638, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v629.clone()), + ::wars_rt::func::cast::<_, _, C>(v630.clone()), + ::wars_rt::func::cast::<_, _, C>(v637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v639, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v633.clone()), + ::wars_rt::func::cast::<_, _, C>(v634.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v640, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v635.clone()), + ::wars_rt::func::cast::<_, _, C>(v636.clone()), + ::wars_rt::func::cast::<_, _, C>(v637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v641, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v629.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v641 != 0 { + block79param0 = v630; + block79param1 = v638; + block79param2 = v639; + block79param3 = v636; + block79param4 = v640; + block79param5 = v641; + block79param6 = v634; + block79param7 = v835; + cff = 79usize; + } else { + block80param0 = v629; + block80param1 = v630; + block80param2 = v634; + block80param3 = v636; + block80param4 = v638; + block80param5 = v639; + block80param6 = v640; + block80param7 = v835; + cff = 80usize; + }; + let mut cff2 = match cff { + 80usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l58: loop { + let (v2223, ()) = (block80param0.clone(), ()); + let (v2224, ()) = (block80param1.clone(), ()); + let (v2225, ()) = (block80param2.clone(), ()); + let (v2226, ()) = (block80param3.clone(), ()); + let (v2227, ()) = (block80param4.clone(), ()); + let (v2228, ()) = (block80param5.clone(), ()); + let (v2229, ()) = (block80param6.clone(), ()); + let (v2230, ()) = (block80param7.clone(), ()); + let (v643, ()) = (20u32, ()); + let (v644, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2223.clone()), + ::wars_rt::func::cast::<_, _, C>(v643.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v645, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v644.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block79param0 = v2224; + block79param1 = v2227; + block79param2 = v2228; + block79param3 = v2226; + block79param4 = v2229; + block79param5 = v645; + block79param6 = v2225; + block79param7 = v2230; + cff = 79usize; + break 'l58; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l57: loop { + let (v646, ()) = (block79param0.clone(), ()); + let (v648, ()) = (block79param1.clone(), ()); + let (v650, ()) = (block79param2.clone(), ()); + let (v653, ()) = (block79param3.clone(), ()); + let (v655, ()) = (block79param4.clone(), ()); + let (v658, ()) = (block79param5.clone(), ()); + let (v673, ()) = (block79param6.clone(), ()); + let (v834, ()) = (block79param7.clone(), ()); + let (v652, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v646.clone()), + ::wars_rt::func::cast::<_, _, C>(v648.clone()), + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v657, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v653.clone()), + ::wars_rt::func::cast::<_, _, C>(v655.clone()), + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v658 != 0 { + block77param0 = v658; + block77param1 = v652; + block77param2 = v673; + block77param3 = v657; + block77param4 = v834; + cff = 77usize; + continue 'l45; + } else { + block81param0 = v652; + block81param1 = v657; + block81param2 = v673; + block81param3 = v834; + cff = 81usize; + }; + let mut cff2 = match cff { + 81usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l74: loop { + let (v2216, ()) = (block81param0.clone(), ()); + let (v2218, ()) = (block81param1.clone(), ()); + let (v2220, ()) = (block81param2.clone(), ()); + let (v2222, ()) = (block81param3.clone(), ()); + block78param0 = v2216; + block78param1 = v2218; + block78param2 = v2220; + block78param3 = v2222; + cff = 78usize; + let mut cff2 = match cff { + 78usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l87: loop { + let (v2215, ()) = (block78param0.clone(), ()); + let (v2217, ()) = (block78param1.clone(), ()); + let (v2219, ()) = (block78param2.clone(), ()); + let (v2221, ()) = (block78param3.clone(), ()); + block6param0 = v2215; + block6param1 = v2219; + block6param2 = v2217; + block6param3 = v2221; + cff = 6usize; + break 'l87; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 2usize => { + 'l37: loop { + let (v584, ()) = (block8param0.clone(), ()); + let (v585, ()) = (block8param1.clone(), ()); + let (v594, ()) = (block8param2.clone(), ()); + let (v606, ()) = (block8param3.clone(), ()); + let (v669, ()) = (block8param4.clone(), ()); + let (v678, ()) = (block8param5.clone(), ()); + let (v817, ()) = (block8param6.clone(), ()); + let (v590, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v584.clone()), + ::wars_rt::func::cast::<_, _, C>(v585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v590 != 0 { + block73param0 = v584; + block73param1 = v585; + block73param2 = v669; + block73param3 = v678; + block73param4 = v817; + cff = 73usize; + } else { + block74param0 = v594; + block74param1 = v606; + block74param2 = v669; + block74param3 = v817; + block74param4 = v678; + cff = 74usize; + }; + let mut cff2 = match cff { + 74usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l47: loop { + let (v2200, ()) = (block74param0.clone(), ()); + let (v2201, ()) = (block74param1.clone(), ()); + let (v2202, ()) = (block74param2.clone(), ()); + let (v2203, ()) = (block74param3.clone(), ()); + let (v2208, ()) = (block74param4.clone(), ()); + let (v591, ()) = (0u32, ()); + let (v592, ()) = (2u32, ()); + let (v601, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v592.clone()), + ::wars_rt::func::cast::<_, _, C>(v2200.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v602, ()) = (0u32, ()); + let (v603, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v602.clone()), + ::wars_rt::func::cast::<_, _, C>(v601.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v604, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v601.clone()), + ::wars_rt::func::cast::<_, _, C>(v603.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v618, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v604.clone()), + ::wars_rt::func::cast::<_, _, C>(v2201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v619, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v619 != 0 { + block5param0 = v2202; + block5param1 = v2203; + cff = 5usize; + break 'l47; + } else { + block75param0 = v591; + block75param1 = v618; + block75param2 = v2202; + block75param3 = v2208; + block75param4 = v2203; + cff = 75usize; + }; + let mut cff2 = match cff { + 75usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l60: loop { + let (v2204, ()) = (block75param0.clone(), ()); + let (v2205, ()) = (block75param1.clone(), ()); + let (v2206, ()) = (block75param2.clone(), ()); + let (v2207, ()) = (block75param3.clone(), ()); + let (v2209, ()) = (block75param4.clone(), ()); + let (v621, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v2205.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v622, ()) = (2u32, ()); + let (v623, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v621.clone()), + ::wars_rt::func::cast::<_, _, C>(v622.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v624, ()) = (1049412u32, ()); + let (v625, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v623.clone()), + ::wars_rt::func::cast::<_, _, C>(v624.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v626, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v625.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block73param0 = v626; + block73param1 = v2204; + block73param2 = v2206; + block73param3 = v2207; + block73param4 = v2209; + cff = 73usize; + break 'l60; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l46: loop { + let (v627, ()) = (block73param0.clone(), ()); + let (v663, ()) = (block73param1.clone(), ()); + let (v668, ()) = (block73param2.clone(), ()); + let (v677, ()) = (block73param3.clone(), ()); + let (v830, ()) = (block73param4.clone(), ()); + let (v628, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v627.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v628 != 0 { + block6param0 = v663; + block6param1 = v668; + block6param2 = v677; + block6param3 = v830; + cff = 6usize; + break 'l46; + } else { + block76param0 = v627; + block76param1 = v663; + block76param2 = v668; + block76param3 = v677; + block76param4 = v830; + cff = 76usize; + }; + let mut cff2 = match cff { + 76usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l59: loop { + let (v2210, ()) = (block76param0.clone(), ()); + let (v2211, ()) = (block76param1.clone(), ()); + let (v2212, ()) = (block76param2.clone(), ()); + let (v2213, ()) = (block76param3.clone(), ()); + let (v2214, ()) = (block76param4.clone(), ()); + block7param0 = v2210; + block7param1 = v2211; + block7param2 = v2212; + block7param3 = v2213; + block7param4 = v2214; + cff = 7usize; + break 'l59; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v1823, ()) = (block2param0.clone(), ()); + let (v1957, ()) = (block2param1.clone(), ()); + let (v1954, ()) = (16u32, ()); + let (v1955, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1823.clone()), + ::wars_rt::func::cast::<_, _, C>(v1954.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v1955; + () + }; + block1param0 = v1957; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v801, ()) = (block5param0.clone(), ()); + let (v809, ()) = (block5param1.clone(), ()); + let (v799, ()) = (0u32, ()); + let (v800, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v799.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v802, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v800.clone()), + ::wars_rt::func::cast::<_, _, C>(v801.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v802 != 0 { + block104param0 = v800; + block104param1 = v801; + block104param2 = v809; + cff = 104usize; + } else { + block105param0 = v801; + block105param1 = v809; + cff = 105usize; + }; + let mut cff2 = match cff { + 104usize => 0usize, + 105usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v2356, ()) = (block104param0.clone(), ()); + let (v2357, ()) = (block104param1.clone(), ()); + let (v2555, ()) = (block104param2.clone(), ()); + let (v1518, ()) = (0u32, ()); + let (v1519, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1518.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1522, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2356.clone()), + ::wars_rt::func::cast::<_, _, C>(v2357.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1523, ()) = (15u32, ()); + let (v1524, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1522.clone()), + ::wars_rt::func::cast::<_, _, C>(v1523.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1524 != 0 { + block160param0 = v2356; + block160param1 = v2357; + block160param2 = v2555; + block160param3 = v1519; + block160param4 = v1522; + cff = 160usize; + } else { + block161param0 = v2356; + block161param1 = v2555; + block161param2 = v1519; + cff = 161usize; + }; + let mut cff2 = match cff { + 160usize => 0usize, + 161usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v2552, ()) = (block160param0.clone(), ()); + let (v2553, ()) = (block160param1.clone(), ()); + let (v2554, ()) = (block160param2.clone(), ()); + let (v2556, ()) = (block160param3.clone(), ()); + let (v2557, ()) = (block160param4.clone(), ()); + let (v1541, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1541.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1544, ()) = (0u32, ()); + let (v1547, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2556.clone()), + ::wars_rt::func::cast::<_, _, C>(v2553.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1544.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1547.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1549, ()) = (1u32, ()); + let (v1550, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ::wars_rt::func::cast::<_, _, C>(v1549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1547.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1550.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1553, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2556.clone()), + ::wars_rt::func::cast::<_, _, C>(v2552.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1553.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1555, ()) = (3u32, ()); + let (v1556, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2553.clone()), + ::wars_rt::func::cast::<_, _, C>(v1555.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2556.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1556.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block159param0 = v2556; + block159param1 = v2554; + cff = 159usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v2558, ()) = (block161param0.clone(), ()); + let (v2559, ()) = (block161param1.clone(), ()); + let (v2560, ()) = (block161param2.clone(), ()); + let (v1525, ()) = (0u32, ()); + let (v1526, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1525.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1526.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1528, ()) = (0u32, ()); + let (v1529, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1528.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1529.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1533, ()) = (3u32, ()); + let (v1534, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2558.clone()), + ::wars_rt::func::cast::<_, _, C>(v1533.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2560.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1534.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1536, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2560.clone()), + ::wars_rt::func::cast::<_, _, C>(v2558.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1537, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1536.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1538, ()) = (1u32, ()); + let (v1539, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1537.clone()), + ::wars_rt::func::cast::<_, _, C>(v1538.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1536.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1539.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block159param0 = v2560; + block159param1 = v2559; + cff = 159usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l11: loop { + let (v1558, ()) = (block159param0.clone(), ()); + let (v1870, ()) = (block159param1.clone(), ()); + let (v1559, ()) = (8u32, ()); + let (v1560, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1558.clone()), + ::wars_rt::func::cast::<_, _, C>(v1559.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1870; + block2param1 = v1560; + cff = 2usize; + break 'l11; + } + } + } + 1usize => { + 'l6: loop { + let (v2358, ()) = (block105param0.clone(), ()); + let (v2362, ()) = (block105param1.clone(), ()); + let (v803, ()) = (0u32, ()); + let (v804, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v803.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v806, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v804.clone()), + ::wars_rt::func::cast::<_, _, C>(v2358.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v806 != 0 { + block106param0 = v2358; + block106param1 = v804; + block106param2 = v2362; + cff = 106usize; + } else { + block107param0 = v2358; + block107param1 = v2362; + cff = 107usize; + }; + let mut cff2 = match cff { + 106usize => 0usize, + 107usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v2359, ()) = (block106param0.clone(), ()); + let (v2360, ()) = (block106param1.clone(), ()); + let (v2361, ()) = (block106param2.clone(), ()); + let (v1500, ()) = (0u32, ()); + let (v1503, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2360.clone()), + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1500.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1503.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1505, ()) = (0u32, ()); + let (v1506, ()) = (0u32, ()); + let (v1507, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1506.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1508, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1507.clone()), + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1505.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1508.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1510, ()) = (1u32, ()); + let (v1511, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1503.clone()), + ::wars_rt::func::cast::<_, _, C>(v1510.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1508.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1511.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1513, ()) = (3u32, ()); + let (v1514, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ::wars_rt::func::cast::<_, _, C>(v1513.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1507.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1514.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1516, ()) = (8u32, ()); + let (v1517, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1507.clone()), + ::wars_rt::func::cast::<_, _, C>(v1516.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v2361; + block2param1 = v1517; + cff = 2usize; + break 'l14; + } + } + 1usize => { + 'l15: loop { + let (v2363, ()) = (block107param0.clone(), ()); + let (v2364, ()) = (block107param1.clone(), ()); + let (v842, ()) = (4u32, ()); + let (v843, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2364.clone()), + ::wars_rt::func::cast::<_, _, C>(v842.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v844, ()) = (1049864u32, ()); + let (v846, ()) = (65583u32, ()); + let (v847, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2363.clone()), + ::wars_rt::func::cast::<_, _, C>(v846.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v848, ()) = (4294901760u32, ()); + let (v849, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v847.clone()), + ::wars_rt::func::cast::<_, _, C>(v848.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func48( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v843.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v844.clone()), + (::wars_rt::func::cast::<_, _, C>(v849.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v851, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2364.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v851 != 0 { + block108param0 = v2364; + block108param1 = v2363; + block108param2 = v851; + cff = 108usize; + } else { + block109param0 = v2364; + cff = 109usize; + }; + let mut cff2 = match cff { + 108usize => 0usize, + 109usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v2365, ()) = (block108param0.clone(), ()); + let (v2371, ()) = (block108param1.clone(), ()); + let (v2374, ()) = (block108param2.clone(), ()); + let (v854, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2365.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v855, ()) = (0u32, ()); + let (v856, ()) = (0u32, ()); + let (v857, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v856.clone() + 1049844u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v858, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2365.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v859, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v857.clone()), + ::wars_rt::func::cast::<_, _, C>(v858.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v855.clone() + 1049844u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v861, ()) = (0u32, ()); + let (v862, ()) = (0u32, ()); + let (v863, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v862.clone() + 1049848u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v864, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v863.clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v865, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v863.clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ::wars_rt::func::cast::<_, _, C>(v864.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v861.clone() + 1049848u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v865.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v867, ()) = (0u32, ()); + let (v868, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v867.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v869, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v868.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v869 != 0 { + block112param0 = v2371; + block112param1 = v2365; + block112param2 = v2374; + block112param3 = v854; + block112param4 = v858; + cff = 112usize; + } else { + block113param0 = v2371; + block113param1 = v2365; + block113param2 = v2374; + block113param3 = v854; + block113param4 = v858; + block113param5 = v868; + cff = 113usize; + }; + let mut cff2 = match cff { + 112usize => 0usize, + 113usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v2370, ()) = (block112param0.clone(), ()); + let (v2372, ()) = (block112param1.clone(), ()); + let (v2373, ()) = (block112param2.clone(), ()); + let (v2375, ()) = (block112param3.clone(), ()); + let (v2376, ()) = (block112param4.clone(), ()); + let (v882, ()) = (0u32, ()); + let (v883, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v882.clone() + 1049856u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v884, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v883.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v884 != 0 { + block119param0 = v2373; + block119param1 = v2375; + block119param2 = v2376; + block119param3 = v2370; + block119param4 = v2372; + cff = 119usize; + } else { + block120param0 = v2370; + block120param1 = v2372; + block120param2 = v2373; + block120param3 = v2375; + block120param4 = v2376; + block120param5 = v883; + cff = 120usize; + }; + let mut cff2 = match cff { + 120usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v2396, ()) = (block120param0.clone(), ()); + let (v2397, ()) = (block120param1.clone(), ()); + let (v2398, ()) = (block120param2.clone(), ()); + let (v2399, ()) = (block120param3.clone(), ()); + let (v2400, ()) = (block120param4.clone(), ()); + let (v2401, ()) = (block120param5.clone(), ()); + let (v888, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2398.clone()), + ::wars_rt::func::cast::<_, _, C>(v2401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v888 != 0 { + block118param0 = v2399; + block118param1 = v2400; + block118param2 = v2398; + block118param3 = v2396; + block118param4 = v2397; + cff = 118usize; + break 'l43; + } else { + block121param0 = v2396; + block121param1 = v2397; + block121param2 = v2398; + block121param3 = v2399; + block121param4 = v2400; + cff = 121usize; + }; + let mut cff2 = match cff { + 121usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l53: loop { + let (v2402, ()) = (block121param0.clone(), ()); + let (v2403, ()) = (block121param1.clone(), ()); + let (v2404, ()) = (block121param2.clone(), ()); + let (v2405, ()) = (block121param3.clone(), ()); + let (v2406, ()) = (block121param4.clone(), ()); + block119param0 = v2404; + block119param1 = v2405; + block119param2 = v2406; + block119param3 = v2402; + block119param4 = v2403; + cff = 119usize; + break 'l53; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 118usize => 0usize, + 119usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v897, ()) = (block118param0.clone(), ()); + let (v904, ()) = (block118param1.clone(), ()); + let (v911, ()) = (block118param2.clone(), ()); + let (v1643, ()) = (block118param3.clone(), ()); + let (v1902, ()) = (block118param4.clone(), ()); + let (v893, ()) = (0u32, ()); + let (v894, ()) = (4095u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v893.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v894.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v896, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v896.clone() + 1049552u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v897.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v903, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v903.clone() + 1049544u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v904.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v910, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v910.clone() + 1049540u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v913, ()) = (0u32, ()); + let (v914, ()) = (1049556u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v913.clone() + 1049568u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v914.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v916, ()) = (0u32, ()); + let (v917, ()) = (1049564u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v916.clone() + 1049576u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v917.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v919, ()) = (0u32, ()); + let (v920, ()) = (1049556u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v919.clone() + 1049564u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v920.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v922, ()) = (0u32, ()); + let (v923, ()) = (1049572u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v922.clone() + 1049584u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v923.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v925, ()) = (0u32, ()); + let (v926, ()) = (1049564u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v925.clone() + 1049572u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v926.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v928, ()) = (0u32, ()); + let (v929, ()) = (1049580u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v928.clone() + 1049592u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v929.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v931, ()) = (0u32, ()); + let (v932, ()) = (1049572u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v931.clone() + 1049580u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v932.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v934, ()) = (0u32, ()); + let (v935, ()) = (1049588u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v934.clone() + 1049600u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v935.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v937, ()) = (0u32, ()); + let (v938, ()) = (1049580u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v937.clone() + 1049588u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v938.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v940, ()) = (0u32, ()); + let (v941, ()) = (1049596u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v940.clone() + 1049608u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v941.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v943, ()) = (0u32, ()); + let (v944, ()) = (1049588u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v943.clone() + 1049596u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v944.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v946, ()) = (0u32, ()); + let (v947, ()) = (1049604u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v946.clone() + 1049616u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v947.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v949, ()) = (0u32, ()); + let (v950, ()) = (1049596u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v949.clone() + 1049604u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v950.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v952, ()) = (0u32, ()); + let (v953, ()) = (1049612u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v952.clone() + 1049624u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v953.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v955, ()) = (0u32, ()); + let (v956, ()) = (1049604u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v955.clone() + 1049612u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v956.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v958, ()) = (0u32, ()); + let (v959, ()) = (1049620u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v958.clone() + 1049632u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v959.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v961, ()) = (0u32, ()); + let (v962, ()) = (1049612u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v961.clone() + 1049620u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v962.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v964, ()) = (0u32, ()); + let (v965, ()) = (1049620u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v964.clone() + 1049628u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v965.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v967, ()) = (0u32, ()); + let (v968, ()) = (1049628u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v967.clone() + 1049640u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v968.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v970, ()) = (0u32, ()); + let (v971, ()) = (1049628u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v970.clone() + 1049636u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v971.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v973, ()) = (0u32, ()); + let (v974, ()) = (1049636u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v973.clone() + 1049648u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v974.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v976, ()) = (0u32, ()); + let (v977, ()) = (1049636u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v976.clone() + 1049644u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v977.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v979, ()) = (0u32, ()); + let (v980, ()) = (1049644u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v979.clone() + 1049656u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v980.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v982, ()) = (0u32, ()); + let (v983, ()) = (1049644u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v982.clone() + 1049652u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v983.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v985, ()) = (0u32, ()); + let (v986, ()) = (1049652u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v985.clone() + 1049664u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v986.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v988, ()) = (0u32, ()); + let (v989, ()) = (1049652u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v988.clone() + 1049660u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v989.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v991, ()) = (0u32, ()); + let (v992, ()) = (1049660u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v991.clone() + 1049672u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v992.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v994, ()) = (0u32, ()); + let (v995, ()) = (1049660u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v994.clone() + 1049668u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v995.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v997, ()) = (0u32, ()); + let (v998, ()) = (1049668u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v997.clone() + 1049680u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v998.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1000, ()) = (0u32, ()); + let (v1001, ()) = (1049668u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1000.clone() + 1049676u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1001.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1003, ()) = (0u32, ()); + let (v1004, ()) = (1049676u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1003.clone() + 1049688u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1004.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1006, ()) = (0u32, ()); + let (v1007, ()) = (1049676u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1006.clone() + 1049684u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1007.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1009, ()) = (0u32, ()); + let (v1010, ()) = (1049684u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1009.clone() + 1049696u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1010.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1012, ()) = (0u32, ()); + let (v1013, ()) = (1049692u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1012.clone() + 1049704u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1013.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1015, ()) = (0u32, ()); + let (v1016, ()) = (1049684u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1015.clone() + 1049692u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1016.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1018, ()) = (0u32, ()); + let (v1019, ()) = (1049700u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1018.clone() + 1049712u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1019.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1021, ()) = (0u32, ()); + let (v1022, ()) = (1049692u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1021.clone() + 1049700u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1022.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1024, ()) = (0u32, ()); + let (v1025, ()) = (1049708u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1024.clone() + 1049720u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1025.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1027, ()) = (0u32, ()); + let (v1028, ()) = (1049700u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1027.clone() + 1049708u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1028.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1030, ()) = (0u32, ()); + let (v1031, ()) = (1049716u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1030.clone() + 1049728u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1031.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1033, ()) = (0u32, ()); + let (v1034, ()) = (1049708u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1033.clone() + 1049716u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1036, ()) = (0u32, ()); + let (v1037, ()) = (1049724u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1036.clone() + 1049736u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1037.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1039, ()) = (0u32, ()); + let (v1040, ()) = (1049716u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1039.clone() + 1049724u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1040.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1042, ()) = (0u32, ()); + let (v1043, ()) = (1049732u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1042.clone() + 1049744u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1043.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1045, ()) = (0u32, ()); + let (v1046, ()) = (1049724u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1045.clone() + 1049732u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1046.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1048, ()) = (0u32, ()); + let (v1049, ()) = (1049740u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1048.clone() + 1049752u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1049.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1051, ()) = (0u32, ()); + let (v1052, ()) = (1049732u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1051.clone() + 1049740u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1052.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1054, ()) = (0u32, ()); + let (v1055, ()) = (1049748u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1054.clone() + 1049760u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1055.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1057, ()) = (0u32, ()); + let (v1058, ()) = (1049740u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1057.clone() + 1049748u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1058.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1060, ()) = (0u32, ()); + let (v1061, ()) = (1049756u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1060.clone() + 1049768u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1061.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1063, ()) = (0u32, ()); + let (v1064, ()) = (1049748u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1063.clone() + 1049756u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1064.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1066, ()) = (0u32, ()); + let (v1067, ()) = (1049764u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1066.clone() + 1049776u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1067.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1069, ()) = (0u32, ()); + let (v1070, ()) = (1049756u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1069.clone() + 1049764u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1070.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1072, ()) = (0u32, ()); + let (v1073, ()) = (1049772u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1072.clone() + 1049784u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1073.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1075, ()) = (0u32, ()); + let (v1076, ()) = (1049764u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1075.clone() + 1049772u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1076.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1078, ()) = (0u32, ()); + let (v1079, ()) = (1049780u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1078.clone() + 1049792u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1079.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1081, ()) = (0u32, ()); + let (v1082, ()) = (1049772u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1081.clone() + 1049780u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1082.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1084, ()) = (0u32, ()); + let (v1085, ()) = (1049788u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1084.clone() + 1049800u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1085.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1087, ()) = (0u32, ()); + let (v1088, ()) = (1049780u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1087.clone() + 1049788u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1088.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1090, ()) = (0u32, ()); + let (v1091, ()) = (1049796u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1090.clone() + 1049808u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1091.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1093, ()) = (0u32, ()); + let (v1094, ()) = (1049788u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1093.clone() + 1049796u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1094.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1096, ()) = (0u32, ()); + let (v1097, ()) = (1049804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1096.clone() + 1049816u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1097.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1099, ()) = (0u32, ()); + let (v1100, ()) = (1049796u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1099.clone() + 1049804u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1102, ()) = (0u32, ()); + let (v1103, ()) = (15u32, ()); + let (v1104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1105, ()) = (4294967288u32, ()); + let (v1106, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1104.clone()), + ::wars_rt::func::cast::<_, _, C>(v1105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1107, ()) = (4294967288u32, ()); + let (v1108, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1106.clone()), + ::wars_rt::func::cast::<_, _, C>(v1107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1102.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1108.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1110, ()) = (0u32, ()); + let (v1111, ()) = (1049804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1110.clone() + 1049812u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1113, ()) = (0u32, ()); + let (v1114, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1115, ()) = (4294967256u32, ()); + let (v1116, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v904.clone()), + ::wars_rt::func::cast::<_, _, C>(v1115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1117, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1114.clone()), + ::wars_rt::func::cast::<_, _, C>(v1116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1118, ()) = (8u32, ()); + let (v1119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1117.clone()), + ::wars_rt::func::cast::<_, _, C>(v1118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1113.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1121, ()) = (1u32, ()); + let (v1122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1119.clone()), + ::wars_rt::func::cast::<_, _, C>(v1121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1108.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1125, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1124.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1125.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1127, ()) = (0u32, ()); + let (v1128, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1127.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1128.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v1643; + block99param1 = v1902; + cff = 99usize; + break 'l41; + }; + } + 1usize => { + 'l42: loop { + let (v890, ()) = (block119param0.clone(), ()); + let (v900, ()) = (block119param1.clone(), ()); + let (v907, ()) = (block119param2.clone(), ()); + let (v1646, ()) = (block119param3.clone(), ()); + let (v1905, ()) = (block119param4.clone(), ()); + let (v889, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v889.clone() + 1049856u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v890.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block118param0 = v900; + block118param1 = v907; + block118param2 = v890; + block118param3 = v1646; + block118param4 = v1905; + cff = 118usize; + break 'l42; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l29: loop { + let (v2377, ()) = (block113param0.clone(), ()); + let (v2378, ()) = (block113param1.clone(), ()); + let (v2379, ()) = (block113param2.clone(), ()); + let (v2380, ()) = (block113param3.clone(), ()); + let (v2381, ()) = (block113param4.clone(), ()); + let (v2382, ()) = (block113param5.clone(), ()); + let (v870, ()) = (1049540u32, ()); + block114param0 = v2379; + block114param1 = v870; + block114param2 = v2382; + block114param3 = v2380; + block114param4 = v2381; + block114param5 = v2377; + block114param6 = v2378; + cff = 114usize; + let mut cff2 = match cff { + 114usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v871, ()) = (block114param0.clone(), ()); + let (v872, ()) = (block114param1.clone(), ()); + let (v1131, ()) = (block114param2.clone(), ()); + let (v1153, ()) = (block114param3.clone(), ()); + let (v1172, ()) = (block114param4.clone(), ()); + let (v1403, ()) = (block114param5.clone(), ()); + let (v1886, ()) = (block114param6.clone(), ()); + let (v873, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v872.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v874, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v872.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v875, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v873.clone()), + ::wars_rt::func::cast::<_, _, C>(v874.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v876, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v871.clone()), + ::wars_rt::func::cast::<_, _, C>(v875.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v876 != 0 { + block111param0 = v872; + block111param1 = v874; + block111param2 = v1172; + block111param3 = v1403; + block111param4 = v1886; + block111param5 = v871; + block111param6 = v1131; + block111param7 = v1153; + block111param8 = v873; + cff = 111usize; + } else { + block116param0 = v871; + block116param1 = v872; + block116param2 = v1131; + block116param3 = v1153; + block116param4 = v1172; + block116param5 = v1403; + block116param6 = v1886; + cff = 116usize; + }; + let mut cff2 = match cff { + 111usize => 0usize, + 116usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l56: loop { + let (v2335, ()) = (block111param0.clone(), ()); + let (v2340, ()) = (block111param1.clone(), ()); + let (v2345, ()) = (block111param2.clone(), ()); + let (v2350, ()) = (block111param3.clone(), ()); + let (v2355, ()) = (block111param4.clone(), ()); + let (v2367, ()) = (block111param5.clone(), ()); + let (v2368, ()) = (block111param6.clone(), ()); + let (v2369, ()) = (block111param7.clone(), ()); + let (v2409, ()) = (block111param8.clone(), ()); + let (v1135, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2368.clone()), + ::wars_rt::func::cast::<_, _, C>(v2367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1135 != 0 { + block110param0 = v2367; + block110param1 = v2345; + block110param2 = v2369; + block110param3 = v2368; + block110param4 = v2350; + block110param5 = v2355; + cff = 110usize; + break 'l56; + } else { + block122param0 = v2335; + block122param1 = v2340; + block122param2 = v2345; + block122param3 = v2350; + block122param4 = v2355; + block122param5 = v2367; + block122param6 = v2409; + block122param7 = v2368; + block122param8 = v2369; + cff = 122usize; + }; + let mut cff2 = match cff { + 122usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l71: loop { + let (v2334, ()) = (block122param0.clone(), ()); + let (v2339, ()) = (block122param1.clone(), ()); + let (v2344, ()) = (block122param2.clone(), ()); + let (v2349, ()) = (block122param3.clone(), ()); + let (v2354, ()) = (block122param4.clone(), ()); + let (v2407, ()) = (block122param5.clone(), ()); + let (v2408, ()) = (block122param6.clone(), ()); + let (v2410, ()) = (block122param7.clone(), ()); + let (v2411, ()) = (block122param8.clone(), ()); + let (v1139, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v2408.clone()), + ::wars_rt::func::cast::<_, _, C>(v2410.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1139 != 0 { + block110param0 = v2407; + block110param1 = v2344; + block110param2 = v2411; + block110param3 = v2410; + block110param4 = v2349; + block110param5 = v2354; + cff = 110usize; + break 'l71; + } else { + block123param0 = v2334; + block123param1 = v2339; + block123param2 = v2344; + block123param3 = v2349; + block123param4 = v2354; + block123param5 = v2407; + block123param6 = v2410; + block123param7 = v2411; + cff = 123usize; + }; + let mut cff2 = match cff { + 123usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l83: loop { + let (v2333, ()) = (block123param0.clone(), ()); + let (v2338, ()) = (block123param1.clone(), ()); + let (v2343, ()) = (block123param2.clone(), ()); + let (v2348, ()) = (block123param3.clone(), ()); + let (v2353, ()) = (block123param4.clone(), ()); + let (v2412, ()) = (block123param5.clone(), ()); + let (v2413, ()) = (block123param6.clone(), ()); + let (v2414, ()) = (block123param7.clone(), ()); + let (v1143, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2333.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1144, ()) = (1u32, ()); + let (v1145, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1143.clone()), + ::wars_rt::func::cast::<_, _, C>(v1144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1145 != 0 { + block110param0 = v2412; + block110param1 = v2343; + block110param2 = v2414; + block110param3 = v2413; + block110param4 = v2348; + block110param5 = v2353; + cff = 110usize; + break 'l83; + } else { + block124param0 = v2333; + block124param1 = v2338; + block124param2 = v2343; + block124param3 = v2348; + block124param4 = v2353; + block124param5 = v1143; + block124param6 = v2414; + block124param7 = v2412; + block124param8 = v2413; + cff = 124usize; + }; + let mut cff2 = match cff { + 124usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l99: loop { + let (v2332, ()) = (block124param0.clone(), ()); + let (v2337, ()) = (block124param1.clone(), ()); + let (v2342, ()) = (block124param2.clone(), ()); + let (v2347, ()) = (block124param3.clone(), ()); + let (v2352, ()) = (block124param4.clone(), ()); + let (v2415, ()) = (block124param5.clone(), ()); + let (v2416, ()) = (block124param6.clone(), ()); + let (v2418, ()) = (block124param7.clone(), ()); + let (v2420, ()) = (block124param8.clone(), ()); + let (v1147, ()) = (1u32, ()); + let (v1148, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2415.clone()), + ::wars_rt::func::cast::<_, _, C>(v1147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1156, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1148.clone()), + ::wars_rt::func::cast::<_, _, C>(v2416.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1156 != 0 { + block103param0 = v2332; + block103param1 = v2337; + block103param2 = v2342; + block103param3 = v2347; + block103param4 = v2352; + cff = 103usize; + } else { + block125param0 = v2418; + block125param1 = v2420; + block125param2 = v2416; + block125param3 = v2342; + block125param4 = v2347; + block125param5 = v2352; + cff = 125usize; + }; + let mut cff2 = match cff { + 103usize => 0usize, + 125usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l117: loop { + let (v2331, ()) = (block103param0.clone(), ()); + let (v2336, ()) = (block103param1.clone(), ()); + let (v2341, ()) = (block103param2.clone(), ()); + let (v2346, ()) = (block103param3.clone(), ()); + let (v2351, ()) = (block103param4.clone(), ()); + let (v1569, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2336.clone()), + ::wars_rt::func::cast::<_, _, C>(v2341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2331.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1569.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1571, ()) = (0u32, ()); + let (v1572, ()) = (0u32, ()); + let (v1573, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1572.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1574, ()) = (15u32, ()); + let (v1575, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1574.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1576, ()) = (4294967288u32, ()); + let (v1577, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1575.clone()), + ::wars_rt::func::cast::<_, _, C>(v1576.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1578, ()) = (4294967288u32, ()); + let (v1579, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1577.clone()), + ::wars_rt::func::cast::<_, _, C>(v1578.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1571.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1579.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1581, ()) = (0u32, ()); + let (v1582, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1577.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1583, ()) = (0u32, ()); + let (v1584, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1583.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1585, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1584.clone()), + ::wars_rt::func::cast::<_, _, C>(v2341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1586, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1582.clone()), + ::wars_rt::func::cast::<_, _, C>(v1585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1587, ()) = (8u32, ()); + let (v1588, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1586.clone()), + ::wars_rt::func::cast::<_, _, C>(v1587.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1581.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1588.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1590, ()) = (1u32, ()); + let (v1591, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1588.clone()), + ::wars_rt::func::cast::<_, _, C>(v1590.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1579.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1591.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1593, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1594, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1593.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1594.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1596, ()) = (0u32, ()); + let (v1597, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1596.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1597.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v2346; + block99param1 = v2351; + cff = 99usize; + break 'l117; + }; + } + 1usize => { + 'l116: loop { + let (v2417, ()) = (block125param0.clone(), ()); + let (v2419, ()) = (block125param1.clone(), ()); + let (v2421, ()) = (block125param2.clone(), ()); + let (v2422, ()) = (block125param3.clone(), ()); + let (v2423, ()) = (block125param4.clone(), ()); + let (v2424, ()) = (block125param5.clone(), ()); + block110param0 = v2417; + block110param1 = v2422; + block110param2 = v2421; + block110param3 = v2419; + block110param4 = v2423; + block110param5 = v2424; + cff = 110usize; + break 'l116; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l55: loop { + let (v2383, ()) = (block116param0.clone(), ()); + let (v2384, ()) = (block116param1.clone(), ()); + let (v2385, ()) = (block116param2.clone(), ()); + let (v2386, ()) = (block116param3.clone(), ()); + let (v2387, ()) = (block116param4.clone(), ()); + let (v2388, ()) = (block116param5.clone(), ()); + let (v2389, ()) = (block116param6.clone(), ()); + let (v878, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2384.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v878 != 0 { + block114param0 = v2383; + block114param1 = v878; + block114param2 = v2385; + block114param3 = v2386; + block114param4 = v2387; + block114param5 = v2388; + block114param6 = v2389; + cff = 114usize; + continue 'l44; + } else { + block117param0 = v2383; + block117param1 = v2385; + block117param2 = v2386; + block117param3 = v2387; + block117param4 = v2388; + block117param5 = v2389; + cff = 117usize; + }; + let mut cff2 = match cff { + 117usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l70: loop { + let (v2390, ()) = (block117param0.clone(), ()); + let (v2391, ()) = (block117param1.clone(), ()); + let (v2392, ()) = (block117param2.clone(), ()); + let (v2393, ()) = (block117param3.clone(), ()); + let (v2394, ()) = (block117param4.clone(), ()); + let (v2395, ()) = (block117param5.clone(), ()); + block110param0 = v2390; + block110param1 = v2393; + block110param2 = v2392; + block110param3 = v2391; + block110param4 = v2394; + block110param5 = v2395; + cff = 110usize; + break 'l70; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l54: loop { + let (v1160, ()) = (block110param0.clone(), ()); + let (v1169, ()) = (block110param1.clone(), ()); + let (v1198, ()) = (block110param2.clone(), ()); + let (v1221, ()) = (block110param3.clone(), ()); + let (v1400, ()) = (block110param4.clone(), ()); + let (v1883, ()) = (block110param5.clone(), ()); + let (v1157, ()) = (0u32, ()); + let (v1158, ()) = (0u32, ()); + let (v1159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1158.clone() + 1049856u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1166, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1167, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v1159.clone()), + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1157.clone() + 1049856u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1167.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1179, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1180, ()) = (1049540u32, ()); + block129param0 = v1180; + block129param1 = v1179; + block129param2 = v1198; + block129param3 = v1221; + block129param4 = v1160; + block129param5 = v1169; + block129param6 = v1400; + block129param7 = v1883; + cff = 129usize; + let mut cff2 = match cff { + 129usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l72: loop { + let (v1181, ()) = (block129param0.clone(), ()); + let (v1183, ()) = (block129param1.clone(), ()); + let (v1197, ()) = (block129param2.clone(), ()); + let (v1220, ()) = (block129param3.clone(), ()); + let (v1238, ()) = (block129param4.clone(), ()); + let (v1259, ()) = (block129param5.clone(), ()); + let (v1399, ()) = (block129param6.clone(), ()); + let (v1882, ()) = (block129param7.clone(), ()); + let (v1182, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1181.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1184, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1182.clone()), + ::wars_rt::func::cast::<_, _, C>(v1183.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1184 != 0 { + block128param0 = v1882; + block128param1 = v1181; + block128param2 = v1183; + block128param3 = v1238; + block128param4 = v1259; + block128param5 = v1399; + block128param6 = v1197; + block128param7 = v1220; + cff = 128usize; + } else { + block131param0 = v1181; + block131param1 = v1183; + block131param2 = v1197; + block131param3 = v1220; + block131param4 = v1238; + block131param5 = v1259; + block131param6 = v1399; + block131param7 = v1882; + cff = 131usize; + }; + let mut cff2 = match cff { + 128usize => 0usize, + 131usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l84: loop { + let (v2326, ()) = (block128param0.clone(), ()); + let (v2427, ()) = (block128param1.clone(), ()); + let (v2430, ()) = (block128param2.clone(), ()); + let (v2433, ()) = (block128param3.clone(), ()); + let (v2436, ()) = (block128param4.clone(), ()); + let (v2439, ()) = (block128param5.clone(), ()); + let (v2440, ()) = (block128param6.clone(), ()); + let (v2441, ()) = (block128param7.clone(), ()); + let (v1189, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2427.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1190, ()) = (1u32, ()); + let (v1191, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1189.clone()), + ::wars_rt::func::cast::<_, _, C>(v1190.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1191 != 0 { + block127param0 = v2441; + block127param1 = v2433; + block127param2 = v2436; + block127param3 = v2440; + block127param4 = v2439; + block127param5 = v2326; + cff = 127usize; + break 'l84; + } else { + block133param0 = v2326; + block133param1 = v2427; + block133param2 = v2430; + block133param3 = v2433; + block133param4 = v2436; + block133param5 = v2439; + block133param6 = v1189; + block133param7 = v2440; + block133param8 = v2441; + cff = 133usize; + }; + let mut cff2 = match cff { + 133usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l100: loop { + let (v2325, ()) = (block133param0.clone(), ()); + let (v2426, ()) = (block133param1.clone(), ()); + let (v2429, ()) = (block133param2.clone(), ()); + let (v2432, ()) = (block133param3.clone(), ()); + let (v2435, ()) = (block133param4.clone(), ()); + let (v2438, ()) = (block133param5.clone(), ()); + let (v2456, ()) = (block133param6.clone(), ()); + let (v2457, ()) = (block133param7.clone(), ()); + let (v2460, ()) = (block133param8.clone(), ()); + let (v1193, ()) = (1u32, ()); + let (v1194, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2456.clone()), + ::wars_rt::func::cast::<_, _, C>(v1193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1202, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1194.clone()), + ::wars_rt::func::cast::<_, _, C>(v2457.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1202 != 0 { + block126param0 = v2325; + block126param1 = v2426; + block126param2 = v2429; + block126param3 = v2432; + block126param4 = v2435; + block126param5 = v2438; + cff = 126usize; + } else { + block134param0 = v2457; + block134param1 = v2460; + block134param2 = v2432; + block134param3 = v2435; + block134param4 = v2438; + block134param5 = v2325; + cff = 134usize; + }; + let mut cff2 = match cff { + 126usize => 0usize, + 134usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l118: loop { + let (v2324, ()) = (block126param0.clone(), ()); + let (v2425, ()) = (block126param1.clone(), ()); + let (v2428, ()) = (block126param2.clone(), ()); + let (v2431, ()) = (block126param3.clone(), ()); + let (v2434, ()) = (block126param4.clone(), ()); + let (v2437, ()) = (block126param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1386, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1388, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1386.clone()), + ::wars_rt::func::cast::<_, _, C>(v2434.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1388.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1390, ()) = (15u32, ()); + let (v1391, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2431.clone()), + ::wars_rt::func::cast::<_, _, C>(v1390.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1392, ()) = (4294967288u32, ()); + let (v1393, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1391.clone()), + ::wars_rt::func::cast::<_, _, C>(v1392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1394, ()) = (4294967288u32, ()); + let (v1395, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1393.clone()), + ::wars_rt::func::cast::<_, _, C>(v1394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1412, ()) = (3u32, ()); + let (v1413, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2437.clone()), + ::wars_rt::func::cast::<_, _, C>(v1412.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1395.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1413.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1418, ()) = (15u32, ()); + let (v1419, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2428.clone()), + ::wars_rt::func::cast::<_, _, C>(v1418.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1420, ()) = (4294967288u32, ()); + let (v1421, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1419.clone()), + ::wars_rt::func::cast::<_, _, C>(v1420.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1422, ()) = (4294967288u32, ()); + let (v1423, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1421.clone()), + ::wars_rt::func::cast::<_, _, C>(v1422.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1424, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1395.clone()), + ::wars_rt::func::cast::<_, _, C>(v2437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1425, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1423.clone()), + ::wars_rt::func::cast::<_, _, C>(v1424.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1426, ()) = (0u32, ()); + let (v1427, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1426.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1428, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1423.clone()), + ::wars_rt::func::cast::<_, _, C>(v1427.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1428 != 0 { + block102param0 = v1395; + block102param1 = v1424; + block102param2 = v1425; + block102param3 = v2324; + cff = 102usize; + } else { + block150param0 = v1395; + block150param1 = v1424; + block150param2 = v1425; + block150param3 = v2324; + block150param4 = v1423; + cff = 150usize; + }; + let mut cff2 = match cff { + 102usize => 0usize, + 150usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l136: loop { + let (v2327, ()) = (block102param0.clone(), ()); + let (v2328, ()) = (block102param1.clone(), ()); + let (v2329, ()) = (block102param2.clone(), ()); + let (v2330, ()) = (block102param3.clone(), ()); + let (v1599, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1599.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2328.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1602, ()) = (0u32, ()); + let (v1603, ()) = (0u32, ()); + let (v1604, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1603.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1606, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1604.clone()), + ::wars_rt::func::cast::<_, _, C>(v2329.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1602.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1606.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1608, ()) = (1u32, ()); + let (v1609, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1606.clone()), + ::wars_rt::func::cast::<_, _, C>(v1608.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2328.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1609.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2327; + block100param1 = v2330; + cff = 100usize; + break 'l136; + }; + } + 1usize => { + 'l137: loop { + let (v2317, ()) = (block150param0.clone(), ()); + let (v2319, ()) = (block150param1.clone(), ()); + let (v2321, ()) = (block150param2.clone(), ()); + let (v2323, ()) = (block150param3.clone(), ()); + let (v2522, ()) = (block150param4.clone(), ()); + let (v1430, ()) = (0u32, ()); + let (v1431, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1430.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1432, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v2522.clone()), + ::wars_rt::func::cast::<_, _, C>(v1431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1432 != 0 { + block101param0 = v2317; + block101param1 = v2319; + block101param2 = v2321; + block101param3 = v2323; + cff = 101usize; + } else { + block151param0 = v2317; + block151param1 = v2522; + block151param2 = v2319; + block151param3 = v2321; + block151param4 = v2323; + cff = 151usize; + }; + let mut cff2 = match cff { + 101usize => 0usize, + 151usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l148: loop { + let (v2316, ()) = (block101param0.clone(), ()); + let (v2318, ()) = (block101param1.clone(), ()); + let (v2320, ()) = (block101param2.clone(), ()); + let (v2322, ()) = (block101param3.clone(), ()); + let (v1611, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1611.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1614, ()) = (0u32, ()); + let (v1615, ()) = (0u32, ()); + let (v1616, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1615.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1618, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1616.clone()), + ::wars_rt::func::cast::<_, _, C>(v2320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1614.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1620, ()) = (1u32, ()); + let (v1621, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ::wars_rt::func::cast::<_, _, C>(v1620.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2318.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1621.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1623, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2318.clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1623.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2316; + block100param1 = v2322; + cff = 100usize; + break 'l148; + }; + } + 1usize => { + 'l146: loop { + let (v2523, ()) = (block151param0.clone(), ()); + let (v2524, ()) = (block151param1.clone(), ()); + let (v2525, ()) = (block151param2.clone(), ()); + let (v2526, ()) = (block151param3.clone(), ()); + let (v2527, ()) = (block151param4.clone(), ()); + let (v1434, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2524.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1435, ()) = (3u32, ()); + let (v1436, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1434.clone()), + ::wars_rt::func::cast::<_, _, C>(v1435.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1437, ()) = (1u32, ()); + let (v1438, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v1436.clone()), + ::wars_rt::func::cast::<_, _, C>(v1437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1438 != 0 { + block152param0 = v2524; + block152param1 = v1434; + block152param2 = v2525; + block152param3 = v2526; + block152param4 = v2523; + block152param5 = v2527; + cff = 152usize; + } else { + block153param0 = v2523; + block153param1 = v2524; + block153param2 = v2525; + block153param3 = v2526; + block153param4 = v1434; + block153param5 = v2527; + cff = 153usize; + }; + let mut cff2 = match cff { + 153usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l155: loop { + let (v2528, ()) = (block153param0.clone(), ()); + let (v2529, ()) = (block153param1.clone(), ()); + let (v2530, ()) = (block153param2.clone(), ()); + let (v2531, ()) = (block153param3.clone(), ()); + let (v2532, ()) = (block153param4.clone(), ()); + let (v2533, ()) = (block153param5.clone(), ()); + let (v1441, ()) = (4294967288u32, ()); + let (v1442, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2532.clone()), + ::wars_rt::func::cast::<_, _, C>(v1441.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2529.clone()), + (::wars_rt::func::cast::<_, _, C>(v1442.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1447, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1442.clone()), + ::wars_rt::func::cast::<_, _, C>(v2531.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1448, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2529.clone()), + ::wars_rt::func::cast::<_, _, C>(v1442.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1449, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1448.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block152param0 = v1448; + block152param1 = v1449; + block152param2 = v2530; + block152param3 = v1447; + block152param4 = v2528; + block152param5 = v2533; + cff = 152usize; + break 'l155; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l154: loop { + let (v1450, ()) = (block152param0.clone(), ()); + let (v1451, ()) = (block152param1.clone(), ()); + let (v1455, ()) = (block152param2.clone(), ()); + let (v1459, ()) = (block152param3.clone(), ()); + let (v1627, ()) = (block152param4.clone(), ()); + let (v1876, ()) = (block152param5.clone(), ()); + let (v1452, ()) = (4294967294u32, ()); + let (v1453, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1451.clone()), + ::wars_rt::func::cast::<_, _, C>(v1452.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1450.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1453.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1460, ()) = (1u32, ()); + let (v1461, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ::wars_rt::func::cast::<_, _, C>(v1460.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1455.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1461.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1463, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1455.clone()), + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1463.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1465, ()) = (256u32, ()); + let (v1466, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ::wars_rt::func::cast::<_, _, C>(v1465.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1466 != 0 { + block154param0 = v1459; + block154param1 = v1455; + block154param2 = v1627; + block154param3 = v1876; + cff = 154usize; + } else { + block155param0 = v1455; + block155param1 = v1459; + block155param2 = v1627; + block155param3 = v1876; + cff = 155usize; + }; + let mut cff2 = match cff { + 154usize => 0usize, + 155usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l158: loop { + let (v2534, ()) = (block154param0.clone(), ()); + let (v2540, ()) = (block154param1.clone(), ()); + let (v2543, ()) = (block154param2.clone(), ()); + let (v2545, ()) = (block154param3.clone(), ()); + let (v1471, ()) = (4294967288u32, ()); + let (v1472, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2534.clone()), + ::wars_rt::func::cast::<_, _, C>(v1471.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1473, ()) = (1049556u32, ()); + let (v1474, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1472.clone()), + ::wars_rt::func::cast::<_, _, C>(v1473.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1475, ()) = (0u32, ()); + let (v1476, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1475.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1477, ()) = (1u32, ()); + let (v1478, ()) = (3u32, ()); + let (v1479, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2534.clone()), + ::wars_rt::func::cast::<_, _, C>(v1478.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1480, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1477.clone()), + ::wars_rt::func::cast::<_, _, C>(v1479.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1481, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1476.clone()), + ::wars_rt::func::cast::<_, _, C>(v1480.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1481 != 0 { + block157param0 = v2540; + block157param1 = v1474; + block157param2 = v2543; + block157param3 = v2545; + cff = 157usize; + } else { + block158param0 = v2540; + block158param1 = v1474; + block158param2 = v1476; + block158param3 = v1480; + block158param4 = v2543; + block158param5 = v2545; + cff = 158usize; + }; + let mut cff2 = match cff { + 157usize => 0usize, + 158usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l162: loop { + let (v2539, ()) = (block157param0.clone(), ()); + let (v2541, ()) = (block157param1.clone(), ()); + let (v2542, ()) = (block157param2.clone(), ()); + let (v2544, ()) = (block157param3.clone(), ()); + let (v1489, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2541.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block156param0 = v2541; + block156param1 = v2539; + block156param2 = v1489; + block156param3 = v2542; + block156param4 = v2544; + cff = 156usize; + break 'l162; + }; + } + 1usize => { + 'l161: loop { + let (v2546, ()) = (block158param0.clone(), ()); + let (v2547, ()) = (block158param1.clone(), ()); + let (v2548, ()) = (block158param2.clone(), ()); + let (v2549, ()) = (block158param3.clone(), ()); + let (v2550, ()) = (block158param4.clone(), ()); + let (v2551, ()) = (block158param5.clone(), ()); + let (v1482, ()) = (0u32, ()); + let (v1485, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2548.clone()), + ::wars_rt::func::cast::<_, _, C>(v2549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1482.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1485.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block156param0 = v2547; + block156param1 = v2546; + block156param2 = v2547; + block156param3 = v2550; + block156param4 = v2551; + cff = 156usize; + break 'l161; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l160: loop { + let (v1490, ()) = (block156param0.clone(), ()); + let (v1491, ()) = (block156param1.clone(), ()); + let (v1496, ()) = (block156param2.clone(), ()); + let (v1631, ()) = (block156param3.clone(), ()); + let (v1895, ()) = (block156param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1490.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1491.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1496.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1491.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1491.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1490.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1491.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1496.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v1631; + block100param1 = v1895; + cff = 100usize; + break 'l160; + }; + }; + } + 1usize => { + 'l157: loop { + let (v2535, ()) = (block155param0.clone(), ()); + let (v2536, ()) = (block155param1.clone(), ()); + let (v2537, ()) = (block155param2.clone(), ()); + let (v2538, ()) = (block155param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2535.clone()), + (::wars_rt::func::cast::<_, _, C>(v2536.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2537; + block100param1 = v2538; + cff = 100usize; + break 'l157; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 100usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l135: loop { + let (v1625, ()) = (block100param0.clone(), ()); + let (v1874, ()) = (block100param1.clone(), ()); + let (v1637, ()) = (8u32, ()); + let (v1638, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1625.clone()), + ::wars_rt::func::cast::<_, _, C>(v1637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1874; + block2param1 = v1638; + cff = 2usize; + break 'l135; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l115: loop { + let (v2458, ()) = (block134param0.clone(), ()); + let (v2459, ()) = (block134param1.clone(), ()); + let (v2461, ()) = (block134param2.clone(), ()); + let (v2462, ()) = (block134param3.clone(), ()); + let (v2463, ()) = (block134param4.clone(), ()); + let (v2464, ()) = (block134param5.clone(), ()); + block127param0 = v2459; + block127param1 = v2461; + block127param2 = v2462; + block127param3 = v2458; + block127param4 = v2463; + block127param5 = v2464; + cff = 127usize; + break 'l115; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l82: loop { + let (v2442, ()) = (block131param0.clone(), ()); + let (v2443, ()) = (block131param1.clone(), ()); + let (v2444, ()) = (block131param2.clone(), ()); + let (v2445, ()) = (block131param3.clone(), ()); + let (v2446, ()) = (block131param4.clone(), ()); + let (v2447, ()) = (block131param5.clone(), ()); + let (v2448, ()) = (block131param6.clone(), ()); + let (v2449, ()) = (block131param7.clone(), ()); + let (v1186, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2442.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1186 != 0 { + block129param0 = v1186; + block129param1 = v2443; + block129param2 = v2444; + block129param3 = v2445; + block129param4 = v2446; + block129param5 = v2447; + block129param6 = v2448; + block129param7 = v2449; + cff = 129usize; + continue 'l72; + } else { + block132param0 = v2444; + block132param1 = v2445; + block132param2 = v2446; + block132param3 = v2447; + block132param4 = v2448; + block132param5 = v2449; + cff = 132usize; + }; + let mut cff2 = match cff { + 132usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l98: loop { + let (v2450, ()) = (block132param0.clone(), ()); + let (v2451, ()) = (block132param1.clone(), ()); + let (v2452, ()) = (block132param2.clone(), ()); + let (v2453, ()) = (block132param3.clone(), ()); + let (v2454, ()) = (block132param4.clone(), ()); + let (v2455, ()) = (block132param5.clone(), ()); + block127param0 = v2451; + block127param1 = v2452; + block127param2 = v2453; + block127param3 = v2450; + block127param4 = v2454; + block127param5 = v2455; + cff = 127usize; + break 'l98; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l81: loop { + let (v1217, ()) = (block127param0.clone(), ()); + let (v1235, ()) = (block127param1.clone(), ()); + let (v1256, ()) = (block127param2.clone(), ()); + let (v1306, ()) = (block127param3.clone(), ()); + let (v1654, ()) = (block127param4.clone(), ()); + let (v1913, ()) = (block127param5.clone(), ()); + let (v1203, ()) = (1049540u32, ()); + block136param0 = v1203; + block136param1 = v1217; + block136param2 = v1235; + block136param3 = v1256; + block136param4 = v1306; + block136param5 = v1654; + block136param6 = v1913; + cff = 136usize; + let mut cff2 = match cff { + 136usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l97: loop { + let (v1204, ()) = (block136param0.clone(), ()); + let (v1206, ()) = (block136param1.clone(), ()); + let (v1234, ()) = (block136param2.clone(), ()); + let (v1255, ()) = (block136param3.clone(), ()); + let (v1305, ()) = (block136param4.clone(), ()); + let (v1653, ()) = (block136param5.clone(), ()); + let (v1912, ()) = (block136param6.clone(), ()); + let (v1205, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1204.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1207, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1205.clone()), + ::wars_rt::func::cast::<_, _, C>(v1206.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1207 != 0 { + block138param0 = v1204; + block138param1 = v1206; + block138param2 = v1234; + block138param3 = v1255; + block138param4 = v1305; + block138param5 = v1653; + block138param6 = v1912; + cff = 138usize; + } else { + block139param0 = v1206; + block139param1 = v1234; + block139param2 = v1255; + block139param3 = v1305; + block139param4 = v1204; + block139param5 = v1205; + block139param6 = v1653; + block139param7 = v1912; + cff = 139usize; + }; + let mut cff2 = match cff { + 139usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l114: loop { + let (v2466, ()) = (block139param0.clone(), ()); + let (v2469, ()) = (block139param1.clone(), ()); + let (v2471, ()) = (block139param2.clone(), ()); + let (v2473, ()) = (block139param3.clone(), ()); + let (v2474, ()) = (block139param4.clone(), ()); + let (v2475, ()) = (block139param5.clone(), ()); + let (v2482, ()) = (block139param6.clone(), ()); + let (v2484, ()) = (block139param7.clone(), ()); + let (v1210, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2474.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1211, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2475.clone()), + ::wars_rt::func::cast::<_, _, C>(v1210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1213, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1211.clone()), + ::wars_rt::func::cast::<_, _, C>(v2466.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1213 != 0 { + block135param0 = v2466; + block135param1 = v1211; + block135param2 = v2469; + block135param3 = v2471; + block135param4 = v2473; + block135param5 = v2482; + block135param6 = v2484; + cff = 135usize; + } else { + block140param0 = v2474; + block140param1 = v2466; + block140param2 = v2469; + block140param3 = v2471; + block140param4 = v2473; + block140param5 = v2482; + block140param6 = v2484; + cff = 140usize; + }; + let mut cff2 = match cff { + 135usize => 0usize, + 140usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l134: loop { + let (v2465, ()) = (block135param0.clone(), ()); + let (v2467, ()) = (block135param1.clone(), ()); + let (v2468, ()) = (block135param2.clone(), ()); + let (v2470, ()) = (block135param3.clone(), ()); + let (v2472, ()) = (block135param4.clone(), ()); + let (v2495, ()) = (block135param5.clone(), ()); + let (v2499, ()) = (block135param6.clone(), ()); + let (v1231, ()) = (0u32, ()); + let (v1244, ()) = (15u32, ()); + let (v1245, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1244.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1246, ()) = (4294967288u32, ()); + let (v1247, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1245.clone()), + ::wars_rt::func::cast::<_, _, C>(v1246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1248, ()) = (4294967288u32, ()); + let (v1249, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1247.clone()), + ::wars_rt::func::cast::<_, _, C>(v1248.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1231.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1249.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1251, ()) = (0u32, ()); + let (v1252, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1265, ()) = (4294967256u32, ()); + let (v1266, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2470.clone()), + ::wars_rt::func::cast::<_, _, C>(v1265.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1267, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1252.clone()), + ::wars_rt::func::cast::<_, _, C>(v1266.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1268, ()) = (8u32, ()); + let (v1269, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1267.clone()), + ::wars_rt::func::cast::<_, _, C>(v1268.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1251.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1271, ()) = (1u32, ()); + let (v1272, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1269.clone()), + ::wars_rt::func::cast::<_, _, C>(v1271.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1249.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1272.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1274, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1266.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1275, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1274.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1275.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1277, ()) = (0u32, ()); + let (v1278, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1277.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1278.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1282, ()) = (4294967264u32, ()); + let (v1283, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2467.clone()), + ::wars_rt::func::cast::<_, _, C>(v1282.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1284, ()) = (4294967288u32, ()); + let (v1285, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1283.clone()), + ::wars_rt::func::cast::<_, _, C>(v1284.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1286, ()) = (4294967288u32, ()); + let (v1287, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1285.clone()), + ::wars_rt::func::cast::<_, _, C>(v1286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1288, ()) = (16u32, ()); + let (v1289, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2465.clone()), + ::wars_rt::func::cast::<_, _, C>(v1288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1290, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1287.clone()), + ::wars_rt::func::cast::<_, _, C>(v1289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1291, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2465.clone()), + ::wars_rt::func::cast::<_, _, C>(v1287.clone()), + ::wars_rt::func::cast::<_, _, C>(v1290.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1292, ()) = (27u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1291.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1294, ()) = (0u32, ()); + let (v1295, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1294.clone() + 1049540u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1296, ()) = (16u32, ()); + let (v1297, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1298, ()) = (0u32, ()); + let (v1299, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1298.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1297.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1299.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1291.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1295.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1302, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1302.clone() + 1049552u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2472.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1312, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1312.clone() + 1049544u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2470.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1314, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1314.clone() + 1049540u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1316, ()) = (0u32, ()); + let (v1317, ()) = (8u32, ()); + let (v1318, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1316.clone() + 1049548u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1320, ()) = (28u32, ()); + let (v1321, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block141param0 = v1321; + block141param1 = v2467; + block141param2 = v2465; + block141param3 = v1291; + block141param4 = v2495; + block141param5 = v2499; + cff = 141usize; + let mut cff2 = match cff { + 141usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l147: loop { + let (v1322, ()) = (block141param0.clone(), ()); + let (v2485, ()) = (block141param1.clone(), ()); + let (v2488, ()) = (block141param2.clone(), ()); + let (v2491, ()) = (block141param3.clone(), ()); + let (v2494, ()) = (block141param4.clone(), ()); + let (v2498, ()) = (block141param5.clone(), ()); + let (v1323, ()) = (7u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1322.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1323.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1325, ()) = (4u32, ()); + let (v1326, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1322.clone()), + ::wars_rt::func::cast::<_, _, C>(v1325.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1328, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1326.clone()), + ::wars_rt::func::cast::<_, _, C>(v2485.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1328 != 0 { + block141param0 = v1326; + block141param1 = v2485; + block141param2 = v2488; + block141param3 = v2491; + block141param4 = v2494; + block141param5 = v2498; + cff = 141usize; + continue 'l147; + } else { + block143param0 = v2488; + block143param1 = v2491; + block143param2 = v2494; + block143param3 = v2498; + cff = 143usize; + }; + let mut cff2 = match cff { + 143usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l156: loop { + let (v2487, ()) = (block143param0.clone(), ()); + let (v2490, ()) = (block143param1.clone(), ()); + let (v2493, ()) = (block143param2.clone(), ()); + let (v2497, ()) = (block143param3.clone(), ()); + block142param0 = v2487; + block142param1 = v2490; + block142param2 = v2493; + block142param3 = v2497; + cff = 142usize; + let mut cff2 = match cff { + 142usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l159: loop { + let (v2486, ()) = (block142param0.clone(), ()); + let (v2489, ()) = (block142param1.clone(), ()); + let (v2492, ()) = (block142param2.clone(), ()); + let (v2496, ()) = (block142param3.clone(), ()); + let (v1335, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v2489.clone()), + ::wars_rt::func::cast::<_, _, C>(v2486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1335 != 0 { + block99param0 = v2492; + block99param1 = v2496; + cff = 99usize; + break 'l159; + } else { + block144param0 = v2486; + block144param1 = v2489; + block144param2 = v2492; + block144param3 = v2496; + cff = 144usize; + }; + let mut cff2 = match cff { + 144usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l163: loop { + let (v2500, ()) = (block144param0.clone(), ()); + let (v2501, ()) = (block144param1.clone(), ()); + let (v2506, ()) = (block144param2.clone(), ()); + let (v2508, ()) = (block144param3.clone(), ()); + let (v1337, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1338, ()) = (4294967294u32, ()); + let (v1339, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1337.clone()), + ::wars_rt::func::cast::<_, _, C>(v1338.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1339.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1342, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2501.clone()), + ::wars_rt::func::cast::<_, _, C>(v2500.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1343, ()) = (1u32, ()); + let (v1344, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ::wars_rt::func::cast::<_, _, C>(v1343.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2500.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1344.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1347, ()) = (256u32, ()); + let (v1348, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ::wars_rt::func::cast::<_, _, C>(v1347.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1348 != 0 { + block145param0 = v1342; + block145param1 = v2500; + block145param2 = v2506; + block145param3 = v2508; + cff = 145usize; + } else { + block146param0 = v2500; + block146param1 = v1342; + block146param2 = v2506; + block146param3 = v2508; + cff = 146usize; + }; + let mut cff2 = match cff { + 145usize => 0usize, + 146usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l165: loop { + let (v2502, ()) = (block145param0.clone(), ()); + let (v2510, ()) = (block145param1.clone(), ()); + let (v2513, ()) = (block145param2.clone(), ()); + let (v2515, ()) = (block145param3.clone(), ()); + let (v1353, ()) = (4294967288u32, ()); + let (v1354, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2502.clone()), + ::wars_rt::func::cast::<_, _, C>(v1353.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1355, ()) = (1049556u32, ()); + let (v1356, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1354.clone()), + ::wars_rt::func::cast::<_, _, C>(v1355.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1357, ()) = (0u32, ()); + let (v1358, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1357.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1359, ()) = (1u32, ()); + let (v1360, ()) = (3u32, ()); + let (v1361, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2502.clone()), + ::wars_rt::func::cast::<_, _, C>(v1360.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1362, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1359.clone()), + ::wars_rt::func::cast::<_, _, C>(v1361.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1363, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1358.clone()), + ::wars_rt::func::cast::<_, _, C>(v1362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1363 != 0 { + block148param0 = v2510; + block148param1 = v1356; + block148param2 = v2513; + block148param3 = v2515; + cff = 148usize; + } else { + block149param0 = v2510; + block149param1 = v1356; + block149param2 = v1358; + block149param3 = v1362; + block149param4 = v2513; + block149param5 = v2515; + cff = 149usize; + }; + let mut cff2 = match cff { + 148usize => 0usize, + 149usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l168: loop { + let (v2509, ()) = (block148param0.clone(), ()); + let (v2511, ()) = (block148param1.clone(), ()); + let (v2512, ()) = (block148param2.clone(), ()); + let (v2514, ()) = (block148param3.clone(), ()); + let (v1371, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2511.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block147param0 = v2511; + block147param1 = v2509; + block147param2 = v1371; + block147param3 = v2512; + block147param4 = v2514; + cff = 147usize; + break 'l168; + }; + } + 1usize => { + 'l167: loop { + let (v2516, ()) = (block149param0.clone(), ()); + let (v2517, ()) = (block149param1.clone(), ()); + let (v2518, ()) = (block149param2.clone(), ()); + let (v2519, ()) = (block149param3.clone(), ()); + let (v2520, ()) = (block149param4.clone(), ()); + let (v2521, ()) = (block149param5.clone(), ()); + let (v1364, ()) = (0u32, ()); + let (v1367, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2518.clone()), + ::wars_rt::func::cast::<_, _, C>(v2519.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1364.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block147param0 = v2517; + block147param1 = v2516; + block147param2 = v2517; + block147param3 = v2520; + block147param4 = v2521; + cff = 147usize; + break 'l167; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l166: loop { + let (v1372, ()) = (block147param0.clone(), ()); + let (v1373, ()) = (block147param1.clone(), ()); + let (v1378, ()) = (block147param2.clone(), ()); + let (v1661, ()) = (block147param3.clone(), ()); + let (v1920, ()) = (block147param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1372.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1378.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1373.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1372.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1373.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1378.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v1661; + block99param1 = v1920; + cff = 99usize; + break 'l166; + }; + }; + } + 1usize => { + 'l164: loop { + let (v2503, ()) = (block146param0.clone(), ()); + let (v2504, ()) = (block146param1.clone(), ()); + let (v2505, ()) = (block146param2.clone(), ()); + let (v2507, ()) = (block146param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2503.clone()), + (::wars_rt::func::cast::<_, _, C>(v2504.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v2505; + block99param1 = v2507; + cff = 99usize; + break 'l164; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l133: loop { + let (v2476, ()) = (block140param0.clone(), ()); + let (v2477, ()) = (block140param1.clone(), ()); + let (v2478, ()) = (block140param2.clone(), ()); + let (v2479, ()) = (block140param3.clone(), ()); + let (v2480, ()) = (block140param4.clone(), ()); + let (v2481, ()) = (block140param5.clone(), ()); + let (v2483, ()) = (block140param6.clone(), ()); + block138param0 = v2476; + block138param1 = v2477; + block138param2 = v2478; + block138param3 = v2479; + block138param4 = v2480; + block138param5 = v2481; + block138param6 = v2483; + cff = 138usize; + break 'l133; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l113: loop { + let (v1214, ()) = (block138param0.clone(), ()); + let (v1229, ()) = (block138param1.clone(), ()); + let (v1242, ()) = (block138param2.clone(), ()); + let (v1263, ()) = (block138param3.clone(), ()); + let (v1309, ()) = (block138param4.clone(), ()); + let (v1657, ()) = (block138param5.clone(), ()); + let (v1916, ()) = (block138param6.clone(), ()); + let (v1216, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1214.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block136param0 = v1216; + block136param1 = v1229; + block136param2 = v1242; + block136param3 = v1263; + block136param4 = v1309; + block136param5 = v1657; + block136param6 = v1916; + cff = 136usize; + continue 'l97; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 99usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v1642, ()) = (block99param0.clone(), ()); + let (v1901, ()) = (block99param1.clone(), ()); + let (v1639, ()) = (0u32, ()); + let (v1640, ()) = (0u32, ()); + let (v1641, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1640.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1666, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v1641.clone()), + ::wars_rt::func::cast::<_, _, C>(v1642.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1666 != 0 { + block2param0 = v1901; + block2param1 = v1639; + cff = 2usize; + break 'l27; + } else { + block162param0 = v1641; + block162param1 = v1642; + block162param2 = v1901; + cff = 162usize; + }; + let mut cff2 = match cff { + 162usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v2561, ()) = (block162param0.clone(), ()); + let (v2562, ()) = (block162param1.clone(), ()); + let (v2563, ()) = (block162param2.clone(), ()); + let (v1667, ()) = (0u32, ()); + let (v1670, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2561.clone()), + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1667.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1670.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1672, ()) = (0u32, ()); + let (v1673, ()) = (0u32, ()); + let (v1674, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1673.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1675, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1674.clone()), + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1672.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1675.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1677, ()) = (1u32, ()); + let (v1678, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1670.clone()), + ::wars_rt::func::cast::<_, _, C>(v1677.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1675.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1678.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1680, ()) = (3u32, ()); + let (v1681, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ::wars_rt::func::cast::<_, _, C>(v1680.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1674.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1681.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1683, ()) = (8u32, ()); + let (v1684, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1674.clone()), + ::wars_rt::func::cast::<_, _, C>(v1683.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v2563; + block2param1 = v1684; + cff = 2usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l21: loop { + let (v2366, ()) = (block109param0.clone(), ()); + let (v852, ()) = (0u32, ()); + block2param0 = v2366; + block2param1 = v852; + cff = 2usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func31<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block10param0: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (0u32, ()); + let (v4, ()) = (4294901709u32, ()); + let (v5, ()) = (16u32, ()); + let (v6, ()) = (16u32, ()); + let (v7, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block2param0 = v3; + cff = 2usize; + } else { + block3param0 = v2; + block3param1 = v3; + block3param2 = v8; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v143, ()) = (block3param0.clone(), ()); + let (v144, ()) = (block3param1.clone(), ()); + let (v145, ()) = (block3param2.clone(), ()); + let (v12, ()) = (16u32, ()); + let (v14, ()) = (11u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (4294967288u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (11u32, ()); + let (v19, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (12u32, ()); + let (v23, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v23.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v25 != 0 { + block2param0 = v144; + cff = 2usize; + break 'l2; + } else { + block4param0 = v145; + block4param1 = v24; + block4param2 = v20; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v146, ()) = (block4param0.clone(), ()); + let (v147, ()) = (block4param1.clone(), ()); + let (v153, ()) = (block4param2.clone(), ()); + let (v27, ()) = (4294967288u32, ()); + let (v28, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (4294967295u32, ()); + let (v31, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block6param0 = v146; + block6param1 = v147; + block6param2 = v28; + block6param3 = v31; + block6param4 = v153; + cff = 6usize; + } else { + block7param0 = v153; + block7param1 = v28; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v148, ()) = (block6param0.clone(), ()); + let (v149, ()) = (block6param1.clone(), ()); + let (v150, ()) = (block6param2.clone(), ()); + let (v151, ()) = (block6param3.clone(), ()); + let (v156, ()) = (block6param4.clone(), ()); + let (v35, ()) = (4294967292u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (4294967288u32, ()); + let (v39, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (0u32, ()); + let (v44, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (4294967288u32, ()); + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (0u32, ()); + let (v50, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (16u32, ()); + let (v52, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (3u32, ()); + let (v58, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block8param0 = v156; + block8param1 = v150; + block8param2 = v54; + block8param3 = v55; + block8param4 = v56; + cff = 8usize; + } else { + block9param0 = v156; + block9param1 = v150; + block9param2 = v36; + block9param3 = v54; + block9param4 = v55; + block9param5 = v56; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v155, ()) = (block8param0.clone(), ()); + let (v157, ()) = (block8param1.clone(), ()); + let (v158, ()) = (block8param2.clone(), ()); + let (v159, ()) = (block8param3.clone(), ()); + let (v160, ()) = (block8param4.clone(), ()); + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v157.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v158.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v158.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v158; + block5param1 = v155; + cff = 5usize; + break 'l11; + } + } + 1usize => { + 'l10: loop { + let (v161, ()) = (block9param0.clone(), ()); + let (v162, ()) = (block9param1.clone(), ()); + let (v163, ()) = (block9param2.clone(), ()); + let (v164, ()) = (block9param3.clone(), ()); + let (v165, ()) = (block9param4.clone(), ()); + let (v166, ()) = (block9param5.clone(), ()); + let (v62, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (1u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (2u32, ()); + let (v67, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = (1u32, ()); + let (v72, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v163.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = (1u32, ()); + let (v78, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (2u32, ()); + let (v81, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v163.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (1u32, ()); + let (v87, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + (::wars_rt::func::cast::<_, _, C>(v165.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v164; + block5param1 = v161; + cff = 5usize; + break 'l10; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v152, ()) = (block7param0.clone(), ()); + let (v154, ()) = (block7param1.clone(), ()); + block5param0 = v154; + block5param1 = v152; + cff = 5usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v98, ()) = (block5param0.clone(), ()); + let (v107, ()) = (block5param1.clone(), ()); + let (v99, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v98.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v100, ()) = (3u32, ()); + let (v101, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v102 != 0 { + block10param0 = v98; + cff = 10usize; + } else { + block11param0 = v98; + block11param1 = v99; + block11param2 = v107; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v167, ()) = (block11param0.clone(), ()); + let (v168, ()) = (block11param1.clone(), ()); + let (v169, ()) = (block11param2.clone(), ()); + let (v104, ()) = (4294967288u32, ()); + let (v105, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = (16u32, ()); + let (v114, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v115 != 0 { + block10param0 = v167; + cff = 10usize; + break 'l9; + } else { + block12param0 = v167; + block12param1 = v168; + block12param2 = v105; + block12param3 = v169; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v170, ()) = (block12param0.clone(), ()); + let (v171, ()) = (block12param1.clone(), ()); + let (v172, ()) = (block12param2.clone(), ()); + let (v173, ()) = (block12param3.clone(), ()); + let (v120, ()) = (1u32, ()); + let (v121, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = (2u32, ()); + let (v124, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v170.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v129, ()) = (3u32, ()); + let (v130, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v132, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (1u32, ()); + let (v135, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + (::wars_rt::func::cast::<_, _, C>(v128.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v170; + cff = 10usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v138, ()) = (block10param0.clone(), ()); + let (v139, ()) = (8u32, ()); + let (v140, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v140; + cff = 2usize; + break 'l8; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v141, ()) = (block2param0.clone(), ()); + block1param0 = v141; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func32<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func33(ctx, (::wars_rt::func::cast::<_, _, C>(v0.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func33<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (*ctx.global0(), ()); + let (v2, ()) = (16u32, ()); + let (v3, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v3; + () + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (12u32, ()); + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + match v9 { + 0usize => { + block5param0 = v0; + block5param1 = v3; + block5param2 = v5; + block5param3 = v8; + cff = 5usize; + } + 1usize => { + block4param0 = v0; + block4param1 = v3; + block4param2 = v5; + block4param3 = v8; + cff = 4usize; + } + _ => { + block2param0 = v3; + block2param1 = v5; + block2param2 = v0; + cff = 2usize; + } + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v54, ()) = (block4param0.clone(), ()); + let (v55, ()) = (block4param1.clone(), ()); + let (v56, ()) = (block4param2.clone(), ()); + let (v57, ()) = (block4param3.clone(), ()); + if v57 != 0 { + block2param0 = v55; + block2param1 = v56; + block2param2 = v54; + cff = 2usize; + break 'l4; + } else { + block7param0 = v54; + block7param1 = v55; + block7param2 = v56; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v64, ()) = (block7param0.clone(), ()); + let (v65, ()) = (block7param1.clone(), ()); + let (v66, ()) = (block7param2.clone(), ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v66.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v65; + block3param1 = v17; + block3param2 = v18; + block3param3 = v64; + cff = 3usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v58, ()) = (block5param0.clone(), ()); + let (v59, ()) = (block5param1.clone(), ()); + let (v60, ()) = (block5param2.clone(), ()); + let (v61, ()) = (block5param3.clone(), ()); + if v61 != 0 { + block2param0 = v59; + block2param1 = v60; + block2param2 = v58; + cff = 2usize; + break 'l3; + } else { + block6param0 = v58; + block6param1 = v59; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v62, ()) = (block6param0.clone(), ()); + let (v63, ()) = (block6param1.clone(), ()); + let (v11, ()) = (1048804u32, ()); + let (v12, ()) = (0u32, ()); + block3param0 = v63; + block3param1 = v12; + block3param2 = v11; + block3param3 = v62; + cff = 3usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v40, ()) = (block2param0.clone(), ()); + let (v41, ()) = (block2param1.clone(), ()); + let (v47, ()) = (block2param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v40.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (2147483648u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v40.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (1049016u32, ()); + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 17u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func44( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + (::wars_rt::func::cast::<_, _, C>(v52.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v19, ()) = (block3param0.clone(), ()); + let (v24, ()) = (block3param1.clone(), ()); + let (v26, ()) = (block3param2.clone(), ()); + let (v29, ()) = (block3param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (1048996u32, ()); + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v29.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v29.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 17u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func44( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + (::wars_rt::func::cast::<_, _, C>(v38.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func34<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (48u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (0u32, ()); + let (v7, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 1049384u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v4; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v33, ()) = (48u32, ()); + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v34; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v37, ()) = (block3param0.clone(), ()); + let (v38, ()) = (block3param1.clone(), ()); + let (v10, ()) = (24u32, ()); + let (v11, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (1u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v11.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (2u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1048864u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (36u32, ()); + let (v23, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = (44u32, ()); + let (v26, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (12u32, ()); + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (1048904u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + (::wars_rt::func::cast::<_, _, C>(v30.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func35<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (9u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block2param0 = v1; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v2; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v10, ()) = (block2param0.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v9; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v11, ()) = (block3param0.clone(), ()); + let (v12, ()) = (block3param1.clone(), ()); + let (v7, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v7, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func36<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func29(ctx, (::wars_rt::func::cast::<_, _, C>(v0.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func37<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block2param5: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block14param0: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block16param6: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block23param4: u32; + let mut block23param5: u32; + let mut block23param6: u32; + let mut block23param7: u32; + let mut block23param8: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block26param0: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (9u32, ()); + let (v6, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v6 != 0 { + block5param0 = v1; + block5param1 = v4; + cff = 5usize; + } else { + block6param0 = v1; + block6param1 = v2; + block6param2 = v4; + block6param3 = v3; + cff = 6usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 6usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v348, ()) = (block5param0.clone(), ()); + let (v372, ()) = (block5param1.clone(), ()); + let (v11, ()) = (0u32, ()); + let (v13, ()) = (4294901708u32, ()); + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + block3param0 = v11; + cff = 3usize; + break 'l3; + } else { + block8param0 = v348; + block8param1 = v372; + block8param2 = v11; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v347, ()) = (block8param0.clone(), ()); + let (v374, ()) = (block8param1.clone(), ()); + let (v379, ()) = (block8param2.clone(), ()); + let (v15, ()) = (16u32, ()); + let (v17, ()) = (11u32, ()); + let (v18, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = (4294967288u32, ()); + let (v20, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (11u32, ()); + let (v22, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (4294967292u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v347.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (4294967288u32, ()); + let (v30, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (3u32, ()); + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block10param0 = v347; + block10param1 = v23; + block10param2 = v27; + block10param3 = v28; + block10param4 = v30; + block10param5 = v374; + block10param6 = v379; + cff = 10usize; + } else { + block11param0 = v347; + block11param1 = v374; + block11param2 = v379; + block11param3 = v23; + block11param4 = v27; + block11param5 = v30; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v346, ()) = (block10param0.clone(), ()); + let (v352, ()) = (block10param1.clone(), ()); + let (v356, ()) = (block10param2.clone(), ()); + let (v360, ()) = (block10param3.clone(), ()); + let (v375, ()) = (block10param4.clone(), ()); + let (v416, ()) = (block10param5.clone(), ()); + let (v420, ()) = (block10param6.clone(), ()); + let (v52, ()) = (4294967288u32, ()); + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v346.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ::wars_rt::func::cast::<_, _, C>(v352.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v57 != 0 { + block19param0 = v346; + block19param1 = v352; + block19param2 = v356; + block19param3 = v360; + block19param4 = v53; + block19param5 = v55; + block19param6 = v375; + cff = 19usize; + } else { + block20param0 = v346; + block20param1 = v352; + block20param2 = v356; + block20param3 = v360; + block20param4 = v53; + block20param5 = v375; + block20param6 = v416; + block20param7 = v420; + block20param8 = v55; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v399, ()) = (block19param0.clone(), ()); + let (v401, ()) = (block19param1.clone(), ()); + let (v403, ()) = (block19param2.clone(), ()); + let (v405, ()) = (block19param3.clone(), ()); + let (v407, ()) = (block19param4.clone(), ()); + let (v409, ()) = (block19param5.clone(), ()); + let (v442, ()) = (block19param6.clone(), ()); + let (v133, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v442.clone()), + ::wars_rt::func::cast::<_, _, C>(v401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (15u32, ()); + let (v135, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v135 != 0 { + block16param0 = v399; + block16param1 = v401; + block16param2 = v403; + block16param3 = v405; + block16param4 = v407; + block16param5 = v409; + block16param6 = v133; + cff = 16usize; + } else { + block26param0 = v399; + cff = 26usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 26usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v398, ()) = (block16param0.clone(), ()); + let (v400, ()) = (block16param1.clone(), ()); + let (v402, ()) = (block16param2.clone(), ()); + let (v404, ()) = (block16param3.clone(), ()); + let (v406, ()) = (block16param4.clone(), ()); + let (v408, ()) = (block16param5.clone(), ()); + let (v410, ()) = (block16param6.clone(), ()); + let (v229, ()) = (1u32, ()); + let (v230, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v404.clone()), + ::wars_rt::func::cast::<_, _, C>(v229.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v231, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v232, ()) = (2u32, ()); + let (v233, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v402.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = (3u32, ()); + let (v240, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v410.clone()), + ::wars_rt::func::cast::<_, _, C>(v239.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v408.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = (1u32, ()); + let (v246, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v408.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + (::wars_rt::func::cast::<_, _, C>(v410.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v398, ())), + ); + } + } + 1usize => { + 'l14: loop { + let (v465, ()) = (block26param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v465, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l13: loop { + let (v345, ()) = (block20param0.clone(), ()); + let (v351, ()) = (block20param1.clone(), ()); + let (v355, ()) = (block20param2.clone(), ()); + let (v359, ()) = (block20param3.clone(), ()); + let (v363, ()) = (block20param4.clone(), ()); + let (v397, ()) = (block20param5.clone(), ()); + let (v415, ()) = (block20param6.clone(), ()); + let (v419, ()) = (block20param7.clone(), ()); + let (v443, ()) = (block20param8.clone(), ()); + let (v59, ()) = (0u32, ()); + let (v60, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v59.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + block15param0 = v345; + block15param1 = v351; + block15param2 = v355; + block15param3 = v359; + block15param4 = v363; + block15param5 = v397; + block15param6 = v415; + block15param7 = v419; + cff = 15usize; + } else { + block21param0 = v345; + block21param1 = v415; + block21param2 = v419; + block21param3 = v351; + block21param4 = v355; + block21param5 = v397; + block21param6 = v363; + block21param7 = v443; + block21param8 = v359; + cff = 21usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 21usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v344, ()) = (block15param0.clone(), ()); + let (v350, ()) = (block15param1.clone(), ()); + let (v354, ()) = (block15param2.clone(), ()); + let (v358, ()) = (block15param3.clone(), ()); + let (v362, ()) = (block15param4.clone(), ()); + let (v396, ()) = (block15param5.clone(), ()); + let (v489, ()) = (block15param6.clone(), ()); + let (v491, ()) = (block15param7.clone(), ()); + let (v250, ()) = (0u32, ()); + let (v251, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v250.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v253, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v255, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v253.clone()), + ::wars_rt::func::cast::<_, _, C>(v350.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v255 != 0 { + block2param0 = v344; + block2param1 = v350; + block2param2 = v354; + block2param3 = v358; + block2param4 = v362; + block2param5 = v253; + cff = 2usize; + } else { + block31param0 = v344; + block31param1 = v489; + block31param2 = v491; + block31param3 = v354; + cff = 31usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 31usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v343, ()) = (block2param0.clone(), ()); + let (v349, ()) = (block2param1.clone(), ()); + let (v353, ()) = (block2param2.clone(), ()); + let (v357, ()) = (block2param3.clone(), ()); + let (v361, ()) = (block2param4.clone(), ()); + let (v364, ()) = (block2param5.clone(), ()); + let (v324, ()) = (1u32, ()); + let (v325, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v357.clone()), + ::wars_rt::func::cast::<_, _, C>(v324.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v326, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ::wars_rt::func::cast::<_, _, C>(v325.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v327, ()) = (2u32, ()); + let (v328, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ::wars_rt::func::cast::<_, _, C>(v327.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v353.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v332, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v361.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v335, ()) = (1u32, ()); + let (v336, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ::wars_rt::func::cast::<_, _, C>(v335.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v332.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v336.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v338, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v338.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v340, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v340.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v343; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l19: loop { + let (v487, ()) = (block31param0.clone(), ()); + let (v488, ()) = (block31param1.clone(), ()); + let (v490, ()) = (block31param2.clone(), ()); + let (v492, ()) = (block31param3.clone(), ()); + block9param0 = v488; + block9param1 = v487; + block9param2 = v492; + block9param3 = v490; + cff = 9usize; + break 'l19; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l15: loop { + let (v412, ()) = (block21param0.clone(), ()); + let (v414, ()) = (block21param1.clone(), ()); + let (v418, ()) = (block21param2.clone(), ()); + let (v422, ()) = (block21param3.clone(), ()); + let (v424, ()) = (block21param4.clone(), ()); + let (v426, ()) = (block21param5.clone(), ()); + let (v439, ()) = (block21param6.clone(), ()); + let (v444, ()) = (block21param7.clone(), ()); + let (v476, ()) = (block21param8.clone(), ()); + let (v63, ()) = (0u32, ()); + let (v64, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v63.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v444.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v65 != 0 { + block17param0 = v412; + block17param1 = v414; + block17param2 = v418; + block17param3 = v422; + block17param4 = v424; + block17param5 = v426; + block17param6 = v476; + block17param7 = v439; + cff = 17usize; + } else { + block22param0 = v412; + block22param1 = v424; + block22param2 = v439; + block22param3 = v414; + block22param4 = v418; + block22param5 = v444; + block22param6 = v422; + block22param7 = v426; + cff = 22usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 22usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v411, ()) = (block17param0.clone(), ()); + let (v413, ()) = (block17param1.clone(), ()); + let (v417, ()) = (block17param2.clone(), ()); + let (v421, ()) = (block17param3.clone(), ()); + let (v423, ()) = (block17param4.clone(), ()); + let (v425, ()) = (block17param5.clone(), ()); + let (v475, ()) = (block17param6.clone(), ()); + let (v479, ()) = (block17param7.clone(), ()); + let (v154, ()) = (0u32, ()); + let (v155, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v159, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ::wars_rt::func::cast::<_, _, C>(v421.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v159 != 0 { + block9param0 = v413; + block9param1 = v411; + block9param2 = v423; + block9param3 = v417; + cff = 9usize; + break 'l21; + } else { + block27param0 = v421; + block27param1 = v157; + block27param2 = v411; + block27param3 = v423; + block27param4 = v475; + block27param5 = v479; + cff = 27usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v466, ()) = (block27param0.clone(), ()); + let (v467, ()) = (block27param1.clone(), ()); + let (v469, ()) = (block27param2.clone(), ()); + let (v472, ()) = (block27param3.clone(), ()); + let (v474, ()) = (block27param4.clone(), ()); + let (v478, ()) = (block27param5.clone(), ()); + let (v162, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v467.clone()), + ::wars_rt::func::cast::<_, _, C>(v466.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = (15u32, ()); + let (v164, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v164 != 0 { + block29param0 = v469; + block29param1 = v466; + block29param2 = v472; + block29param3 = v474; + block29param4 = v478; + block29param5 = v467; + block29param6 = v162; + cff = 29usize; + } else { + block30param0 = v469; + block30param1 = v472; + block30param2 = v474; + block30param3 = v478; + block30param4 = v467; + cff = 30usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + 30usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v468, ()) = (block29param0.clone(), ()); + let (v470, ()) = (block29param1.clone(), ()); + let (v471, ()) = (block29param2.clone(), ()); + let (v473, ()) = (block29param3.clone(), ()); + let (v477, ()) = (block29param4.clone(), ()); + let (v480, ()) = (block29param5.clone(), ()); + let (v481, ()) = (block29param6.clone(), ()); + let (v194, ()) = (1u32, ()); + let (v195, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v473.clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v196, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v470.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v197, ()) = (2u32, ()); + let (v198, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v196.clone()), + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v471.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v198.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ::wars_rt::func::cast::<_, _, C>(v470.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v203, ()) = (1u32, ()); + let (v204, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ::wars_rt::func::cast::<_, _, C>(v203.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v201.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v204.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v207, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ::wars_rt::func::cast::<_, _, C>(v480.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v209, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v210, ()) = (4294967294u32, ()); + let (v211, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block28param0 = v201; + block28param1 = v481; + block28param2 = v468; + cff = 28usize; + break 'l29; + }; + } + 1usize => { + 'l28: loop { + let (v482, ()) = (block30param0.clone(), ()); + let (v483, ()) = (block30param1.clone(), ()); + let (v484, ()) = (block30param2.clone(), ()); + let (v485, ()) = (block30param3.clone(), ()); + let (v486, ()) = (block30param4.clone(), ()); + let (v174, ()) = (1u32, ()); + let (v175, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v484.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v177, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ::wars_rt::func::cast::<_, _, C>(v486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v178, ()) = (2u32, ()); + let (v179, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ::wars_rt::func::cast::<_, _, C>(v178.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v483.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v184, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v485.clone()), + ::wars_rt::func::cast::<_, _, C>(v486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v185, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v186, ()) = (1u32, ()); + let (v187, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v185.clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v189, ()) = (0u32, ()); + let (v190, ()) = (0u32, ()); + block28param0 = v190; + block28param1 = v189; + block28param2 = v482; + cff = 28usize; + break 'l28; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l27: loop { + let (v214, ()) = (block28param0.clone(), ()); + let (v217, ()) = (block28param1.clone(), ()); + let (v219, ()) = (block28param2.clone(), ()); + let (v213, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v213.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v216, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v219, ())), + ); + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l20: loop { + let (v430, ()) = (block22param0.clone(), ()); + let (v434, ()) = (block22param1.clone(), ()); + let (v438, ()) = (block22param2.clone(), ()); + let (v445, ()) = (block22param3.clone(), ()); + let (v446, ()) = (block22param4.clone(), ()); + let (v447, ()) = (block22param5.clone(), ()); + let (v451, ()) = (block22param6.clone(), ()); + let (v453, ()) = (block22param7.clone(), ()); + let (v67, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v447.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (2u32, ()); + let (v69, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block9param0 = v445; + block9param1 = v430; + block9param2 = v434; + block9param3 = v446; + cff = 9usize; + break 'l20; + } else { + block23param0 = v430; + block23param1 = v434; + block23param2 = v438; + block23param3 = v445; + block23param4 = v446; + block23param5 = v451; + block23param6 = v453; + block23param7 = v67; + block23param8 = v447; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v429, ()) = (block23param0.clone(), ()); + let (v433, ()) = (block23param1.clone(), ()); + let (v437, ()) = (block23param2.clone(), ()); + let (v448, ()) = (block23param3.clone(), ()); + let (v449, ()) = (block23param4.clone(), ()); + let (v450, ()) = (block23param5.clone(), ()); + let (v452, ()) = (block23param6.clone(), ()); + let (v454, ()) = (block23param7.clone(), ()); + let (v457, ()) = (block23param8.clone(), ()); + let (v71, ()) = (4294967288u32, ()); + let (v72, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v454.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v452.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v450.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v82 != 0 { + block9param0 = v448; + block9param1 = v429; + block9param2 = v433; + block9param3 = v449; + cff = 9usize; + break 'l25; + } else { + block24param0 = v429; + block24param1 = v433; + block24param2 = v437; + block24param3 = v77; + block24param4 = v450; + block24param5 = v457; + block24param6 = v72; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v428, ()) = (block24param0.clone(), ()); + let (v432, ()) = (block24param1.clone(), ()); + let (v436, ()) = (block24param2.clone(), ()); + let (v441, ()) = (block24param3.clone(), ()); + let (v455, ()) = (block24param4.clone(), ()); + let (v456, ()) = (block24param5.clone(), ()); + let (v458, ()) = (block24param6.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + (::wars_rt::func::cast::<_, _, C>(v458.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v441.clone()), + ::wars_rt::func::cast::<_, _, C>(v455.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (16u32, ()); + let (v91, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v91 != 0 { + block18param0 = v428; + block18param1 = v432; + block18param2 = v436; + block18param3 = v441; + cff = 18usize; + } else { + block25param0 = v428; + block25param1 = v455; + block25param2 = v432; + block25param3 = v436; + block25param4 = v441; + block25param5 = v89; + cff = 25usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + 25usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v427, ()) = (block18param0.clone(), ()); + let (v431, ()) = (block18param1.clone(), ()); + let (v435, ()) = (block18param2.clone(), ()); + let (v440, ()) = (block18param3.clone(), ()); + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v431.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v141, ()) = (1u32, ()); + let (v142, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v143, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v144, ()) = (2u32, ()); + let (v145, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v431.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v435.clone()), + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v149, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (1u32, ()); + let (v151, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v427, ())), + ); + }; + } + 1usize => { + 'l31: loop { + let (v459, ()) = (block25param0.clone(), ()); + let (v460, ()) = (block25param1.clone(), ()); + let (v461, ()) = (block25param2.clone(), ()); + let (v462, ()) = (block25param3.clone(), ()); + let (v463, ()) = (block25param4.clone(), ()); + let (v464, ()) = (block25param5.clone(), ()); + let (v100, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v461.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = (1u32, ()); + let (v102, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v460.clone()), + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v104, ()) = (2u32, ()); + let (v105, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v461.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v460.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = (3u32, ()); + let (v116, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v464.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v113.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v463.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v120, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v121, ()) = (1u32, ()); + let (v122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + (::wars_rt::func::cast::<_, _, C>(v464.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v459, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v376, ()) = (block11param0.clone(), ()); + let (v377, ()) = (block11param1.clone(), ()); + let (v378, ()) = (block11param2.clone(), ()); + let (v380, ()) = (block11param3.clone(), ()); + let (v381, ()) = (block11param4.clone(), ()); + let (v388, ()) = (block11param5.clone(), ()); + let (v34, ()) = (256u32, ()); + let (v35, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v35 != 0 { + block9param0 = v377; + block9param1 = v376; + block9param2 = v381; + block9param3 = v378; + cff = 9usize; + break 'l8; + } else { + block12param0 = v376; + block12param1 = v377; + block12param2 = v378; + block12param3 = v380; + block12param4 = v381; + block12param5 = v388; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v382, ()) = (block12param0.clone(), ()); + let (v383, ()) = (block12param1.clone(), ()); + let (v384, ()) = (block12param2.clone(), ()); + let (v385, ()) = (block12param3.clone(), ()); + let (v386, ()) = (block12param4.clone(), ()); + let (v387, ()) = (block12param5.clone(), ()); + let (v39, ()) = (4u32, ()); + let (v40, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v387.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v41 != 0 { + block9param0 = v383; + block9param1 = v382; + block9param2 = v386; + block9param3 = v384; + cff = 9usize; + break 'l12; + } else { + block13param0 = v382; + block13param1 = v383; + block13param2 = v384; + block13param3 = v385; + block13param4 = v386; + block13param5 = v387; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v389, ()) = (block13param0.clone(), ()); + let (v390, ()) = (block13param1.clone(), ()); + let (v391, ()) = (block13param2.clone(), ()); + let (v392, ()) = (block13param3.clone(), ()); + let (v393, ()) = (block13param4.clone(), ()); + let (v394, ()) = (block13param5.clone(), ()); + let (v44, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (131073u32, ()); + let (v46, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v46 != 0 { + block9param0 = v390; + block9param1 = v389; + block9param2 = v393; + block9param3 = v391; + cff = 9usize; + break 'l17; + } else { + block14param0 = v389; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v395, ()) = (block14param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v395, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v256, ()) = (block9param0.clone(), ()); + let (v272, ()) = (block9param1.clone(), ()); + let (v278, ()) = (block9param2.clone(), ()); + let (v307, ()) = (block9param3.clone(), ()); + let (v268, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v256.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v269, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v268.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v269 != 0 { + block3param0 = v307; + cff = 3usize; + break 'l7; + } else { + block32param0 = v256; + block32param1 = v268; + block32param2 = v272; + block32param3 = v278; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v493, ()) = (block32param0.clone(), ()); + let (v494, ()) = (block32param1.clone(), ()); + let (v495, ()) = (block32param2.clone(), ()); + let (v496, ()) = (block32param3.clone(), ()); + let (v275, ()) = (4294967292u32, ()); + let (v276, ()) = (4294967288u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v496.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v285, ()) = (3u32, ()); + let (v286, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v285.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v287, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v276.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = (4294967288u32, ()); + let (v289, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v290, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v287.clone()), + ::wars_rt::func::cast::<_, _, C>(v289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v292, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v290.clone()), + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v293, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v290.clone()), + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ::wars_rt::func::cast::<_, _, C>(v292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v294, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v494.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v495.clone()), + (::wars_rt::func::cast::<_, _, C>(v293.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func29( + ctx, + (::wars_rt::func::cast::<_, _, C>(v495.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v294, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v366, ()) = (block6param0.clone(), ()); + let (v368, ()) = (block6param1.clone(), ()); + let (v370, ()) = (block6param2.clone(), ()); + let (v373, ()) = (block6param3.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + (::wars_rt::func::cast::<_, _, C>(v370.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v9 != 0 { + block4param0 = v366; + block4param1 = v368; + block4param2 = v370; + block4param3 = v9; + cff = 4usize; + } else { + cff = 7usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v365, ()) = (block4param0.clone(), ()); + let (v367, ()) = (block4param1.clone(), ()); + let (v369, ()) = (block4param2.clone(), ()); + let (v371, ()) = (block4param3.clone(), ()); + let (v302, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v303, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v304, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v371.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v365.clone()), + (::wars_rt::func::cast::<_, _, C>(v303.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func29( + ctx, + (::wars_rt::func::cast::<_, _, C>(v365.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v371; + cff = 3usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v10, ()) = (0u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v10, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v306, ()) = (block3param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v306, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func38<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (9u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block3param0 = v1; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v26, ()) = (block3param0.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v26.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v9; + block2param1 = v26; + cff = 2usize; + break 'l3; + } + } + 1usize => { + 'l2: loop { + let (v27, ()) = (block4param0.clone(), ()); + let (v28, ()) = (block4param1.clone(), ()); + let (v7, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + (::wars_rt::func::cast::<_, _, C>(v27.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v7; + block2param1 = v27; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v10, ()) = (block2param0.clone(), ()); + let (v23, ()) = (block2param1.clone(), ()); + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v11 != 0 { + block5param0 = v10; + cff = 5usize; + } else { + block6param0 = v10; + block6param1 = v23; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v29, ()) = (block6param0.clone(), ()); + let (v32, ()) = (block6param1.clone(), ()); + let (v13, ()) = (4294967292u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v14.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (3u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v18 != 0 { + block5param0 = v29; + cff = 5usize; + break 'l5; + } else { + block7param0 = v29; + block7param1 = v32; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v30, ()) = (block7param0.clone(), ()); + let (v31, ()) = (block7param1.clone(), ()); + let (v20, ()) = (0u32, ()); + let (v24, ()) = match ::wars_rt::_rexport::tramp::tramp( + func65( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + (::wars_rt::func::cast::<_, _, C>(v31.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v30; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v25, ()) = (block5param0.clone(), ()); + block1param0 = v25; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func39<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (*ctx.global0(), ()); + let (v2, ()) = (16u32, ()); + let (v3, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v3; + () + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block2param0 = v0; + block2param1 = v3; + block2param2 = v5; + cff = 2usize; + } else { + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v18, ()) = (block2param0.clone(), ()); + let (v19, ()) = (block2param1.clone(), ()); + let (v20, ()) = (block2param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = (4u32, ()); + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func32( + ctx, + (::wars_rt::func::cast::<_, _, C>(v16.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v6, ()) = (1048948u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func58( + ctx, + (::wars_rt::func::cast::<_, _, C>(v6.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func40<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (48u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = (2147483648u32, ()); + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v1; + block2param1 = v4; + block2param2 = v0; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + block3param2 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v78, ()) = (block3param0.clone(), ()); + let (v79, ()) = (block3param1.clone(), ()); + let (v80, ()) = (block3param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (36u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (36u32, ()); + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (1048804u32, ()); + let (v23, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (24u32, ()); + let (v25, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (8u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (8u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v79; + block2param1 = v80; + block2param2 = v78; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v40, ()) = (block2param1.clone(), ()); + let (v70, ()) = (block2param2.clone(), ()); + let (v37, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v38, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v41, ()) = (8u32, ()); + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (8u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v45, ()) = (8u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v47, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v46.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v44.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v49, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v46.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v51, ()) = (0u32, ()); + let (v52, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v51.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v40.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v54, ()) = (12u32, ()); + let (v55, ()) = (4u32, ()); + let (v56, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + (::wars_rt::func::cast::<_, _, C>(v55.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v56 != 0 { + block4param0 = v40; + block4param1 = v44; + block4param2 = v56; + block4param3 = v70; + cff = 4usize; + } else { + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v81, ()) = (block4param0.clone(), ()); + let (v82, ()) = (block4param1.clone(), ()); + let (v83, ()) = (block4param2.clone(), ()); + let (v84, ()) = (block4param3.clone(), ()); + let (v62, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (8u32, ()); + let (v65, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v65.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v72, ()) = (1048964u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (48u32, ()); + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v76; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v57, ()) = (4u32, ()); + let (v58, ()) = (12u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + (::wars_rt::func::cast::<_, _, C>(v58.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func41<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = (2147483648u32, ()); + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v0; + block2param1 = v1; + block2param2 = v4; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + block3param2 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v46, ()) = (block3param0.clone(), ()); + let (v47, ()) = (block3param1.clone(), ()); + let (v48, ()) = (block3param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (20u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (20u32, ()); + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (1048804u32, ()); + let (v23, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (8u32, ()); + let (v25, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (8u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (8u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v46; + block2param1 = v47; + block2param2 = v48; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v40, ()) = (block2param1.clone(), ()); + let (v42, ()) = (block2param2.clone(), ()); + let (v38, ()) = (1048964u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (32u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v44; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func42<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (8u32, ()); + let (v7, ()) = (4u32, ()); + let (v8, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + (::wars_rt::func::cast::<_, _, C>(v7.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v0; + block2param1 = v4; + block2param2 = v5; + block2param3 = v8; + cff = 2usize; + } else { + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v21, ()) = (block2param0.clone(), ()); + let (v22, ()) = (block2param1.clone(), ()); + let (v23, ()) = (block2param2.clone(), ()); + let (v24, ()) = (block2param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1048980u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v21.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v21.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v9, ()) = (4u32, ()); + let (v10, ()) = (8u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func43<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (1048980u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func44<'a, C: Wars>( + ctx: &'a mut C, + ( + p0, + (p1, (p2, (p3, (p4, (p5, ()))))), + ): (u32, (u32, (u32, (u32, (u32, (u32, ())))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block0param5: u32 = p5; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block4param5: u32; + let mut block4param6: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block5param5: u32; + let mut block5param6: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (block0param4.clone(), ()); + let (v5, ()) = (block0param5.clone(), ()); + let (v6, ()) = (*ctx.global0(), ()); + let (v7, ()) = (32u32, ()); + let (v8, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v8; + () + }; + let (v10, ()) = (0u32, ()); + let (v11, ()) = (0u32, ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v11.clone() + 1049408u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (1u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v10.clone() + 1049408u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = (0u32, ()); + let (v17, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v17 != 0 { + cff = 3usize; + } else { + block4param0 = v2; + block4param1 = v3; + block4param2 = v4; + block4param3 = v5; + block4param4 = v8; + block4param5 = v0; + block4param6 = v1; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v104, ()) = (block4param0.clone(), ()); + let (v106, ()) = (block4param1.clone(), ()); + let (v108, ()) = (block4param2.clone(), ()); + let (v110, ()) = (block4param3.clone(), ()); + let (v112, ()) = (block4param4.clone(), ()); + let (v115, ()) = (block4param5.clone(), ()); + let (v118, ()) = (block4param6.clone(), ()); + let (v18, ()) = (0u32, ()); + let (v19, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 1049868u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (255u32, ()); + let (v21, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v21 != 0 { + cff = 3usize; + break 'l2; + } else { + block5param0 = v104; + block5param1 = v106; + block5param2 = v108; + block5param3 = v110; + block5param4 = v112; + block5param5 = v115; + block5param6 = v118; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v103, ()) = (block5param0.clone(), ()); + let (v105, ()) = (block5param1.clone(), ()); + let (v107, ()) = (block5param2.clone(), ()); + let (v109, ()) = (block5param3.clone(), ()); + let (v111, ()) = (block5param4.clone(), ()); + let (v114, ()) = (block5param5.clone(), ()); + let (v117, ()) = (block5param6.clone(), ()); + let (v22, ()) = (0u32, ()); + let (v23, ()) = (1u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v22.clone() + 1049868u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = (0u32, ()); + let (v26, ()) = (0u32, ()); + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 1049864u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (1u32, ()); + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v25.clone() + 1049864u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 29u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (1049036u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = (1048804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (0u32, ()); + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 1049392u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967295u32, ()); + let (v52, ()) = match ::wars_rt::i32les( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v52 != 0 { + cff = 3usize; + break 'l3; + } else { + block6param0 = v114; + block6param1 = v117; + block6param2 = v107; + block6param3 = v50; + block6param4 = v111; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v113, ()) = (block6param0.clone(), ()); + let (v116, ()) = (block6param1.clone(), ()); + let (v119, ()) = (block6param2.clone(), ()); + let (v120, ()) = (block6param3.clone(), ()); + let (v125, ()) = (block6param4.clone(), ()); + let (v53, ()) = (0u32, ()); + let (v55, ()) = (1u32, ()); + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v53.clone() + 1049392u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = (0u32, ()); + let (v59, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v58.clone() + 1049400u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v60 != 0 { + block7param0 = v120; + block7param1 = v119; + block7param2 = v113; + block7param3 = v116; + cff = 7usize; + } else { + block8param0 = v113; + block8param1 = v116; + block8param2 = v119; + block8param3 = v125; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v121, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v123, ()) = (block8param2.clone(), ()); + let (v124, ()) = (block8param3.clone(), ()); + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v122.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v71 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + (::wars_rt::func::cast::<_, _, C>(v121.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (0u32, ()); + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 1049400u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = (12u32, ()); + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = (0u32, ()); + let (v80, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 1049404u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v81 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + (::wars_rt::func::cast::<_, _, C>(v78.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (0u32, ()); + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 1049392u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = (4294967295u32, ()); + let (v86, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v86; + block7param1 = v123; + block7param2 = v121; + block7param3 = v122; + cff = 7usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v88, ()) = (block7param0.clone(), ()); + let (v93, ()) = (block7param1.clone(), ()); + let (v97, ()) = (block7param2.clone(), ()); + let (v99, ()) = (block7param3.clone(), ()); + let (v87, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v87.clone() + 1049392u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (0u32, ()); + let (v91, ()) = (0u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 1049868u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v93 != 0 { + block2param0 = v97; + block2param1 = v99; + cff = 2usize; + } else { + cff = 9usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v101, ()) = (block2param0.clone(), ()); + let (v102, ()) = (block2param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func45( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + (::wars_rt::func::cast::<_, _, C>(v102.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l7: loop { + cff = 3usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func45<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::_rexport::tramp::tramp( + func47( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + (::wars_rt::func::cast::<_, _, C>(v1.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func46<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 1049388u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2u32, ()); + let (v5, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v5 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func47<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func48<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (16u32, ()); + let (v4, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = { + let vn = ctx.memory0().len() / 65536; + let l = ctx.memory0().len(); + ctx.memory0().resize(l + (v4.clone() as usize) * 65536, 0); + (vn as u32, ()) + }; + let (v6, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = (0u32, ()); + let (v9, ()) = (4294901760u32, ()); + let (v10, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (4294967295u32, ()); + let (v12, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = (16u32, ()); + let (v17, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v18, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func49<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func12( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func50<'a, C: Wars>( + ctx: &'a mut C, + (): (), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + 'l0: loop { + let (v0, ()) = (*ctx.global0(), ()); + let (v1, ()) = (32u32, ()); + let (v2, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v2; + () + }; + let (v4, ()) = (20u32, ()); + let (v5, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (1049100u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (1049052u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = (1049108u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + (::wars_rt::func::cast::<_, _, C>(v16.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func51<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block3param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 2usize; + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + cff = 2usize; + continue 'l1; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func52<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func53<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (1u32, ()); + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (1049168u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (1049124u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v14, ()) = (12u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func39(ctx, (::wars_rt::func::cast::<_, _, C>(v15.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func54<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (32u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (12u32, ()); + let (v8, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v8.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (1049124u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v17, ()) = (24u32, ()); + let (v18, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func55<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::i64load32u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (1u32, ()); + let (v5, ()) = match ::wars_rt::_rexport::tramp::tramp( + func62( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v5; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func56<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block17param8: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block19param7: u32; + let mut block19param8: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block20param9: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block22param8: u32; + let mut block22param9: u32; + let mut block22param10: u32; + let mut block22param11: u32; + let mut block22param12: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block23param4: u32; + let mut block23param5: u32; + let mut block23param6: u32; + let mut block23param7: u32; + let mut block23param8: u32; + let mut block23param9: u32; + let mut block23param10: u32; + let mut block23param11: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block24param8: u32; + let mut block24param9: u32; + let mut block24param10: u32; + let mut block24param11: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block25param6: u32; + let mut block25param7: u32; + let mut block25param8: u32; + let mut block25param9: u32; + let mut block25param10: u32; + let mut block25param11: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block26param4: u32; + let mut block26param5: u32; + let mut block26param6: u32; + let mut block26param7: u32; + let mut block26param8: u32; + let mut block26param9: u32; + let mut block26param10: u32; + let mut block26param11: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block27param7: u32; + let mut block27param8: u32; + let mut block27param9: u32; + let mut block27param10: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block28param6: u32; + let mut block28param7: u32; + let mut block28param8: u32; + let mut block28param9: u32; + let mut block28param10: u32; + let mut block28param11: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block29param7: u32; + let mut block29param8: u32; + let mut block29param9: u32; + let mut block29param10: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block30param8: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block33param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let (v8, ()) = (36u32, ()); + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v9.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (3u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (32u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v3.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v23 != 0 { + block6param0 = v3; + block6param1 = v6; + block6param2 = v15; + block6param3 = v23; + cff = 6usize; + } else { + block7param0 = v3; + block7param1 = v6; + block7param2 = v15; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v385, ()) = (block6param0.clone(), ()); + let (v386, ()) = (block6param1.clone(), ()); + let (v387, ()) = (block6param2.clone(), ()); + let (v422, ()) = (block6param3.clone(), ()); + let (v95, ()) = (20u32, ()); + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v96.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v98 != 0 { + block5param0 = v387; + block5param1 = v385; + block5param2 = v386; + cff = 5usize; + break 'l5; + } else { + block16param0 = v385; + block16param1 = v386; + block16param2 = v422; + block16param3 = v97; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v419, ()) = (block16param0.clone(), ()); + let (v420, ()) = (block16param1.clone(), ()); + let (v421, ()) = (block16param2.clone(), ()); + let (v423, ()) = (block16param3.clone(), ()); + let (v100, ()) = (5u32, ()); + let (v101, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = (4294967295u32, ()); + let (v103, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v104, ()) = (134217727u32, ()); + let (v105, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (1u32, ()); + let (v107, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v419.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v419.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = (0u32, ()); + block17param0 = v110; + block17param1 = v420; + block17param2 = v421; + block17param3 = v111; + block17param4 = v109; + block17param5 = v112; + block17param6 = v101; + block17param7 = v107; + block17param8 = v419; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v113, ()) = (block17param0.clone(), ()); + let (v119, ()) = (block17param1.clone(), ()); + let (v130, ()) = (block17param2.clone(), ()); + let (v134, ()) = (block17param3.clone(), ()); + let (v164, ()) = (block17param4.clone(), ()); + let (v245, ()) = (block17param5.clone(), ()); + let (v273, ()) = (block17param6.clone(), ()); + let (v324, ()) = (block17param7.clone(), ()); + let (v346, ()) = (block17param8.clone(), ()); + let (v114, ()) = (4u32, ()); + let (v115, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v115.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v117 != 0 { + block19param0 = v119; + block19param1 = v130; + block19param2 = v134; + block19param3 = v164; + block19param4 = v245; + block19param5 = v113; + block19param6 = v273; + block19param7 = v324; + block19param8 = v346; + cff = 19usize; + } else { + block20param0 = v113; + block20param1 = v116; + block20param2 = v119; + block20param3 = v130; + block20param4 = v134; + block20param5 = v164; + block20param6 = v245; + block20param7 = v273; + block20param8 = v324; + block20param9 = v346; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v433, ()) = (block20param0.clone(), ()); + let (v434, ()) = (block20param1.clone(), ()); + let (v435, ()) = (block20param2.clone(), ()); + let (v439, ()) = (block20param3.clone(), ()); + let (v441, ()) = (block20param4.clone(), ()); + let (v443, ()) = (block20param5.clone(), ()); + let (v445, ()) = (block20param6.clone(), ()); + let (v447, ()) = (block20param7.clone(), ()); + let (v449, ()) = (block20param8.clone(), ()); + let (v451, ()) = (block20param9.clone(), ()); + let (v120, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v433.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v124, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v125, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v125 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + (::wars_rt::func::cast::<_, _, C>(v434.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v126 != 0 { + block4param0 = v435; + cff = 4usize; + break 'l15; + } else { + block21param0 = v433; + block21param1 = v435; + block21param2 = v439; + block21param3 = v441; + block21param4 = v443; + block21param5 = v445; + block21param6 = v447; + block21param7 = v449; + block21param8 = v451; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v436, ()) = (block21param0.clone(), ()); + let (v437, ()) = (block21param1.clone(), ()); + let (v438, ()) = (block21param2.clone(), ()); + let (v440, ()) = (block21param3.clone(), ()); + let (v442, ()) = (block21param4.clone(), ()); + let (v444, ()) = (block21param5.clone(), ()); + let (v446, ()) = (block21param6.clone(), ()); + let (v448, ()) = (block21param7.clone(), ()); + let (v450, ()) = (block21param8.clone(), ()); + block19param0 = v437; + block19param1 = v438; + block19param2 = v440; + block19param3 = v442; + block19param4 = v444; + block19param5 = v436; + block19param6 = v446; + block19param7 = v448; + block19param8 = v450; + cff = 19usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v127, ()) = (block19param0.clone(), ()); + let (v129, ()) = (block19param1.clone(), ()); + let (v133, ()) = (block19param2.clone(), ()); + let (v163, ()) = (block19param3.clone(), ()); + let (v244, ()) = (block19param4.clone(), ()); + let (v259, ()) = (block19param5.clone(), ()); + let (v272, ()) = (block19param6.clone(), ()); + let (v323, ()) = (block19param7.clone(), ()); + let (v345, ()) = (block19param8.clone(), ()); + let (v137, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v138, ()) = (16u32, ()); + let (v139, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v139.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v142, ()) = (28u32, ()); + let (v143, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v144, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v146, ()) = (24u32, ()); + let (v147, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v147.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (12u32, ()); + let (v151, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (0u32, ()); + let (v154, ()) = (0u32, ()); + let (v155, ()) = (8u32, ()); + let (v156, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v156.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v157 { + 0usize => { + block23param0 = v127; + block23param1 = v152; + block23param2 = v137; + block23param3 = v163; + block23param4 = v153; + block23param5 = v244; + block23param6 = v259; + block23param7 = v272; + block23param8 = v133; + block23param9 = v129; + block23param10 = v323; + block23param11 = v345; + cff = 23usize; + } + 1usize => { + block24param0 = v127; + block24param1 = v129; + block24param2 = v133; + block24param3 = v137; + block24param4 = v152; + block24param5 = v153; + block24param6 = v163; + block24param7 = v244; + block24param8 = v259; + block24param9 = v272; + block24param10 = v323; + block24param11 = v345; + cff = 24usize; + } + 2usize => { + block22param0 = v127; + block22param1 = v152; + block22param2 = v154; + block22param3 = v137; + block22param4 = v163; + block22param5 = v153; + block22param6 = v244; + block22param7 = v259; + block22param8 = v272; + block22param9 = v133; + block22param10 = v129; + block22param11 = v323; + block22param12 = v345; + cff = 22usize; + } + _ => { + block23param0 = v127; + block23param1 = v152; + block23param2 = v137; + block23param3 = v163; + block23param4 = v153; + block23param5 = v244; + block23param6 = v259; + block23param7 = v272; + block23param8 = v133; + block23param9 = v129; + block23param10 = v323; + block23param11 = v345; + cff = 23usize; + } + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v452, ()) = (block24param0.clone(), ()); + let (v453, ()) = (block24param1.clone(), ()); + let (v454, ()) = (block24param2.clone(), ()); + let (v455, ()) = (block24param3.clone(), ()); + let (v456, ()) = (block24param4.clone(), ()); + let (v457, ()) = (block24param5.clone(), ()); + let (v458, ()) = (block24param6.clone(), ()); + let (v459, ()) = (block24param7.clone(), ()); + let (v460, ()) = (block24param8.clone(), ()); + let (v461, ()) = (block24param9.clone(), ()); + let (v462, ()) = (block24param10.clone(), ()); + let (v463, ()) = (block24param11.clone(), ()); + let (v159, ()) = (3u32, ()); + let (v160, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v161, ()) = (0u32, ()); + let (v167, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v458.clone()), + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v168, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = (17u32, ()); + let (v170, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v170 != 0 { + block22param0 = v452; + block22param1 = v456; + block22param2 = v161; + block22param3 = v455; + block22param4 = v458; + block22param5 = v457; + block22param6 = v459; + block22param7 = v460; + block22param8 = v461; + block22param9 = v454; + block22param10 = v453; + block22param11 = v462; + block22param12 = v463; + cff = 22usize; + break 'l21; + } else { + block25param0 = v452; + block25param1 = v453; + block25param2 = v454; + block25param3 = v455; + block25param4 = v457; + block25param5 = v458; + block25param6 = v167; + block25param7 = v459; + block25param8 = v460; + block25param9 = v461; + block25param10 = v462; + block25param11 = v463; + cff = 25usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v464, ()) = (block25param0.clone(), ()); + let (v465, ()) = (block25param1.clone(), ()); + let (v466, ()) = (block25param2.clone(), ()); + let (v467, ()) = (block25param3.clone(), ()); + let (v468, ()) = (block25param4.clone(), ()); + let (v469, ()) = (block25param5.clone(), ()); + let (v470, ()) = (block25param6.clone(), ()); + let (v471, ()) = (block25param7.clone(), ()); + let (v472, ()) = (block25param8.clone(), ()); + let (v473, ()) = (block25param9.clone(), ()); + let (v474, ()) = (block25param10.clone(), ()); + let (v475, ()) = (block25param11.clone(), ()); + let (v172, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v470.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v173, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block23param0 = v464; + block23param1 = v173; + block23param2 = v467; + block23param3 = v469; + block23param4 = v468; + block23param5 = v471; + block23param6 = v472; + block23param7 = v473; + block23param8 = v466; + block23param9 = v465; + block23param10 = v474; + block23param11 = v475; + cff = 23usize; + break 'l24; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 22usize => 0usize, + 23usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v175, ()) = (block22param0.clone(), ()); + let (v179, ()) = (block22param1.clone(), ()); + let (v182, ()) = (block22param2.clone(), ()); + let (v184, ()) = (block22param3.clone(), ()); + let (v196, ()) = (block22param4.clone(), ()); + let (v215, ()) = (block22param5.clone(), ()); + let (v243, ()) = (block22param6.clone(), ()); + let (v258, ()) = (block22param7.clone(), ()); + let (v271, ()) = (block22param8.clone(), ()); + let (v284, ()) = (block22param9.clone(), ()); + let (v301, ()) = (block22param10.clone(), ()); + let (v322, ()) = (block22param11.clone(), ()); + let (v344, ()) = (block22param12.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v188, ()) = (4u32, ()); + let (v189, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v184.clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v190, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v189.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v191 { + 0usize => { + block27param0 = v175; + block27param1 = v190; + block27param2 = v196; + block27param3 = v184; + block27param4 = v243; + block27param5 = v258; + block27param6 = v271; + block27param7 = v284; + block27param8 = v301; + block27param9 = v322; + block27param10 = v344; + cff = 27usize; + } + 1usize => { + block28param0 = v175; + block28param1 = v184; + block28param2 = v190; + block28param3 = v196; + block28param4 = v215; + block28param5 = v243; + block28param6 = v258; + block28param7 = v271; + block28param8 = v284; + block28param9 = v301; + block28param10 = v322; + block28param11 = v344; + cff = 28usize; + } + 2usize => { + block26param0 = v175; + block26param1 = v190; + block26param2 = v215; + block26param3 = v196; + block26param4 = v184; + block26param5 = v243; + block26param6 = v258; + block26param7 = v271; + block26param8 = v284; + block26param9 = v301; + block26param10 = v322; + block26param11 = v344; + cff = 26usize; + } + _ => { + block27param0 = v175; + block27param1 = v190; + block27param2 = v196; + block27param3 = v184; + block27param4 = v243; + block27param5 = v258; + block27param6 = v271; + block27param7 = v284; + block27param8 = v301; + block27param9 = v322; + block27param10 = v344; + cff = 27usize; + } + }; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v476, ()) = (block28param0.clone(), ()); + let (v477, ()) = (block28param1.clone(), ()); + let (v478, ()) = (block28param2.clone(), ()); + let (v479, ()) = (block28param3.clone(), ()); + let (v480, ()) = (block28param4.clone(), ()); + let (v481, ()) = (block28param5.clone(), ()); + let (v482, ()) = (block28param6.clone(), ()); + let (v483, ()) = (block28param7.clone(), ()); + let (v484, ()) = (block28param8.clone(), ()); + let (v485, ()) = (block28param9.clone(), ()); + let (v486, ()) = (block28param10.clone(), ()); + let (v487, ()) = (block28param11.clone(), ()); + let (v193, ()) = (3u32, ()); + let (v194, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v478.clone()), + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v479.clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v200, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (17u32, ()); + let (v202, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v202 != 0 { + block26param0 = v476; + block26param1 = v478; + block26param2 = v480; + block26param3 = v479; + block26param4 = v477; + block26param5 = v481; + block26param6 = v482; + block26param7 = v483; + block26param8 = v484; + block26param9 = v485; + block26param10 = v486; + block26param11 = v487; + cff = 26usize; + break 'l27; + } else { + block29param0 = v476; + block29param1 = v477; + block29param2 = v479; + block29param3 = v199; + block29param4 = v481; + block29param5 = v482; + block29param6 = v483; + block29param7 = v484; + block29param8 = v485; + block29param9 = v486; + block29param10 = v487; + cff = 29usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v488, ()) = (block29param0.clone(), ()); + let (v489, ()) = (block29param1.clone(), ()); + let (v490, ()) = (block29param2.clone(), ()); + let (v491, ()) = (block29param3.clone(), ()); + let (v492, ()) = (block29param4.clone(), ()); + let (v493, ()) = (block29param5.clone(), ()); + let (v494, ()) = (block29param6.clone(), ()); + let (v495, ()) = (block29param7.clone(), ()); + let (v496, ()) = (block29param8.clone(), ()); + let (v497, ()) = (block29param9.clone(), ()); + let (v498, ()) = (block29param10.clone(), ()); + let (v204, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v491.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v205, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v488; + block27param1 = v205; + block27param2 = v490; + block27param3 = v489; + block27param4 = v492; + block27param5 = v493; + block27param6 = v494; + block27param7 = v495; + block27param8 = v496; + block27param9 = v497; + block27param10 = v498; + cff = 27usize; + break 'l29; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 26usize => 0usize, + 27usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v207, ()) = (block26param0.clone(), ()); + let (v211, ()) = (block26param1.clone(), ()); + let (v214, ()) = (block26param2.clone(), ()); + let (v221, ()) = (block26param3.clone(), ()); + let (v224, ()) = (block26param4.clone(), ()); + let (v242, ()) = (block26param5.clone(), ()); + let (v257, ()) = (block26param6.clone(), ()); + let (v270, ()) = (block26param7.clone(), ()); + let (v283, ()) = (block26param8.clone(), ()); + let (v300, ()) = (block26param9.clone(), ()); + let (v321, ()) = (block26param10.clone(), ()); + let (v343, ()) = (block26param11.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v228, ()) = (20u32, ()); + let (v229, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ::wars_rt::func::cast::<_, _, C>(v228.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v230, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v229.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v231, ()) = (3u32, ()); + let (v232, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v233, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v234, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v233.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v235, ()) = (12u32, ()); + let (v236, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v235.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = (4u32, ()); + let (v238, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v238.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v240, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v239 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v234.clone()), + (::wars_rt::func::cast::<_, _, C>(v236.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v240 != 0 { + block4param0 = v207; + cff = 4usize; + break 'l25; + } else { + block30param0 = v207; + block30param1 = v321; + block30param2 = v343; + block30param3 = v221; + block30param4 = v242; + block30param5 = v257; + block30param6 = v270; + block30param7 = v283; + block30param8 = v300; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v426, ()) = (block30param0.clone(), ()); + let (v429, ()) = (block30param1.clone(), ()); + let (v432, ()) = (block30param2.clone(), ()); + let (v499, ()) = (block30param3.clone(), ()); + let (v500, ()) = (block30param4.clone(), ()); + let (v501, ()) = (block30param5.clone(), ()); + let (v502, ()) = (block30param6.clone(), ()); + let (v503, ()) = (block30param7.clone(), ()); + let (v504, ()) = (block30param8.clone(), ()); + let (v254, ()) = (1u32, ()); + let (v255, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v254.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v267, ()) = (8u32, ()); + let (v268, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v501.clone()), + ::wars_rt::func::cast::<_, _, C>(v267.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v291, ()) = (32u32, ()); + let (v292, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v503.clone()), + ::wars_rt::func::cast::<_, _, C>(v291.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v293, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v502.clone()), + ::wars_rt::func::cast::<_, _, C>(v292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v293 != 0 { + block17param0 = v268; + block17param1 = v426; + block17param2 = v504; + block17param3 = v292; + block17param4 = v499; + block17param5 = v255; + block17param6 = v502; + block17param7 = v429; + block17param8 = v432; + cff = 17usize; + continue 'l12; + } else { + block31param0 = v426; + block31param1 = v429; + block31param2 = v432; + cff = 31usize; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v425, ()) = (block31param0.clone(), ()); + let (v428, ()) = (block31param1.clone(), ()); + let (v431, ()) = (block31param2.clone(), ()); + block18param0 = v425; + block18param1 = v428; + block18param2 = v431; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v424, ()) = (block18param0.clone(), ()); + let (v427, ()) = (block18param1.clone(), ()); + let (v430, ()) = (block18param2.clone(), ()); + block5param0 = v427; + block5param1 = v430; + block5param2 = v424; + cff = 5usize; + break 'l32; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l26: loop { + let (v209, ()) = (block27param0.clone(), ()); + let (v212, ()) = (block27param1.clone(), ()); + let (v222, ()) = (block27param2.clone(), ()); + let (v226, ()) = (block27param3.clone(), ()); + let (v252, ()) = (block27param4.clone(), ()); + let (v265, ()) = (block27param5.clone(), ()); + let (v280, ()) = (block27param6.clone(), ()); + let (v289, ()) = (block27param7.clone(), ()); + let (v306, ()) = (block27param8.clone(), ()); + let (v331, ()) = (block27param9.clone(), ()); + let (v353, ()) = (block27param10.clone(), ()); + let (v206, ()) = (1u32, ()); + block26param0 = v209; + block26param1 = v212; + block26param2 = v206; + block26param3 = v222; + block26param4 = v226; + block26param5 = v252; + block26param6 = v265; + block26param7 = v280; + block26param8 = v289; + block26param9 = v306; + block26param10 = v331; + block26param11 = v353; + cff = 26usize; + break 'l26; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l20: loop { + let (v177, ()) = (block23param0.clone(), ()); + let (v180, ()) = (block23param1.clone(), ()); + let (v186, ()) = (block23param2.clone(), ()); + let (v197, ()) = (block23param3.clone(), ()); + let (v217, ()) = (block23param4.clone(), ()); + let (v249, ()) = (block23param5.clone(), ()); + let (v262, ()) = (block23param6.clone(), ()); + let (v277, ()) = (block23param7.clone(), ()); + let (v286, ()) = (block23param8.clone(), ()); + let (v303, ()) = (block23param9.clone(), ()); + let (v328, ()) = (block23param10.clone(), ()); + let (v350, ()) = (block23param11.clone(), ()); + let (v174, ()) = (1u32, ()); + block22param0 = v177; + block22param1 = v180; + block22param2 = v174; + block22param3 = v186; + block22param4 = v197; + block22param5 = v217; + block22param6 = v249; + block22param7 = v262; + block22param8 = v277; + block22param9 = v286; + block22param10 = v303; + block22param11 = v328; + block22param12 = v350; + cff = 22usize; + break 'l20; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v388, ()) = (block7param0.clone(), ()); + let (v389, ()) = (block7param1.clone(), ()); + let (v390, ()) = (block7param2.clone(), ()); + let (v25, ()) = (12u32, ()); + let (v26, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v388.clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v28 != 0 { + block5param0 = v390; + block5param1 = v388; + block5param2 = v389; + cff = 5usize; + break 'l4; + } else { + block8param0 = v388; + block8param1 = v389; + block8param2 = v27; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v391, ()) = (block8param0.clone(), ()); + let (v392, ()) = (block8param1.clone(), ()); + let (v393, ()) = (block8param2.clone(), ()); + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v391.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (3u32, ()); + let (v33, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = (4294967295u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = (536870911u32, ()); + let (v38, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (1u32, ()); + let (v40, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v391.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (0u32, ()); + block9param0 = v41; + block9param1 = v392; + block9param2 = v30; + block9param3 = v42; + block9param4 = v34; + block9param5 = v40; + block9param6 = v391; + cff = 9usize; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v43, ()) = (block9param0.clone(), ()); + let (v49, ()) = (block9param1.clone(), ()); + let (v58, ()) = (block9param2.clone(), ()); + let (v72, ()) = (block9param3.clone(), ()); + let (v87, ()) = (block9param4.clone(), ()); + let (v314, ()) = (block9param5.clone(), ()); + let (v337, ()) = (block9param6.clone(), ()); + let (v44, ()) = (4u32, ()); + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v45.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v47 != 0 { + block11param0 = v58; + block11param1 = v49; + block11param2 = v72; + block11param3 = v43; + block11param4 = v87; + block11param5 = v314; + block11param6 = v337; + cff = 11usize; + } else { + block12param0 = v43; + block12param1 = v46; + block12param2 = v49; + block12param3 = v58; + block12param4 = v72; + block12param5 = v87; + block12param6 = v314; + block12param7 = v337; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v394, ()) = (block12param0.clone(), ()); + let (v395, ()) = (block12param1.clone(), ()); + let (v396, ()) = (block12param2.clone(), ()); + let (v400, ()) = (block12param3.clone(), ()); + let (v402, ()) = (block12param4.clone(), ()); + let (v404, ()) = (block12param5.clone(), ()); + let (v406, ()) = (block12param6.clone(), ()); + let (v408, ()) = (block12param7.clone(), ()); + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v396.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v394.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v396.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v54.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v55 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + (::wars_rt::func::cast::<_, _, C>(v395.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + block4param0 = v396; + cff = 4usize; + break 'l17; + } else { + block13param0 = v394; + block13param1 = v396; + block13param2 = v400; + block13param3 = v402; + block13param4 = v404; + block13param5 = v406; + block13param6 = v408; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v397, ()) = (block13param0.clone(), ()); + let (v398, ()) = (block13param1.clone(), ()); + let (v399, ()) = (block13param2.clone(), ()); + let (v401, ()) = (block13param3.clone(), ()); + let (v403, ()) = (block13param4.clone(), ()); + let (v405, ()) = (block13param5.clone(), ()); + let (v407, ()) = (block13param6.clone(), ()); + block11param0 = v399; + block11param1 = v398; + block11param2 = v401; + block11param3 = v397; + block11param4 = v403; + block11param5 = v405; + block11param6 = v407; + cff = 11usize; + break 'l23; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l16: loop { + let (v57, ()) = (block11param0.clone(), ()); + let (v62, ()) = (block11param1.clone(), ()); + let (v71, ()) = (block11param2.clone(), ()); + let (v78, ()) = (block11param3.clone(), ()); + let (v86, ()) = (block11param4.clone(), ()); + let (v313, ()) = (block11param5.clone(), ()); + let (v336, ()) = (block11param6.clone(), ()); + let (v61, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v57.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (12u32, ()); + let (v65, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (4u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v68 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + (::wars_rt::func::cast::<_, _, C>(v65.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block4param0 = v62; + cff = 4usize; + break 'l16; + } else { + block14param0 = v57; + block14param1 = v62; + block14param2 = v71; + block14param3 = v78; + block14param4 = v86; + block14param5 = v313; + block14param6 = v336; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v409, ()) = (block14param0.clone(), ()); + let (v410, ()) = (block14param1.clone(), ()); + let (v411, ()) = (block14param2.clone(), ()); + let (v412, ()) = (block14param3.clone(), ()); + let (v413, ()) = (block14param4.clone(), ()); + let (v414, ()) = (block14param5.clone(), ()); + let (v415, ()) = (block14param6.clone(), ()); + let (v75, ()) = (1u32, ()); + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v411.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (8u32, ()); + let (v81, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v412.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (8u32, ()); + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v409.clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v413.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v90 != 0 { + block9param0 = v81; + block9param1 = v410; + block9param2 = v84; + block9param3 = v76; + block9param4 = v413; + block9param5 = v414; + block9param6 = v415; + cff = 9usize; + continue 'l13; + } else { + block15param0 = v410; + block15param1 = v414; + block15param2 = v415; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v416, ()) = (block15param0.clone(), ()); + let (v417, ()) = (block15param1.clone(), ()); + let (v418, ()) = (block15param2.clone(), ()); + block5param0 = v417; + block5param1 = v418; + block5param2 = v416; + cff = 5usize; + break 'l28; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 4usize => 1usize, + 5usize => 2usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v377, ()) = (block2param0.clone(), ()); + let (v384, ()) = (block2param1.clone(), ()); + let (v381, ()) = (48u32, ()); + let (v382, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v377.clone()), + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v382; + () + }; + block1param0 = v384; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v378, ()) = (block4param0.clone(), ()); + let (v375, ()) = (1u32, ()); + block2param0 = v378; + block2param1 = v375; + cff = 2usize; + break 'l2; + } + } + 2usize => { + 'l3: loop { + let (v309, ()) = (block5param0.clone(), ()); + let (v333, ()) = (block5param1.clone(), ()); + let (v358, ()) = (block5param2.clone(), ()); + let (v355, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v333.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v356, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v355.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v356 != 0 { + block3param0 = v358; + cff = 3usize; + } else { + block32param0 = v309; + block32param1 = v333; + block32param2 = v358; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v505, ()) = (block32param0.clone(), ()); + let (v506, ()) = (block32param1.clone(), ()); + let (v507, ()) = (block32param2.clone(), ()); + let (v362, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v507.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v364, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v506.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v366, ()) = (3u32, ()); + let (v367, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v505.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v368, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v369, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v368.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v370, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v368.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v371, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v507.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v372, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v371.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v373, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v372 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + (::wars_rt::func::cast::<_, _, C>(v370.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v374 != 0 { + block3param0 = v507; + cff = 3usize; + break 'l9; + } else { + block33param0 = v507; + cff = 33usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v508, ()) = (block33param0.clone(), ()); + block4param0 = v508; + cff = 4usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v380, ()) = (block3param0.clone(), ()); + let (v376, ()) = (0u32, ()); + block2param0 = v380; + block2param1 = v376; + cff = 2usize; + break 'l8; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func57<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (10287760977718510952u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2010871330890654687u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func58<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (1049124u32, ()); + let (v2, ()) = (43u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func59<'a, C: Wars>( + ctx: &'a mut C, + ( + p0, + (p1, (p2, (p3, (p4, (p5, ()))))), + ): (u32, (u32, (u32, (u32, (u32, (u32, ())))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block0param5: u32 = p5; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block2param5: u32; + let mut block2param6: u32; + let mut block2param7: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block3param4: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block5param5: u32; + let mut block5param6: u32; + let mut block5param7: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block6param5: u32; + let mut block6param6: u32; + let mut block6param7: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block8param7: u32; + let mut block8param8: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block9param7: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block10param7: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block11param7: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block13param7: u32; + let mut block13param8: u32; + let mut block13param9: u32; + let mut block13param10: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block14param8: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block15param8: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block16param6: u32; + let mut block16param7: u32; + let mut block16param8: u32; + let mut block16param9: u32; + let mut block16param10: u32; + let mut block16param11: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block17param8: u32; + let mut block17param9: u32; + let mut block17param10: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block18param7: u32; + let mut block18param8: u32; + let mut block18param9: u32; + let mut block18param10: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block19param7: u32; + let mut block19param8: u32; + let mut block19param9: u32; + let mut block19param10: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block20param9: u32; + let mut block20param10: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block22param8: u32; + let mut block23param0: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block27param7: u32; + let mut block27param8: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block31param4: u32; + let mut block31param5: u32; + let mut block31param6: u32; + let mut block31param7: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + let mut block32param4: u32; + let mut block32param5: u32; + let mut block32param6: u32; + let mut block32param7: u32; + let mut block32param8: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block33param5: u32; + let mut block33param6: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block34param3: u32; + let mut block34param4: u32; + let mut block34param5: u32; + let mut block34param6: u32; + let mut block34param7: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block36param3: u32; + let mut block36param4: u32; + let mut block36param5: u32; + let mut block36param6: u32; + let mut block36param7: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block39param4: u32; + let mut block39param5: u32; + let mut block39param6: u32; + let mut block39param7: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block40param4: u32; + let mut block40param5: u32; + let mut block40param6: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block41param4: u32; + let mut block41param5: u32; + let mut block41param6: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block42param4: u32; + let mut block42param5: u32; + let mut block42param6: u32; + let mut block42param7: u32; + let mut block42param8: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block43param4: u32; + let mut block43param5: u32; + let mut block43param6: u32; + let mut block43param7: u32; + let mut block43param8: u32; + let mut block43param9: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + let mut block45param4: u32; + let mut block45param5: u32; + let mut block45param6: u32; + let mut block45param7: u32; + let mut block45param8: u32; + let mut block45param9: u32; + let mut block47param0: u32; + let mut block47param1: u32; + let mut block47param2: u32; + let mut block47param3: u32; + let mut block47param4: u32; + let mut block47param5: u32; + let mut block47param6: u32; + let mut block48param0: u32; + let mut block48param1: u32; + let mut block48param2: u32; + let mut block48param3: u32; + let mut block49param0: u32; + let mut block49param1: u32; + let mut block49param2: u32; + let mut block49param3: u32; + let mut block49param4: u32; + let mut block50param0: u32; + let mut block50param1: u32; + let mut block51param0: u32; + let mut block51param1: u32; + let mut block51param2: u32; + let mut block51param3: u32; + let mut block51param4: u32; + let mut block52param0: u32; + let mut block53param0: u32; + let mut block53param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (block0param4.clone(), ()); + let (v6, ()) = (block0param5.clone(), ()); + if v2 != 0 { + block3param0 = v1; + block3param1 = v3; + block3param2 = v4; + block3param3 = v5; + block3param4 = v6; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v3; + block4param2 = v4; + block4param3 = v5; + block4param4 = v6; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v506, ()) = (block3param0.clone(), ()); + let (v507, ()) = (block3param1.clone(), ()); + let (v508, ()) = (block3param2.clone(), ()); + let (v509, ()) = (block3param3.clone(), ()); + let (v510, ()) = (block3param4.clone(), ()); + let (v13, ()) = (43u32, ()); + let (v14, ()) = (1114112u32, ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v506.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (1u32, ()); + let (v18, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v510.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v16; + block2param1 = v508; + block2param2 = v507; + block2param3 = v21; + block2param4 = v506; + block2param5 = v19; + block2param6 = v509; + block2param7 = v510; + cff = 2usize; + break 'l3; + } + } + 1usize => { + 'l2: loop { + let (v511, ()) = (block4param0.clone(), ()); + let (v512, ()) = (block4param1.clone(), ()); + let (v513, ()) = (block4param2.clone(), ()); + let (v514, ()) = (block4param3.clone(), ()); + let (v515, ()) = (block4param4.clone(), ()); + let (v8, ()) = (1u32, ()); + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v515.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v511.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (45u32, ()); + block2param0 = v11; + block2param1 = v513; + block2param2 = v512; + block2param3 = v9; + block2param4 = v511; + block2param5 = v12; + block2param6 = v514; + block2param7 = v515; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v22, ()) = (block2param0.clone(), ()); + let (v27, ()) = (block2param1.clone(), ()); + let (v34, ()) = (block2param2.clone(), ()); + let (v125, ()) = (block2param3.clone(), ()); + let (v142, ()) = (block2param4.clone(), ()); + let (v167, ()) = (block2param5.clone(), ()); + let (v211, ()) = (block2param6.clone(), ()); + let (v234, ()) = (block2param7.clone(), ()); + let (v23, ()) = (4u32, ()); + let (v24, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v24 != 0 { + block6param0 = v27; + block6param1 = v22; + block6param2 = v34; + block6param3 = v125; + block6param4 = v142; + block6param5 = v167; + block6param6 = v211; + block6param7 = v234; + cff = 6usize; + } else { + block7param0 = v22; + block7param1 = v27; + block7param2 = v125; + block7param3 = v142; + block7param4 = v167; + block7param5 = v211; + block7param6 = v234; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v516, ()) = (block6param0.clone(), ()); + let (v526, ()) = (block6param1.clone(), ()); + let (v529, ()) = (block6param2.clone(), ()); + let (v531, ()) = (block6param3.clone(), ()); + let (v533, ()) = (block6param4.clone(), ()); + let (v535, ()) = (block6param5.clone(), ()); + let (v537, ()) = (block6param6.clone(), ()); + let (v539, ()) = (block6param7.clone(), ()); + let (v30, ()) = (16u32, ()); + let (v31, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v516.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v31 != 0 { + block9param0 = v516; + block9param1 = v526; + block9param2 = v529; + block9param3 = v531; + block9param4 = v533; + block9param5 = v535; + block9param6 = v537; + block9param7 = v539; + cff = 9usize; + } else { + block10param0 = v526; + block10param1 = v516; + block10param2 = v529; + block10param3 = v531; + block10param4 = v533; + block10param5 = v535; + block10param6 = v537; + block10param7 = v539; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v524, ()) = (block9param0.clone(), ()); + let (v542, ()) = (block9param1.clone(), ()); + let (v545, ()) = (block9param2.clone(), ()); + let (v547, ()) = (block9param3.clone(), ()); + let (v549, ()) = (block9param4.clone(), ()); + let (v551, ()) = (block9param5.clone(), ()); + let (v553, ()) = (block9param6.clone(), ()); + let (v555, ()) = (block9param7.clone(), ()); + if v524 != 0 { + block11param0 = v524; + block11param1 = v542; + block11param2 = v545; + block11param3 = v547; + block11param4 = v549; + block11param5 = v551; + block11param6 = v553; + block11param7 = v555; + cff = 11usize; + } else { + block12param0 = v542; + block12param1 = v524; + block12param2 = v545; + block12param3 = v547; + block12param4 = v549; + block12param5 = v551; + block12param6 = v553; + block12param7 = v555; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v540, ()) = (block11param0.clone(), ()); + let (v558, ()) = (block11param1.clone(), ()); + let (v561, ()) = (block11param2.clone(), ()); + let (v564, ()) = (block11param3.clone(), ()); + let (v566, ()) = (block11param4.clone(), ()); + let (v568, ()) = (block11param5.clone(), ()); + let (v570, ()) = (block11param6.clone(), ()); + let (v572, ()) = (block11param7.clone(), ()); + let (v42, ()) = (3u32, ()); + let (v43, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v540.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (4u32, ()); + let (v45, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v540.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v45 != 0 { + block14param0 = v540; + block14param1 = v561; + block14param2 = v558; + block14param3 = v43; + block14param4 = v564; + block14param5 = v566; + block14param6 = v568; + block14param7 = v570; + block14param8 = v572; + cff = 14usize; + } else { + block15param0 = v558; + block15param1 = v540; + block15param2 = v561; + block15param3 = v43; + block15param4 = v564; + block15param5 = v566; + block15param6 = v568; + block15param7 = v570; + block15param8 = v572; + cff = 15usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v556, ()) = (block14param0.clone(), ()); + let (v574, ()) = (block14param1.clone(), ()); + let (v579, ()) = (block14param2.clone(), ()); + let (v588, ()) = (block14param3.clone(), ()); + let (v596, ()) = (block14param4.clone(), ()); + let (v600, ()) = (block14param5.clone(), ()); + let (v604, ()) = (block14param6.clone(), ()); + let (v608, ()) = (block14param7.clone(), ()); + let (v612, ()) = (block14param8.clone(), ()); + let (v49, ()) = (4294967292u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v556.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (0u32, ()); + let (v52, ()) = (0u32, ()); + block16param0 = v51; + block16param1 = v52; + block16param2 = v574; + block16param3 = v50; + block16param4 = v579; + block16param5 = v556; + block16param6 = v588; + block16param7 = v596; + block16param8 = v600; + block16param9 = v604; + block16param10 = v608; + block16param11 = v612; + cff = 16usize; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v53, ()) = (block16param0.clone(), ()); + let (v55, ()) = (block16param1.clone(), ()); + let (v573, ()) = (block16param2.clone(), ()); + let (v575, ()) = (block16param3.clone(), ()); + let (v578, ()) = (block16param4.clone(), ()); + let (v582, ()) = (block16param5.clone(), ()); + let (v587, ()) = (block16param6.clone(), ()); + let (v595, ()) = (block16param7.clone(), ()); + let (v599, ()) = (block16param8.clone(), ()); + let (v603, ()) = (block16param9.clone(), ()); + let (v607, ()) = (block16param10.clone(), ()); + let (v611, ()) = (block16param11.clone(), ()); + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v573.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v56.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = (4294967231u32, ()); + let (v59, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (1u32, ()); + let (v62, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v62.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (4294967231u32, ()); + let (v65, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (2u32, ()); + let (v68, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v68.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (4294967231u32, ()); + let (v71, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v72, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = (3u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v74.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (4294967231u32, ()); + let (v77, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (4u32, ()); + let (v81, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v575.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v82 != 0 { + block16param0 = v78; + block16param1 = v81; + block16param2 = v573; + block16param3 = v575; + block16param4 = v578; + block16param5 = v582; + block16param6 = v587; + block16param7 = v595; + block16param8 = v599; + block16param9 = v603; + block16param10 = v607; + block16param11 = v611; + cff = 16usize; + continue 'l30; + } else { + block18param0 = v578; + block18param1 = v582; + block18param2 = v573; + block18param3 = v587; + block18param4 = v78; + block18param5 = v81; + block18param6 = v595; + block18param7 = v599; + block18param8 = v603; + block18param9 = v607; + block18param10 = v611; + cff = 18usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v577, ()) = (block18param0.clone(), ()); + let (v581, ()) = (block18param1.clone(), ()); + let (v584, ()) = (block18param2.clone(), ()); + let (v586, ()) = (block18param3.clone(), ()); + let (v590, ()) = (block18param4.clone(), ()); + let (v592, ()) = (block18param5.clone(), ()); + let (v594, ()) = (block18param6.clone(), ()); + let (v598, ()) = (block18param7.clone(), ()); + let (v602, ()) = (block18param8.clone(), ()); + let (v606, ()) = (block18param9.clone(), ()); + let (v610, ()) = (block18param10.clone(), ()); + block17param0 = v577; + block17param1 = v581; + block17param2 = v584; + block17param3 = v586; + block17param4 = v590; + block17param5 = v592; + block17param6 = v594; + block17param7 = v598; + block17param8 = v602; + block17param9 = v606; + block17param10 = v610; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v576, ()) = (block17param0.clone(), ()); + let (v580, ()) = (block17param1.clone(), ()); + let (v583, ()) = (block17param2.clone(), ()); + let (v585, ()) = (block17param3.clone(), ()); + let (v589, ()) = (block17param4.clone(), ()); + let (v591, ()) = (block17param5.clone(), ()); + let (v593, ()) = (block17param6.clone(), ()); + let (v597, ()) = (block17param7.clone(), ()); + let (v601, ()) = (block17param8.clone(), ()); + let (v605, ()) = (block17param9.clone(), ()); + let (v609, ()) = (block17param10.clone(), ()); + block13param0 = v585; + block13param1 = v583; + block13param2 = v591; + block13param3 = v589; + block13param4 = v593; + block13param5 = v597; + block13param6 = v601; + block13param7 = v580; + block13param8 = v605; + block13param9 = v609; + block13param10 = v576; + cff = 13usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l24: loop { + let (v557, ()) = (block15param0.clone(), ()); + let (v559, ()) = (block15param1.clone(), ()); + let (v560, ()) = (block15param2.clone(), ()); + let (v562, ()) = (block15param3.clone(), ()); + let (v563, ()) = (block15param4.clone(), ()); + let (v565, ()) = (block15param5.clone(), ()); + let (v567, ()) = (block15param6.clone(), ()); + let (v569, ()) = (block15param7.clone(), ()); + let (v571, ()) = (block15param8.clone(), ()); + let (v46, ()) = (0u32, ()); + let (v47, ()) = (0u32, ()); + block13param0 = v562; + block13param1 = v560; + block13param2 = v47; + block13param3 = v46; + block13param4 = v563; + block13param5 = v565; + block13param6 = v567; + block13param7 = v559; + block13param8 = v569; + block13param9 = v571; + block13param10 = v557; + cff = 13usize; + break 'l24; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l22: loop { + let (v86, ()) = (block13param0.clone(), ()); + let (v94, ()) = (block13param1.clone(), ()); + let (v99, ()) = (block13param2.clone(), ()); + let (v115, ()) = (block13param3.clone(), ()); + let (v128, ()) = (block13param4.clone(), ()); + let (v148, ()) = (block13param5.clone(), ()); + let (v173, ()) = (block13param6.clone(), ()); + let (v196, ()) = (block13param7.clone(), ()); + let (v219, ()) = (block13param8.clone(), ()); + let (v240, ()) = (block13param9.clone(), ()); + let (v290, ()) = (block13param10.clone(), ()); + let (v92, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v92 != 0 { + block8param0 = v115; + block8param1 = v128; + block8param2 = v148; + block8param3 = v173; + block8param4 = v94; + block8param5 = v196; + block8param6 = v219; + block8param7 = v240; + block8param8 = v290; + cff = 8usize; + break 'l22; + } else { + block19param0 = v86; + block19param1 = v94; + block19param2 = v99; + block19param3 = v115; + block19param4 = v128; + block19param5 = v148; + block19param6 = v173; + block19param7 = v196; + block19param8 = v219; + block19param9 = v240; + block19param10 = v290; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v613, ()) = (block19param0.clone(), ()); + let (v614, ()) = (block19param1.clone(), ()); + let (v615, ()) = (block19param2.clone(), ()); + let (v616, ()) = (block19param3.clone(), ()); + let (v625, ()) = (block19param4.clone(), ()); + let (v629, ()) = (block19param5.clone(), ()); + let (v633, ()) = (block19param6.clone(), ()); + let (v637, ()) = (block19param7.clone(), ()); + let (v641, ()) = (block19param8.clone(), ()); + let (v645, ()) = (block19param9.clone(), ()); + let (v649, ()) = (block19param10.clone(), ()); + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v614.clone()), + ::wars_rt::func::cast::<_, _, C>(v615.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block20param0 = v616; + block20param1 = v102; + block20param2 = v613; + block20param3 = v614; + block20param4 = v625; + block20param5 = v629; + block20param6 = v633; + block20param7 = v637; + block20param8 = v641; + block20param9 = v645; + block20param10 = v649; + cff = 20usize; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l33: loop { + let (v103, ()) = (block20param0.clone(), ()); + let (v104, ()) = (block20param1.clone(), ()); + let (v111, ()) = (block20param2.clone(), ()); + let (v619, ()) = (block20param3.clone(), ()); + let (v624, ()) = (block20param4.clone(), ()); + let (v628, ()) = (block20param5.clone(), ()); + let (v632, ()) = (block20param6.clone(), ()); + let (v636, ()) = (block20param7.clone(), ()); + let (v640, ()) = (block20param8.clone(), ()); + let (v644, ()) = (block20param9.clone(), ()); + let (v648, ()) = (block20param10.clone(), ()); + let (v105, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v104.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (4294967231u32, ()); + let (v107, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v112, ()) = (4294967295u32, ()); + let (v113, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v113 != 0 { + block20param0 = v108; + block20param1 = v110; + block20param2 = v113; + block20param3 = v619; + block20param4 = v624; + block20param5 = v628; + block20param6 = v632; + block20param7 = v636; + block20param8 = v640; + block20param9 = v644; + block20param10 = v648; + cff = 20usize; + continue 'l33; + } else { + block22param0 = v619; + block22param1 = v108; + block22param2 = v624; + block22param3 = v628; + block22param4 = v632; + block22param5 = v636; + block22param6 = v640; + block22param7 = v644; + block22param8 = v648; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l39: loop { + let (v618, ()) = (block22param0.clone(), ()); + let (v621, ()) = (block22param1.clone(), ()); + let (v623, ()) = (block22param2.clone(), ()); + let (v627, ()) = (block22param3.clone(), ()); + let (v631, ()) = (block22param4.clone(), ()); + let (v635, ()) = (block22param5.clone(), ()); + let (v639, ()) = (block22param6.clone(), ()); + let (v643, ()) = (block22param7.clone(), ()); + let (v647, ()) = (block22param8.clone(), ()); + block21param0 = v618; + block21param1 = v621; + block21param2 = v623; + block21param3 = v627; + block21param4 = v631; + block21param5 = v635; + block21param6 = v639; + block21param7 = v643; + block21param8 = v647; + cff = 21usize; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v617, ()) = (block21param0.clone(), ()); + let (v620, ()) = (block21param1.clone(), ()); + let (v622, ()) = (block21param2.clone(), ()); + let (v626, ()) = (block21param3.clone(), ()); + let (v630, ()) = (block21param4.clone(), ()); + let (v634, ()) = (block21param5.clone(), ()); + let (v638, ()) = (block21param6.clone(), ()); + let (v642, ()) = (block21param7.clone(), ()); + let (v646, ()) = (block21param8.clone(), ()); + block8param0 = v620; + block8param1 = v622; + block8param2 = v626; + block8param3 = v630; + block8param4 = v617; + block8param5 = v634; + block8param6 = v638; + block8param7 = v642; + block8param8 = v646; + cff = 8usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l16: loop { + let (v541, ()) = (block12param0.clone(), ()); + let (v543, ()) = (block12param1.clone(), ()); + let (v544, ()) = (block12param2.clone(), ()); + let (v546, ()) = (block12param3.clone(), ()); + let (v548, ()) = (block12param4.clone(), ()); + let (v550, ()) = (block12param5.clone(), ()); + let (v552, ()) = (block12param6.clone(), ()); + let (v554, ()) = (block12param7.clone(), ()); + let (v40, ()) = (0u32, ()); + block8param0 = v40; + block8param1 = v546; + block8param2 = v548; + block8param3 = v550; + block8param4 = v544; + block8param5 = v543; + block8param6 = v552; + block8param7 = v554; + block8param8 = v541; + cff = 8usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l9: loop { + let (v525, ()) = (block10param0.clone(), ()); + let (v527, ()) = (block10param1.clone(), ()); + let (v528, ()) = (block10param2.clone(), ()); + let (v530, ()) = (block10param3.clone(), ()); + let (v532, ()) = (block10param4.clone(), ()); + let (v534, ()) = (block10param5.clone(), ()); + let (v536, ()) = (block10param6.clone(), ()); + let (v538, ()) = (block10param7.clone(), ()); + let (v38, ()) = match ::wars_rt::_rexport::tramp::tramp( + func60( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v528.clone()), + (::wars_rt::func::cast::<_, _, C>(v527.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v38; + block8param1 = v530; + block8param2 = v532; + block8param3 = v534; + block8param4 = v528; + block8param5 = v527; + block8param6 = v536; + block8param7 = v538; + block8param8 = v525; + cff = 8usize; + break 'l9; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v119, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v143, ()) = (block8param2.clone(), ()); + let (v168, ()) = (block8param3.clone(), ()); + let (v186, ()) = (block8param4.clone(), ()); + let (v194, ()) = (block8param5.clone(), ()); + let (v214, ()) = (block8param6.clone(), ()); + let (v235, ()) = (block8param7.clone(), ()); + let (v285, ()) = (block8param8.clone(), ()); + let (v139, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v143; + block5param1 = v168; + block5param2 = v186; + block5param3 = v194; + block5param4 = v214; + block5param5 = v235; + block5param6 = v139; + block5param7 = v285; + cff = 5usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l6: loop { + let (v517, ()) = (block7param0.clone(), ()); + let (v518, ()) = (block7param1.clone(), ()); + let (v519, ()) = (block7param2.clone(), ()); + let (v520, ()) = (block7param3.clone(), ()); + let (v521, ()) = (block7param4.clone(), ()); + let (v522, ()) = (block7param5.clone(), ()); + let (v523, ()) = (block7param6.clone(), ()); + let (v25, ()) = (0u32, ()); + block5param0 = v520; + block5param1 = v521; + block5param2 = v25; + block5param3 = v518; + block5param4 = v522; + block5param5 = v523; + block5param6 = v519; + block5param7 = v517; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v140, ()) = (block5param0.clone(), ()); + let (v165, ()) = (block5param1.clone(), ()); + let (v185, ()) = (block5param2.clone(), ()); + let (v192, ()) = (block5param3.clone(), ()); + let (v209, ()) = (block5param4.clone(), ()); + let (v232, ()) = (block5param5.clone(), ()); + let (v257, ()) = (block5param6.clone(), ()); + let (v283, ()) = (block5param7.clone(), ()); + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v159 != 0 { + block24param0 = v140; + block24param1 = v257; + block24param2 = v283; + block24param3 = v165; + block24param4 = v185; + block24param5 = v192; + block24param6 = v209; + block24param7 = v232; + cff = 24usize; + } else { + block25param0 = v140; + block25param1 = v165; + block25param2 = v185; + block25param3 = v192; + block25param4 = v209; + block25param5 = v232; + cff = 25usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + 25usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v650, ()) = (block24param0.clone(), ()); + let (v651, ()) = (block24param1.clone(), ()); + let (v663, ()) = (block24param2.clone(), ()); + let (v666, ()) = (block24param3.clone(), ()); + let (v668, ()) = (block24param4.clone(), ()); + let (v670, ()) = (block24param5.clone(), ()); + let (v673, ()) = (block24param6.clone(), ()); + let (v676, ()) = (block24param7.clone(), ()); + let (v255, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v650.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ::wars_rt::func::cast::<_, _, C>(v651.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v259 != 0 { + block27param0 = v663; + block27param1 = v650; + block27param2 = v666; + block27param3 = v668; + block27param4 = v670; + block27param5 = v673; + block27param6 = v676; + block27param7 = v255; + block27param8 = v651; + cff = 27usize; + } else { + block28param0 = v650; + block28param1 = v666; + block28param2 = v668; + block28param3 = v670; + block28param4 = v673; + block28param5 = v676; + cff = 28usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + 28usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v662, ()) = (block27param0.clone(), ()); + let (v680, ()) = (block27param1.clone(), ()); + let (v682, ()) = (block27param2.clone(), ()); + let (v684, ()) = (block27param3.clone(), ()); + let (v686, ()) = (block27param4.clone(), ()); + let (v688, ()) = (block27param5.clone(), ()); + let (v690, ()) = (block27param6.clone(), ()); + let (v692, ()) = (block27param7.clone(), ()); + let (v694, ()) = (block27param8.clone(), ()); + let (v301, ()) = (8u32, ()); + let (v302, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v662.clone()), + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v303, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v303 != 0 { + block30param0 = v680; + block30param1 = v682; + block30param2 = v684; + block30param3 = v686; + block30param4 = v688; + block30param5 = v690; + block30param6 = v692; + block30param7 = v694; + cff = 30usize; + } else { + block31param0 = v680; + block31param1 = v682; + block31param2 = v684; + block31param3 = v686; + block31param4 = v688; + block31param5 = v690; + block31param6 = v692; + block31param7 = v694; + cff = 31usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + 31usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v679, ()) = (block30param0.clone(), ()); + let (v681, ()) = (block30param1.clone(), ()); + let (v683, ()) = (block30param2.clone(), ()); + let (v685, ()) = (block30param3.clone(), ()); + let (v687, ()) = (block30param4.clone(), ()); + let (v689, ()) = (block30param5.clone(), ()); + let (v691, ()) = (block30param6.clone(), ()); + let (v693, ()) = (block30param7.clone(), ()); + let (v384, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v691.clone()), + ::wars_rt::func::cast::<_, _, C>(v693.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v679.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v386 { + 0usize => { + block39param0 = v386; + block39param1 = v679; + block39param2 = v681; + block39param3 = v683; + block39param4 = v685; + block39param5 = v687; + block39param6 = v689; + block39param7 = v384; + cff = 39usize; + } + 1usize => { + block41param0 = v679; + block41param1 = v681; + block41param2 = v683; + block41param3 = v685; + block41param4 = v687; + block41param5 = v689; + block41param6 = v384; + cff = 41usize; + } + 2usize => { + block40param0 = v679; + block40param1 = v681; + block40param2 = v683; + block40param3 = v685; + block40param4 = v687; + block40param5 = v689; + block40param6 = v384; + cff = 40usize; + } + 3usize => { + block41param0 = v679; + block41param1 = v681; + block41param2 = v683; + block41param3 = v685; + block41param4 = v687; + block41param5 = v689; + block41param6 = v384; + cff = 41usize; + } + _ => { + block39param0 = v386; + block39param1 = v679; + block39param2 = v681; + block39param3 = v683; + block39param4 = v685; + block39param5 = v687; + block39param6 = v689; + block39param7 = v384; + cff = 39usize; + } + }; + let mut cff2 = match cff { + 40usize => 0usize, + 41usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v730, ()) = (block40param0.clone(), ()); + let (v731, ()) = (block40param1.clone(), ()); + let (v732, ()) = (block40param2.clone(), ()); + let (v733, ()) = (block40param3.clone(), ()); + let (v734, ()) = (block40param4.clone(), ()); + let (v735, ()) = (block40param5.clone(), ()); + let (v736, ()) = (block40param6.clone(), ()); + let (v390, ()) = (1u32, ()); + let (v391, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ::wars_rt::func::cast::<_, _, C>(v390.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v392, ()) = (1u32, ()); + let (v393, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v394, ()) = (1u32, ()); + let (v395, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block39param0 = v391; + block39param1 = v730; + block39param2 = v731; + block39param3 = v732; + block39param4 = v733; + block39param5 = v734; + block39param6 = v735; + block39param7 = v395; + cff = 39usize; + break 'l27; + } + } + 1usize => { + 'l26: loop { + let (v737, ()) = (block41param0.clone(), ()); + let (v738, ()) = (block41param1.clone(), ()); + let (v739, ()) = (block41param2.clone(), ()); + let (v740, ()) = (block41param3.clone(), ()); + let (v741, ()) = (block41param4.clone(), ()); + let (v742, ()) = (block41param5.clone(), ()); + let (v743, ()) = (block41param6.clone(), ()); + let (v388, ()) = (0u32, ()); + block39param0 = v743; + block39param1 = v737; + block39param2 = v738; + block39param3 = v739; + block39param4 = v740; + block39param5 = v741; + block39param6 = v742; + block39param7 = v388; + cff = 39usize; + break 'l26; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l25: loop { + let (v396, ()) = (block39param0.clone(), ()); + let (v399, ()) = (block39param1.clone(), ()); + let (v427, ()) = (block39param2.clone(), ()); + let (v434, ()) = (block39param3.clone(), ()); + let (v441, ()) = (block39param4.clone(), ()); + let (v451, ()) = (block39param5.clone(), ()); + let (v459, ()) = (block39param6.clone(), ()); + let (v489, ()) = (block39param7.clone(), ()); + let (v397, ()) = (1u32, ()); + let (v398, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ::wars_rt::func::cast::<_, _, C>(v397.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v402, ()) = (24u32, ()); + let (v403, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v399.clone()), + ::wars_rt::func::cast::<_, _, C>(v402.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v404, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v403.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v405, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v399.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v406, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v399.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v398; + block43param1 = v406; + block43param2 = v405; + block43param3 = v404; + block43param4 = v427; + block43param5 = v434; + block43param6 = v441; + block43param7 = v451; + block43param8 = v459; + block43param9 = v489; + cff = 43usize; + let mut cff2 = match cff { + 43usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v407, ()) = (block43param0.clone(), ()); + let (v412, ()) = (block43param1.clone(), ()); + let (v414, ()) = (block43param2.clone(), ()); + let (v416, ()) = (block43param3.clone(), ()); + let (v426, ()) = (block43param4.clone(), ()); + let (v433, ()) = (block43param5.clone(), ()); + let (v440, ()) = (block43param6.clone(), ()); + let (v450, ()) = (block43param7.clone(), ()); + let (v458, ()) = (block43param8.clone(), ()); + let (v488, ()) = (block43param9.clone(), ()); + let (v408, ()) = (4294967295u32, ()); + let (v409, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v407.clone()), + ::wars_rt::func::cast::<_, _, C>(v408.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v410, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v409.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v410 != 0 { + block42param0 = v412; + block42param1 = v416; + block42param2 = v426; + block42param3 = v433; + block42param4 = v440; + block42param5 = v450; + block42param6 = v458; + block42param7 = v414; + block42param8 = v488; + cff = 42usize; + } else { + block45param0 = v409; + block45param1 = v412; + block45param2 = v414; + block45param3 = v416; + block45param4 = v426; + block45param5 = v433; + block45param6 = v440; + block45param7 = v450; + block45param8 = v458; + block45param9 = v488; + cff = 45usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v744, ()) = (block42param0.clone(), ()); + let (v745, ()) = (block42param1.clone(), ()); + let (v746, ()) = (block42param2.clone(), ()); + let (v747, ()) = (block42param3.clone(), ()); + let (v748, ()) = (block42param4.clone(), ()); + let (v763, ()) = (block42param5.clone(), ()); + let (v765, ()) = (block42param6.clone(), ()); + let (v769, ()) = (block42param7.clone(), ()); + let (v773, ()) = (block42param8.clone(), ()); + let (v422, ()) = (1u32, ()); + let (v446, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v744.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v745.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v746.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v747.clone()), + (::wars_rt::func::cast::<_, _, C>(v748.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v446 != 0 { + block23param0 = v422; + cff = 23usize; + break 'l36; + } else { + block47param0 = v744; + block47param1 = v745; + block47param2 = v422; + block47param3 = v763; + block47param4 = v765; + block47param5 = v769; + block47param6 = v773; + cff = 47usize; + }; + let mut cff2 = match cff { + 47usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v759, ()) = (block47param0.clone(), ()); + let (v760, ()) = (block47param1.clone(), ()); + let (v761, ()) = (block47param2.clone(), ()); + let (v762, ()) = (block47param3.clone(), ()); + let (v764, ()) = (block47param4.clone(), ()); + let (v768, ()) = (block47param5.clone(), ()); + let (v772, ()) = (block47param6.clone(), ()); + let (v465, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v760.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v466, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v465 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v759.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v762.clone()), + (::wars_rt::func::cast::<_, _, C>(v764.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v466 != 0 { + block23param0 = v761; + cff = 23usize; + break 'l41; + } else { + block48param0 = v759; + block48param1 = v768; + block48param2 = v760; + block48param3 = v772; + cff = 48usize; + }; + let mut cff2 = match cff { + 48usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l46: loop { + let (v766, ()) = (block48param0.clone(), ()); + let (v767, ()) = (block48param1.clone(), ()); + let (v770, ()) = (block48param2.clone(), ()); + let (v771, ()) = (block48param3.clone(), ()); + let (v467, ()) = (0u32, ()); + block49param0 = v771; + block49param1 = v467; + block49param2 = v766; + block49param3 = v767; + block49param4 = v770; + cff = 49usize; + let mut cff2 = match cff { + 49usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l49: loop { + let (v468, ()) = (block49param0.clone(), ()); + let (v469, ()) = (block49param1.clone(), ()); + let (v477, ()) = (block49param2.clone(), ()); + let (v479, ()) = (block49param3.clone(), ()); + let (v481, ()) = (block49param4.clone(), ()); + let (v470, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v468.clone()), + ::wars_rt::func::cast::<_, _, C>(v469.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v470 != 0 { + block51param0 = v468; + block51param1 = v469; + block51param2 = v477; + block51param3 = v479; + block51param4 = v481; + cff = 51usize; + } else { + block52param0 = v468; + cff = 52usize; + }; + let mut cff2 = match cff { + 51usize => 0usize, + 52usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l51: loop { + let (v776, ()) = (block51param0.clone(), ()); + let (v779, ()) = (block51param1.clone(), ()); + let (v780, ()) = (block51param2.clone(), ()); + let (v781, ()) = (block51param3.clone(), ()); + let (v782, ()) = (block51param4.clone(), ()); + let (v474, ()) = (1u32, ()); + let (v475, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v779.clone()), + ::wars_rt::func::cast::<_, _, C>(v474.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v482, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v782.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v483, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v482 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v780.clone()), + (::wars_rt::func::cast::<_, _, C>(v781.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v484, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v483.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v484 != 0 { + block49param0 = v776; + block49param1 = v475; + block49param2 = v780; + block49param3 = v781; + block49param4 = v782; + cff = 49usize; + continue 'l49; + } else { + block53param0 = v776; + block53param1 = v475; + cff = 53usize; + }; + let mut cff2 = match cff { + 53usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l52: loop { + let (v775, ()) = (block53param0.clone(), ()); + let (v778, ()) = (block53param1.clone(), ()); + block50param0 = v775; + block50param1 = v778; + cff = 50usize; + let mut cff2 = match cff { + 50usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l53: loop { + let (v774, ()) = (block50param0.clone(), ()); + let (v777, ()) = (block50param1.clone(), ()); + let (v499, ()) = (4294967295u32, ()); + let (v500, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v777.clone()), + ::wars_rt::func::cast::<_, _, C>(v499.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v503, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v774.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v503, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l50: loop { + let (v783, ()) = (block52param0.clone(), ()); + let (v472, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v783.clone()), + ::wars_rt::func::cast::<_, _, C>(v783.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v472, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l35: loop { + let (v749, ()) = (block45param0.clone(), ()); + let (v750, ()) = (block45param1.clone(), ()); + let (v751, ()) = (block45param2.clone(), ()); + let (v752, ()) = (block45param3.clone(), ()); + let (v753, ()) = (block45param4.clone(), ()); + let (v754, ()) = (block45param5.clone(), ()); + let (v755, ()) = (block45param6.clone(), ()); + let (v756, ()) = (block45param7.clone(), ()); + let (v757, ()) = (block45param8.clone(), ()); + let (v758, ()) = (block45param9.clone(), ()); + let (v417, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v752.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v418, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v417 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v750.clone()), + (::wars_rt::func::cast::<_, _, C>(v751.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v419, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v418.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v419 != 0 { + block43param0 = v749; + block43param1 = v750; + block43param2 = v751; + block43param3 = v752; + block43param4 = v753; + block43param5 = v754; + block43param6 = v755; + block43param7 = v756; + block43param8 = v757; + block43param9 = v758; + cff = 43usize; + continue 'l31; + } else { + cff = 46usize; + }; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + cff = 44usize; + let mut cff2 = match cff { + 44usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l47: loop { + let (v421, ()) = (1u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v421, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l19: loop { + let (v695, ()) = (block31param0.clone(), ()); + let (v696, ()) = (block31param1.clone(), ()); + let (v697, ()) = (block31param2.clone(), ()); + let (v698, ()) = (block31param3.clone(), ()); + let (v701, ()) = (block31param4.clone(), ()); + let (v703, ()) = (block31param5.clone(), ()); + let (v705, ()) = (block31param6.clone(), ()); + let (v707, ()) = (block31param7.clone(), ()); + let (v306, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v307, ()) = (48u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v309, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v310, ()) = (1u32, ()); + let (v311, ()) = (1u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v313, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v314, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v321, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v314.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v696.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v697.clone()), + (::wars_rt::func::cast::<_, _, C>(v698.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v321 != 0 { + block23param0 = v310; + cff = 23usize; + break 'l19; + } else { + block32param0 = v695; + block32param1 = v701; + block32param2 = v703; + block32param3 = v705; + block32param4 = v707; + block32param5 = v306; + block32param6 = v309; + block32param7 = v313; + block32param8 = v314; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v699, ()) = (block32param0.clone(), ()); + let (v700, ()) = (block32param1.clone(), ()); + let (v702, ()) = (block32param2.clone(), ()); + let (v704, ()) = (block32param3.clone(), ()); + let (v706, ()) = (block32param4.clone(), ()); + let (v708, ()) = (block32param5.clone(), ()); + let (v709, ()) = (block32param6.clone(), ()); + let (v710, ()) = (block32param7.clone(), ()); + let (v711, ()) = (block32param8.clone(), ()); + let (v328, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v704.clone()), + ::wars_rt::func::cast::<_, _, C>(v706.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v329, ()) = (1u32, ()); + let (v330, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block34param0 = v330; + block34param1 = v710; + block34param2 = v711; + block34param3 = v700; + block34param4 = v702; + block34param5 = v699; + block34param6 = v709; + block34param7 = v708; + cff = 34usize; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v331, ()) = (block34param0.clone(), ()); + let (v336, ()) = (block34param1.clone(), ()); + let (v339, ()) = (block34param2.clone(), ()); + let (v350, ()) = (block34param3.clone(), ()); + let (v356, ()) = (block34param4.clone(), ()); + let (v366, ()) = (block34param5.clone(), ()); + let (v371, ()) = (block34param6.clone(), ()); + let (v377, ()) = (block34param7.clone(), ()); + let (v332, ()) = (4294967295u32, ()); + let (v333, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v334 != 0 { + block33param0 = v336; + block33param1 = v339; + block33param2 = v350; + block33param3 = v356; + block33param4 = v366; + block33param5 = v371; + block33param6 = v377; + cff = 33usize; + } else { + block36param0 = v333; + block36param1 = v336; + block36param2 = v339; + block36param3 = v350; + block36param4 = v356; + block36param5 = v366; + block36param6 = v371; + block36param7 = v377; + cff = 36usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + 36usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v712, ()) = (block33param0.clone(), ()); + let (v713, ()) = (block33param1.clone(), ()); + let (v714, ()) = (block33param2.clone(), ()); + let (v715, ()) = (block33param3.clone(), ()); + let (v725, ()) = (block33param4.clone(), ()); + let (v727, ()) = (block33param5.clone(), ()); + let (v729, ()) = (block33param6.clone(), ()); + let (v347, ()) = (1u32, ()); + let (v362, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v713.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v363, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v362 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v712.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v714.clone()), + (::wars_rt::func::cast::<_, _, C>(v715.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v363 != 0 { + block23param0 = v347; + cff = 23usize; + break 'l38; + } else { + block38param0 = v725; + block38param1 = v727; + block38param2 = v729; + cff = 38usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v724, ()) = (block38param0.clone(), ()); + let (v726, ()) = (block38param1.clone(), ()); + let (v728, ()) = (block38param2.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v724.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v726.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v724.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v728.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v381, ()) = (0u32, ()); + block23param0 = v381; + cff = 23usize; + break 'l43; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l37: loop { + let (v716, ()) = (block36param0.clone(), ()); + let (v717, ()) = (block36param1.clone(), ()); + let (v718, ()) = (block36param2.clone(), ()); + let (v719, ()) = (block36param3.clone(), ()); + let (v720, ()) = (block36param4.clone(), ()); + let (v721, ()) = (block36param5.clone(), ()); + let (v722, ()) = (block36param6.clone(), ()); + let (v723, ()) = (block36param7.clone(), ()); + let (v337, ()) = (48u32, ()); + let (v340, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v718.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v341, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v340 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v717.clone()), + (::wars_rt::func::cast::<_, _, C>(v337.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v342, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v342 != 0 { + block34param0 = v716; + block34param1 = v717; + block34param2 = v718; + block34param3 = v719; + block34param4 = v720; + block34param5 = v721; + block34param6 = v722; + block34param7 = v723; + cff = 34usize; + continue 'l32; + } else { + cff = 37usize; + }; + let mut cff2 = match cff { + 37usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + cff = 35usize; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l48: loop { + let (v346, ()) = (1u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v346, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l13: loop { + let (v664, ()) = (block28param0.clone(), ()); + let (v665, ()) = (block28param1.clone(), ()); + let (v667, ()) = (block28param2.clone(), ()); + let (v669, ()) = (block28param3.clone(), ()); + let (v672, ()) = (block28param4.clone(), ()); + let (v675, ()) = (block28param5.clone(), ()); + let (v260, ()) = (1u32, ()); + let (v262, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v664.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v263, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v664.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v270, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v263.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v665.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v667.clone()), + (::wars_rt::func::cast::<_, _, C>(v669.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v270 != 0 { + block23param0 = v260; + cff = 23usize; + break 'l13; + } else { + block29param0 = v672; + block29param1 = v675; + block29param2 = v262; + block29param3 = v263; + cff = 29usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v671, ()) = (block29param0.clone(), ()); + let (v674, ()) = (block29param1.clone(), ()); + let (v677, ()) = (block29param2.clone(), ()); + let (v678, ()) = (block29param3.clone(), ()); + let (v279, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v678.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v280, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v279 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v677.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v671.clone()), + (::wars_rt::func::cast::<_, _, C>(v674.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v280, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l12: loop { + let (v652, ()) = (block25param0.clone(), ()); + let (v653, ()) = (block25param1.clone(), ()); + let (v654, ()) = (block25param2.clone(), ()); + let (v655, ()) = (block25param3.clone(), ()); + let (v659, ()) = (block25param4.clone(), ()); + let (v661, ()) = (block25param5.clone(), ()); + let (v160, ()) = (1u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v652.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v652.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v205, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v653.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v654.clone()), + (::wars_rt::func::cast::<_, _, C>(v655.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v205 != 0 { + block23param0 = v160; + cff = 23usize; + break 'l12; + } else { + block26param0 = v162; + block26param1 = v163; + block26param2 = v659; + block26param3 = v661; + cff = 26usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v656, ()) = (block26param0.clone(), ()); + let (v657, ()) = (block26param1.clone(), ()); + let (v658, ()) = (block26param2.clone(), ()); + let (v660, ()) = (block26param3.clone(), ()); + let (v252, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v657.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v253, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v252 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v656.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v658.clone()), + (::wars_rt::func::cast::<_, _, C>(v660.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v253, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v504, ()) = (block23param0.clone(), ()); + block1param0 = v504; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func60<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block6param5: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block8param7: u32; + let mut block8param8: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block9param7: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block10param7: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block11param7: u32; + let mut block11param8: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block12param8: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block13param7: u32; + let mut block13param8: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block25param6: u32; + let mut block25param7: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block26param4: u32; + let mut block26param5: u32; + let mut block26param6: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block28param6: u32; + let mut block28param7: u32; + let mut block28param8: u32; + let mut block28param9: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block29param7: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block37param0: u32; + let mut block37param1: u32; + let mut block37param2: u32; + let mut block37param3: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block40param4: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block44param2: u32; + let mut block45param0: u32; + let mut block46param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (3u32, ()); + let (v4, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = (4294967292u32, ()); + let (v6, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block3param0 = v2; + block3param1 = v1; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v7; + block4param3 = v6; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v492, ()) = (block4param0.clone(), ()); + let (v493, ()) = (block4param1.clone(), ()); + let (v494, ()) = (block4param2.clone(), ()); + let (v497, ()) = (block4param3.clone(), ()); + let (v11, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ::wars_rt::func::cast::<_, _, C>(v494.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (4u32, ()); + let (v13, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block3param0 = v493; + block3param1 = v492; + cff = 3usize; + break 'l3; + } else { + block5param0 = v492; + block5param1 = v497; + block5param2 = v494; + block5param3 = v11; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v495, ()) = (block5param0.clone(), ()); + let (v496, ()) = (block5param1.clone(), ()); + let (v498, ()) = (block5param2.clone(), ()); + let (v499, ()) = (block5param3.clone(), ()); + let (v15, ()) = (3u32, ()); + let (v16, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v499.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = (0u32, ()); + let (v23, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v496.clone()), + ::wars_rt::func::cast::<_, _, C>(v495.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v23 != 0 { + block6param0 = v495; + block6param1 = v498; + block6param2 = v16; + block6param3 = v499; + block6param4 = v17; + block6param5 = v18; + cff = 6usize; + } else { + block7param0 = v495; + block7param1 = v496; + block7param2 = v498; + block7param3 = v499; + block7param4 = v16; + block7param5 = v17; + block7param6 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v500, ()) = (block7param0.clone(), ()); + let (v501, ()) = (block7param1.clone(), ()); + let (v506, ()) = (block7param2.clone(), ()); + let (v508, ()) = (block7param3.clone(), ()); + let (v510, ()) = (block7param4.clone(), ()); + let (v512, ()) = (block7param5.clone(), ()); + let (v514, ()) = (block7param6.clone(), ()); + let (v24, ()) = (0u32, ()); + let (v27, ()) = (4294967295u32, ()); + let (v28, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v501.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (3u32, ()); + let (v31, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v31 != 0 { + block9param0 = v24; + block9param1 = v500; + block9param2 = v501; + block9param3 = v506; + block9param4 = v508; + block9param5 = v510; + block9param6 = v512; + block9param7 = v514; + cff = 9usize; + } else { + block10param0 = v500; + block10param1 = v501; + block10param2 = v506; + block10param3 = v508; + block10param4 = v510; + block10param5 = v512; + block10param6 = v514; + block10param7 = v24; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v502, ()) = (block9param0.clone(), ()); + let (v517, ()) = (block9param1.clone(), ()); + let (v523, ()) = (block9param2.clone(), ()); + let (v527, ()) = (block9param3.clone(), ()); + let (v531, ()) = (block9param4.clone(), ()); + let (v535, ()) = (block9param5.clone(), ()); + let (v539, ()) = (block9param6.clone(), ()); + let (v543, ()) = (block9param7.clone(), ()); + let (v33, ()) = (0u32, ()); + block11param0 = v502; + block11param1 = v33; + block11param2 = v517; + block11param3 = v523; + block11param4 = v527; + block11param5 = v531; + block11param6 = v535; + block11param7 = v539; + block11param8 = v543; + cff = 11usize; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v34, ()) = (block11param0.clone(), ()); + let (v36, ()) = (block11param1.clone(), ()); + let (v516, ()) = (block11param2.clone(), ()); + let (v522, ()) = (block11param3.clone(), ()); + let (v526, ()) = (block11param4.clone(), ()); + let (v530, ()) = (block11param5.clone(), ()); + let (v534, ()) = (block11param6.clone(), ()); + let (v538, ()) = (block11param7.clone(), ()); + let (v542, ()) = (block11param8.clone(), ()); + let (v37, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v516.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (4294967231u32, ()); + let (v40, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (1u32, ()); + let (v43, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v43.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (4294967231u32, ()); + let (v46, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (2u32, ()); + let (v49, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967231u32, ()); + let (v52, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = (3u32, ()); + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v55.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (4294967231u32, ()); + let (v58, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = (4u32, ()); + let (v61, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + block11param0 = v59; + block11param1 = v61; + block11param2 = v516; + block11param3 = v522; + block11param4 = v526; + block11param5 = v530; + block11param6 = v534; + block11param7 = v538; + block11param8 = v542; + cff = 11usize; + continue 'l25; + } else { + block13param0 = v516; + block13param1 = v522; + block13param2 = v526; + block13param3 = v530; + block13param4 = v534; + block13param5 = v538; + block13param6 = v542; + block13param7 = v59; + block13param8 = v61; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v519, ()) = (block13param0.clone(), ()); + let (v521, ()) = (block13param1.clone(), ()); + let (v525, ()) = (block13param2.clone(), ()); + let (v529, ()) = (block13param3.clone(), ()); + let (v533, ()) = (block13param4.clone(), ()); + let (v537, ()) = (block13param5.clone(), ()); + let (v541, ()) = (block13param6.clone(), ()); + let (v545, ()) = (block13param7.clone(), ()); + let (v547, ()) = (block13param8.clone(), ()); + block12param0 = v519; + block12param1 = v521; + block12param2 = v525; + block12param3 = v529; + block12param4 = v533; + block12param5 = v537; + block12param6 = v541; + block12param7 = v545; + block12param8 = v547; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l37: loop { + let (v518, ()) = (block12param0.clone(), ()); + let (v520, ()) = (block12param1.clone(), ()); + let (v524, ()) = (block12param2.clone(), ()); + let (v528, ()) = (block12param3.clone(), ()); + let (v532, ()) = (block12param4.clone(), ()); + let (v536, ()) = (block12param5.clone(), ()); + let (v540, ()) = (block12param6.clone(), ()); + let (v544, ()) = (block12param7.clone(), ()); + let (v546, ()) = (block12param8.clone(), ()); + block8param0 = v540; + block8param1 = v518; + block8param2 = v520; + block8param3 = v546; + block8param4 = v544; + block8param5 = v524; + block8param6 = v532; + block8param7 = v528; + block8param8 = v536; + cff = 8usize; + break 'l37; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l19: loop { + let (v503, ()) = (block10param0.clone(), ()); + let (v504, ()) = (block10param1.clone(), ()); + let (v505, ()) = (block10param2.clone(), ()); + let (v507, ()) = (block10param3.clone(), ()); + let (v509, ()) = (block10param4.clone(), ()); + let (v511, ()) = (block10param5.clone(), ()); + let (v513, ()) = (block10param6.clone(), ()); + let (v515, ()) = (block10param7.clone(), ()); + let (v32, ()) = (0u32, ()); + block8param0 = v513; + block8param1 = v503; + block8param2 = v504; + block8param3 = v32; + block8param4 = v515; + block8param5 = v505; + block8param6 = v509; + block8param7 = v507; + block8param8 = v511; + cff = 8usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v64, ()) = (block8param0.clone(), ()); + let (v72, ()) = (block8param1.clone(), ()); + let (v77, ()) = (block8param2.clone(), ()); + let (v85, ()) = (block8param3.clone(), ()); + let (v101, ()) = (block8param4.clone(), ()); + let (v111, ()) = (block8param5.clone(), ()); + let (v124, ()) = (block8param6.clone(), ()); + let (v139, ()) = (block8param7.clone(), ()); + let (v181, ()) = (block8param8.clone(), ()); + if v64 != 0 { + block6param0 = v72; + block6param1 = v111; + block6param2 = v124; + block6param3 = v139; + block6param4 = v181; + block6param5 = v101; + cff = 6usize; + break 'l17; + } else { + block14param0 = v72; + block14param1 = v77; + block14param2 = v85; + block14param3 = v101; + block14param4 = v111; + block14param5 = v124; + block14param6 = v139; + block14param7 = v181; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v548, ()) = (block14param0.clone(), ()); + let (v549, ()) = (block14param1.clone(), ()); + let (v550, ()) = (block14param2.clone(), ()); + let (v551, ()) = (block14param3.clone(), ()); + let (v560, ()) = (block14param4.clone(), ()); + let (v564, ()) = (block14param5.clone(), ()); + let (v568, ()) = (block14param6.clone(), ()); + let (v572, ()) = (block14param7.clone(), ()); + let (v83, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v548.clone()), + ::wars_rt::func::cast::<_, _, C>(v549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v548.clone()), + ::wars_rt::func::cast::<_, _, C>(v550.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block15param0 = v551; + block15param1 = v88; + block15param2 = v83; + block15param3 = v548; + block15param4 = v560; + block15param5 = v564; + block15param6 = v568; + block15param7 = v572; + cff = 15usize; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v89, ()) = (block15param0.clone(), ()); + let (v90, ()) = (block15param1.clone(), ()); + let (v97, ()) = (block15param2.clone(), ()); + let (v554, ()) = (block15param3.clone(), ()); + let (v559, ()) = (block15param4.clone(), ()); + let (v563, ()) = (block15param5.clone(), ()); + let (v567, ()) = (block15param6.clone(), ()); + let (v571, ()) = (block15param7.clone(), ()); + let (v91, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (4294967231u32, ()); + let (v93, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v95, ()) = (1u32, ()); + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = (1u32, ()); + let (v99, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v99 != 0 { + block15param0 = v94; + block15param1 = v96; + block15param2 = v99; + block15param3 = v554; + block15param4 = v559; + block15param5 = v563; + block15param6 = v567; + block15param7 = v571; + cff = 15usize; + continue 'l30; + } else { + block17param0 = v554; + block17param1 = v94; + block17param2 = v559; + block17param3 = v563; + block17param4 = v567; + block17param5 = v571; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v553, ()) = (block17param0.clone(), ()); + let (v556, ()) = (block17param1.clone(), ()); + let (v558, ()) = (block17param2.clone(), ()); + let (v562, ()) = (block17param3.clone(), ()); + let (v566, ()) = (block17param4.clone(), ()); + let (v570, ()) = (block17param5.clone(), ()); + block16param0 = v553; + block16param1 = v556; + block16param2 = v558; + block16param3 = v562; + block16param4 = v566; + block16param5 = v570; + cff = 16usize; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v552, ()) = (block16param0.clone(), ()); + let (v555, ()) = (block16param1.clone(), ()); + let (v557, ()) = (block16param2.clone(), ()); + let (v561, ()) = (block16param3.clone(), ()); + let (v565, ()) = (block16param4.clone(), ()); + let (v569, ()) = (block16param5.clone(), ()); + block6param0 = v552; + block6param1 = v557; + block6param2 = v561; + block6param3 = v565; + block6param4 = v569; + block6param5 = v555; + cff = 6usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v105, ()) = (block6param0.clone(), ()); + let (v109, ()) = (block6param1.clone(), ()); + let (v123, ()) = (block6param2.clone(), ()); + let (v138, ()) = (block6param3.clone(), ()); + let (v180, ()) = (block6param4.clone(), ()); + let (v193, ()) = (block6param5.clone(), ()); + let (v122, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v135, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v135 != 0 { + block18param0 = v138; + block18param1 = v180; + block18param2 = v193; + block18param3 = v122; + cff = 18usize; + } else { + block19param0 = v122; + block19param1 = v123; + block19param2 = v138; + block19param3 = v193; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v573, ()) = (block19param0.clone(), ()); + let (v574, ()) = (block19param1.clone(), ()); + let (v575, ()) = (block19param2.clone(), ()); + let (v576, ()) = (block19param3.clone(), ()); + let (v150, ()) = (4294967292u32, ()); + let (v151, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v575.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v573.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v152.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = (4294967231u32, ()); + let (v155, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = (1u32, ()); + let (v158, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v574.clone()), + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v158 != 0 { + block18param0 = v575; + block18param1 = v155; + block18param2 = v576; + block18param3 = v573; + cff = 18usize; + break 'l16; + } else { + block20param0 = v573; + block20param1 = v574; + block20param2 = v575; + block20param3 = v152; + block20param4 = v155; + block20param5 = v576; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v577, ()) = (block20param0.clone(), ()); + let (v578, ()) = (block20param1.clone(), ()); + let (v579, ()) = (block20param2.clone(), ()); + let (v580, ()) = (block20param3.clone(), ()); + let (v581, ()) = (block20param4.clone(), ()); + let (v582, ()) = (block20param5.clone(), ()); + let (v161, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v580.clone() + 1u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v162, ()) = (4294967231u32, ()); + let (v163, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v161.clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v581.clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = (2u32, ()); + let (v167, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v578.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v167 != 0 { + block18param0 = v579; + block18param1 = v164; + block18param2 = v582; + block18param3 = v577; + cff = 18usize; + break 'l23; + } else { + block21param0 = v577; + block21param1 = v579; + block21param2 = v580; + block21param3 = v164; + block21param4 = v582; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v583, ()) = (block21param0.clone(), ()); + let (v584, ()) = (block21param1.clone(), ()); + let (v585, ()) = (block21param2.clone(), ()); + let (v586, ()) = (block21param3.clone(), ()); + let (v587, ()) = (block21param4.clone(), ()); + let (v170, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v585.clone() + 2u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v171, ()) = (4294967231u32, ()); + let (v172, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v173, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v586.clone()), + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block18param0 = v584; + block18param1 = v173; + block18param2 = v587; + block18param3 = v583; + cff = 18usize; + break 'l29; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l15: loop { + let (v174, ()) = (block18param0.clone(), ()); + let (v179, ()) = (block18param1.clone(), ()); + let (v192, ()) = (block18param2.clone(), ()); + let (v333, ()) = (block18param3.clone(), ()); + let (v177, ()) = (2u32, ()); + let (v178, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block22param0 = v333; + block22param1 = v178; + block22param2 = v199; + cff = 22usize; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v200, ()) = (block22param0.clone(), ()); + let (v201, ()) = (block22param1.clone(), ()); + let (v320, ()) = (block22param2.clone(), ()); + let (v202, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v202 != 0 { + block2param0 = v320; + cff = 2usize; + break 'l22; + } else { + block24param0 = v201; + block24param1 = v200; + block24param2 = v320; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v596, ()) = (block24param0.clone(), ()); + let (v598, ()) = (block24param1.clone(), ()); + let (v607, ()) = (block24param2.clone(), ()); + let (v204, ()) = (192u32, ()); + let (v205, ()) = (192u32, ()); + let (v206, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v596.clone()), + ::wars_rt::func::cast::<_, _, C>(v205.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v207, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v596.clone()), + ::wars_rt::func::cast::<_, _, C>(v204.clone()), + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v208, ()) = (3u32, ()); + let (v209, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v208.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v210, ()) = (2u32, ()); + let (v211, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v212, ()) = (252u32, ()); + let (v213, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v212.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v213 != 0 { + block26param0 = v598; + block26param1 = v213; + block26param2 = v596; + block26param3 = v207; + block26param4 = v209; + block26param5 = v211; + block26param6 = v607; + cff = 26usize; + } else { + block27param0 = v598; + block27param1 = v596; + block27param2 = v207; + block27param3 = v209; + block27param4 = v211; + block27param5 = v213; + block27param6 = v607; + cff = 27usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + 27usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v597, ()) = (block26param0.clone(), ()); + let (v599, ()) = (block26param1.clone(), ()); + let (v615, ()) = (block26param2.clone(), ()); + let (v619, ()) = (block26param3.clone(), ()); + let (v623, ()) = (block26param4.clone(), ()); + let (v627, ()) = (block26param5.clone(), ()); + let (v636, ()) = (block26param6.clone(), ()); + let (v218, ()) = (2u32, ()); + let (v219, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v599.clone()), + ::wars_rt::func::cast::<_, _, C>(v218.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v220, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v597.clone()), + ::wars_rt::func::cast::<_, _, C>(v219.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v221, ()) = (0u32, ()); + block28param0 = v597; + block28param1 = v221; + block28param2 = v220; + block28param3 = v597; + block28param4 = v615; + block28param5 = v619; + block28param6 = v623; + block28param7 = v627; + block28param8 = v599; + block28param9 = v636; + cff = 28usize; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v222, ()) = (block28param0.clone(), ()); + let (v269, ()) = (block28param1.clone(), ()); + let (v608, ()) = (block28param2.clone(), ()); + let (v611, ()) = (block28param3.clone(), ()); + let (v614, ()) = (block28param4.clone(), ()); + let (v618, ()) = (block28param5.clone(), ()); + let (v622, ()) = (block28param6.clone(), ()); + let (v626, ()) = (block28param7.clone(), ()); + let (v630, ()) = (block28param8.clone(), ()); + let (v635, ()) = (block28param9.clone(), ()); + let (v223, ()) = (12u32, ()); + let (v224, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v223.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v225, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v224.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v226, ()) = (4294967295u32, ()); + let (v227, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ::wars_rt::func::cast::<_, _, C>(v226.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v228, ()) = (7u32, ()); + let (v229, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v227.clone()), + ::wars_rt::func::cast::<_, _, C>(v228.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v230, ()) = (6u32, ()); + let (v231, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v232, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v229.clone()), + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v233, ()) = (16843009u32, ()); + let (v234, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v235, ()) = (8u32, ()); + let (v236, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v235.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v236.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v238, ()) = (4294967295u32, ()); + let (v239, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v238.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v240, ()) = (7u32, ()); + let (v241, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v239.clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v242, ()) = (6u32, ()); + let (v243, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v242.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v243.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = (16843009u32, ()); + let (v246, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v247, ()) = (4u32, ()); + let (v248, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v249, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v248.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v250, ()) = (4294967295u32, ()); + let (v251, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = (7u32, ()); + let (v253, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v252.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v254, ()) = (6u32, ()); + let (v255, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v254.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v256, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v253.clone()), + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v257, ()) = (16843009u32, ()); + let (v258, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ::wars_rt::func::cast::<_, _, C>(v257.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v222.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v260, ()) = (4294967295u32, ()); + let (v261, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ::wars_rt::func::cast::<_, _, C>(v260.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v262, ()) = (7u32, ()); + let (v263, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v261.clone()), + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v264, ()) = (6u32, ()); + let (v265, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ::wars_rt::func::cast::<_, _, C>(v264.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v266, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v263.clone()), + ::wars_rt::func::cast::<_, _, C>(v265.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v267, ()) = (16843009u32, ()); + let (v268, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v266.clone()), + ::wars_rt::func::cast::<_, _, C>(v267.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v270, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v268.clone()), + ::wars_rt::func::cast::<_, _, C>(v269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v271, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v272, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ::wars_rt::func::cast::<_, _, C>(v271.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v273, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v234.clone()), + ::wars_rt::func::cast::<_, _, C>(v272.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v274, ()) = (16u32, ()); + let (v275, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v274.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v277, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v608.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v277 != 0 { + block28param0 = v275; + block28param1 = v273; + block28param2 = v608; + block28param3 = v611; + block28param4 = v614; + block28param5 = v618; + block28param6 = v622; + block28param7 = v626; + block28param8 = v630; + block28param9 = v635; + cff = 28usize; + continue 'l38; + } else { + block30param0 = v611; + block30param1 = v614; + block30param2 = v618; + block30param3 = v622; + block30param4 = v626; + block30param5 = v630; + block30param6 = v273; + block30param7 = v635; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v610, ()) = (block30param0.clone(), ()); + let (v613, ()) = (block30param1.clone(), ()); + let (v617, ()) = (block30param2.clone(), ()); + let (v621, ()) = (block30param3.clone(), ()); + let (v625, ()) = (block30param4.clone(), ()); + let (v629, ()) = (block30param5.clone(), ()); + let (v632, ()) = (block30param6.clone(), ()); + let (v634, ()) = (block30param7.clone(), ()); + block29param0 = v610; + block29param1 = v613; + block29param2 = v617; + block29param3 = v621; + block29param4 = v625; + block29param5 = v629; + block29param6 = v632; + block29param7 = v634; + cff = 29usize; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v609, ()) = (block29param0.clone(), ()); + let (v612, ()) = (block29param1.clone(), ()); + let (v616, ()) = (block29param2.clone(), ()); + let (v620, ()) = (block29param3.clone(), ()); + let (v624, ()) = (block29param4.clone(), ()); + let (v628, ()) = (block29param5.clone(), ()); + let (v631, ()) = (block29param6.clone(), ()); + let (v633, ()) = (block29param7.clone(), ()); + block25param0 = v612; + block25param1 = v616; + block25param2 = v609; + block25param3 = v624; + block25param4 = v631; + block25param5 = v633; + block25param6 = v620; + block25param7 = v628; + cff = 25usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l35: loop { + let (v600, ()) = (block27param0.clone(), ()); + let (v601, ()) = (block27param1.clone(), ()); + let (v602, ()) = (block27param2.clone(), ()); + let (v603, ()) = (block27param3.clone(), ()); + let (v604, ()) = (block27param4.clone(), ()); + let (v605, ()) = (block27param5.clone(), ()); + let (v606, ()) = (block27param6.clone(), ()); + let (v214, ()) = (0u32, ()); + block25param0 = v601; + block25param1 = v602; + block25param2 = v600; + block25param3 = v604; + block25param4 = v214; + block25param5 = v606; + block25param6 = v603; + block25param7 = v605; + cff = 25usize; + break 'l35; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l33: loop { + let (v278, ()) = (block25param0.clone(), ()); + let (v284, ()) = (block25param1.clone(), ()); + let (v291, ()) = (block25param2.clone(), ()); + let (v296, ()) = (block25param3.clone(), ()); + let (v303, ()) = (block25param4.clone(), ()); + let (v317, ()) = (block25param5.clone(), ()); + let (v326, ()) = (block25param6.clone(), ()); + let (v340, ()) = (block25param7.clone(), ()); + let (v290, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v278.clone()), + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v302, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v291.clone()), + ::wars_rt::func::cast::<_, _, C>(v296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v306, ()) = (8u32, ()); + let (v307, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ::wars_rt::func::cast::<_, _, C>(v306.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v308, ()) = (16711935u32, ()); + let (v309, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ::wars_rt::func::cast::<_, _, C>(v308.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v310, ()) = (16711935u32, ()); + let (v311, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v312, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v313, ()) = (65537u32, ()); + let (v314, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v312.clone()), + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v315, ()) = (16u32, ()); + let (v316, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v314.clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v325, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v332, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v332 != 0 { + block22param0 = v302; + block22param1 = v290; + block22param2 = v325; + cff = 22usize; + continue 'l22; + } else { + block31param0 = v291; + block31param1 = v325; + block31param2 = v326; + block31param3 = v340; + cff = 31usize; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l39: loop { + let (v589, ()) = (block31param0.clone(), ()); + let (v591, ()) = (block31param1.clone(), ()); + let (v593, ()) = (block31param2.clone(), ()); + let (v595, ()) = (block31param3.clone(), ()); + block23param0 = v589; + block23param1 = v591; + block23param2 = v593; + block23param3 = v595; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + let (v588, ()) = (block23param0.clone(), ()); + let (v590, ()) = (block23param1.clone(), ()); + let (v592, ()) = (block23param2.clone(), ()); + let (v594, ()) = (block23param3.clone(), ()); + let (v345, ()) = (2u32, ()); + let (v346, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v594.clone()), + ::wars_rt::func::cast::<_, _, C>(v345.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v347, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v588.clone()), + ::wars_rt::func::cast::<_, _, C>(v346.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v348, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v347.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v349, ()) = (4294967295u32, ()); + let (v350, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v348.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v351, ()) = (7u32, ()); + let (v352, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v350.clone()), + ::wars_rt::func::cast::<_, _, C>(v351.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v353, ()) = (6u32, ()); + let (v354, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v348.clone()), + ::wars_rt::func::cast::<_, _, C>(v353.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v355, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v352.clone()), + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v356, ()) = (16843009u32, ()); + let (v357, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v355.clone()), + ::wars_rt::func::cast::<_, _, C>(v356.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v360, ()) = (1u32, ()); + let (v361, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v592.clone()), + ::wars_rt::func::cast::<_, _, C>(v360.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v361 != 0 { + block32param0 = v357; + block32param1 = v590; + cff = 32usize; + } else { + block33param0 = v590; + block33param1 = v592; + block33param2 = v347; + block33param3 = v357; + cff = 33usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v637, ()) = (block33param0.clone(), ()); + let (v638, ()) = (block33param1.clone(), ()); + let (v639, ()) = (block33param2.clone(), ()); + let (v640, ()) = (block33param3.clone(), ()); + let (v363, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v639.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v364, ()) = (4294967295u32, ()); + let (v365, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v363.clone()), + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v366, ()) = (7u32, ()); + let (v367, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v365.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v368, ()) = (6u32, ()); + let (v369, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v363.clone()), + ::wars_rt::func::cast::<_, _, C>(v368.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v370, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v371, ()) = (16843009u32, ()); + let (v372, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v370.clone()), + ::wars_rt::func::cast::<_, _, C>(v371.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ::wars_rt::func::cast::<_, _, C>(v640.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v376, ()) = (2u32, ()); + let (v377, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v638.clone()), + ::wars_rt::func::cast::<_, _, C>(v376.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v377 != 0 { + block32param0 = v374; + block32param1 = v637; + cff = 32usize; + break 'l44; + } else { + block34param0 = v637; + block34param1 = v639; + block34param2 = v374; + cff = 34usize; + }; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l46: loop { + let (v641, ()) = (block34param0.clone(), ()); + let (v642, ()) = (block34param1.clone(), ()); + let (v643, ()) = (block34param2.clone(), ()); + let (v379, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v642.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v380, ()) = (4294967295u32, ()); + let (v381, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v382, ()) = (7u32, ()); + let (v383, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ::wars_rt::func::cast::<_, _, C>(v382.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v384, ()) = (6u32, ()); + let (v385, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v384.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v383.clone()), + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v387, ()) = (16843009u32, ()); + let (v388, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v386.clone()), + ::wars_rt::func::cast::<_, _, C>(v387.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v390, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v388.clone()), + ::wars_rt::func::cast::<_, _, C>(v643.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block32param0 = v390; + block32param1 = v641; + cff = 32usize; + break 'l46; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l43: loop { + let (v391, ()) = (block32param0.clone(), ()); + let (v403, ()) = (block32param1.clone(), ()); + let (v392, ()) = (8u32, ()); + let (v393, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v394, ()) = (459007u32, ()); + let (v395, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v396, ()) = (16711935u32, ()); + let (v397, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v398, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v395.clone()), + ::wars_rt::func::cast::<_, _, C>(v397.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v399, ()) = (65537u32, ()); + let (v400, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v398.clone()), + ::wars_rt::func::cast::<_, _, C>(v399.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v401, ()) = (16u32, ()); + let (v402, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ::wars_rt::func::cast::<_, _, C>(v401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v408, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v402.clone()), + ::wars_rt::func::cast::<_, _, C>(v403.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v408; + cff = 2usize; + break 'l43; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v489, ()) = (block2param0.clone(), ()); + block1param0 = v489; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v409, ()) = (block3param0.clone(), ()); + let (v455, ()) = (block3param1.clone(), ()); + if v409 != 0 { + block35param0 = v409; + block35param1 = v455; + cff = 35usize; + } else { + cff = 36usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + 36usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v644, ()) = (block35param0.clone(), ()); + let (v648, ()) = (block35param1.clone(), ()); + let (v412, ()) = (3u32, ()); + let (v413, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v644.clone()), + ::wars_rt::func::cast::<_, _, C>(v412.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v414, ()) = (4u32, ()); + let (v415, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v644.clone()), + ::wars_rt::func::cast::<_, _, C>(v414.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v415 != 0 { + block38param0 = v644; + block38param1 = v648; + block38param2 = v413; + cff = 38usize; + } else { + block39param0 = v413; + block39param1 = v648; + cff = 39usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + 39usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v645, ()) = (block38param0.clone(), ()); + let (v651, ()) = (block38param1.clone(), ()); + let (v655, ()) = (block38param2.clone(), ()); + let (v419, ()) = (4294967292u32, ()); + let (v420, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v645.clone()), + ::wars_rt::func::cast::<_, _, C>(v419.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v421, ()) = (0u32, ()); + let (v422, ()) = (0u32, ()); + block40param0 = v421; + block40param1 = v422; + block40param2 = v420; + block40param3 = v651; + block40param4 = v655; + cff = 40usize; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v423, ()) = (block40param0.clone(), ()); + let (v425, ()) = (block40param1.clone(), ()); + let (v649, ()) = (block40param2.clone(), ()); + let (v650, ()) = (block40param3.clone(), ()); + let (v654, ()) = (block40param4.clone(), ()); + let (v426, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v427, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v426.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v428, ()) = (4294967231u32, ()); + let (v429, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v427.clone()), + ::wars_rt::func::cast::<_, _, C>(v428.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v430, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v429.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v431, ()) = (1u32, ()); + let (v432, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v433, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v432.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v434, ()) = (4294967231u32, ()); + let (v435, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v433.clone()), + ::wars_rt::func::cast::<_, _, C>(v434.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v436, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v430.clone()), + ::wars_rt::func::cast::<_, _, C>(v435.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v437, ()) = (2u32, ()); + let (v438, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v439, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v438.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v440, ()) = (4294967231u32, ()); + let (v441, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v439.clone()), + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v442, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v436.clone()), + ::wars_rt::func::cast::<_, _, C>(v441.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v443, ()) = (3u32, ()); + let (v444, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v445, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v444.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v446, ()) = (4294967231u32, ()); + let (v447, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v445.clone()), + ::wars_rt::func::cast::<_, _, C>(v446.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v448, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v442.clone()), + ::wars_rt::func::cast::<_, _, C>(v447.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v450, ()) = (4u32, ()); + let (v451, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ::wars_rt::func::cast::<_, _, C>(v450.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v452, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v649.clone()), + ::wars_rt::func::cast::<_, _, C>(v451.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v452 != 0 { + block40param0 = v448; + block40param1 = v451; + block40param2 = v649; + block40param3 = v650; + block40param4 = v654; + cff = 40usize; + continue 'l14; + } else { + block42param0 = v654; + block42param1 = v448; + block42param2 = v451; + block42param3 = v650; + cff = 42usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v653, ()) = (block42param0.clone(), ()); + let (v657, ()) = (block42param1.clone(), ()); + let (v659, ()) = (block42param2.clone(), ()); + let (v661, ()) = (block42param3.clone(), ()); + block41param0 = v653; + block41param1 = v657; + block41param2 = v659; + block41param3 = v661; + cff = 41usize; + let mut cff2 = match cff { + 41usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v652, ()) = (block41param0.clone(), ()); + let (v656, ()) = (block41param1.clone(), ()); + let (v658, ()) = (block41param2.clone(), ()); + let (v660, ()) = (block41param3.clone(), ()); + block37param0 = v652; + block37param1 = v660; + block37param2 = v658; + block37param3 = v656; + cff = 37usize; + break 'l27; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v646, ()) = (block39param0.clone(), ()); + let (v647, ()) = (block39param1.clone(), ()); + let (v416, ()) = (0u32, ()); + let (v417, ()) = (0u32, ()); + block37param0 = v646; + block37param1 = v647; + block37param2 = v417; + block37param3 = v416; + cff = 37usize; + break 'l10; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v456, ()) = (block37param0.clone(), ()); + let (v464, ()) = (block37param1.clone(), ()); + let (v469, ()) = (block37param2.clone(), ()); + let (v485, ()) = (block37param3.clone(), ()); + let (v462, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v462 != 0 { + block2param0 = v485; + cff = 2usize; + break 'l8; + } else { + block43param0 = v456; + block43param1 = v464; + block43param2 = v469; + block43param3 = v485; + cff = 43usize; + }; + let mut cff2 = match cff { + 43usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v662, ()) = (block43param0.clone(), ()); + let (v663, ()) = (block43param1.clone(), ()); + let (v664, ()) = (block43param2.clone(), ()); + let (v665, ()) = (block43param3.clone(), ()); + let (v472, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v663.clone()), + ::wars_rt::func::cast::<_, _, C>(v664.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block44param0 = v665; + block44param1 = v472; + block44param2 = v662; + cff = 44usize; + let mut cff2 = match cff { + 44usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v473, ()) = (block44param0.clone(), ()); + let (v474, ()) = (block44param1.clone(), ()); + let (v481, ()) = (block44param2.clone(), ()); + let (v475, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v474.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v476, ()) = (4294967231u32, ()); + let (v477, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v475.clone()), + ::wars_rt::func::cast::<_, _, C>(v476.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v478, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v473.clone()), + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v479, ()) = (1u32, ()); + let (v480, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v474.clone()), + ::wars_rt::func::cast::<_, _, C>(v479.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v482, ()) = (4294967295u32, ()); + let (v483, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ::wars_rt::func::cast::<_, _, C>(v482.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v483 != 0 { + block44param0 = v478; + block44param1 = v480; + block44param2 = v483; + cff = 44usize; + continue 'l20; + } else { + block46param0 = v478; + cff = 46usize; + }; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v667, ()) = (block46param0.clone(), ()); + block45param0 = v667; + cff = 45usize; + let mut cff2 = match cff { + 45usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v666, ()) = (block45param0.clone(), ()); + block2param0 = v666; + cff = 2usize; + break 'l32; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l4: loop { + let (v410, ()) = (0u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v410, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func61<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, (p4, ()))))): (u32, (u32, (u32, (u32, (u32, ()))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (block0param4.clone(), ()); + let (v6, ()) = (1114112u32, ()); + let (v7, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block4param0 = v4; + block4param1 = v1; + block4param2 = v5; + block4param3 = v2; + cff = 4usize; + } else { + block5param0 = v1; + block5param1 = v2; + block5param2 = v3; + block5param3 = v4; + block5param4 = v5; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v37, ()) = (block5param1.clone(), ()); + let (v38, ()) = (block5param2.clone(), ()); + let (v42, ()) = (block5param3.clone(), ()); + let (v44, ()) = (block5param4.clone(), ()); + let (v8, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v12 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + (::wars_rt::func::cast::<_, _, C>(v38.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block3param0 = v8; + cff = 3usize; + break 'l3; + } else { + block6param0 = v36; + block6param1 = v37; + block6param2 = v42; + block6param3 = v44; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v39, ()) = (block6param0.clone(), ()); + let (v40, ()) = (block6param1.clone(), ()); + let (v41, ()) = (block6param2.clone(), ()); + let (v43, ()) = (block6param3.clone(), ()); + block4param0 = v41; + block4param1 = v39; + block4param2 = v43; + block4param3 = v40; + cff = 4usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v18, ()) = (block3param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v18, ())), + ); + } + } + 1usize => { + 'l2: loop { + let (v14, ()) = (block4param0.clone(), ()); + let (v20, ()) = (block4param1.clone(), ()); + let (v24, ()) = (block4param2.clone(), ()); + let (v28, ()) = (block4param3.clone(), ()); + if v14 != 0 { + block2param0 = v14; + block2param1 = v20; + block2param2 = v24; + block2param3 = v28; + cff = 2usize; + } else { + cff = 7usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v32, ()) = (block2param0.clone(), ()); + let (v33, ()) = (block2param1.clone(), ()); + let (v34, ()) = (block2param2.clone(), ()); + let (v35, ()) = (block2param3.clone(), ()); + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v35.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v30 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + (::wars_rt::func::cast::<_, _, C>(v34.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v31; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v17, ()) = (0u32, ()); + block3param0 = v17; + cff = 3usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func62<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u64, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u64 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u64; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block3param0: u64; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u64; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u64; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u64; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u64; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u64; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let (v8, ()) = (39u32, ()); + let (v9, ()) = (10000u64, ()); + let (v10, ()) = match ::wars_rt::i64geu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block3param0 = v1; + block3param1 = v6; + block3param2 = v2; + block3param3 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + block4param3 = v6; + block4param4 = v8; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v159, ()) = (block3param0.clone(), ()); + let (v166, ()) = (block3param1.clone(), ()); + let (v170, ()) = (block3param2.clone(), ()); + let (v174, ()) = (block3param3.clone(), ()); + let (v12, ()) = (39u32, ()); + block5param0 = v12; + block5param1 = v159; + block5param2 = v166; + block5param3 = v170; + block5param4 = v174; + cff = 5usize; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v16, ()) = (block5param0.clone(), ()); + let (v20, ()) = (block5param1.clone(), ()); + let (v165, ()) = (block5param2.clone(), ()); + let (v169, ()) = (block5param3.clone(), ()); + let (v173, ()) = (block5param4.clone(), ()); + let (v14, ()) = (9u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967292u32, ()); + let (v19, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (10000u64, ()); + let (v22, ()) = match ::wars_rt::i64divu( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (10000u64, ()); + let (v24, ()) = match ::wars_rt::i64mul( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = match ::wars_rt::i64sub( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v27, ()) = (65535u32, ()); + let (v28, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (100u32, ()); + let (v30, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let (v32, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = (1049184u32, ()); + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = (4294967294u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (100u32, ()); + let (v40, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (65535u32, ()); + let (v43, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (1u32, ()); + let (v45, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (1049184u32, ()); + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = (4294967292u32, ()); + let (v51, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = (99999999u64, ()); + let (v53, ()) = match ::wars_rt::i64gtu( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block5param0 = v51; + block5param1 = v22; + block5param2 = v165; + block5param3 = v169; + block5param4 = v173; + cff = 5usize; + continue 'l4; + } else { + block7param0 = v169; + block7param1 = v173; + block7param2 = v165; + block7param3 = v22; + block7param4 = v51; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v168, ()) = (block7param0.clone(), ()); + let (v172, ()) = (block7param1.clone(), ()); + let (v176, ()) = (block7param2.clone(), ()); + let (v178, ()) = (block7param3.clone(), ()); + let (v180, ()) = (block7param4.clone(), ()); + block6param0 = v168; + block6param1 = v172; + block6param2 = v176; + block6param3 = v178; + block6param4 = v180; + cff = 6usize; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v167, ()) = (block6param0.clone(), ()); + let (v171, ()) = (block6param1.clone(), ()); + let (v175, ()) = (block6param2.clone(), ()); + let (v177, ()) = (block6param3.clone(), ()); + let (v179, ()) = (block6param4.clone(), ()); + block2param0 = v177; + block2param1 = v175; + block2param2 = v179; + block2param3 = v171; + block2param4 = v167; + cff = 2usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v160, ()) = (block4param0.clone(), ()); + let (v161, ()) = (block4param1.clone(), ()); + let (v162, ()) = (block4param2.clone(), ()); + let (v163, ()) = (block4param3.clone(), ()); + let (v164, ()) = (block4param4.clone(), ()); + block2param0 = v160; + block2param1 = v163; + block2param2 = v164; + block2param3 = v162; + block2param4 = v161; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v56, ()) = (block2param0.clone(), ()); + let (v63, ()) = (block2param1.clone(), ()); + let (v70, ()) = (block2param2.clone(), ()); + let (v127, ()) = (block2param3.clone(), ()); + let (v138, ()) = (block2param4.clone(), ()); + let (v59, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v60, ()) = (99u32, ()); + let (v61, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v61 != 0 { + block8param0 = v59; + block8param1 = v63; + block8param2 = v70; + block8param3 = v127; + block8param4 = v138; + cff = 8usize; + } else { + block9param0 = v56; + block9param1 = v63; + block9param2 = v70; + block9param3 = v127; + block9param4 = v138; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v181, ()) = (block9param0.clone(), ()); + let (v182, ()) = (block9param1.clone(), ()); + let (v183, ()) = (block9param2.clone(), ()); + let (v184, ()) = (block9param3.clone(), ()); + let (v185, ()) = (block9param4.clone(), ()); + let (v67, ()) = (9u32, ()); + let (v68, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = (4294967294u32, ()); + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v183.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = (65535u32, ()); + let (v80, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (100u32, ()); + let (v82, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (100u32, ()); + let (v84, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (65535u32, ()); + let (v87, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = (1u32, ()); + let (v89, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (1049184u32, ()); + let (v91, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v82; + block8param1 = v182; + block8param2 = v75; + block8param3 = v184; + block8param4 = v185; + cff = 8usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v94, ()) = (block8param0.clone(), ()); + let (v98, ()) = (block8param1.clone(), ()); + let (v102, ()) = (block8param2.clone(), ()); + let (v126, ()) = (block8param3.clone(), ()); + let (v137, ()) = (block8param4.clone(), ()); + let (v95, ()) = (10u32, ()); + let (v96, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v96 != 0 { + block11param0 = v94; + block11param1 = v98; + block11param2 = v102; + block11param3 = v126; + block11param4 = v137; + cff = 11usize; + } else { + block12param0 = v94; + block12param1 = v98; + block12param2 = v102; + block12param3 = v126; + block12param4 = v137; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v186, ()) = (block11param0.clone(), ()); + let (v187, ()) = (block11param1.clone(), ()); + let (v188, ()) = (block11param2.clone(), ()); + let (v189, ()) = (block11param3.clone(), ()); + let (v190, ()) = (block11param4.clone(), ()); + let (v114, ()) = (9u32, ()); + let (v115, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = (4294967295u32, ()); + let (v118, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v121, ()) = (48u32, ()); + let (v122, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v189; + block10param1 = v190; + block10param2 = v187; + block10param3 = v118; + cff = 10usize; + break 'l10; + } + } + 1usize => { + 'l9: loop { + let (v191, ()) = (block12param0.clone(), ()); + let (v192, ()) = (block12param1.clone(), ()); + let (v193, ()) = (block12param2.clone(), ()); + let (v194, ()) = (block12param3.clone(), ()); + let (v195, ()) = (block12param4.clone(), ()); + let (v99, ()) = (9u32, ()); + let (v100, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (4294967294u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = (1u32, ()); + let (v108, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1049184u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v110.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v105.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v194; + block10param1 = v195; + block10param2 = v192; + block10param3 = v104; + cff = 10usize; + break 'l9; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v124, ()) = (block10param0.clone(), ()); + let (v135, ()) = (block10param1.clone(), ()); + let (v148, ()) = (block10param2.clone(), ()); + let (v151, ()) = (block10param3.clone(), ()); + let (v146, ()) = (1049124u32, ()); + let (v147, ()) = (0u32, ()); + let (v149, ()) = (9u32, ()); + let (v150, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (39u32, ()); + let (v154, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v155, ()) = match ::wars_rt::_rexport::tramp::tramp( + func59( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + (::wars_rt::func::cast::<_, _, C>(v154.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = (48u32, ()); + let (v157, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v157; + () + }; + block1param0 = v155; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func63<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block14param8: u32; + let mut block14param9: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block21param0: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block24param0: u32; + let mut block25param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v182, ()) = (block3param0.clone(), ()); + let (v183, ()) = (block3param1.clone(), ()); + let (v184, ()) = (block3param2.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v10, ()) = (3u32, ()); + let (v11, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block5param0 = v12; + block5param1 = v184; + block5param2 = v11; + block5param3 = v183; + block5param4 = v182; + cff = 5usize; + } else { + block6param0 = v182; + block6param1 = v183; + block6param2 = v12; + block6param3 = v184; + block6param4 = v11; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v188, ()) = (block6param0.clone(), ()); + let (v189, ()) = (block6param1.clone(), ()); + let (v191, ()) = (block6param2.clone(), ()); + let (v201, ()) = (block6param3.clone(), ()); + let (v205, ()) = (block6param4.clone(), ()); + block7param0 = v188; + block7param1 = v189; + block7param2 = v191; + block7param3 = v188; + block7param4 = v189; + block7param5 = v201; + block7param6 = v205; + cff = 7usize; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v17, ()) = (block7param0.clone(), ()); + let (v18, ()) = (block7param1.clone(), ()); + let (v190, ()) = (block7param2.clone(), ()); + let (v194, ()) = (block7param3.clone(), ()); + let (v197, ()) = (block7param4.clone(), ()); + let (v200, ()) = (block7param5.clone(), ()); + let (v204, ()) = (block7param6.clone(), ()); + let (v19, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (1u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (1u32, ()); + let (v24, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ::wars_rt::func::cast::<_, _, C>(v190.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v26 != 0 { + block7param0 = v24; + block7param1 = v22; + block7param2 = v190; + block7param3 = v194; + block7param4 = v197; + block7param5 = v200; + block7param6 = v204; + cff = 7usize; + continue 'l12; + } else { + block9param0 = v194; + block9param1 = v197; + block9param2 = v200; + block9param3 = v204; + block9param4 = v190; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v193, ()) = (block9param0.clone(), ()); + let (v196, ()) = (block9param1.clone(), ()); + let (v199, ()) = (block9param2.clone(), ()); + let (v203, ()) = (block9param3.clone(), ()); + let (v207, ()) = (block9param4.clone(), ()); + block8param0 = v193; + block8param1 = v196; + block8param2 = v199; + block8param3 = v203; + block8param4 = v207; + cff = 8usize; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v192, ()) = (block8param0.clone(), ()); + let (v195, ()) = (block8param1.clone(), ()); + let (v198, ()) = (block8param2.clone(), ()); + let (v202, ()) = (block8param3.clone(), ()); + let (v206, ()) = (block8param4.clone(), ()); + block5param0 = v206; + block5param1 = v198; + block5param2 = v202; + block5param3 = v195; + block5param4 = v192; + cff = 5usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v28, ()) = (block5param0.clone(), ()); + let (v31, ()) = (block5param1.clone(), ()); + let (v37, ()) = (block5param2.clone(), ()); + let (v46, ()) = (block5param3.clone(), ()); + let (v166, ()) = (block5param4.clone(), ()); + let (v42, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (4294967292u32, ()); + let (v44, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (3u32, ()); + let (v52, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block11param0 = v42; + block11param1 = v44; + block11param2 = v45; + block11param3 = v50; + block11param4 = v166; + block11param5 = v28; + cff = 11usize; + } else { + block12param0 = v42; + block12param1 = v44; + block12param2 = v45; + block12param3 = v50; + block12param4 = v166; + block12param5 = v28; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v208, ()) = (block11param0.clone(), ()); + let (v209, ()) = (block11param1.clone(), ()); + let (v210, ()) = (block11param2.clone(), ()); + let (v211, ()) = (block11param3.clone(), ()); + let (v212, ()) = (block11param4.clone(), ()); + let (v238, ()) = (block11param5.clone(), ()); + let (v93, ()) = (1u32, ()); + let (v94, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v94 != 0 { + block10param0 = v208; + block10param1 = v211; + block10param2 = v209; + block10param3 = v210; + block10param4 = v212; + cff = 10usize; + break 'l11; + } else { + block17param0 = v238; + block17param1 = v211; + block17param2 = v210; + block17param3 = v208; + block17param4 = v209; + block17param5 = v212; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v237, ()) = (block17param0.clone(), ()); + let (v239, ()) = (block17param1.clone(), ()); + let (v241, ()) = (block17param2.clone(), ()); + let (v245, ()) = (block17param3.clone(), ()); + let (v249, ()) = (block17param4.clone(), ()); + let (v258, ()) = (block17param5.clone(), ()); + block18param0 = v237; + block18param1 = v239; + block18param2 = v241; + block18param3 = v245; + block18param4 = v249; + block18param5 = v239; + block18param6 = v258; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v97, ()) = (block18param0.clone(), ()); + let (v98, ()) = (block18param1.clone(), ()); + let (v240, ()) = (block18param2.clone(), ()); + let (v244, ()) = (block18param3.clone(), ()); + let (v248, ()) = (block18param4.clone(), ()); + let (v254, ()) = (block18param5.clone(), ()); + let (v257, ()) = (block18param6.clone(), ()); + let (v99, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v98.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = (4u32, ()); + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (4u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v106 != 0 { + block18param0 = v104; + block18param1 = v102; + block18param2 = v240; + block18param3 = v244; + block18param4 = v248; + block18param5 = v254; + block18param6 = v257; + cff = 18usize; + continue 'l19; + } else { + block20param0 = v244; + block20param1 = v248; + block20param2 = v240; + block20param3 = v254; + block20param4 = v257; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v243, ()) = (block20param0.clone(), ()); + let (v247, ()) = (block20param1.clone(), ()); + let (v251, ()) = (block20param2.clone(), ()); + let (v253, ()) = (block20param3.clone(), ()); + let (v256, ()) = (block20param4.clone(), ()); + block19param0 = v243; + block19param1 = v247; + block19param2 = v251; + block19param3 = v253; + block19param4 = v256; + cff = 19usize; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v242, ()) = (block19param0.clone(), ()); + let (v246, ()) = (block19param1.clone(), ()); + let (v250, ()) = (block19param2.clone(), ()); + let (v252, ()) = (block19param3.clone(), ()); + let (v255, ()) = (block19param4.clone(), ()); + block10param0 = v242; + block10param1 = v252; + block10param2 = v246; + block10param3 = v250; + block10param4 = v255; + cff = 10usize; + break 'l24; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v213, ()) = (block12param0.clone(), ()); + let (v214, ()) = (block12param1.clone(), ()); + let (v215, ()) = (block12param2.clone(), ()); + let (v216, ()) = (block12param3.clone(), ()); + let (v217, ()) = (block12param4.clone(), ()); + let (v219, ()) = (block12param5.clone(), ()); + let (v55, ()) = (1u32, ()); + let (v56, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + block10param0 = v213; + block10param1 = v216; + block10param2 = v214; + block10param3 = v215; + block10param4 = v217; + cff = 10usize; + break 'l10; + } else { + block13param0 = v219; + block13param1 = v216; + block13param2 = v215; + block13param3 = v213; + block13param4 = v214; + block13param5 = v217; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v218, ()) = (block13param0.clone(), ()); + let (v220, ()) = (block13param1.clone(), ()); + let (v222, ()) = (block13param2.clone(), ()); + let (v227, ()) = (block13param3.clone(), ()); + let (v230, ()) = (block13param4.clone(), ()); + let (v236, ()) = (block13param5.clone(), ()); + let (v59, ()) = (3u32, ()); + let (v60, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (24u32, ()); + let (v62, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (4294967292u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = (4u32, ()); + let (v66, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (0u32, ()); + let (v68, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = (24u32, ()); + let (v70, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v64.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v218; + block14param1 = v71; + block14param2 = v66; + block14param3 = v222; + block14param4 = v62; + block14param5 = v70; + block14param6 = v227; + block14param7 = v230; + block14param8 = v220; + block14param9 = v236; + cff = 14usize; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v72, ()) = (block14param0.clone(), ()); + let (v73, ()) = (block14param1.clone(), ()); + let (v76, ()) = (block14param2.clone(), ()); + let (v221, ()) = (block14param3.clone(), ()); + let (v223, ()) = (block14param4.clone(), ()); + let (v224, ()) = (block14param5.clone(), ()); + let (v226, ()) = (block14param6.clone(), ()); + let (v229, ()) = (block14param7.clone(), ()); + let (v233, ()) = (block14param8.clone(), ()); + let (v235, ()) = (block14param9.clone(), ()); + let (v75, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ::wars_rt::func::cast::<_, _, C>(v223.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = (4u32, ()); + let (v83, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = (4u32, ()); + let (v85, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v87, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v87 != 0 { + block14param0 = v85; + block14param1 = v77; + block14param2 = v83; + block14param3 = v221; + block14param4 = v223; + block14param5 = v224; + block14param6 = v226; + block14param7 = v229; + block14param8 = v233; + block14param9 = v235; + cff = 14usize; + continue 'l20; + } else { + block16param0 = v226; + block16param1 = v229; + block16param2 = v221; + block16param3 = v233; + block16param4 = v235; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v225, ()) = (block16param0.clone(), ()); + let (v228, ()) = (block16param1.clone(), ()); + let (v231, ()) = (block16param2.clone(), ()); + let (v232, ()) = (block16param3.clone(), ()); + let (v234, ()) = (block16param4.clone(), ()); + block10param0 = v225; + block10param1 = v232; + block10param2 = v228; + block10param3 = v231; + block10param4 = v234; + cff = 10usize; + break 'l23; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l9: loop { + let (v111, ()) = (block10param0.clone(), ()); + let (v123, ()) = (block10param1.clone(), ()); + let (v129, ()) = (block10param2.clone(), ()); + let (v143, ()) = (block10param3.clone(), ()); + let (v164, ()) = (block10param4.clone(), ()); + let (v121, ()) = (3u32, ()); + let (v122, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v137, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v122; + block2param1 = v143; + block2param2 = v137; + block2param3 = v164; + cff = 2usize; + break 'l9; + } + } + } + } + 1usize => { + 'l3: loop { + let (v185, ()) = (block4param0.clone(), ()); + let (v186, ()) = (block4param1.clone(), ()); + let (v187, ()) = (block4param2.clone(), ()); + block2param0 = v187; + block2param1 = v185; + block2param2 = v186; + block2param3 = v185; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v138, ()) = (block2param0.clone(), ()); + let (v142, ()) = (block2param1.clone(), ()); + let (v160, ()) = (block2param2.clone(), ()); + let (v163, ()) = (block2param3.clone(), ()); + let (v140, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v140 != 0 { + block21param0 = v163; + cff = 21usize; + } else { + block22param0 = v138; + block22param1 = v142; + block22param2 = v160; + block22param3 = v163; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v259, ()) = (block22param0.clone(), ()); + let (v260, ()) = (block22param1.clone(), ()); + let (v261, ()) = (block22param2.clone(), ()); + let (v266, ()) = (block22param3.clone(), ()); + let (v148, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v260.clone()), + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block23param0 = v260; + block23param1 = v261; + block23param2 = v148; + block23param3 = v266; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v149, ()) = (block23param0.clone(), ()); + let (v150, ()) = (block23param1.clone(), ()); + let (v262, ()) = (block23param2.clone(), ()); + let (v265, ()) = (block23param3.clone(), ()); + let (v151, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v149.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (1u32, ()); + let (v154, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v155, ()) = (1u32, ()); + let (v156, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v158, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v158 != 0 { + block23param0 = v156; + block23param1 = v154; + block23param2 = v262; + block23param3 = v265; + cff = 23usize; + continue 'l8; + } else { + block25param0 = v265; + cff = 25usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v264, ()) = (block25param0.clone(), ()); + block24param0 = v264; + cff = 24usize; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v263, ()) = (block24param0.clone(), ()); + block21param0 = v263; + cff = 21usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v162, ()) = (block21param0.clone(), ()); + block1param0 = v162; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func64<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block18param0: u32; + let mut block19param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v108, ()) = (block3param0.clone(), ()); + let (v109, ()) = (block3param1.clone(), ()); + let (v110, ()) = (block3param2.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v10, ()) = (3u32, ()); + let (v11, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block5param0 = v12; + block5param1 = v110; + block5param2 = v11; + block5param3 = v109; + block5param4 = v108; + cff = 5usize; + } else { + block6param0 = v108; + block6param1 = v109; + block6param2 = v12; + block6param3 = v110; + block6param4 = v11; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v114, ()) = (block6param0.clone(), ()); + let (v116, ()) = (block6param1.clone(), ()); + let (v118, ()) = (block6param2.clone(), ()); + let (v127, ()) = (block6param3.clone(), ()); + let (v131, ()) = (block6param4.clone(), ()); + block7param0 = v114; + block7param1 = v116; + block7param2 = v118; + block7param3 = v114; + block7param4 = v127; + block7param5 = v131; + cff = 7usize; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v15, ()) = (block7param0.clone(), ()); + let (v115, ()) = (block7param1.clone(), ()); + let (v117, ()) = (block7param2.clone(), ()); + let (v121, ()) = (block7param3.clone(), ()); + let (v126, ()) = (block7param4.clone(), ()); + let (v130, ()) = (block7param5.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let (v19, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v21 != 0 { + block7param0 = v19; + block7param1 = v115; + block7param2 = v117; + block7param3 = v121; + block7param4 = v126; + block7param5 = v130; + cff = 7usize; + continue 'l11; + } else { + block9param0 = v121; + block9param1 = v115; + block9param2 = v126; + block9param3 = v130; + block9param4 = v117; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v120, ()) = (block9param0.clone(), ()); + let (v123, ()) = (block9param1.clone(), ()); + let (v125, ()) = (block9param2.clone(), ()); + let (v129, ()) = (block9param3.clone(), ()); + let (v133, ()) = (block9param4.clone(), ()); + block8param0 = v120; + block8param1 = v123; + block8param2 = v125; + block8param3 = v129; + block8param4 = v133; + cff = 8usize; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v119, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v124, ()) = (block8param2.clone(), ()); + let (v128, ()) = (block8param3.clone(), ()); + let (v132, ()) = (block8param4.clone(), ()); + block5param0 = v132; + block5param1 = v124; + block5param2 = v128; + block5param3 = v122; + block5param4 = v119; + cff = 5usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v25, ()) = (block5param0.clone(), ()); + let (v28, ()) = (block5param1.clone(), ()); + let (v34, ()) = (block5param2.clone(), ()); + let (v46, ()) = (block5param3.clone(), ()); + let (v96, ()) = (block5param4.clone(), ()); + let (v39, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (4294967292u32, ()); + let (v41, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (1u32, ()); + let (v44, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v44 != 0 { + block10param0 = v39; + block10param1 = v42; + block10param2 = v46; + block10param3 = v96; + cff = 10usize; + } else { + block11param0 = v25; + block11param1 = v46; + block11param2 = v42; + block11param3 = v39; + block11param4 = v96; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v134, ()) = (block11param0.clone(), ()); + let (v135, ()) = (block11param1.clone(), ()); + let (v137, ()) = (block11param2.clone(), ()); + let (v142, ()) = (block11param3.clone(), ()); + let (v151, ()) = (block11param4.clone(), ()); + let (v49, ()) = (255u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (16843009u32, ()); + let (v52, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v134; + block12param1 = v137; + block12param2 = v52; + block12param3 = v142; + block12param4 = v135; + block12param5 = v151; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v53, ()) = (block12param0.clone(), ()); + let (v136, ()) = (block12param1.clone(), ()); + let (v138, ()) = (block12param2.clone(), ()); + let (v141, ()) = (block12param3.clone(), ()); + let (v147, ()) = (block12param4.clone(), ()); + let (v150, ()) = (block12param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v53.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = (4u32, ()); + let (v57, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block12param0 = v57; + block12param1 = v136; + block12param2 = v138; + block12param3 = v141; + block12param4 = v147; + block12param5 = v150; + cff = 12usize; + continue 'l14; + } else { + block14param0 = v141; + block14param1 = v136; + block14param2 = v147; + block14param3 = v150; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v140, ()) = (block14param0.clone(), ()); + let (v144, ()) = (block14param1.clone(), ()); + let (v146, ()) = (block14param2.clone(), ()); + let (v149, ()) = (block14param3.clone(), ()); + block13param0 = v140; + block13param1 = v144; + block13param2 = v146; + block13param3 = v149; + cff = 13usize; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v139, ()) = (block13param0.clone(), ()); + let (v143, ()) = (block13param1.clone(), ()); + let (v145, ()) = (block13param2.clone(), ()); + let (v148, ()) = (block13param3.clone(), ()); + block10param0 = v139; + block10param1 = v143; + block10param2 = v145; + block10param3 = v148; + cff = 10usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l9: loop { + let (v62, ()) = (block10param0.clone(), ()); + let (v74, ()) = (block10param1.clone(), ()); + let (v89, ()) = (block10param2.clone(), ()); + let (v95, ()) = (block10param3.clone(), ()); + let (v67, ()) = (3u32, ()); + let (v68, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v68; + block2param1 = v74; + block2param2 = v89; + block2param3 = v95; + cff = 2usize; + break 'l9; + } + } + } + } + 1usize => { + 'l3: loop { + let (v111, ()) = (block4param0.clone(), ()); + let (v112, ()) = (block4param1.clone(), ()); + let (v113, ()) = (block4param2.clone(), ()); + block2param0 = v113; + block2param1 = v111; + block2param2 = v112; + block2param3 = v111; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v69, ()) = (block2param0.clone(), ()); + let (v73, ()) = (block2param1.clone(), ()); + let (v87, ()) = (block2param2.clone(), ()); + let (v94, ()) = (block2param3.clone(), ()); + let (v71, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block15param0 = v94; + cff = 15usize; + } else { + block16param0 = v69; + block16param1 = v73; + block16param2 = v87; + block16param3 = v94; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v152, ()) = (block16param0.clone(), ()); + let (v153, ()) = (block16param1.clone(), ()); + let (v156, ()) = (block16param2.clone(), ()); + let (v160, ()) = (block16param3.clone(), ()); + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block17param0 = v153; + block17param1 = v78; + block17param2 = v156; + block17param3 = v160; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v79, ()) = (block17param0.clone(), ()); + let (v154, ()) = (block17param1.clone(), ()); + let (v155, ()) = (block17param2.clone(), ()); + let (v159, ()) = (block17param3.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = (1u32, ()); + let (v83, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v85 != 0 { + block17param0 = v83; + block17param1 = v154; + block17param2 = v155; + block17param3 = v159; + cff = 17usize; + continue 'l8; + } else { + block19param0 = v159; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v158, ()) = (block19param0.clone(), ()); + block18param0 = v158; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v157, ()) = (block18param0.clone(), ()); + block15param0 = v157; + cff = 15usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v93, ()) = (block15param0.clone(), ()); + block1param0 = v93; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func65<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func64( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v3.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func66<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func63( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v3.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + pub struct WarsData { + table0: Vec<::wars_rt::func::Value>, + global0: u32, + global1: u32, + global2: u32, + memory0: Vec, + } + pub trait Wars: ::wars_rt::func::CtxSpec { + fn data(&mut self) -> &mut WarsData; + fn table0(&mut self) -> &mut Vec<::wars_rt::func::Value> { + &mut self.data().table0 + } + fn global0<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global0; + } + fn global1<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global1; + } + fn global2<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global2; + } + fn memory0<'a>(&'a mut self) -> &'a mut Vec { + return &mut self.z().memory0; + } + fn memory(&mut self) -> &mut Vec { + return self.memory0(); + } + fn add<'a>( + self: &'a mut Self, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + return func3(self, (p0, (p1, ()))); + } + fn memory_op<'a>( + self: &'a mut Self, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + return func4(self, (p0, (p1, (p2, ())))); + } + fn __data_end(&mut self) -> &mut u32 { + return self.global1(); + } + fn __heap_base(&mut self) -> &mut u32 { + return self.global2(); + } + } + pub fn init(ctx: &mut C) -> ::wars_rt::_rexport::anyhow::Result<()> { + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| { + ::core::panicking::panic_fmt(format_args!("invalid func")); + }), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func55(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func34(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func20(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func24(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func22(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func17(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func14(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func18(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func13(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func42(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func43(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func21(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func40(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func41(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func19(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func15(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func51(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func52(ctx, arg)), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new(|ctx, arg| func57(ctx, arg)), + ), + ); + *ctx.global0() = (1048576u64 as u32); + *ctx.global1() = (1049869u64 as u32); + *ctx.global2() = (1049872u64 as u32); + let l = 1114112usize.max(ctx.memory0().len()); + ctx.memory0().resize(l, 0); + ctx.memory0()[1048576usize..1049385usize] + .copy_from_slice( + &[ + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 119u8, + 97u8, + 114u8, + 115u8, + 45u8, + 116u8, + 101u8, + 115u8, + 116u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 108u8, + 105u8, + 98u8, + 46u8, + 114u8, + 115u8, + 8u8, + 0u8, + 16u8, + 0u8, + 20u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 97u8, + 116u8, + 116u8, + 101u8, + 109u8, + 112u8, + 116u8, + 32u8, + 116u8, + 111u8, + 32u8, + 97u8, + 100u8, + 100u8, + 32u8, + 119u8, + 105u8, + 116u8, + 104u8, + 32u8, + 111u8, + 118u8, + 101u8, + 114u8, + 102u8, + 108u8, + 111u8, + 119u8, + 47u8, + 114u8, + 117u8, + 115u8, + 116u8, + 99u8, + 47u8, + 97u8, + 101u8, + 100u8, + 100u8, + 49u8, + 55u8, + 51u8, + 97u8, + 50u8, + 99u8, + 48u8, + 56u8, + 54u8, + 101u8, + 53u8, + 53u8, + 56u8, + 99u8, + 50u8, + 98u8, + 54u8, + 54u8, + 100u8, + 51u8, + 55u8, + 52u8, + 51u8, + 98u8, + 51u8, + 52u8, + 52u8, + 102u8, + 57u8, + 55u8, + 55u8, + 54u8, + 50u8, + 49u8, + 97u8, + 55u8, + 47u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 99u8, + 111u8, + 114u8, + 101u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 47u8, + 108u8, + 97u8, + 121u8, + 111u8, + 117u8, + 116u8, + 46u8, + 114u8, + 115u8, + 76u8, + 0u8, + 16u8, + 0u8, + 80u8, + 0u8, + 0u8, + 0u8, + 193u8, + 1u8, + 0u8, + 0u8, + 41u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 97u8, + 116u8, + 116u8, + 101u8, + 109u8, + 112u8, + 116u8, + 32u8, + 116u8, + 111u8, + 32u8, + 100u8, + 105u8, + 118u8, + 105u8, + 100u8, + 101u8, + 32u8, + 98u8, + 121u8, + 32u8, + 122u8, + 101u8, + 114u8, + 111u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 128u8, + 0u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 6u8, + 0u8, + 0u8, + 0u8, + 109u8, + 101u8, + 109u8, + 111u8, + 114u8, + 121u8, + 32u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 97u8, + 116u8, + 105u8, + 111u8, + 110u8, + 32u8, + 111u8, + 102u8, + 32u8, + 32u8, + 98u8, + 121u8, + 116u8, + 101u8, + 115u8, + 32u8, + 102u8, + 97u8, + 105u8, + 108u8, + 101u8, + 100u8, + 0u8, + 0u8, + 252u8, + 0u8, + 16u8, + 0u8, + 21u8, + 0u8, + 0u8, + 0u8, + 17u8, + 1u8, + 16u8, + 0u8, + 13u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 115u8, + 116u8, + 100u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 46u8, + 114u8, + 115u8, + 48u8, + 1u8, + 16u8, + 0u8, + 24u8, + 0u8, + 0u8, + 0u8, + 98u8, + 1u8, + 0u8, + 0u8, + 9u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 115u8, + 116u8, + 100u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 112u8, + 97u8, + 110u8, + 105u8, + 99u8, + 107u8, + 105u8, + 110u8, + 103u8, + 46u8, + 114u8, + 115u8, + 88u8, + 1u8, + 16u8, + 0u8, + 28u8, + 0u8, + 0u8, + 0u8, + 134u8, + 2u8, + 0u8, + 0u8, + 30u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 7u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 9u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 10u8, + 0u8, + 0u8, + 0u8, + 11u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 16u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 13u8, + 0u8, + 0u8, + 0u8, + 14u8, + 0u8, + 0u8, + 0u8, + 15u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 0u8, + 16u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 114u8, + 97u8, + 119u8, + 95u8, + 118u8, + 101u8, + 99u8, + 46u8, + 114u8, + 115u8, + 99u8, + 97u8, + 112u8, + 97u8, + 99u8, + 105u8, + 116u8, + 121u8, + 32u8, + 111u8, + 118u8, + 101u8, + 114u8, + 102u8, + 108u8, + 111u8, + 119u8, + 0u8, + 0u8, + 0u8, + 248u8, + 1u8, + 16u8, + 0u8, + 17u8, + 0u8, + 0u8, + 0u8, + 220u8, + 1u8, + 16u8, + 0u8, + 28u8, + 0u8, + 0u8, + 0u8, + 58u8, + 2u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 99u8, + 97u8, + 108u8, + 108u8, + 101u8, + 100u8, + 32u8, + 96u8, + 79u8, + 112u8, + 116u8, + 105u8, + 111u8, + 110u8, + 58u8, + 58u8, + 117u8, + 110u8, + 119u8, + 114u8, + 97u8, + 112u8, + 40u8, + 41u8, + 96u8, + 32u8, + 111u8, + 110u8, + 32u8, + 97u8, + 32u8, + 96u8, + 78u8, + 111u8, + 110u8, + 101u8, + 96u8, + 32u8, + 118u8, + 97u8, + 108u8, + 117u8, + 101u8, + 0u8, + 18u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 0u8, + 19u8, + 0u8, + 0u8, + 0u8, + 48u8, + 48u8, + 48u8, + 49u8, + 48u8, + 50u8, + 48u8, + 51u8, + 48u8, + 52u8, + 48u8, + 53u8, + 48u8, + 54u8, + 48u8, + 55u8, + 48u8, + 56u8, + 48u8, + 57u8, + 49u8, + 48u8, + 49u8, + 49u8, + 49u8, + 50u8, + 49u8, + 51u8, + 49u8, + 52u8, + 49u8, + 53u8, + 49u8, + 54u8, + 49u8, + 55u8, + 49u8, + 56u8, + 49u8, + 57u8, + 50u8, + 48u8, + 50u8, + 49u8, + 50u8, + 50u8, + 50u8, + 51u8, + 50u8, + 52u8, + 50u8, + 53u8, + 50u8, + 54u8, + 50u8, + 55u8, + 50u8, + 56u8, + 50u8, + 57u8, + 51u8, + 48u8, + 51u8, + 49u8, + 51u8, + 50u8, + 51u8, + 51u8, + 51u8, + 52u8, + 51u8, + 53u8, + 51u8, + 54u8, + 51u8, + 55u8, + 51u8, + 56u8, + 51u8, + 57u8, + 52u8, + 48u8, + 52u8, + 49u8, + 52u8, + 50u8, + 52u8, + 51u8, + 52u8, + 52u8, + 52u8, + 53u8, + 52u8, + 54u8, + 52u8, + 55u8, + 52u8, + 56u8, + 52u8, + 57u8, + 53u8, + 48u8, + 53u8, + 49u8, + 53u8, + 50u8, + 53u8, + 51u8, + 53u8, + 52u8, + 53u8, + 53u8, + 53u8, + 54u8, + 53u8, + 55u8, + 53u8, + 56u8, + 53u8, + 57u8, + 54u8, + 48u8, + 54u8, + 49u8, + 54u8, + 50u8, + 54u8, + 51u8, + 54u8, + 52u8, + 54u8, + 53u8, + 54u8, + 54u8, + 54u8, + 55u8, + 54u8, + 56u8, + 54u8, + 57u8, + 55u8, + 48u8, + 55u8, + 49u8, + 55u8, + 50u8, + 55u8, + 51u8, + 55u8, + 52u8, + 55u8, + 53u8, + 55u8, + 54u8, + 55u8, + 55u8, + 55u8, + 56u8, + 55u8, + 57u8, + 56u8, + 48u8, + 56u8, + 49u8, + 56u8, + 50u8, + 56u8, + 51u8, + 56u8, + 52u8, + 56u8, + 53u8, + 56u8, + 54u8, + 56u8, + 55u8, + 56u8, + 56u8, + 56u8, + 57u8, + 57u8, + 48u8, + 57u8, + 49u8, + 57u8, + 50u8, + 57u8, + 51u8, + 57u8, + 52u8, + 57u8, + 53u8, + 57u8, + 54u8, + 57u8, + 55u8, + 57u8, + 56u8, + 57u8, + 57u8, + ], + ); + return Ok(()); + } +} +use _Wars_internal::{Wars, WarsData}; +#[rustc_main] +#[coverage(off)] +pub fn main() -> () { + extern crate test; + test::test_main_static(&[]) +} diff --git a/wars-macro/tests/out.rs.y b/wars-macro/tests/out.rs.y new file mode 100644 index 0000000..72d7087 --- /dev/null +++ b/wars-macro/tests/out.rs.y @@ -0,0 +1,54224 @@ +#![feature(prelude_import)] +#[prelude_import] +use std::prelude::rust_2021::*; +#[macro_use] +extern crate std; +mod _Wars_internal { + fn func0<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, (p4, ()))))): (u32, (u32, (u32, (u32, (u32, ()))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (block0param4.clone(), ()); + let (v5, ()) = (*ctx.global0(), ()); + let (v6, ()) = (256u32, ()); + let (v7, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v7; + () + }; + let (v9, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (1049385u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 148u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 155u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (32u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 156u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v24, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 160u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v24 != 0 { + block3param0 = v4; + block3param1 = v0; + block3param2 = v7; + block3param3 = v24; + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v204, ()) = (block3param0.clone(), ()); + let (v208, ()) = (block3param1.clone(), ()); + let (v210, ()) = (block3param2.clone(), ()); + let (v212, ()) = (block3param3.clone(), ()); + if v204 != 0 { + block6param0 = v208; + block6param1 = v210; + block6param2 = v212; + cff = 6usize; + } else { + block7param0 = v208; + block7param1 = v210; + block7param2 = v212; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v207, ()) = (block6param0.clone(), ()); + let (v209, ()) = (block6param1.clone(), ()); + let (v211, ()) = (block6param2.clone(), ()); + let (v80, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = (64u32, ()); + let (v85, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 212u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v87, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 68u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = (64u32, ()); + let (v89, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 216u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 64u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 220u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 120u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 120u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v95, ()) = match ::wars_rt::_rexport::tramp::tramp( + func11( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + (::wars_rt::func::cast::<_, _, C>(v94.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v209.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v209; + block5param1 = v211; + block5param2 = v207; + cff = 5usize; + break 'l6; + } + } + 1usize => { + 'l5: loop { + let (v213, ()) = (block7param0.clone(), ()); + let (v214, ()) = (block7param1.clone(), ()); + let (v215, ()) = (block7param2.clone(), ()); + let (v59, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (0u32, ()); + let (v64, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v63.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 199u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (72u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 200u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (72u32, ()); + let (v71, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 204u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 72u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 208u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 124u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 124u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + (::wars_rt::func::cast::<_, _, C>(v76.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v214; + block5param1 = v215; + block5param2 = v213; + cff = 5usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v97, ()) = (block5param0.clone(), ()); + let (v150, ()) = (block5param1.clone(), ()); + let (v191, ()) = (block5param2.clone(), ()); + let (v98, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 224u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v98 != 0 { + block9param0 = v97; + block9param1 = v98; + block9param2 = v150; + block9param3 = v191; + cff = 9usize; + } else { + block10param0 = v97; + block10param1 = v150; + block10param2 = v191; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v216, ()) = (block9param0.clone(), ()); + let (v217, ()) = (block9param1.clone(), ()); + let (v218, ()) = (block9param2.clone(), ()); + let (v219, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 128u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 128u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v216; + block8param1 = v218; + block8param2 = v219; + cff = 8usize; + break 'l9; + } + } + 1usize => { + 'l8: loop { + let (v220, ()) = (block10param0.clone(), ()); + let (v221, ()) = (block10param1.clone(), ()); + let (v222, ()) = (block10param2.clone(), ()); + let (v100, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v220.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v220; + block8param1 = v221; + block8param2 = v222; + cff = 8usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v108, ()) = (block8param0.clone(), ()); + let (v148, ()) = (block8param1.clone(), ()); + let (v189, ()) = (block8param2.clone(), ()); + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v108.clone() + 88u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = (0u32, ()); + let (v111, ()) = (1u32, ()); + let (v112, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v112 != 0 { + block12param0 = v108; + block12param1 = v148; + block12param2 = v189; + cff = 12usize; + } else { + block13param0 = v108; + block13param1 = v148; + block13param2 = v189; + cff = 13usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + 13usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v223, ()) = (block12param0.clone(), ()); + let (v224, ()) = (block12param1.clone(), ()); + let (v225, ()) = (block12param2.clone(), ()); + let (v117, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 88u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 228u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v223; + block11param1 = v224; + block11param2 = v225; + cff = 11usize; + break 'l12; + } + } + 1usize => { + 'l11: loop { + let (v226, ()) = (block13param0.clone(), ()); + let (v227, ()) = (block13param1.clone(), ()); + let (v228, ()) = (block13param2.clone(), ()); + let (v113, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v226.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v226; + block11param1 = v227; + block11param2 = v228; + cff = 11usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l10: loop { + let (v120, ()) = (block11param0.clone(), ()); + let (v146, ()) = (block11param1.clone(), ()); + let (v187, ()) = (block11param2.clone(), ()); + let (v121, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v120.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = (1u32, ()); + let (v123, ()) = (0u32, ()); + let (v124, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v124 != 0 { + block15param0 = v120; + block15param1 = v146; + block15param2 = v187; + cff = 15usize; + } else { + block16param0 = v120; + block16param1 = v146; + block16param2 = v187; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v229, ()) = (block15param0.clone(), ()); + let (v230, ()) = (block15param1.clone(), ()); + let (v231, ()) = (block15param2.clone(), ()); + let (v129, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v229.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v229; + block14param1 = v230; + block14param2 = v231; + cff = 14usize; + break 'l15; + } + } + 1usize => { + 'l14: loop { + let (v232, ()) = (block16param0.clone(), ()); + let (v233, ()) = (block16param1.clone(), ()); + let (v234, ()) = (block16param2.clone(), ()); + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 232u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v232.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v232; + block14param1 = v233; + block14param2 = v234; + cff = 14usize; + break 'l14; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l13: loop { + let (v132, ()) = (block14param0.clone(), ()); + let (v144, ()) = (block14param1.clone(), ()); + let (v185, ()) = (block14param2.clone(), ()); + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (1u32, ()); + let (v135, ()) = (0u32, ()); + let (v136, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v136 != 0 { + block17param0 = v132; + block17param1 = v185; + cff = 17usize; + } else { + block18param0 = v132; + block18param1 = v144; + block18param2 = v185; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v235, ()) = (block17param0.clone(), ()); + let (v236, ()) = (block17param1.clone(), ()); + let (v172, ()) = (0u32, ()); + let (v173, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 1048576u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v174, ()) = (0u32, ()); + let (v175, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v174.clone() + 1048580u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v235.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v235.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v235; + block2param1 = v236; + cff = 2usize; + break 'l17; + } + } + 1usize => { + 'l16: loop { + let (v237, ()) = (block18param0.clone(), ()); + let (v238, ()) = (block18param1.clone(), ()); + let (v239, ()) = (block18param2.clone(), ()); + let (v138, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 236u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 240u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 244u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 140u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 144u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v238.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v158, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 140u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 144u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 132u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v158.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 136u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 132u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 136u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 248u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 252u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 96u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v168, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 92u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 96u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v237; + block2param1 = v239; + cff = 2usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + } + } + 1usize => { + 'l3: loop { + let (v205, ()) = (block4param0.clone(), ()); + let (v206, ()) = (block4param1.clone(), ()); + let (v26, ()) = (32u32, ()); + let (v28, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 164u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 168u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 100u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 100u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 172u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 176u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 180u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 184u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 112u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 116u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 112u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 116u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 104u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 108u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 104u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 108u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 188u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 192u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 48u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v206; + block2param1 = v205; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v179, ()) = (block2param0.clone(), ()); + let (v182, ()) = (block2param1.clone(), ()); + let (v180, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 40u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v181, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (256u32, ()); + let (v202, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v202; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func1<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (32u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = (8u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func0( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (32u32, ()); + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v20; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func2<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (32u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (0u32, ()); + let (v12, ()) = (8u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func0( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (32u32, ()); + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v20; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func3<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v12 != 0 { + cff = 2usize; + } else { + block3param0 = v5; + block3param1 = v9; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v18, ()) = (1048624u32, ()); + let (v19, ()) = (28u32, ()); + let (v20, ()) = (1048604u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + (::wars_rt::func::cast::<_, _, C>(v20.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v22, ()) = (block3param0.clone(), ()); + let (v23, ()) = (block3param1.clone(), ()); + let (v13, ()) = (16u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v15; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v23, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func4<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func5( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (16u32, ()); + let (v11, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v11; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func5<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (96u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (0u32, ()); + let (v13, ()) = (8u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func7( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v12.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v20, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = (40u32, ()); + let (v24, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v26, ()) = (40u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v29, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v32, ()) = (0u32, ()); + let (v33, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v34, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v33.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v35, ()) = (40u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v39, ()) = (8u32, ()); + let (v40, ()) = (24u32, ()); + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (40u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v45.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v42.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v48, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 40u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v50, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v52, ()) = (8u32, ()); + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v54, ()) = (24u32, ()); + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v56.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v53.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v59, ()) = (96u32, ()); + let (v60, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v60; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func6<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block3param4: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v11 != 0 { + block3param0 = v1; + block3param1 = v3; + block3param2 = v6; + block3param3 = v2; + block3param4 = v0; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v6; + block4param3 = v0; + block4param4 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v84, ()) = (block4param0.clone(), ()); + let (v85, ()) = (block4param1.clone(), ()); + let (v86, ()) = (block4param2.clone(), ()); + let (v89, ()) = (block4param3.clone(), ()); + let (v103, ()) = (block4param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1u32, ()); + let (v17, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (2147483647u32, ()); + let (v19, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (0u32, ()); + let (v22, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (1u32, ()); + let (v24, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v24 != 0 { + cff = 7usize; + } else { + block8param0 = v89; + block8param1 = v86; + block8param2 = v84; + block8param3 = v85; + block8param4 = v103; + block8param5 = v19; + cff = 8usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + 8usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v33, ()) = (1048752u32, ()); + let (v34, ()) = (25u32, ()); + let (v35, ()) = (1048732u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + (::wars_rt::func::cast::<_, _, C>(v35.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l5: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v91, ()) = (block8param1.clone(), ()); + let (v96, ()) = (block8param2.clone(), ()); + let (v99, ()) = (block8param3.clone(), ()); + let (v102, ()) = (block8param4.clone(), ()); + let (v106, ()) = (block8param5.clone(), ()); + let (v27, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block5param0 = v88; + block5param1 = v91; + cff = 5usize; + } else { + block9param0 = v88; + block9param1 = v96; + block9param2 = v99; + block9param3 = v102; + block9param4 = v91; + cff = 9usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v87, ()) = (block5param0.clone(), ()); + let (v90, ()) = (block5param1.clone(), ()); + let (v37, ()) = (0u32, ()); + let (v38, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 1048780u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (0u32, ()); + let (v40, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v39.clone() + 1048784u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + block2param1 = v87; + cff = 2usize; + break 'l7; + } + } + 1usize => { + 'l6: loop { + let (v93, ()) = (block9param0.clone(), ()); + let (v95, ()) = (block9param1.clone(), ()); + let (v98, ()) = (block9param2.clone(), ()); + let (v101, ()) = (block9param3.clone(), ()); + let (v105, ()) = (block9param4.clone(), ()); + block6param0 = v93; + block6param1 = v95; + block6param2 = v98; + block6param3 = v101; + block6param4 = v105; + cff = 6usize; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v92, ()) = (block6param0.clone(), ()); + let (v94, ()) = (block6param1.clone(), ()); + let (v97, ()) = (block6param2.clone(), ()); + let (v100, ()) = (block6param3.clone(), ()); + let (v104, ()) = (block6param4.clone(), ()); + block3param0 = v94; + block3param1 = v100; + block3param2 = v104; + block3param3 = v97; + block3param4 = v92; + cff = 3usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v69, ()) = (block2param0.clone(), ()); + let (v72, ()) = (block2param1.clone(), ()); + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (48u32, ()); + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v82; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v45, ()) = (block3param0.clone(), ()); + let (v48, ()) = (block3param1.clone(), ()); + let (v52, ()) = (block3param2.clone(), ()); + let (v56, ()) = (block3param3.clone(), ()); + let (v76, ()) = (block3param4.clone(), ()); + let (v51, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v52; + block2param1 = v76; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func7<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (160u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (0u32, ()); + let (v8, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (0u32, ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v9.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (0u32, ()); + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v15.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 42u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 108u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (0u32, ()); + let (v22, ()) = (1u32, ()); + let (v23, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v23 != 0 { + block4param0 = v5; + block4param1 = v0; + cff = 4usize; + } else { + block5param0 = v1; + block5param1 = v5; + block5param2 = v0; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v187, ()) = (block5param0.clone(), ()); + let (v189, ()) = (block5param1.clone(), ()); + let (v191, ()) = (block5param2.clone(), ()); + if v187 != 0 { + block3param0 = v187; + block3param1 = v189; + block3param2 = v191; + cff = 3usize; + } else { + block6param0 = v191; + block6param1 = v189; + cff = 6usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 6usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v186, ()) = (block3param0.clone(), ()); + let (v188, ()) = (block3param1.clone(), ()); + let (v195, ()) = (block3param2.clone(), ()); + let (v40, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 116u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (1u32, ()); + let (v44, ()) = (16u32, ()); + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func6( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + (::wars_rt::func::cast::<_, _, C>(v186.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 60u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 64u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = (1u32, ()); + let (v54, ()) = (0u32, ()); + let (v55, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + cff = 10usize; + } else { + block11param0 = v195; + block11param1 = v186; + block11param2 = v188; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l7: loop { + let (v194, ()) = (block11param0.clone(), ()); + let (v197, ()) = (block11param1.clone(), ()); + let (v199, ()) = (block11param2.clone(), ()); + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 60u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 64u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 120u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 124u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 52u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 56u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (52u32, ()); + let (v64, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 128u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 132u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (2147483647u32, ()); + let (v69, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (1u32, ()); + let (v71, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block8param0 = v194; + block8param1 = v197; + block8param2 = v199; + cff = 8usize; + } else { + block12param0 = v194; + block12param1 = v197; + block12param2 = v199; + cff = 12usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v193, ()) = (block8param0.clone(), ()); + let (v196, ()) = (block8param1.clone(), ()); + let (v198, ()) = (block8param2.clone(), ()); + let (v81, ()) = (0u32, ()); + let (v82, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 1048788u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (0u32, ()); + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 1048792u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v198; + block7param1 = v196; + block7param2 = v193; + cff = 7usize; + break 'l10; + } + } + 1usize => { + 'l9: loop { + let (v201, ()) = (block12param0.clone(), ()); + let (v203, ()) = (block12param1.clone(), ()); + let (v205, ()) = (block12param2.clone(), ()); + block9param0 = v201; + block9param1 = v203; + block9param2 = v205; + cff = 9usize; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v200, ()) = (block9param0.clone(), ()); + let (v202, ()) = (block9param1.clone(), ()); + let (v204, ()) = (block9param2.clone(), ()); + let (v73, ()) = (0u32, ()); + let (v74, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v73.clone() + 1048796u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (0u32, ()); + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 1048800u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 68u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 72u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v204; + block7param1 = v202; + block7param2 = v200; + cff = 7usize; + break 'l13; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v88, ()) = (block7param0.clone(), ()); + let (v146, ()) = (block7param1.clone(), ()); + let (v173, ()) = (block7param2.clone(), ()); + let (v89, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 68u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (2147483649u32, ()); + let (v91, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (0u32, ()); + let (v93, ()) = (1u32, ()); + let (v94, ()) = (1u32, ()); + let (v95, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v96 != 0 { + cff = 16usize; + } else { + block17param0 = v88; + block17param1 = v146; + block17param2 = v173; + cff = 17usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 17usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l12: loop { + let (v208, ()) = (block17param0.clone(), ()); + let (v211, ()) = (block17param1.clone(), ()); + let (v214, ()) = (block17param2.clone(), ()); + let (v98, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v208.clone() + 42u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (1u32, ()); + let (v100, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v101 != 0 { + block15param0 = v208; + block15param1 = v211; + block15param2 = v214; + cff = 15usize; + } else { + block18param0 = v208; + block18param1 = v211; + block18param2 = v214; + cff = 18usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v215, ()) = (block15param0.clone(), ()); + let (v216, ()) = (block15param1.clone(), ()); + let (v217, ()) = (block15param2.clone(), ()); + let (v104, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (43u32, ()); + let (v107, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func2( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + (::wars_rt::func::cast::<_, _, C>(v105.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v215.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v215; + block13param1 = v216; + block13param2 = v217; + cff = 13usize; + break 'l15; + } + } + 1usize => { + 'l16: loop { + let (v207, ()) = (block18param0.clone(), ()); + let (v210, ()) = (block18param1.clone(), ()); + let (v213, ()) = (block18param2.clone(), ()); + block14param0 = v207; + block14param1 = v210; + block14param2 = v213; + cff = 14usize; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v206, ()) = (block14param0.clone(), ()); + let (v209, ()) = (block14param1.clone(), ()); + let (v212, ()) = (block14param2.clone(), ()); + let (v115, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = (8u32, ()); + let (v118, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = (43u32, ()); + let (v120, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func1( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + (::wars_rt::func::cast::<_, _, C>(v116.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 76u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 80u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v206; + block13param1 = v209; + block13param2 = v212; + cff = 13usize; + break 'l19; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v126, ()) = (block13param0.clone(), ()); + let (v143, ()) = (block13param1.clone(), ()); + let (v170, ()) = (block13param2.clone(), ()); + let (v127, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = (1u32, ()); + let (v129, ()) = (0u32, ()); + let (v130, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v130 != 0 { + block19param0 = v126; + cff = 19usize; + } else { + block20param0 = v126; + block20param1 = v143; + block20param2 = v170; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v218, ()) = (block19param0.clone(), ()); + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v218.clone() + 52u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v160, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v218.clone() + 56u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + (::wars_rt::func::cast::<_, _, C>(v160.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + }; + } + 1usize => { + 'l17: loop { + let (v219, ()) = (block20param0.clone(), ()); + let (v220, ()) = (block20param1.clone(), ()); + let (v221, ()) = (block20param2.clone(), ()); + let (v132, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 76u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 80u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 136u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 140u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 144u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 88u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 148u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 104u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 104u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 84u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 92u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 84u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 92u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v219.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v219; + block2param1 = v221; + cff = 2usize; + break 'l17; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v190, ()) = (block6param0.clone(), ()); + let (v192, ()) = (block6param1.clone(), ()); + block4param0 = v192; + block4param1 = v190; + cff = 4usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v162, ()) = (block2param0.clone(), ()); + let (v165, ()) = (block2param1.clone(), ()); + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v162.clone() + 44u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v162.clone() + 48u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v165.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v165.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v183, ()) = (160u32, ()); + let (v184, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v183.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v184; + () + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v26, ()) = (block4param0.clone(), ()); + let (v166, ()) = (block4param1.clone(), ()); + let (v25, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 152u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 156u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 100u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 100u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 96u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 96u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 48u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v26; + block2param1 = v166; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func8<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::_rexport::tramp::tramp( + func35( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v3, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func9<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func36( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func10<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = match ::wars_rt::_rexport::tramp::tramp( + func37( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v4.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v5, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func11<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::_rexport::tramp::tramp( + func38( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok((v3, ()))); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func12<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func46( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + (::wars_rt::func::cast::<_, _, C>(v1.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func13<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (18283513330535624548u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (13952935171328998337u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func14<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (6926430033507184546u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (12394070061986338271u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func15<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (10287760977718510952u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2010871330890654687u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func16<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block2param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (32u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + block4param2 = v5; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v76, ()) = (block4param0.clone(), ()); + let (v77, ()) = (block4param1.clone(), ()); + let (v80, ()) = (block4param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (8u32, ()); + let (v17, ()) = (8u32, ()); + let (v18, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (4294967295u32, ()); + let (v21, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (31u32, ()); + let (v23, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v10 != 0 { + block6param0 = v76; + block6param1 = v80; + block6param2 = v10; + block6param3 = v19; + block6param4 = v23; + cff = 6usize; + } else { + block7param0 = v76; + block7param1 = v80; + block7param2 = v19; + block7param3 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v78, ()) = (block6param0.clone(), ()); + let (v79, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v82, ()) = (block6param3.clone(), ()); + let (v83, ()) = (block6param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v79; + block5param1 = v83; + block5param2 = v82; + block5param3 = v78; + cff = 5usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v84, ()) = (block7param0.clone(), ()); + let (v85, ()) = (block7param1.clone(), ()); + let (v86, ()) = (block7param2.clone(), ()); + let (v87, ()) = (block7param3.clone(), ()); + let (v26, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v85.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v85; + block5param1 = v87; + block5param2 = v86; + block5param3 = v84; + cff = 5usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v39, ()) = (block5param1.clone(), ()); + let (v42, ()) = (block5param2.clone(), ()); + let (v51, ()) = (block5param3.clone(), ()); + let (v37, ()) = (8u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (20u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func25( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + (::wars_rt::func::cast::<_, _, C>(v46.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v49 != 0 { + block8param0 = v36; + block8param1 = v48; + cff = 8usize; + } else { + block9param0 = v36; + block9param1 = v42; + block9param2 = v48; + block9param3 = v51; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v89, ()) = (block8param1.clone(), ()); + let (v58, ()) = (2147483649u32, ()); + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block2param0 = v88; + cff = 2usize; + break 'l8; + } else { + block10param0 = v89; + block10param1 = v88; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v94, ()) = (block10param0.clone(), ()); + let (v96, ()) = (block10param1.clone(), ()); + let (v61, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + cff = 3usize; + break 'l9; + } else { + block11param0 = v96; + block11param1 = v94; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v95, ()) = (block11param0.clone(), ()); + let (v97, ()) = (block11param1.clone(), ()); + let (v66, ()) = (16u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + (::wars_rt::func::cast::<_, _, C>(v68.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v90, ()) = (block9param0.clone(), ()); + let (v91, ()) = (block9param1.clone(), ()); + let (v92, ()) = (block9param2.clone(), ()); + let (v93, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + cff = 2usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v71, ()) = (block2param0.clone(), ()); + let (v73, ()) = (32u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v74; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func17<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (1048804u32, ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func18<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func19<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func20<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v2, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v2 != 0 { + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v8, ()) = (block3param0.clone(), ()); + let (v9, ()) = (block3param1.clone(), ()); + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v8.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v6, ()) = (1u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func9( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + (::wars_rt::func::cast::<_, _, C>(v6.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func21<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v2, ()) = (2147483648u32, ()); + let (v3, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2147483648u32, ()); + let (v5, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v11, ()) = (block3param0.clone(), ()); + let (v12, ()) = (block3param1.clone(), ()); + let (v7, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v11.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v9, ()) = (1u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func9( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + (::wars_rt::func::cast::<_, _, C>(v9.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func22<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (128u32, ()); + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block5param0 = v1; + block5param1 = v2; + block5param2 = v5; + cff = 5usize; + } else { + block6param0 = v1; + block6param1 = v2; + block6param2 = v5; + cff = 6usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 6usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v143, ()) = (block5param0.clone(), ()); + let (v144, ()) = (block5param1.clone(), ()); + let (v145, ()) = (block5param2.clone(), ()); + let (v69, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block10param0 = v143; + block10param1 = v69; + block10param2 = v144; + block10param3 = v145; + cff = 10usize; + } else { + block11param0 = v143; + block11param1 = v144; + block11param2 = v145; + block11param3 = v69; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v155, ()) = (block11param0.clone(), ()); + let (v156, ()) = (block11param1.clone(), ()); + let (v157, ()) = (block11param2.clone(), ()); + let (v158, ()) = (block11param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func23( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + (::wars_rt::func::cast::<_, _, C>(v158.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v155.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v155; + block10param1 = v75; + block10param2 = v156; + block10param3 = v157; + cff = 10usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v76, ()) = (block10param0.clone(), ()); + let (v77, ()) = (block10param1.clone(), ()); + let (v83, ()) = (block10param2.clone(), ()); + let (v130, ()) = (block10param3.clone(), ()); + let (v78, ()) = (1u32, ()); + let (v79, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v130; + cff = 2usize; + break 'l4; + } + } + } + 1usize => { + 'l2: loop { + let (v138, ()) = (block6param0.clone(), ()); + let (v140, ()) = (block6param1.clone(), ()); + let (v142, ()) = (block6param2.clone(), ()); + let (v10, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v142.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = (2048u32, ()); + let (v14, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + block4param0 = v138; + block4param1 = v140; + block4param2 = v142; + cff = 4usize; + } else { + block7param0 = v140; + block7param1 = v138; + block7param2 = v142; + cff = 7usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v137, ()) = (block4param0.clone(), ()); + let (v139, ()) = (block4param1.clone(), ()); + let (v141, ()) = (block4param2.clone(), ()); + let (v89, ()) = (63u32, ()); + let (v90, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v91, ()) = (128u32, ()); + let (v92, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = (6u32, ()); + let (v95, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = (192u32, ()); + let (v97, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (2u32, ()); + block3param0 = v137; + block3param1 = v99; + block3param2 = v141; + cff = 3usize; + break 'l8; + } + } + 1usize => { + 'l7: loop { + let (v146, ()) = (block7param0.clone(), ()); + let (v148, ()) = (block7param1.clone(), ()); + let (v151, ()) = (block7param2.clone(), ()); + let (v16, ()) = (65536u32, ()); + let (v17, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v17 != 0 { + block8param0 = v148; + block8param1 = v146; + block8param2 = v151; + cff = 8usize; + } else { + block9param0 = v148; + block9param1 = v146; + block9param2 = v151; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v147, ()) = (block8param0.clone(), ()); + let (v149, ()) = (block8param1.clone(), ()); + let (v150, ()) = (block8param2.clone(), ()); + let (v41, ()) = (63u32, ()); + let (v42, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (128u32, ()); + let (v44, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 15u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (6u32, ()); + let (v47, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (63u32, ()); + let (v49, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = (128u32, ()); + let (v51, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 14u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = (12u32, ()); + let (v54, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = (63u32, ()); + let (v56, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (128u32, ()); + let (v58, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = (18u32, ()); + let (v61, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v62, ()) = (7u32, ()); + let (v63, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (240u32, ()); + let (v65, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (4u32, ()); + block3param0 = v147; + block3param1 = v67; + block3param2 = v150; + cff = 3usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v152, ()) = (block9param0.clone(), ()); + let (v153, ()) = (block9param1.clone(), ()); + let (v154, ()) = (block9param2.clone(), ()); + let (v21, ()) = (63u32, ()); + let (v22, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (128u32, ()); + let (v24, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 14u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (12u32, ()); + let (v27, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (224u32, ()); + let (v29, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (6u32, ()); + let (v32, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = (63u32, ()); + let (v34, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = (128u32, ()); + let (v36, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 13u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (3u32, ()); + block3param0 = v152; + block3param1 = v38; + block3param2 = v154; + cff = 3usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v100, ()) = (block3param0.clone(), ()); + let (v109, ()) = (block3param1.clone(), ()); + let (v121, ()) = (block3param2.clone(), ()); + let (v106, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v100.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v100.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v110 != 0 { + block12param0 = v100; + block12param1 = v107; + block12param2 = v121; + block12param3 = v109; + cff = 12usize; + } else { + block13param0 = v100; + block13param1 = v107; + block13param2 = v109; + block13param3 = v121; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v159, ()) = (block13param0.clone(), ()); + let (v160, ()) = (block13param1.clone(), ()); + let (v161, ()) = (block13param2.clone(), ()); + let (v162, ()) = (block13param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func16( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + (::wars_rt::func::cast::<_, _, C>(v161.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v159.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v159; + block12param1 = v115; + block12param2 = v162; + block12param3 = v161; + cff = 12usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l10: loop { + let (v116, ()) = (block12param0.clone(), ()); + let (v118, ()) = (block12param1.clone(), ()); + let (v120, ()) = (block12param2.clone(), ()); + let (v125, ()) = (block12param3.clone(), ()); + let (v117, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v116.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = (12u32, ()); + let (v124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + (::wars_rt::func::cast::<_, _, C>(v125.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v127, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ::wars_rt::func::cast::<_, _, C>(v125.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v116.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v120; + cff = 2usize; + break 'l10; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v129, ()) = (block2param0.clone(), ()); + let (v133, ()) = (16u32, ()); + let (v134, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v134; + () + }; + let (v136, ()) = (0u32, ()); + block1param0 = v136; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func23<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (1u32, ()); + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + cff = 3usize; + } else { + block4param0 = v0; + block4param1 = v7; + block4param2 = v4; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v76, ()) = (block4param0.clone(), ()); + let (v77, ()) = (block4param1.clone(), ()); + let (v80, ()) = (block4param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (8u32, ()); + let (v17, ()) = (8u32, ()); + let (v18, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (4294967295u32, ()); + let (v21, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (31u32, ()); + let (v23, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v10 != 0 { + block6param0 = v76; + block6param1 = v80; + block6param2 = v10; + block6param3 = v19; + block6param4 = v23; + cff = 6usize; + } else { + block7param0 = v76; + block7param1 = v80; + block7param2 = v19; + block7param3 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v78, ()) = (block6param0.clone(), ()); + let (v79, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v82, ()) = (block6param3.clone(), ()); + let (v83, ()) = (block6param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v79; + block5param1 = v83; + block5param2 = v82; + block5param3 = v78; + cff = 5usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v84, ()) = (block7param0.clone(), ()); + let (v85, ()) = (block7param1.clone(), ()); + let (v86, ()) = (block7param2.clone(), ()); + let (v87, ()) = (block7param3.clone(), ()); + let (v26, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v85.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v85; + block5param1 = v87; + block5param2 = v86; + block5param3 = v84; + cff = 5usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v39, ()) = (block5param1.clone(), ()); + let (v42, ()) = (block5param2.clone(), ()); + let (v51, ()) = (block5param3.clone(), ()); + let (v37, ()) = (8u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (20u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func25( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + (::wars_rt::func::cast::<_, _, C>(v46.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v49 != 0 { + block8param0 = v36; + block8param1 = v48; + cff = 8usize; + } else { + block9param0 = v36; + block9param1 = v42; + block9param2 = v48; + block9param3 = v51; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v88, ()) = (block8param0.clone(), ()); + let (v89, ()) = (block8param1.clone(), ()); + let (v58, ()) = (2147483649u32, ()); + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block2param0 = v88; + cff = 2usize; + break 'l8; + } else { + block10param0 = v89; + block10param1 = v88; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v94, ()) = (block10param0.clone(), ()); + let (v96, ()) = (block10param1.clone(), ()); + let (v61, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + cff = 3usize; + break 'l9; + } else { + block11param0 = v96; + block11param1 = v94; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v95, ()) = (block11param0.clone(), ()); + let (v97, ()) = (block11param1.clone(), ()); + let (v66, ()) = (16u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + (::wars_rt::func::cast::<_, _, C>(v68.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v90, ()) = (block9param0.clone(), ()); + let (v91, ()) = (block9param1.clone(), ()); + let (v92, ()) = (block9param2.clone(), ()); + let (v93, ()) = (block9param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v90; + cff = 2usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v71, ()) = (block2param0.clone(), ()); + let (v73, ()) = (32u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v74; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let () = match ::wars_rt::_rexport::tramp::tramp( + func50(ctx, ()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func24<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block2param0 = v1; + block2param1 = v5; + block2param2 = v2; + block2param3 = v3; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + block3param3 = v5; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v24, ()) = (block3param0.clone(), ()); + let (v25, ()) = (block3param1.clone(), ()); + let (v26, ()) = (block3param2.clone(), ()); + let (v27, ()) = (block3param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func16( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + (::wars_rt::func::cast::<_, _, C>(v26.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v24; + block2param1 = v12; + block2param2 = v25; + block2param3 = v26; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v13, ()) = (block2param0.clone(), ()); + let (v15, ()) = (block2param1.clone(), ()); + let (v17, ()) = (block2param2.clone(), ()); + let (v19, ()) = (block2param3.clone(), ()); + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v20, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + (::wars_rt::func::cast::<_, _, C>(v19.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v13.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = (0u32, ()); + block1param0 = v23; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func25<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block4param0 = v0; + block4param1 = v2; + cff = 4usize; + } else { + block5param0 = v0; + block5param1 = v2; + block5param2 = v3; + block5param3 = v1; + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v93, ()) = (block4param0.clone(), ()); + let (v94, ()) = (block4param1.clone(), ()); + let (v79, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v93.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (8u32, ()); + let (v82, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v93; + cff = 2usize; + break 'l2; + } + } + 1usize => { + 'l3: loop { + let (v92, ()) = (block5param0.clone(), ()); + let (v95, ()) = (block5param1.clone(), ()); + let (v97, ()) = (block5param2.clone(), ()); + let (v107, ()) = (block5param3.clone(), ()); + let (v6, ()) = (4294967295u32, ()); + let (v7, ()) = match ::wars_rt::i32les( + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v7 != 0 { + block3param0 = v92; + cff = 3usize; + } else { + block6param0 = v97; + block6param1 = v95; + block6param2 = v92; + block6param3 = v107; + cff = 6usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 6usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v91, ()) = (block3param0.clone(), ()); + let (v86, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v91; + cff = 2usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v96, ()) = (block6param0.clone(), ()); + let (v99, ()) = (block6param1.clone(), ()); + let (v103, ()) = (block6param2.clone(), ()); + let (v106, ()) = (block6param3.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v96.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v11 != 0 { + block9param0 = v99; + block9param1 = v103; + block9param2 = v106; + cff = 9usize; + } else { + block10param0 = v96; + block10param1 = v103; + block10param2 = v106; + block10param3 = v99; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v98, ()) = (block9param0.clone(), ()); + let (v122, ()) = (block9param1.clone(), ()); + let (v124, ()) = (block9param2.clone(), ()); + if v98 != 0 { + block15param0 = v122; + block15param1 = v124; + block15param2 = v98; + cff = 15usize; + } else { + block16param0 = v122; + block16param1 = v124; + block16param2 = v98; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v121, ()) = (block15param0.clone(), ()); + let (v123, ()) = (block15param1.clone(), ()); + let (v125, ()) = (block15param2.clone(), ()); + let (v35, ()) = (0u32, ()); + let (v36, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v35.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v125; + block8param1 = v123; + block8param2 = v121; + cff = 8usize; + break 'l14; + } + } + 1usize => { + 'l13: loop { + let (v126, ()) = (block16param0.clone(), ()); + let (v127, ()) = (block16param1.clone(), ()); + let (v128, ()) = (block16param2.clone(), ()); + block7param0 = v127; + block7param1 = v126; + block7param2 = v128; + block7param3 = v127; + cff = 7usize; + break 'l13; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v100, ()) = (block10param0.clone(), ()); + let (v102, ()) = (block10param1.clone(), ()); + let (v105, ()) = (block10param2.clone(), ()); + let (v109, ()) = (block10param3.clone(), ()); + let (v13, ()) = (8u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v14.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v15 != 0 { + block11param0 = v102; + block11param1 = v105; + block11param2 = v109; + block11param3 = v100; + block11param4 = v15; + cff = 11usize; + } else { + block12param0 = v109; + block12param1 = v102; + block12param2 = v105; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v101, ()) = (block11param0.clone(), ()); + let (v104, ()) = (block11param1.clone(), ()); + let (v108, ()) = (block11param2.clone(), ()); + let (v110, ()) = (block11param3.clone(), ()); + let (v111, ()) = (block11param4.clone(), ()); + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v110.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = match ::wars_rt::_rexport::tramp::tramp( + func10( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + (::wars_rt::func::cast::<_, _, C>(v108.clone()), ()), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v31; + block7param1 = v101; + block7param2 = v108; + block7param3 = v104; + cff = 7usize; + break 'l16; + } + } + 1usize => { + 'l15: loop { + let (v112, ()) = (block12param0.clone(), ()); + let (v114, ()) = (block12param1.clone(), ()); + let (v116, ()) = (block12param2.clone(), ()); + if v112 != 0 { + block13param0 = v114; + block13param1 = v116; + block13param2 = v112; + cff = 13usize; + } else { + block14param0 = v114; + block14param1 = v116; + block14param2 = v112; + cff = 14usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v113, ()) = (block13param0.clone(), ()); + let (v115, ()) = (block13param1.clone(), ()); + let (v117, ()) = (block13param2.clone(), ()); + let (v24, ()) = (0u32, ()); + let (v25, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v117; + block8param1 = v115; + block8param2 = v113; + cff = 8usize; + break 'l18; + } + } + 1usize => { + 'l17: loop { + let (v118, ()) = (block14param0.clone(), ()); + let (v119, ()) = (block14param1.clone(), ()); + let (v120, ()) = (block14param2.clone(), ()); + block7param0 = v119; + block7param1 = v118; + block7param2 = v120; + block7param3 = v119; + cff = 7usize; + break 'l17; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 7usize => 0usize, + 8usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v44, ()) = (block7param0.clone(), ()); + let (v47, ()) = (block7param1.clone(), ()); + let (v64, ()) = (block7param2.clone(), ()); + let (v72, ()) = (block7param3.clone(), ()); + let (v45, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v45 != 0 { + block17param0 = v47; + block17param1 = v64; + block17param2 = v72; + cff = 17usize; + } else { + block18param0 = v44; + block18param1 = v47; + block18param2 = v64; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v129, ()) = (block17param0.clone(), ()); + let (v130, ()) = (block17param1.clone(), ()); + let (v131, ()) = (block17param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v129.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v131.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = (8u32, ()); + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v129; + cff = 2usize; + break 'l12; + } + } + 1usize => { + 'l11: loop { + let (v132, ()) = (block18param0.clone(), ()); + let (v133, ()) = (block18param1.clone(), ()); + let (v134, ()) = (block18param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v133.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (8u32, ()); + let (v62, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v62.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v133.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v37, ()) = (block8param0.clone(), ()); + let (v40, ()) = (block8param1.clone(), ()); + let (v56, ()) = (block8param2.clone(), ()); + let (v43, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + (::wars_rt::func::cast::<_, _, C>(v40.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v43; + block7param1 = v56; + block7param2 = v37; + block7param3 = v40; + cff = 7usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v88, ()) = (block2param0.clone(), ()); + let (v89, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func26<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block18param0: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block23param0: u32; + let mut block23param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = (256u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block4param0 = v0; + block4param1 = v2; + block4param2 = v1; + cff = 4usize; + } else { + block5param0 = v0; + block5param1 = v2; + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v145, ()) = (block4param0.clone(), ()); + let (v146, ()) = (block4param1.clone(), ()); + let (v186, ()) = (block4param2.clone(), ()); + let (v101, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v145.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v102 != 0 { + block19param0 = v186; + cff = 19usize; + } else { + block20param0 = v146; + block20param1 = v101; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v185, ()) = (block19param0.clone(), ()); + let (v107, ()) = (0u32, ()); + let (v108, ()) = (0u32, ()); + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v108.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = (4294967294u32, ()); + let (v113, ()) = (3u32, ()); + let (v114, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v185.clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v110.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v107.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l3: loop { + let (v187, ()) = (block20param0.clone(), ()); + let (v188, ()) = (block20param1.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v187.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v147, ()) = (block5param0.clone(), ()); + let (v148, ()) = (block5param1.clone(), ()); + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v147.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v8 != 0 { + block8param0 = v147; + block8param1 = v148; + block8param2 = v6; + cff = 8usize; + } else { + block9param0 = v147; + block9param1 = v6; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v154, ()) = (block8param0.clone(), ()); + let (v155, ()) = (block8param1.clone(), ()); + let (v156, ()) = (block8param2.clone(), ()); + let (v20, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v20.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v155.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block6param0 = v156; + block6param1 = v154; + block6param2 = v155; + cff = 6usize; + break 'l7; + } + } + 1usize => { + 'l6: loop { + let (v150, ()) = (block9param0.clone(), ()); + let (v159, ()) = (block9param1.clone(), ()); + let (v10, ()) = (20u32, ()); + let (v11, ()) = (16u32, ()); + let (v12, ()) = (20u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v13.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v17 != 0 { + block7param0 = v150; + block7param1 = v13; + block7param2 = v14; + block7param3 = v17; + block7param4 = v159; + cff = 7usize; + } else { + block10param0 = v150; + block10param1 = v159; + cff = 10usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v149, ()) = (block7param0.clone(), ()); + let (v151, ()) = (block7param1.clone(), ()); + let (v152, ()) = (block7param2.clone(), ()); + let (v153, ()) = (block7param3.clone(), ()); + let (v166, ()) = (block7param4.clone(), ()); + let (v26, ()) = (16u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v29; + block11param1 = v153; + block11param2 = v149; + block11param3 = v166; + cff = 11usize; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v30, ()) = (block11param0.clone(), ()); + let (v31, ()) = (block11param1.clone(), ()); + let (v162, ()) = (block11param2.clone(), ()); + let (v165, ()) = (block11param3.clone(), ()); + let (v32, ()) = (20u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = (16u32, ()); + let (v35, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (20u32, ()); + let (v39, ()) = (16u32, ()); + let (v40, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v41.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v42 != 0 { + block11param0 = v37; + block11param1 = v42; + block11param2 = v162; + block11param3 = v165; + cff = 11usize; + continue 'l12; + } else { + block13param0 = v162; + block13param1 = v165; + block13param2 = v30; + block13param3 = v31; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v161, ()) = (block13param0.clone(), ()); + let (v164, ()) = (block13param1.clone(), ()); + let (v168, ()) = (block13param2.clone(), ()); + let (v170, ()) = (block13param3.clone(), ()); + block12param0 = v161; + block12param1 = v164; + block12param2 = v168; + block12param3 = v170; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v160, ()) = (block12param0.clone(), ()); + let (v163, ()) = (block12param1.clone(), ()); + let (v167, ()) = (block12param2.clone(), ()); + let (v169, ()) = (block12param3.clone(), ()); + let (v46, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block6param0 = v163; + block6param1 = v160; + block6param2 = v169; + cff = 6usize; + break 'l23; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v157, ()) = (block10param0.clone(), ()); + let (v158, ()) = (block10param1.clone(), ()); + let (v18, ()) = (0u32, ()); + block6param0 = v158; + block6param1 = v157; + block6param2 = v18; + cff = 6usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v48, ()) = (block6param0.clone(), ()); + let (v58, ()) = (block6param1.clone(), ()); + let (v81, ()) = (block6param2.clone(), ()); + let (v56, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + cff = 2usize; + } else { + block14param0 = v58; + block14param1 = v48; + block14param2 = v81; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v171, ()) = (block14param0.clone(), ()); + let (v173, ()) = (block14param1.clone(), ()); + let (v177, ()) = (block14param2.clone(), ()); + let (v63, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v171.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (2u32, ()); + let (v65, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (1049412u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block15param0 = v173; + block15param1 = v171; + block15param2 = v67; + block15param3 = v177; + cff = 15usize; + } else { + block16param0 = v173; + block16param1 = v171; + block16param2 = v177; + cff = 16usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v172, ()) = (block15param0.clone(), ()); + let (v174, ()) = (block15param1.clone(), ()); + let (v175, ()) = (block15param2.clone(), ()); + let (v176, ()) = (block15param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v176.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v176 != 0 { + block3param0 = v176; + block3param1 = v172; + block3param2 = v174; + cff = 3usize; + break 'l15; + } else { + block18param0 = v174; + cff = 18usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v184, ()) = (block18param0.clone(), ()); + let (v89, ()) = (0u32, ()); + let (v90, ()) = (0u32, ()); + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (4294967294u32, ()); + let (v95, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v89.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l14: loop { + let (v178, ()) = (block16param0.clone(), ()); + let (v179, ()) = (block16param1.clone(), ()); + let (v180, ()) = (block16param2.clone(), ()); + let (v72, ()) = (16u32, ()); + let (v73, ()) = (20u32, ()); + let (v74, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v178.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v178.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v78.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v85 != 0 { + cff = 2usize; + break 'l14; + } else { + block17param0 = v178; + block17param1 = v179; + block17param2 = v180; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v181, ()) = (block17param0.clone(), ()); + let (v182, ()) = (block17param1.clone(), ()); + let (v183, ()) = (block17param2.clone(), ()); + block3param0 = v183; + block3param1 = v181; + block3param2 = v182; + cff = 3usize; + break 'l20; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l13: loop { + let (v118, ()) = (block3param0.clone(), ()); + let (v120, ()) = (block3param1.clone(), ()); + let (v124, ()) = (block3param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v127, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v127 != 0 { + block21param0 = v124; + block21param1 = v118; + cff = 21usize; + } else { + block22param0 = v118; + block22param1 = v124; + block22param2 = v126; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v189, ()) = (block22param0.clone(), ()); + let (v190, ()) = (block22param1.clone(), ()); + let (v191, ()) = (block22param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v189.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v191.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v189.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block21param0 = v190; + block21param1 = v189; + cff = 21usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v132, ()) = (block21param0.clone(), ()); + let (v139, ()) = (block21param1.clone(), ()); + let (v134, ()) = (20u32, ()); + let (v135, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v135.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v137, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v137 != 0 { + cff = 2usize; + break 'l17; + } else { + block23param0 = v136; + block23param1 = v139; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v192, ()) = (block23param0.clone(), ()); + let (v193, ()) = (block23param1.clone(), ()); + let (v140, ()) = (20u32, ()); + let (v141, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v192.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func27<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (1u32, ()); + let (v5, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v2; + block3param1 = v0; + block3param2 = v1; + cff = 3usize; + } else { + block4param0 = v3; + block4param1 = v0; + block4param2 = v1; + block4param3 = v2; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v171, ()) = (block4param0.clone(), ()); + let (v173, ()) = (block4param1.clone(), ()); + let (v175, ()) = (block4param2.clone(), ()); + let (v178, ()) = (block4param3.clone(), ()); + let (v7, ()) = (3u32, ()); + let (v8, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v9, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v9 != 0 { + cff = 2usize; + break 'l3; + } else { + block5param0 = v173; + block5param1 = v175; + block5param2 = v178; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v172, ()) = (block5param0.clone(), ()); + let (v174, ()) = (block5param1.clone(), ()); + let (v177, ()) = (block5param2.clone(), ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v19 != 0 { + block6param0 = v177; + block6param1 = v12; + block6param2 = v15; + block6param3 = v16; + cff = 6usize; + } else { + block7param0 = v177; + block7param1 = v15; + block7param2 = v16; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v176, ()) = (block6param0.clone(), ()); + let (v179, ()) = (block6param1.clone(), ()); + let (v180, ()) = (block6param2.clone(), ()); + let (v181, ()) = (block6param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + (::wars_rt::func::cast::<_, _, C>(v179.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v176; + block3param1 = v181; + block3param2 = v180; + cff = 3usize; + break 'l14; + } + } + 1usize => { + 'l13: loop { + let (v182, ()) = (block7param0.clone(), ()); + let (v183, ()) = (block7param1.clone(), ()); + let (v184, ()) = (block7param2.clone(), ()); + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v182.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (3u32, ()); + let (v25, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (3u32, ()); + let (v27, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v27 != 0 { + block3param0 = v182; + block3param1 = v184; + block3param2 = v183; + cff = 3usize; + break 'l13; + } else { + block8param0 = v182; + block8param1 = v183; + block8param2 = v184; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v185, ()) = (block8param0.clone(), ()); + let (v186, ()) = (block8param1.clone(), ()); + let (v187, ()) = (block8param2.clone(), ()); + let (v28, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v28.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = (4294967294u32, ()); + let (v35, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (1u32, ()); + let (v40, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v187.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 2usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v46, ()) = (block3param0.clone(), ()); + let (v69, ()) = (block3param1.clone(), ()); + let (v73, ()) = (block3param2.clone(), ()); + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v46.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (2u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v50 != 0 { + block12param0 = v46; + block12param1 = v48; + block12param2 = v69; + block12param3 = v73; + cff = 12usize; + } else { + block13param0 = v69; + block13param1 = v73; + block13param2 = v46; + block13param3 = v48; + cff = 13usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + 13usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v196, ()) = (block12param0.clone(), ()); + let (v197, ()) = (block12param1.clone(), ()); + let (v198, ()) = (block12param2.clone(), ()); + let (v199, ()) = (block12param3.clone(), ()); + let (v89, ()) = (4294967294u32, ()); + let (v90, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v196.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = (1u32, ()); + let (v95, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v198.clone()), + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v199.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block11param0 = v199; + block11param1 = v198; + cff = 11usize; + break 'l5; + } + } + 1usize => { + 'l6: loop { + let (v190, ()) = (block13param0.clone(), ()); + let (v193, ()) = (block13param1.clone(), ()); + let (v200, ()) = (block13param2.clone(), ()); + let (v205, ()) = (block13param3.clone(), ()); + let (v52, ()) = (0u32, ()); + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v54 != 0 { + block10param0 = v190; + block10param1 = v193; + cff = 10usize; + } else { + block14param0 = v190; + block14param1 = v193; + block14param2 = v200; + block14param3 = v205; + cff = 14usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v194, ()) = (block10param0.clone(), ()); + let (v195, ()) = (block10param1.clone(), ()); + let (v136, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v136.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v139, ()) = (0u32, ()); + let (v140, ()) = (0u32, ()); + let (v141, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v143, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v139.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = (1u32, ()); + let (v146, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v194.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = (0u32, ()); + let (v149, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v150 != 0 { + cff = 2usize; + break 'l11; + } else { + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v151, ()) = (0u32, ()); + let (v152, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = (0u32, ()); + let (v155, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l12: loop { + let (v189, ()) = (block14param0.clone(), ()); + let (v192, ()) = (block14param1.clone(), ()); + let (v201, ()) = (block14param2.clone(), ()); + let (v204, ()) = (block14param3.clone(), ()); + let (v56, ()) = (0u32, ()); + let (v57, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v56.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v58 != 0 { + block9param0 = v189; + block9param1 = v192; + cff = 9usize; + } else { + block15param0 = v201; + block15param1 = v204; + block15param2 = v189; + block15param3 = v192; + cff = 15usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v188, ()) = (block9param0.clone(), ()); + let (v191, ()) = (block9param1.clone(), ()); + let (v157, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v157.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v160, ()) = (0u32, ()); + let (v161, ()) = (0u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v161.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v160.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = (1u32, ()); + let (v167, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v188.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v169.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l19: loop { + let (v202, ()) = (block15param0.clone(), ()); + let (v203, ()) = (block15param1.clone(), ()); + let (v206, ()) = (block15param2.clone(), ()); + let (v207, ()) = (block15param3.clone(), ()); + let (v63, ()) = (4294967288u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v203.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v202.clone()), + (::wars_rt::func::cast::<_, _, C>(v64.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (1u32, ()); + let (v77, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v206.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (0u32, ()); + let (v82, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v83 != 0 { + block11param0 = v75; + block11param1 = v206; + cff = 11usize; + break 'l19; + } else { + block16param0 = v75; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v208, ()) = (block16param0.clone(), ()); + let (v84, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v208.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v99, ()) = (block11param0.clone(), ()); + let (v103, ()) = (block11param1.clone(), ()); + let (v100, ()) = (256u32, ()); + let (v101, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v101 != 0 { + block17param0 = v99; + block17param1 = v103; + cff = 17usize; + } else { + block18param0 = v99; + block18param1 = v103; + cff = 18usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v209, ()) = (block17param0.clone(), ()); + let (v213, ()) = (block17param1.clone(), ()); + let (v107, ()) = (4294967288u32, ()); + let (v108, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1049556u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = (1u32, ()); + let (v114, ()) = (3u32, ()); + let (v115, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v112.clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v117 != 0 { + block20param0 = v213; + block20param1 = v110; + cff = 20usize; + } else { + block21param0 = v213; + block21param1 = v110; + block21param2 = v112; + block21param3 = v116; + cff = 21usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + 21usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v212, ()) = (block20param0.clone(), ()); + let (v214, ()) = (block20param1.clone(), ()); + let (v125, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v214.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block19param0 = v214; + block19param1 = v212; + block19param2 = v125; + cff = 19usize; + break 'l18; + } + } + 1usize => { + 'l17: loop { + let (v215, ()) = (block21param0.clone(), ()); + let (v216, ()) = (block21param1.clone(), ()); + let (v217, ()) = (block21param2.clone(), ()); + let (v218, ()) = (block21param3.clone(), ()); + let (v118, ()) = (0u32, ()); + let (v121, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v218.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block19param0 = v216; + block19param1 = v215; + block19param2 = v216; + cff = 19usize; + break 'l17; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l16: loop { + let (v126, ()) = (block19param0.clone(), ()); + let (v127, ()) = (block19param1.clone(), ()); + let (v132, ()) = (block19param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l9: loop { + let (v210, ()) = (block18param0.clone(), ()); + let (v211, ()) = (block18param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + (::wars_rt::func::cast::<_, _, C>(v210.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func28<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = (256u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block2param0 = v0; + block2param1 = v2; + block2param2 = v1; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v117, ()) = (block3param0.clone(), ()); + let (v118, ()) = (block3param1.clone(), ()); + let (v5, ()) = (31u32, ()); + let (v7, ()) = (16777215u32, ()); + let (v8, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v8 != 0 { + block2param0 = v117; + block2param1 = v5; + block2param2 = v118; + cff = 2usize; + break 'l2; + } else { + block4param0 = v117; + block4param1 = v118; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v119, ()) = (block4param0.clone(), ()); + let (v120, ()) = (block4param1.clone(), ()); + let (v10, ()) = (6u32, ()); + let (v11, ()) = (8u32, ()); + let (v12, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32clz( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let (v19, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (62u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v119; + block2param1 = v22; + block2param2 = v120; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v23, ()) = (block2param0.clone(), ()); + let (v28, ()) = (block2param1.clone(), ()); + let (v54, ()) = (block2param2.clone(), ()); + let (v26, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v23.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v23.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v30, ()) = (2u32, ()); + let (v31, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v32, ()) = (1049412u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v34, ()) = (0u32, ()); + let (v35, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v34.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v36, ()) = (1u32, ()); + let (v37, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v38, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v38 != 0 { + block6param0 = v33; + block6param1 = v54; + block6param2 = v23; + block6param3 = v28; + cff = 6usize; + } else { + block7param0 = v23; + block7param1 = v33; + block7param2 = v35; + block7param3 = v37; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v121, ()) = (block6param0.clone(), ()); + let (v122, ()) = (block6param1.clone(), ()); + let (v131, ()) = (block6param2.clone(), ()); + let (v133, ()) = (block6param3.clone(), ()); + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v121.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967288u32, ()); + let (v52, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + block10param0 = v131; + block10param1 = v133; + block10param2 = v49; + block10param3 = v122; + cff = 10usize; + } else { + block11param0 = v131; + block11param1 = v49; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v130, ()) = (block10param0.clone(), ()); + let (v132, ()) = (block10param1.clone(), ()); + let (v134, ()) = (block10param2.clone(), ()); + let (v135, ()) = (block10param3.clone(), ()); + let (v58, ()) = (0u32, ()); + let (v59, ()) = (25u32, ()); + let (v62, ()) = (1u32, ()); + let (v63, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = (31u32, ()); + let (v66, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v134; + block12param1 = v68; + block12param2 = v135; + block12param3 = v130; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v69, ()) = (block12param0.clone(), ()); + let (v70, ()) = (block12param1.clone(), ()); + let (v88, ()) = (block12param2.clone(), ()); + let (v101, ()) = (block12param3.clone(), ()); + let (v71, ()) = (29u32, ()); + let (v72, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = (4u32, ()); + let (v74, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (16u32, ()); + let (v77, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v77.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v79 != 0 { + block8param0 = v69; + block8param1 = v77; + block8param2 = v101; + cff = 8usize; + } else { + block14param0 = v78; + block14param1 = v101; + block14param2 = v70; + block14param3 = v88; + cff = 14usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v127, ()) = (block8param0.clone(), ()); + let (v128, ()) = (block8param1.clone(), ()); + let (v129, ()) = (block8param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v128.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v129.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v129; + cff = 5usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v140, ()) = (block14param0.clone(), ()); + let (v143, ()) = (block14param1.clone(), ()); + let (v144, ()) = (block14param2.clone(), ()); + let (v145, ()) = (block14param3.clone(), ()); + let (v81, ()) = (1u32, ()); + let (v82, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = (4294967288u32, ()); + let (v86, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v89 != 0 { + block12param0 = v140; + block12param1 = v82; + block12param2 = v145; + block12param3 = v143; + cff = 12usize; + continue 'l11; + } else { + block15param0 = v140; + block15param1 = v143; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v139, ()) = (block15param0.clone(), ()); + let (v142, ()) = (block15param1.clone(), ()); + block13param0 = v139; + block13param1 = v142; + cff = 13usize; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v138, ()) = (block13param0.clone(), ()); + let (v141, ()) = (block13param1.clone(), ()); + block9param0 = v138; + block9param1 = v141; + cff = 9usize; + break 'l15; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v136, ()) = (block11param0.clone(), ()); + let (v137, ()) = (block11param1.clone(), ()); + block9param0 = v137; + block9param1 = v136; + cff = 9usize; + break 'l8; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v91, ()) = (block9param0.clone(), ()); + let (v95, ()) = (block9param1.clone(), ()); + let (v94, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v94.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v95.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l6: loop { + let (v123, ()) = (block7param0.clone(), ()); + let (v124, ()) = (block7param1.clone(), ()); + let (v125, ()) = (block7param2.clone(), ()); + let (v126, ()) = (block7param3.clone(), ()); + let (v39, ()) = (0u32, ()); + let (v42, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v125.clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v39.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v123.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v123; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v114, ()) = (block5param0.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v114.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v114.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func29<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block19param0: u32; + let mut block20param0: u32; + let mut block21param0: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block23param0: u32; + let mut block24param0: u32; + let mut block25param0: u32; + let mut block26param0: u32; + let mut block27param0: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block31param4: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block34param3: u32; + let mut block34param4: u32; + let mut block34param5: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block35param2: u32; + let mut block35param3: u32; + let mut block35param4: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block37param0: u32; + let mut block37param1: u32; + let mut block37param2: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (4294967288u32, ()); + let (v2, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v3, ()) = (4294967292u32, ()); + let (v4, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (4294967288u32, ()); + let (v7, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (1u32, ()); + let (v10, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block5param0 = v8; + block5param1 = v2; + block5param2 = v7; + cff = 5usize; + } else { + block6param0 = v5; + block6param1 = v2; + block6param2 = v7; + block6param3 = v8; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v300, ()) = (block6param0.clone(), ()); + let (v302, ()) = (block6param1.clone(), ()); + let (v304, ()) = (block6param2.clone(), ()); + let (v307, ()) = (block6param3.clone(), ()); + let (v12, ()) = (3u32, ()); + let (v13, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v300.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + cff = 4usize; + break 'l3; + } else { + block7param0 = v302; + block7param1 = v304; + block7param2 = v307; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v301, ()) = (block7param0.clone(), ()); + let (v303, ()) = (block7param1.clone(), ()); + let (v306, ()) = (block7param2.clone(), ()); + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v301.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (0u32, ()); + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v22.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v24 != 0 { + block8param0 = v306; + block8param1 = v17; + block8param2 = v20; + block8param3 = v21; + cff = 8usize; + } else { + block9param0 = v306; + block9param1 = v20; + block9param2 = v21; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v305, ()) = (block8param0.clone(), ()); + let (v308, ()) = (block8param1.clone(), ()); + let (v309, ()) = (block8param2.clone(), ()); + let (v310, ()) = (block8param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + (::wars_rt::func::cast::<_, _, C>(v308.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v305; + block5param1 = v310; + block5param2 = v309; + cff = 5usize; + break 'l11; + } + } + 1usize => { + 'l10: loop { + let (v311, ()) = (block9param0.clone(), ()); + let (v312, ()) = (block9param1.clone(), ()); + let (v313, ()) = (block9param2.clone(), ()); + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v311.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (3u32, ()); + let (v30, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (3u32, ()); + let (v32, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block5param0 = v311; + block5param1 = v313; + block5param2 = v312; + cff = 5usize; + break 'l10; + } else { + block10param0 = v311; + block10param1 = v312; + block10param2 = v313; + cff = 10usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v314, ()) = (block10param0.clone(), ()); + let (v315, ()) = (block10param1.clone(), ()); + let (v316, ()) = (block10param2.clone(), ()); + let (v33, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (4294967294u32, ()); + let (v40, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (1u32, ()); + let (v45, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v316.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v314.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + 1usize => { + 'l2: loop { + let (v51, ()) = (block5param0.clone(), ()); + let (v74, ()) = (block5param1.clone(), ()); + let (v78, ()) = (block5param2.clone(), ()); + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v51.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = (2u32, ()); + let (v55, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v55 != 0 { + block13param0 = v51; + block13param1 = v53; + block13param2 = v74; + block13param3 = v78; + cff = 13usize; + } else { + block14param0 = v74; + block14param1 = v78; + block14param2 = v51; + block14param3 = v53; + cff = 14usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + 14usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v319, ()) = (block13param0.clone(), ()); + let (v320, ()) = (block13param1.clone(), ()); + let (v321, ()) = (block13param2.clone(), ()); + let (v322, ()) = (block13param3.clone(), ()); + let (v94, ()) = (4294967294u32, ()); + let (v95, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v319.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v99, ()) = (1u32, ()); + let (v100, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v321.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v321.clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v102.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v322; + block12param1 = v321; + cff = 12usize; + break 'l6; + } + } + 1usize => { + 'l7: loop { + let (v295, ()) = (block14param0.clone(), ()); + let (v298, ()) = (block14param1.clone(), ()); + let (v323, ()) = (block14param2.clone(), ()); + let (v328, ()) = (block14param3.clone(), ()); + let (v57, ()) = (0u32, ()); + let (v58, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v57.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v323.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block11param0 = v295; + block11param1 = v298; + cff = 11usize; + } else { + block15param0 = v295; + block15param1 = v298; + block15param2 = v323; + block15param3 = v328; + cff = 15usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v317, ()) = (block11param0.clone(), ()); + let (v318, ()) = (block11param1.clone(), ()); + let (v138, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v138.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v141, ()) = (0u32, ()); + let (v142, ()) = (0u32, ()); + let (v143, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v142.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v141.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v147, ()) = (1u32, ()); + let (v148, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v317.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (0u32, ()); + let (v151, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v152 != 0 { + block25param0 = v145; + cff = 25usize; + } else { + block26param0 = v145; + cff = 26usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v338, ()) = (block26param0.clone(), ()); + let (v153, ()) = (0u32, ()); + let (v154, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v153.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = (0u32, ()); + let (v157, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v156.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block25param0 = v338; + cff = 25usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v159, ()) = (block25param0.clone(), ()); + let (v161, ()) = (0u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v161.clone() + 1049852u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v163 != 0 { + cff = 4usize; + break 'l17; + } else { + block27param0 = v162; + cff = 27usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v340, ()) = (block27param0.clone(), ()); + let (v164, ()) = (0u32, ()); + let (v165, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v166 != 0 { + cff = 4usize; + break 'l23; + } else { + block28param0 = v340; + block28param1 = v165; + cff = 28usize; + }; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v339, ()) = (block28param0.clone(), ()); + let (v343, ()) = (block28param1.clone(), ()); + let (v167, ()) = (0u32, ()); + let (v168, ()) = (0u32, ()); + let (v169, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v168.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v170, ()) = (41u32, ()); + let (v171, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v171 != 0 { + block29param0 = v167; + block29param1 = v169; + block29param2 = v339; + cff = 29usize; + } else { + block30param0 = v339; + block30param1 = v343; + block30param2 = v167; + block30param3 = v169; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v341, ()) = (block30param0.clone(), ()); + let (v342, ()) = (block30param1.clone(), ()); + let (v344, ()) = (block30param2.clone(), ()); + let (v345, ()) = (block30param3.clone(), ()); + let (v172, ()) = (1049540u32, ()); + block31param0 = v172; + block31param1 = v342; + block31param2 = v344; + block31param3 = v345; + block31param4 = v341; + cff = 31usize; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l35: loop { + let (v173, ()) = (block31param0.clone(), ()); + let (v175, ()) = (block31param1.clone(), ()); + let (v204, ()) = (block31param2.clone(), ()); + let (v220, ()) = (block31param3.clone(), ()); + let (v235, ()) = (block31param4.clone(), ()); + let (v174, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v173.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v176, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v176 != 0 { + block33param0 = v173; + block33param1 = v175; + block33param2 = v204; + block33param3 = v220; + block33param4 = v235; + cff = 33usize; + } else { + block34param0 = v173; + block34param1 = v174; + block34param2 = v175; + block34param3 = v204; + block34param4 = v220; + block34param5 = v235; + cff = 34usize; + }; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v352, ()) = (block34param0.clone(), ()); + let (v353, ()) = (block34param1.clone(), ()); + let (v354, ()) = (block34param2.clone(), ()); + let (v355, ()) = (block34param3.clone(), ()); + let (v356, ()) = (block34param4.clone(), ()); + let (v357, ()) = (block34param5.clone(), ()); + let (v179, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v352.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v180, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v353.clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v182, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v182 != 0 { + block29param0 = v355; + block29param1 = v356; + block29param2 = v357; + cff = 29usize; + break 'l40; + } else { + block35param0 = v352; + block35param1 = v354; + block35param2 = v355; + block35param3 = v356; + block35param4 = v357; + cff = 35usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + let (v358, ()) = (block35param0.clone(), ()); + let (v359, ()) = (block35param1.clone(), ()); + let (v360, ()) = (block35param2.clone(), ()); + let (v361, ()) = (block35param3.clone(), ()); + let (v362, ()) = (block35param4.clone(), ()); + block33param0 = v358; + block33param1 = v359; + block33param2 = v360; + block33param3 = v361; + block33param4 = v362; + cff = 33usize; + break 'l42; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l39: loop { + let (v183, ()) = (block33param0.clone(), ()); + let (v188, ()) = (block33param1.clone(), ()); + let (v206, ()) = (block33param2.clone(), ()); + let (v222, ()) = (block33param3.clone(), ()); + let (v237, ()) = (block33param4.clone(), ()); + let (v185, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v183.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v185 != 0 { + block31param0 = v185; + block31param1 = v188; + block31param2 = v206; + block31param3 = v222; + block31param4 = v237; + cff = 31usize; + continue 'l35; + } else { + block36param0 = v206; + block36param1 = v222; + block36param2 = v237; + cff = 36usize; + }; + let mut cff2 = match cff { + 36usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v347, ()) = (block36param0.clone(), ()); + let (v349, ()) = (block36param1.clone(), ()); + let (v351, ()) = (block36param2.clone(), ()); + block32param0 = v347; + block32param1 = v349; + block32param2 = v351; + cff = 32usize; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v346, ()) = (block32param0.clone(), ()); + let (v348, ()) = (block32param1.clone(), ()); + let (v350, ()) = (block32param2.clone(), ()); + block29param0 = v346; + block29param1 = v348; + block29param2 = v350; + cff = 29usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v202, ()) = (block29param0.clone(), ()); + let (v218, ()) = (block29param1.clone(), ()); + let (v231, ()) = (block29param2.clone(), ()); + let (v190, ()) = (0u32, ()); + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v190.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v192, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v192 != 0 { + block37param0 = v202; + block37param1 = v218; + block37param2 = v231; + cff = 37usize; + } else { + block38param0 = v191; + block38param1 = v218; + block38param2 = v231; + cff = 38usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v363, ()) = (block38param0.clone(), ()); + let (v369, ()) = (block38param1.clone(), ()); + let (v373, ()) = (block38param2.clone(), ()); + let (v193, ()) = (0u32, ()); + block39param0 = v193; + block39param1 = v363; + block39param2 = v369; + block39param3 = v373; + cff = 39usize; + let mut cff2 = match cff { + 39usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v194, ()) = (block39param0.clone(), ()); + let (v197, ()) = (block39param1.clone(), ()); + let (v368, ()) = (block39param2.clone(), ()); + let (v372, ()) = (block39param3.clone(), ()); + let (v195, ()) = (1u32, ()); + let (v196, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v198, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v197.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v198 != 0 { + block39param0 = v196; + block39param1 = v198; + block39param2 = v368; + block39param3 = v372; + cff = 39usize; + continue 'l38; + } else { + block41param0 = v196; + block41param1 = v368; + block41param2 = v372; + cff = 41usize; + }; + let mut cff2 = match cff { + 41usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v365, ()) = (block41param0.clone(), ()); + let (v367, ()) = (block41param1.clone(), ()); + let (v371, ()) = (block41param2.clone(), ()); + block40param0 = v365; + block40param1 = v367; + block40param2 = v371; + cff = 40usize; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v364, ()) = (block40param0.clone(), ()); + let (v366, ()) = (block40param1.clone(), ()); + let (v370, ()) = (block40param2.clone(), ()); + block37param0 = v364; + block37param1 = v366; + block37param2 = v370; + cff = 37usize; + break 'l44; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l33: loop { + let (v201, ()) = (block37param0.clone(), ()); + let (v217, ()) = (block37param1.clone(), ()); + let (v230, ()) = (block37param2.clone(), ()); + let (v200, ()) = (0u32, ()); + let (v212, ()) = (4095u32, ()); + let (v213, ()) = (4095u32, ()); + let (v214, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v213.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v215, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ::wars_rt::func::cast::<_, _, C>(v212.clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v200.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v215.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v245 != 0 { + cff = 4usize; + break 'l33; + } else { + cff = 42usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l37: loop { + let (v246, ()) = (0u32, ()); + let (v247, ()) = (4294967295u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v246.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 4usize; + break 'l37; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l13: loop { + let (v294, ()) = (block15param0.clone(), ()); + let (v297, ()) = (block15param1.clone(), ()); + let (v324, ()) = (block15param2.clone(), ()); + let (v327, ()) = (block15param3.clone(), ()); + let (v61, ()) = (0u32, ()); + let (v62, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v61.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v324.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v63 != 0 { + block2param0 = v294; + block2param1 = v297; + cff = 2usize; + } else { + block16param0 = v324; + block16param1 = v327; + block16param2 = v294; + block16param3 = v297; + cff = 16usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 16usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v293, ()) = (block2param0.clone(), ()); + let (v296, ()) = (block2param1.clone(), ()); + let (v279, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v279.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v293.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v282, ()) = (0u32, ()); + let (v283, ()) = (0u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v283.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v286, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v282.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = (1u32, ()); + let (v289, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ::wars_rt::func::cast::<_, _, C>(v288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v293.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v291, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v293.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v291.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l20: loop { + let (v325, ()) = (block16param0.clone(), ()); + let (v326, ()) = (block16param1.clone(), ()); + let (v329, ()) = (block16param2.clone(), ()); + let (v330, ()) = (block16param3.clone(), ()); + let (v68, ()) = (4294967288u32, ()); + let (v69, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v325.clone()), + (::wars_rt::func::cast::<_, _, C>(v69.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (1u32, ()); + let (v82, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v329.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (0u32, ()); + let (v87, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v86.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v88 != 0 { + block12param0 = v80; + block12param1 = v329; + cff = 12usize; + break 'l20; + } else { + block17param0 = v80; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v331, ()) = (block17param0.clone(), ()); + let (v89, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v89.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v104, ()) = (block12param0.clone(), ()); + let (v108, ()) = (block12param1.clone(), ()); + let (v105, ()) = (256u32, ()); + let (v106, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v106 != 0 { + block3param0 = v104; + block3param1 = v108; + cff = 3usize; + } else { + block18param0 = v104; + block18param1 = v108; + cff = 18usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 18usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v299, ()) = (block3param0.clone(), ()); + let (v375, ()) = (block3param1.clone(), ()); + let (v250, ()) = (4294967288u32, ()); + let (v251, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v299.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = (1049556u32, ()); + let (v253, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v252.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v254, ()) = (0u32, ()); + let (v255, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v254.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v256, ()) = (1u32, ()); + let (v257, ()) = (3u32, ()); + let (v258, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v299.clone()), + ::wars_rt::func::cast::<_, _, C>(v257.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v260, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v260 != 0 { + block44param0 = v375; + block44param1 = v253; + cff = 44usize; + } else { + block45param0 = v375; + block45param1 = v253; + block45param2 = v255; + block45param3 = v259; + cff = 45usize; + }; + let mut cff2 = match cff { + 44usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v374, ()) = (block44param0.clone(), ()); + let (v376, ()) = (block44param1.clone(), ()); + let (v268, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v376.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v376; + block43param1 = v374; + block43param2 = v268; + cff = 43usize; + break 'l16; + } + } + 1usize => { + 'l15: loop { + let (v377, ()) = (block45param0.clone(), ()); + let (v378, ()) = (block45param1.clone(), ()); + let (v379, ()) = (block45param2.clone(), ()); + let (v380, ()) = (block45param3.clone(), ()); + let (v261, ()) = (0u32, ()); + let (v264, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v261.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v264.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v378; + block43param1 = v377; + block43param2 = v378; + cff = 43usize; + break 'l15; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v269, ()) = (block43param0.clone(), ()); + let (v270, ()) = (block43param1.clone(), ()); + let (v275, ()) = (block43param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v269.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v275.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v270.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v270.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + 1usize => { + 'l8: loop { + let (v332, ()) = (block18param0.clone(), ()); + let (v333, ()) = (block18param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + (::wars_rt::func::cast::<_, _, C>(v332.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = (0u32, ()); + let (v113, ()) = (0u32, ()); + let (v114, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v113.clone() + 1049860u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = (4294967295u32, ()); + let (v116, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v112.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v116 != 0 { + cff = 4usize; + break 'l8; + } else { + block19param0 = v111; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v334, ()) = (block19param0.clone(), ()); + let (v118, ()) = (0u32, ()); + let (v119, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v118.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v120, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v120 != 0 { + block20param0 = v334; + cff = 20usize; + } else { + block21param0 = v119; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v335, ()) = (block21param0.clone(), ()); + let (v121, ()) = (0u32, ()); + block22param0 = v121; + block22param1 = v335; + cff = 22usize; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v122, ()) = (block22param0.clone(), ()); + let (v125, ()) = (block22param1.clone(), ()); + let (v123, ()) = (1u32, ()); + let (v124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v125.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v126 != 0 { + block22param0 = v124; + block22param1 = v126; + cff = 22usize; + continue 'l29; + } else { + block24param0 = v124; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v337, ()) = (block24param0.clone(), ()); + block23param0 = v337; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v336, ()) = (block23param0.clone(), ()); + block20param0 = v336; + cff = 20usize; + break 'l36; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l24: loop { + let (v129, ()) = (block20param0.clone(), ()); + let (v128, ()) = (0u32, ()); + let (v133, ()) = (4095u32, ()); + let (v134, ()) = (4095u32, ()); + let (v135, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v128.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func30<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block4param5: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block18param7: u32; + let mut block18param8: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block21param9: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block24param8: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + let mut block32param4: u32; + let mut block32param5: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block35param2: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block36param3: u32; + let mut block36param4: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block38param3: u32; + let mut block38param4: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block39param4: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block41param4: u32; + let mut block41param5: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block42param4: u32; + let mut block42param5: u32; + let mut block42param6: u32; + let mut block42param7: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block43param4: u32; + let mut block43param5: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block44param2: u32; + let mut block44param3: u32; + let mut block44param4: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + let mut block45param4: u32; + let mut block46param0: u32; + let mut block46param1: u32; + let mut block46param2: u32; + let mut block46param3: u32; + let mut block46param4: u32; + let mut block46param5: u32; + let mut block46param6: u32; + let mut block47param0: u32; + let mut block47param1: u32; + let mut block47param2: u32; + let mut block47param3: u32; + let mut block47param4: u32; + let mut block47param5: u32; + let mut block47param6: u32; + let mut block48param0: u32; + let mut block48param1: u32; + let mut block48param2: u32; + let mut block48param3: u32; + let mut block48param4: u32; + let mut block48param5: u32; + let mut block48param6: u32; + let mut block49param0: u32; + let mut block49param1: u32; + let mut block49param2: u32; + let mut block49param3: u32; + let mut block49param4: u32; + let mut block49param5: u32; + let mut block50param0: u32; + let mut block50param1: u32; + let mut block50param2: u32; + let mut block50param3: u32; + let mut block50param4: u32; + let mut block50param5: u32; + let mut block50param6: u32; + let mut block51param0: u32; + let mut block51param1: u32; + let mut block51param2: u32; + let mut block51param3: u32; + let mut block51param4: u32; + let mut block51param5: u32; + let mut block52param0: u32; + let mut block52param1: u32; + let mut block52param2: u32; + let mut block52param3: u32; + let mut block52param4: u32; + let mut block52param5: u32; + let mut block53param0: u32; + let mut block53param1: u32; + let mut block53param2: u32; + let mut block53param3: u32; + let mut block54param0: u32; + let mut block54param1: u32; + let mut block54param2: u32; + let mut block54param3: u32; + let mut block55param0: u32; + let mut block55param1: u32; + let mut block55param2: u32; + let mut block55param3: u32; + let mut block55param4: u32; + let mut block56param0: u32; + let mut block56param1: u32; + let mut block56param2: u32; + let mut block56param3: u32; + let mut block56param4: u32; + let mut block56param5: u32; + let mut block57param0: u32; + let mut block57param1: u32; + let mut block57param2: u32; + let mut block57param3: u32; + let mut block58param0: u32; + let mut block58param1: u32; + let mut block58param2: u32; + let mut block58param3: u32; + let mut block58param4: u32; + let mut block59param0: u32; + let mut block59param1: u32; + let mut block59param2: u32; + let mut block59param3: u32; + let mut block59param4: u32; + let mut block59param5: u32; + let mut block59param6: u32; + let mut block60param0: u32; + let mut block60param1: u32; + let mut block60param2: u32; + let mut block60param3: u32; + let mut block60param4: u32; + let mut block60param5: u32; + let mut block61param0: u32; + let mut block61param1: u32; + let mut block61param2: u32; + let mut block61param3: u32; + let mut block61param4: u32; + let mut block61param5: u32; + let mut block61param6: u32; + let mut block61param7: u32; + let mut block62param0: u32; + let mut block62param1: u32; + let mut block62param2: u32; + let mut block62param3: u32; + let mut block62param4: u32; + let mut block63param0: u32; + let mut block63param1: u32; + let mut block63param2: u32; + let mut block63param3: u32; + let mut block63param4: u32; + let mut block63param5: u32; + let mut block64param0: u32; + let mut block64param1: u32; + let mut block64param2: u32; + let mut block64param3: u32; + let mut block64param4: u32; + let mut block64param5: u32; + let mut block65param0: u32; + let mut block65param1: u32; + let mut block66param0: u32; + let mut block66param1: u32; + let mut block66param2: u32; + let mut block66param3: u32; + let mut block67param0: u32; + let mut block67param1: u32; + let mut block67param2: u32; + let mut block67param3: u32; + let mut block68param0: u32; + let mut block68param1: u32; + let mut block68param2: u32; + let mut block68param3: u32; + let mut block69param0: u32; + let mut block69param1: u32; + let mut block69param2: u32; + let mut block69param3: u32; + let mut block69param4: u32; + let mut block70param0: u32; + let mut block70param1: u32; + let mut block70param2: u32; + let mut block70param3: u32; + let mut block70param4: u32; + let mut block70param5: u32; + let mut block70param6: u32; + let mut block71param0: u32; + let mut block71param1: u32; + let mut block71param2: u32; + let mut block71param3: u32; + let mut block71param4: u32; + let mut block71param5: u32; + let mut block72param0: u32; + let mut block72param1: u32; + let mut block72param2: u32; + let mut block72param3: u32; + let mut block72param4: u32; + let mut block72param5: u32; + let mut block72param6: u32; + let mut block72param7: u32; + let mut block73param0: u32; + let mut block73param1: u32; + let mut block73param2: u32; + let mut block73param3: u32; + let mut block73param4: u32; + let mut block74param0: u32; + let mut block74param1: u32; + let mut block74param2: u32; + let mut block74param3: u32; + let mut block74param4: u32; + let mut block75param0: u32; + let mut block75param1: u32; + let mut block75param2: u32; + let mut block75param3: u32; + let mut block75param4: u32; + let mut block76param0: u32; + let mut block76param1: u32; + let mut block76param2: u32; + let mut block76param3: u32; + let mut block76param4: u32; + let mut block77param0: u32; + let mut block77param1: u32; + let mut block77param2: u32; + let mut block77param3: u32; + let mut block77param4: u32; + let mut block78param0: u32; + let mut block78param1: u32; + let mut block78param2: u32; + let mut block78param3: u32; + let mut block79param0: u32; + let mut block79param1: u32; + let mut block79param2: u32; + let mut block79param3: u32; + let mut block79param4: u32; + let mut block79param5: u32; + let mut block79param6: u32; + let mut block79param7: u32; + let mut block80param0: u32; + let mut block80param1: u32; + let mut block80param2: u32; + let mut block80param3: u32; + let mut block80param4: u32; + let mut block80param5: u32; + let mut block80param6: u32; + let mut block80param7: u32; + let mut block81param0: u32; + let mut block81param1: u32; + let mut block81param2: u32; + let mut block81param3: u32; + let mut block82param0: u32; + let mut block82param1: u32; + let mut block82param2: u32; + let mut block82param3: u32; + let mut block83param0: u32; + let mut block83param1: u32; + let mut block83param2: u32; + let mut block83param3: u32; + let mut block84param0: u32; + let mut block84param1: u32; + let mut block84param2: u32; + let mut block84param3: u32; + let mut block84param4: u32; + let mut block85param0: u32; + let mut block85param1: u32; + let mut block85param2: u32; + let mut block85param3: u32; + let mut block86param0: u32; + let mut block86param1: u32; + let mut block86param2: u32; + let mut block86param3: u32; + let mut block86param4: u32; + let mut block86param5: u32; + let mut block87param0: u32; + let mut block87param1: u32; + let mut block87param2: u32; + let mut block87param3: u32; + let mut block87param4: u32; + let mut block87param5: u32; + let mut block87param6: u32; + let mut block87param7: u32; + let mut block88param0: u32; + let mut block88param1: u32; + let mut block88param2: u32; + let mut block88param3: u32; + let mut block88param4: u32; + let mut block88param5: u32; + let mut block89param0: u32; + let mut block89param1: u32; + let mut block89param2: u32; + let mut block89param3: u32; + let mut block89param4: u32; + let mut block90param0: u32; + let mut block90param1: u32; + let mut block90param2: u32; + let mut block90param3: u32; + let mut block90param4: u32; + let mut block91param0: u32; + let mut block91param1: u32; + let mut block91param2: u32; + let mut block91param3: u32; + let mut block91param4: u32; + let mut block91param5: u32; + let mut block91param6: u32; + let mut block92param0: u32; + let mut block92param1: u32; + let mut block92param2: u32; + let mut block92param3: u32; + let mut block92param4: u32; + let mut block92param5: u32; + let mut block92param6: u32; + let mut block93param0: u32; + let mut block93param1: u32; + let mut block93param2: u32; + let mut block93param3: u32; + let mut block93param4: u32; + let mut block93param5: u32; + let mut block93param6: u32; + let mut block94param0: u32; + let mut block94param1: u32; + let mut block94param2: u32; + let mut block94param3: u32; + let mut block94param4: u32; + let mut block94param5: u32; + let mut block95param0: u32; + let mut block95param1: u32; + let mut block95param2: u32; + let mut block95param3: u32; + let mut block95param4: u32; + let mut block95param5: u32; + let mut block95param6: u32; + let mut block96param0: u32; + let mut block96param1: u32; + let mut block96param2: u32; + let mut block96param3: u32; + let mut block96param4: u32; + let mut block96param5: u32; + let mut block97param0: u32; + let mut block97param1: u32; + let mut block97param2: u32; + let mut block97param3: u32; + let mut block97param4: u32; + let mut block97param5: u32; + let mut block98param0: u32; + let mut block98param1: u32; + let mut block98param2: u32; + let mut block98param3: u32; + let mut block99param0: u32; + let mut block99param1: u32; + let mut block100param0: u32; + let mut block100param1: u32; + let mut block101param0: u32; + let mut block101param1: u32; + let mut block101param2: u32; + let mut block101param3: u32; + let mut block102param0: u32; + let mut block102param1: u32; + let mut block102param2: u32; + let mut block102param3: u32; + let mut block103param0: u32; + let mut block103param1: u32; + let mut block103param2: u32; + let mut block103param3: u32; + let mut block103param4: u32; + let mut block104param0: u32; + let mut block104param1: u32; + let mut block104param2: u32; + let mut block105param0: u32; + let mut block105param1: u32; + let mut block106param0: u32; + let mut block106param1: u32; + let mut block106param2: u32; + let mut block107param0: u32; + let mut block107param1: u32; + let mut block108param0: u32; + let mut block108param1: u32; + let mut block108param2: u32; + let mut block109param0: u32; + let mut block110param0: u32; + let mut block110param1: u32; + let mut block110param2: u32; + let mut block110param3: u32; + let mut block110param4: u32; + let mut block110param5: u32; + let mut block111param0: u32; + let mut block111param1: u32; + let mut block111param2: u32; + let mut block111param3: u32; + let mut block111param4: u32; + let mut block111param5: u32; + let mut block111param6: u32; + let mut block111param7: u32; + let mut block111param8: u32; + let mut block112param0: u32; + let mut block112param1: u32; + let mut block112param2: u32; + let mut block112param3: u32; + let mut block112param4: u32; + let mut block113param0: u32; + let mut block113param1: u32; + let mut block113param2: u32; + let mut block113param3: u32; + let mut block113param4: u32; + let mut block113param5: u32; + let mut block114param0: u32; + let mut block114param1: u32; + let mut block114param2: u32; + let mut block114param3: u32; + let mut block114param4: u32; + let mut block114param5: u32; + let mut block114param6: u32; + let mut block116param0: u32; + let mut block116param1: u32; + let mut block116param2: u32; + let mut block116param3: u32; + let mut block116param4: u32; + let mut block116param5: u32; + let mut block116param6: u32; + let mut block117param0: u32; + let mut block117param1: u32; + let mut block117param2: u32; + let mut block117param3: u32; + let mut block117param4: u32; + let mut block117param5: u32; + let mut block118param0: u32; + let mut block118param1: u32; + let mut block118param2: u32; + let mut block118param3: u32; + let mut block118param4: u32; + let mut block119param0: u32; + let mut block119param1: u32; + let mut block119param2: u32; + let mut block119param3: u32; + let mut block119param4: u32; + let mut block120param0: u32; + let mut block120param1: u32; + let mut block120param2: u32; + let mut block120param3: u32; + let mut block120param4: u32; + let mut block120param5: u32; + let mut block121param0: u32; + let mut block121param1: u32; + let mut block121param2: u32; + let mut block121param3: u32; + let mut block121param4: u32; + let mut block122param0: u32; + let mut block122param1: u32; + let mut block122param2: u32; + let mut block122param3: u32; + let mut block122param4: u32; + let mut block122param5: u32; + let mut block122param6: u32; + let mut block122param7: u32; + let mut block122param8: u32; + let mut block123param0: u32; + let mut block123param1: u32; + let mut block123param2: u32; + let mut block123param3: u32; + let mut block123param4: u32; + let mut block123param5: u32; + let mut block123param6: u32; + let mut block123param7: u32; + let mut block124param0: u32; + let mut block124param1: u32; + let mut block124param2: u32; + let mut block124param3: u32; + let mut block124param4: u32; + let mut block124param5: u32; + let mut block124param6: u32; + let mut block124param7: u32; + let mut block124param8: u32; + let mut block125param0: u32; + let mut block125param1: u32; + let mut block125param2: u32; + let mut block125param3: u32; + let mut block125param4: u32; + let mut block125param5: u32; + let mut block126param0: u32; + let mut block126param1: u32; + let mut block126param2: u32; + let mut block126param3: u32; + let mut block126param4: u32; + let mut block126param5: u32; + let mut block127param0: u32; + let mut block127param1: u32; + let mut block127param2: u32; + let mut block127param3: u32; + let mut block127param4: u32; + let mut block127param5: u32; + let mut block128param0: u32; + let mut block128param1: u32; + let mut block128param2: u32; + let mut block128param3: u32; + let mut block128param4: u32; + let mut block128param5: u32; + let mut block128param6: u32; + let mut block128param7: u32; + let mut block129param0: u32; + let mut block129param1: u32; + let mut block129param2: u32; + let mut block129param3: u32; + let mut block129param4: u32; + let mut block129param5: u32; + let mut block129param6: u32; + let mut block129param7: u32; + let mut block131param0: u32; + let mut block131param1: u32; + let mut block131param2: u32; + let mut block131param3: u32; + let mut block131param4: u32; + let mut block131param5: u32; + let mut block131param6: u32; + let mut block131param7: u32; + let mut block132param0: u32; + let mut block132param1: u32; + let mut block132param2: u32; + let mut block132param3: u32; + let mut block132param4: u32; + let mut block132param5: u32; + let mut block133param0: u32; + let mut block133param1: u32; + let mut block133param2: u32; + let mut block133param3: u32; + let mut block133param4: u32; + let mut block133param5: u32; + let mut block133param6: u32; + let mut block133param7: u32; + let mut block133param8: u32; + let mut block134param0: u32; + let mut block134param1: u32; + let mut block134param2: u32; + let mut block134param3: u32; + let mut block134param4: u32; + let mut block134param5: u32; + let mut block135param0: u32; + let mut block135param1: u32; + let mut block135param2: u32; + let mut block135param3: u32; + let mut block135param4: u32; + let mut block135param5: u32; + let mut block135param6: u32; + let mut block136param0: u32; + let mut block136param1: u32; + let mut block136param2: u32; + let mut block136param3: u32; + let mut block136param4: u32; + let mut block136param5: u32; + let mut block136param6: u32; + let mut block138param0: u32; + let mut block138param1: u32; + let mut block138param2: u32; + let mut block138param3: u32; + let mut block138param4: u32; + let mut block138param5: u32; + let mut block138param6: u32; + let mut block139param0: u32; + let mut block139param1: u32; + let mut block139param2: u32; + let mut block139param3: u32; + let mut block139param4: u32; + let mut block139param5: u32; + let mut block139param6: u32; + let mut block139param7: u32; + let mut block140param0: u32; + let mut block140param1: u32; + let mut block140param2: u32; + let mut block140param3: u32; + let mut block140param4: u32; + let mut block140param5: u32; + let mut block140param6: u32; + let mut block141param0: u32; + let mut block141param1: u32; + let mut block141param2: u32; + let mut block141param3: u32; + let mut block141param4: u32; + let mut block141param5: u32; + let mut block142param0: u32; + let mut block142param1: u32; + let mut block142param2: u32; + let mut block142param3: u32; + let mut block143param0: u32; + let mut block143param1: u32; + let mut block143param2: u32; + let mut block143param3: u32; + let mut block144param0: u32; + let mut block144param1: u32; + let mut block144param2: u32; + let mut block144param3: u32; + let mut block145param0: u32; + let mut block145param1: u32; + let mut block145param2: u32; + let mut block145param3: u32; + let mut block146param0: u32; + let mut block146param1: u32; + let mut block146param2: u32; + let mut block146param3: u32; + let mut block147param0: u32; + let mut block147param1: u32; + let mut block147param2: u32; + let mut block147param3: u32; + let mut block147param4: u32; + let mut block148param0: u32; + let mut block148param1: u32; + let mut block148param2: u32; + let mut block148param3: u32; + let mut block149param0: u32; + let mut block149param1: u32; + let mut block149param2: u32; + let mut block149param3: u32; + let mut block149param4: u32; + let mut block149param5: u32; + let mut block150param0: u32; + let mut block150param1: u32; + let mut block150param2: u32; + let mut block150param3: u32; + let mut block150param4: u32; + let mut block151param0: u32; + let mut block151param1: u32; + let mut block151param2: u32; + let mut block151param3: u32; + let mut block151param4: u32; + let mut block152param0: u32; + let mut block152param1: u32; + let mut block152param2: u32; + let mut block152param3: u32; + let mut block152param4: u32; + let mut block152param5: u32; + let mut block153param0: u32; + let mut block153param1: u32; + let mut block153param2: u32; + let mut block153param3: u32; + let mut block153param4: u32; + let mut block153param5: u32; + let mut block154param0: u32; + let mut block154param1: u32; + let mut block154param2: u32; + let mut block154param3: u32; + let mut block155param0: u32; + let mut block155param1: u32; + let mut block155param2: u32; + let mut block155param3: u32; + let mut block156param0: u32; + let mut block156param1: u32; + let mut block156param2: u32; + let mut block156param3: u32; + let mut block156param4: u32; + let mut block157param0: u32; + let mut block157param1: u32; + let mut block157param2: u32; + let mut block157param3: u32; + let mut block158param0: u32; + let mut block158param1: u32; + let mut block158param2: u32; + let mut block158param3: u32; + let mut block158param4: u32; + let mut block158param5: u32; + let mut block159param0: u32; + let mut block159param1: u32; + let mut block160param0: u32; + let mut block160param1: u32; + let mut block160param2: u32; + let mut block160param3: u32; + let mut block160param4: u32; + let mut block161param0: u32; + let mut block161param1: u32; + let mut block161param2: u32; + let mut block162param0: u32; + let mut block162param1: u32; + let mut block162param2: u32; + let mut block163param0: u32; + let mut block163param1: u32; + let mut block163param2: u32; + let mut block163param3: u32; + let mut block163param4: u32; + let mut block164param0: u32; + let mut block164param1: u32; + let mut block164param2: u32; + let mut block164param3: u32; + let mut block164param4: u32; + let mut block164param5: u32; + let mut block165param0: u32; + let mut block165param1: u32; + let mut block165param2: u32; + let mut block165param3: u32; + let mut block165param4: u32; + let mut block165param5: u32; + let mut block166param0: u32; + let mut block166param1: u32; + let mut block167param0: u32; + let mut block167param1: u32; + let mut block167param2: u32; + let mut block167param3: u32; + let mut block168param0: u32; + let mut block168param1: u32; + let mut block168param2: u32; + let mut block168param3: u32; + let mut block169param0: u32; + let mut block169param1: u32; + let mut block169param2: u32; + let mut block169param3: u32; + let mut block170param0: u32; + let mut block170param1: u32; + let mut block170param2: u32; + let mut block170param3: u32; + let mut block171param0: u32; + let mut block171param1: u32; + let mut block171param2: u32; + let mut block171param3: u32; + let mut block171param4: u32; + let mut block172param0: u32; + let mut block172param1: u32; + let mut block172param2: u32; + let mut block172param3: u32; + let mut block173param0: u32; + let mut block173param1: u32; + let mut block173param2: u32; + let mut block173param3: u32; + let mut block173param4: u32; + let mut block173param5: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (16u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (245u32, ()); + let (v7, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block9param0 = v1; + block9param1 = v4; + cff = 9usize; + } else { + block10param0 = v1; + block10param1 = v4; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v1958, ()) = (block9param0.clone(), ()); + let (v2017, ()) = (block9param1.clone(), ()); + let (v122, ()) = (0u32, ()); + let (v123, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v122.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v124, ()) = (16u32, ()); + let (v126, ()) = (11u32, ()); + let (v127, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1958.clone()), + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = (4294967288u32, ()); + let (v129, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v127.clone()), + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v130, ()) = (11u32, ()); + let (v131, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1958.clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v132, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v131.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = (3u32, ()); + let (v134, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v132.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v135, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v136, ()) = (3u32, ()); + let (v137, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v138, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v138 != 0 { + block25param0 = v2017; + block25param1 = v132; + block25param2 = v135; + block25param3 = v134; + block25param4 = v123; + cff = 25usize; + } else { + block26param0 = v134; + block26param1 = v135; + block26param2 = v2017; + block26param3 = v123; + cff = 26usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + 26usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v2016, ()) = (block25param0.clone(), ()); + let (v2018, ()) = (block25param1.clone(), ()); + let (v2033, ()) = (block25param2.clone(), ()); + let (v2036, ()) = (block25param3.clone(), ()); + let (v2131, ()) = (block25param4.clone(), ()); + let (v185, ()) = (0u32, ()); + let (v186, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v185.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v187, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v2018.clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v187 != 0 { + block5param0 = v2018; + block5param1 = v2016; + cff = 5usize; + break 'l8; + } else { + block30param0 = v2033; + block30param1 = v2036; + block30param2 = v2016; + block30param3 = v2018; + block30param4 = v2131; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v2032, ()) = (block30param0.clone(), ()); + let (v2035, ()) = (block30param1.clone(), ()); + let (v2039, ()) = (block30param2.clone(), ()); + let (v2041, ()) = (block30param3.clone(), ()); + let (v2130, ()) = (block30param4.clone(), ()); + if v2032 != 0 { + block33param0 = v2035; + block33param1 = v2032; + block33param2 = v2039; + block33param3 = v2130; + block33param4 = v2041; + cff = 33usize; + } else { + block34param0 = v2039; + block34param1 = v2041; + cff = 34usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + 34usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v2034, ()) = (block33param0.clone(), ()); + let (v2037, ()) = (block33param1.clone(), ()); + let (v2127, ()) = (block33param2.clone(), ()); + let (v2129, ()) = (block33param3.clone(), ()); + let (v2133, ()) = (block33param4.clone(), ()); + let (v328, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v2037.clone()), + ::wars_rt::func::cast::<_, _, C>(v2034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v329, ()) = (2u32, ()); + let (v330, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ::wars_rt::func::cast::<_, _, C>(v2034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v331, ()) = (0u32, ()); + let (v332, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v333, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v330.clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v335, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v336, ()) = (3u32, ()); + let (v337, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v335.clone()), + ::wars_rt::func::cast::<_, _, C>(v336.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v338, ()) = (1049556u32, ()); + let (v339, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v337.clone()), + ::wars_rt::func::cast::<_, _, C>(v338.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v340, ()) = (1049564u32, ()); + let (v341, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v337.clone()), + ::wars_rt::func::cast::<_, _, C>(v340.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v342, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v341.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v343, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v342.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v344, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v339.clone()), + ::wars_rt::func::cast::<_, _, C>(v343.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v344 != 0 { + block55param0 = v2127; + block55param1 = v2129; + block55param2 = v2133; + block55param3 = v335; + block55param4 = v342; + cff = 55usize; + } else { + block56param0 = v2127; + block56param1 = v2133; + block56param2 = v335; + block56param3 = v339; + block56param4 = v342; + block56param5 = v343; + cff = 56usize; + }; + let mut cff2 = match cff { + 55usize => 0usize, + 56usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v2126, ()) = (block55param0.clone(), ()); + let (v2128, ()) = (block55param1.clone(), ()); + let (v2132, ()) = (block55param2.clone(), ()); + let (v2134, ()) = (block55param3.clone(), ()); + let (v2135, ()) = (block55param4.clone(), ()); + let (v349, ()) = (0u32, ()); + let (v354, ()) = (4294967294u32, ()); + let (v356, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ::wars_rt::func::cast::<_, _, C>(v2134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v357, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2128.clone()), + ::wars_rt::func::cast::<_, _, C>(v356.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v349.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v357.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block54param0 = v2135; + block54param1 = v2132; + block54param2 = v2134; + block54param3 = v2126; + cff = 54usize; + break 'l32; + } + } + 1usize => { + 'l31: loop { + let (v2136, ()) = (block56param0.clone(), ()); + let (v2137, ()) = (block56param1.clone(), ()); + let (v2138, ()) = (block56param2.clone(), ()); + let (v2139, ()) = (block56param3.clone(), ()); + let (v2140, ()) = (block56param4.clone(), ()); + let (v2141, ()) = (block56param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2141.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2139.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2139.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2141.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block54param0 = v2140; + block54param1 = v2137; + block54param2 = v2138; + block54param3 = v2136; + cff = 54usize; + break 'l31; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l30: loop { + let (v359, ()) = (block54param0.clone(), ()); + let (v362, ()) = (block54param1.clone(), ()); + let (v370, ()) = (block54param2.clone(), ()); + let (v1829, ()) = (block54param3.clone(), ()); + let (v366, ()) = (3u32, ()); + let (v367, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v359.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v369, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v359.clone()), + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v372, ()) = (3u32, ()); + let (v373, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v370.clone()), + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v375, ()) = (1u32, ()); + let (v376, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v369.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v376.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v378, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v359.clone()), + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v378.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v380, ()) = (0u32, ()); + let (v381, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v380.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v382, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v382 != 0 { + block57param0 = v359; + block57param1 = v369; + block57param2 = v374; + block57param3 = v1829; + cff = 57usize; + } else { + block58param0 = v381; + block58param1 = v359; + block58param2 = v369; + block58param3 = v374; + block58param4 = v1829; + cff = 58usize; + }; + let mut cff2 = match cff { + 58usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l49: loop { + let (v2142, ()) = (block58param0.clone(), ()); + let (v2144, ()) = (block58param1.clone(), ()); + let (v2146, ()) = (block58param2.clone(), ()); + let (v2148, ()) = (block58param3.clone(), ()); + let (v2152, ()) = (block58param4.clone(), ()); + let (v384, ()) = (4294967288u32, ()); + let (v385, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2142.clone()), + ::wars_rt::func::cast::<_, _, C>(v384.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = (1049556u32, ()); + let (v387, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v386.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v388, ()) = (0u32, ()); + let (v389, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v388.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v390, ()) = (0u32, ()); + let (v391, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v390.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v392, ()) = (1u32, ()); + let (v393, ()) = (3u32, ()); + let (v394, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2142.clone()), + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v395, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v396, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v395.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v396 != 0 { + block60param0 = v2144; + block60param1 = v2146; + block60param2 = v2148; + block60param3 = v387; + block60param4 = v389; + block60param5 = v2152; + cff = 60usize; + } else { + block61param0 = v2144; + block61param1 = v2146; + block61param2 = v2148; + block61param3 = v387; + block61param4 = v389; + block61param5 = v391; + block61param6 = v395; + block61param7 = v2152; + cff = 61usize; + }; + let mut cff2 = match cff { + 60usize => 0usize, + 61usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l63: loop { + let (v2143, ()) = (block60param0.clone(), ()); + let (v2145, ()) = (block60param1.clone(), ()); + let (v2147, ()) = (block60param2.clone(), ()); + let (v2149, ()) = (block60param3.clone(), ()); + let (v2150, ()) = (block60param4.clone(), ()); + let (v2151, ()) = (block60param5.clone(), ()); + let (v404, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2149.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block59param0 = v2149; + block59param1 = v2150; + block59param2 = v404; + block59param3 = v2143; + block59param4 = v2145; + block59param5 = v2147; + block59param6 = v2151; + cff = 59usize; + break 'l63; + }; + } + 1usize => { + 'l62: loop { + let (v2153, ()) = (block61param0.clone(), ()); + let (v2154, ()) = (block61param1.clone(), ()); + let (v2155, ()) = (block61param2.clone(), ()); + let (v2156, ()) = (block61param3.clone(), ()); + let (v2157, ()) = (block61param4.clone(), ()); + let (v2158, ()) = (block61param5.clone(), ()); + let (v2159, ()) = (block61param6.clone(), ()); + let (v2160, ()) = (block61param7.clone(), ()); + let (v397, ()) = (0u32, ()); + let (v400, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2158.clone()), + ::wars_rt::func::cast::<_, _, C>(v2159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v397.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block59param0 = v2156; + block59param1 = v2157; + block59param2 = v2156; + block59param3 = v2153; + block59param4 = v2154; + block59param5 = v2155; + block59param6 = v2160; + cff = 59usize; + break 'l62; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l61: loop { + let (v405, ()) = (block59param0.clone(), ()); + let (v406, ()) = (block59param1.clone(), ()); + let (v410, ()) = (block59param2.clone(), ()); + let (v415, ()) = (block59param3.clone(), ()); + let (v423, ()) = (block59param4.clone(), ()); + let (v430, ()) = (block59param5.clone(), ()); + let (v1833, ()) = (block59param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v405.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v410.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v406.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v405.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v406.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v410.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block57param0 = v415; + block57param1 = v423; + block57param2 = v430; + block57param3 = v1833; + cff = 57usize; + break 'l61; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 57usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l48: loop { + let (v414, ()) = (block57param0.clone(), ()); + let (v422, ()) = (block57param1.clone(), ()); + let (v429, ()) = (block57param2.clone(), ()); + let (v1828, ()) = (block57param3.clone(), ()); + let (v419, ()) = (8u32, ()); + let (v420, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v414.clone()), + ::wars_rt::func::cast::<_, _, C>(v419.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v421, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v421.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v422.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v428, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v428.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v429.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1828; + block2param1 = v420; + cff = 2usize; + break 'l48; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l24: loop { + let (v2038, ()) = (block34param0.clone(), ()); + let (v2040, ()) = (block34param1.clone(), ()); + let (v190, ()) = (0u32, ()); + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v190.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v192, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v192 != 0 { + block5param0 = v2040; + block5param1 = v2038; + cff = 5usize; + break 'l24; + } else { + block35param0 = v2038; + block35param1 = v2040; + block35param2 = v191; + cff = 35usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l33: loop { + let (v2042, ()) = (block35param0.clone(), ()); + let (v2043, ()) = (block35param1.clone(), ()); + let (v2044, ()) = (block35param2.clone(), ()); + let (v194, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v2044.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v195, ()) = (2u32, ()); + let (v196, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v197, ()) = (1049412u32, ()); + let (v198, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v196.clone()), + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v198.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v200, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (4294967288u32, ()); + let (v202, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v206, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v202.clone()), + ::wars_rt::func::cast::<_, _, C>(v2043.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block36param0 = v199; + block36param1 = v199; + block36param2 = v2043; + block36param3 = v206; + block36param4 = v2042; + cff = 36usize; + let mut cff2 = match cff { + 36usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l50: loop { + let (v207, ()) = (block36param0.clone(), ()); + let (v215, ()) = (block36param1.clone(), ()); + let (v314, ()) = (block36param2.clone(), ()); + let (v318, ()) = (block36param3.clone(), ()); + let (v1845, ()) = (block36param4.clone(), ()); + let (v208, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v208 != 0 { + block38param0 = v208; + block38param1 = v314; + block38param2 = v318; + block38param3 = v215; + block38param4 = v1845; + cff = 38usize; + } else { + block39param0 = v207; + block39param1 = v215; + block39param2 = v314; + block39param3 = v318; + block39param4 = v1845; + cff = 39usize; + }; + let mut cff2 = match cff { + 39usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l65: loop { + let (v2045, ()) = (block39param0.clone(), ()); + let (v2046, ()) = (block39param1.clone(), ()); + let (v2047, ()) = (block39param2.clone(), ()); + let (v2048, ()) = (block39param3.clone(), ()); + let (v2049, ()) = (block39param4.clone(), ()); + let (v210, ()) = (20u32, ()); + let (v211, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2045.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v212, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v211.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v212 != 0 { + block38param0 = v212; + block38param1 = v2047; + block38param2 = v2048; + block38param3 = v2046; + block38param4 = v2049; + cff = 38usize; + break 'l65; + } else { + block40param0 = v2046; + block40param1 = v2047; + block40param2 = v2048; + block40param3 = v2049; + cff = 40usize; + }; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l75: loop { + let (v2050, ()) = (block40param0.clone(), ()); + let (v2060, ()) = (block40param1.clone(), ()); + let (v2062, ()) = (block40param2.clone(), ()); + let (v2064, ()) = (block40param3.clone(), ()); + let (v216, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2050.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v217, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2050.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v218, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ::wars_rt::func::cast::<_, _, C>(v2050.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v218 != 0 { + block43param0 = v2050; + block43param1 = v216; + block43param2 = v217; + block43param3 = v2060; + block43param4 = v2062; + block43param5 = v2064; + cff = 43usize; + } else { + block44param0 = v2050; + block44param1 = v216; + block44param2 = v2060; + block44param3 = v2062; + block44param4 = v2064; + cff = 44usize; + }; + let mut cff2 = match cff { + 43usize => 0usize, + 44usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l90: loop { + let (v2056, ()) = (block43param0.clone(), ()); + let (v2057, ()) = (block43param1.clone(), ()); + let (v2058, ()) = (block43param2.clone(), ()); + let (v2059, ()) = (block43param3.clone(), ()); + let (v2061, ()) = (block43param4.clone(), ()); + let (v2063, ()) = (block43param5.clone(), ()); + let (v230, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2056.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v230.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2058.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2058.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block41param0 = v2057; + block41param1 = v2056; + block41param2 = v2058; + block41param3 = v2061; + block41param4 = v2059; + block41param5 = v2063; + cff = 41usize; + break 'l90; + }; + } + 1usize => { + 'l89: loop { + let (v2052, ()) = (block44param0.clone(), ()); + let (v2067, ()) = (block44param1.clone(), ()); + let (v2069, ()) = (block44param2.clone(), ()); + let (v2071, ()) = (block44param3.clone(), ()); + let (v2073, ()) = (block44param4.clone(), ()); + let (v220, ()) = (20u32, ()); + let (v221, ()) = (16u32, ()); + let (v222, ()) = (20u32, ()); + let (v223, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2052.clone()), + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v224, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v223.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v225, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v226, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2052.clone()), + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v227, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v226.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v227 != 0 { + block42param0 = v2052; + block42param1 = v223; + block42param2 = v224; + block42param3 = v227; + block42param4 = v2067; + block42param5 = v2069; + block42param6 = v2071; + block42param7 = v2073; + cff = 42usize; + } else { + block45param0 = v2052; + block45param1 = v2067; + block45param2 = v2069; + block45param3 = v2071; + block45param4 = v2073; + cff = 45usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l103: loop { + let (v2051, ()) = (block42param0.clone(), ()); + let (v2053, ()) = (block42param1.clone(), ()); + let (v2054, ()) = (block42param2.clone(), ()); + let (v2055, ()) = (block42param3.clone(), ()); + let (v2080, ()) = (block42param4.clone(), ()); + let (v2088, ()) = (block42param5.clone(), ()); + let (v2092, ()) = (block42param6.clone(), ()); + let (v2096, ()) = (block42param7.clone(), ()); + let (v236, ()) = (16u32, ()); + let (v237, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2051.clone()), + ::wars_rt::func::cast::<_, _, C>(v236.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2053.clone()), + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v2054.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block46param0 = v239; + block46param1 = v2055; + block46param2 = v2051; + block46param3 = v2080; + block46param4 = v2088; + block46param5 = v2092; + block46param6 = v2096; + cff = 46usize; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l125: loop { + let (v240, ()) = (block46param0.clone(), ()); + let (v241, ()) = (block46param1.clone(), ()); + let (v2076, ()) = (block46param2.clone(), ()); + let (v2079, ()) = (block46param3.clone(), ()); + let (v2087, ()) = (block46param4.clone(), ()); + let (v2091, ()) = (block46param5.clone(), ()); + let (v2095, ()) = (block46param6.clone(), ()); + let (v242, ()) = (20u32, ()); + let (v243, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v242.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = (16u32, ()); + let (v245, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v246, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v243.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v247, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v243.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v248, ()) = (20u32, ()); + let (v249, ()) = (16u32, ()); + let (v250, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v248.clone()), + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v251, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v251.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v252 != 0 { + block46param0 = v247; + block46param1 = v252; + block46param2 = v2076; + block46param3 = v2079; + block46param4 = v2087; + block46param5 = v2091; + block46param6 = v2095; + cff = 46usize; + continue 'l125; + } else { + block48param0 = v2076; + block48param1 = v2079; + block48param2 = v240; + block48param3 = v241; + block48param4 = v2087; + block48param5 = v2091; + block48param6 = v2095; + cff = 48usize; + }; + let mut cff2 = match cff { + 48usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l145: loop { + let (v2075, ()) = (block48param0.clone(), ()); + let (v2078, ()) = (block48param1.clone(), ()); + let (v2082, ()) = (block48param2.clone(), ()); + let (v2084, ()) = (block48param3.clone(), ()); + let (v2086, ()) = (block48param4.clone(), ()); + let (v2090, ()) = (block48param5.clone(), ()); + let (v2094, ()) = (block48param6.clone(), ()); + block47param0 = v2075; + block47param1 = v2078; + block47param2 = v2082; + block47param3 = v2084; + block47param4 = v2086; + block47param5 = v2090; + block47param6 = v2094; + cff = 47usize; + let mut cff2 = match cff { + 47usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l153: loop { + let (v2074, ()) = (block47param0.clone(), ()); + let (v2077, ()) = (block47param1.clone(), ()); + let (v2081, ()) = (block47param2.clone(), ()); + let (v2083, ()) = (block47param3.clone(), ()); + let (v2085, ()) = (block47param4.clone(), ()); + let (v2089, ()) = (block47param5.clone(), ()); + let (v2093, ()) = (block47param6.clone(), ()); + let (v256, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2081.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block41param0 = v2077; + block41param1 = v2074; + block41param2 = v2083; + block41param3 = v2089; + block41param4 = v2085; + block41param5 = v2093; + cff = 41usize; + break 'l153; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l102: loop { + let (v2065, ()) = (block45param0.clone(), ()); + let (v2066, ()) = (block45param1.clone(), ()); + let (v2068, ()) = (block45param2.clone(), ()); + let (v2070, ()) = (block45param3.clone(), ()); + let (v2072, ()) = (block45param4.clone(), ()); + let (v228, ()) = (0u32, ()); + block41param0 = v2066; + block41param1 = v2065; + block41param2 = v228; + block41param3 = v2070; + block41param4 = v2068; + block41param5 = v2072; + cff = 41usize; + break 'l102; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l88: loop { + let (v258, ()) = (block41param0.clone(), ()); + let (v268, ()) = (block41param1.clone(), ()); + let (v291, ()) = (block41param2.clone(), ()); + let (v463, ()) = (block41param3.clone(), ()); + let (v488, ()) = (block41param4.clone(), ()); + let (v1840, ()) = (block41param5.clone(), ()); + let (v266, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v266 != 0 { + block31param0 = v463; + block31param1 = v268; + block31param2 = v488; + block31param3 = v1840; + cff = 31usize; + } else { + block49param0 = v268; + block49param1 = v258; + block49param2 = v291; + block49param3 = v463; + block49param4 = v488; + block49param5 = v1840; + cff = 49usize; + }; + let mut cff2 = match cff { + 49usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l105: loop { + let (v2097, ()) = (block49param0.clone(), ()); + let (v2099, ()) = (block49param1.clone(), ()); + let (v2103, ()) = (block49param2.clone(), ()); + let (v2105, ()) = (block49param3.clone(), ()); + let (v2107, ()) = (block49param4.clone(), ()); + let (v2109, ()) = (block49param5.clone(), ()); + let (v273, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2097.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v274, ()) = (2u32, ()); + let (v275, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v273.clone()), + ::wars_rt::func::cast::<_, _, C>(v274.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v276, ()) = (1049412u32, ()); + let (v277, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v276.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v278, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v277.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v279, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v278.clone()), + ::wars_rt::func::cast::<_, _, C>(v2097.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v279 != 0 { + block50param0 = v2099; + block50param1 = v2097; + block50param2 = v277; + block50param3 = v2103; + block50param4 = v2105; + block50param5 = v2107; + block50param6 = v2109; + cff = 50usize; + } else { + block51param0 = v2099; + block51param1 = v2097; + block51param2 = v2103; + block51param3 = v2105; + block51param4 = v2107; + block51param5 = v2109; + cff = 51usize; + }; + let mut cff2 = match cff { + 50usize => 0usize, + 51usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l128: loop { + let (v2098, ()) = (block50param0.clone(), ()); + let (v2100, ()) = (block50param1.clone(), ()); + let (v2101, ()) = (block50param2.clone(), ()); + let (v2102, ()) = (block50param3.clone(), ()); + let (v2104, ()) = (block50param4.clone(), ()); + let (v2106, ()) = (block50param5.clone(), ()); + let (v2108, ()) = (block50param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2101.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v2102 != 0 { + block32param0 = v2102; + block32param1 = v2098; + block32param2 = v2100; + block32param3 = v2104; + block32param4 = v2106; + block32param5 = v2108; + cff = 32usize; + break 'l128; + } else { + block53param0 = v2100; + block53param1 = v2104; + block53param2 = v2106; + block53param3 = v2108; + cff = 53usize; + }; + let mut cff2 = match cff { + 53usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l143: loop { + let (v2122, ()) = (block53param0.clone(), ()); + let (v2123, ()) = (block53param1.clone(), ()); + let (v2124, ()) = (block53param2.clone(), ()); + let (v2125, ()) = (block53param3.clone(), ()); + let (v299, ()) = (0u32, ()); + let (v300, ()) = (0u32, ()); + let (v301, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v300.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v302, ()) = (4294967294u32, ()); + let (v305, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2122.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v306, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ::wars_rt::func::cast::<_, _, C>(v305.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v307, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ::wars_rt::func::cast::<_, _, C>(v306.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v299.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block31param0 = v2123; + block31param1 = v2122; + block31param2 = v2124; + block31param3 = v2125; + cff = 31usize; + break 'l143; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l127: loop { + let (v2110, ()) = (block51param0.clone(), ()); + let (v2111, ()) = (block51param1.clone(), ()); + let (v2112, ()) = (block51param2.clone(), ()); + let (v2113, ()) = (block51param3.clone(), ()); + let (v2114, ()) = (block51param4.clone(), ()); + let (v2115, ()) = (block51param5.clone(), ()); + let (v282, ()) = (16u32, ()); + let (v283, ()) = (20u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2110.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v286, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v2111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v287, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v282.clone()), + ::wars_rt::func::cast::<_, _, C>(v283.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2110.clone()), + ::wars_rt::func::cast::<_, _, C>(v287.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v288.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v295, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v2112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v295 != 0 { + block31param0 = v2113; + block31param1 = v2111; + block31param2 = v2114; + block31param3 = v2115; + cff = 31usize; + break 'l127; + } else { + block52param0 = v2110; + block52param1 = v2111; + block52param2 = v2112; + block52param3 = v2113; + block52param4 = v2114; + block52param5 = v2115; + cff = 52usize; + }; + let mut cff2 = match cff { + 52usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l144: loop { + let (v2116, ()) = (block52param0.clone(), ()); + let (v2117, ()) = (block52param1.clone(), ()); + let (v2118, ()) = (block52param2.clone(), ()); + let (v2119, ()) = (block52param3.clone(), ()); + let (v2120, ()) = (block52param4.clone(), ()); + let (v2121, ()) = (block52param5.clone(), ()); + block32param0 = v2118; + block32param1 = v2116; + block32param2 = v2117; + block32param3 = v2119; + block32param4 = v2120; + block32param5 = v2121; + cff = 32usize; + break 'l144; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l126: loop { + let (v435, ()) = (block32param0.clone(), ()); + let (v437, ()) = (block32param1.clone(), ()); + let (v441, ()) = (block32param2.clone(), ()); + let (v477, ()) = (block32param3.clone(), ()); + let (v502, ()) = (block32param4.clone(), ()); + let (v1858, ()) = (block32param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v443, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v441.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v444, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v444 != 0 { + block62param0 = v441; + block62param1 = v435; + block62param2 = v477; + block62param3 = v502; + block62param4 = v1858; + cff = 62usize; + } else { + block63param0 = v435; + block63param1 = v441; + block63param2 = v443; + block63param3 = v477; + block63param4 = v502; + block63param5 = v1858; + cff = 63usize; + }; + let mut cff2 = match cff { + 63usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l142: loop { + let (v2161, ()) = (block63param0.clone(), ()); + let (v2162, ()) = (block63param1.clone(), ()); + let (v2163, ()) = (block63param2.clone(), ()); + let (v2164, ()) = (block63param3.clone(), ()); + let (v2165, ()) = (block63param4.clone(), ()); + let (v2166, ()) = (block63param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2161.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2163.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2161.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block62param0 = v2162; + block62param1 = v2161; + block62param2 = v2164; + block62param3 = v2165; + block62param4 = v2166; + cff = 62usize; + break 'l142; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l141: loop { + let (v449, ()) = (block62param0.clone(), ()); + let (v456, ()) = (block62param1.clone(), ()); + let (v476, ()) = (block62param2.clone(), ()); + let (v501, ()) = (block62param3.clone(), ()); + let (v1857, ()) = (block62param4.clone(), ()); + let (v451, ()) = (20u32, ()); + let (v452, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v449.clone()), + ::wars_rt::func::cast::<_, _, C>(v451.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v453, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v452.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v454, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v453.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v454 != 0 { + block31param0 = v476; + block31param1 = v449; + block31param2 = v501; + block31param3 = v1857; + cff = 31usize; + break 'l141; + } else { + block64param0 = v449; + block64param1 = v453; + block64param2 = v456; + block64param3 = v476; + block64param4 = v501; + block64param5 = v1857; + cff = 64usize; + }; + let mut cff2 = match cff { + 64usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l152: loop { + let (v2167, ()) = (block64param0.clone(), ()); + let (v2168, ()) = (block64param1.clone(), ()); + let (v2169, ()) = (block64param2.clone(), ()); + let (v2170, ()) = (block64param3.clone(), ()); + let (v2171, ()) = (block64param4.clone(), ()); + let (v2172, ()) = (block64param5.clone(), ()); + let (v457, ()) = (20u32, ()); + let (v458, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2169.clone()), + ::wars_rt::func::cast::<_, _, C>(v457.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v458.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2168.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2168.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block31param0 = v2170; + block31param1 = v2167; + block31param2 = v2171; + block31param3 = v2172; + cff = 31usize; + break 'l152; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l104: loop { + let (v462, ()) = (block31param0.clone(), ()); + let (v484, ()) = (block31param1.clone(), ()); + let (v487, ()) = (block31param2.clone(), ()); + let (v1839, ()) = (block31param3.clone(), ()); + let (v481, ()) = (16u32, ()); + let (v482, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v482 != 0 { + block67param0 = v462; + block67param1 = v484; + block67param2 = v487; + block67param3 = v1839; + cff = 67usize; + } else { + block68param0 = v462; + block68param1 = v484; + block68param2 = v487; + block68param3 = v1839; + cff = 68usize; + }; + let mut cff2 = match cff { + 67usize => 0usize, + 68usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l123: loop { + let (v2173, ()) = (block67param0.clone(), ()); + let (v2174, ()) = (block67param1.clone(), ()); + let (v2175, ()) = (block67param2.clone(), ()); + let (v2176, ()) = (block67param3.clone(), ()); + let (v553, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2173.clone()), + ::wars_rt::func::cast::<_, _, C>(v2175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v554, ()) = (3u32, ()); + let (v555, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v553.clone()), + ::wars_rt::func::cast::<_, _, C>(v554.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2174.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v555.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v557, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2174.clone()), + ::wars_rt::func::cast::<_, _, C>(v553.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v558, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v557.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v559, ()) = (1u32, ()); + let (v560, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v558.clone()), + ::wars_rt::func::cast::<_, _, C>(v559.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v557.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v560.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block65param0 = v2174; + block65param1 = v2176; + cff = 65usize; + break 'l123; + }; + } + 1usize => { + 'l124: loop { + let (v2177, ()) = (block68param0.clone(), ()); + let (v2178, ()) = (block68param1.clone(), ()); + let (v2179, ()) = (block68param2.clone(), ()); + let (v2180, ()) = (block68param3.clone(), ()); + let (v506, ()) = (3u32, ()); + let (v507, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2179.clone()), + ::wars_rt::func::cast::<_, _, C>(v506.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2178.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v507.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v509, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2178.clone()), + ::wars_rt::func::cast::<_, _, C>(v2179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v511, ()) = (1u32, ()); + let (v512, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ::wars_rt::func::cast::<_, _, C>(v511.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v509.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v512.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v514, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v509.clone()), + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v514.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v516, ()) = (0u32, ()); + let (v517, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v516.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v518, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v517.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v518 != 0 { + block66param0 = v509; + block66param1 = v2177; + block66param2 = v2178; + block66param3 = v2180; + cff = 66usize; + } else { + block69param0 = v517; + block69param1 = v2177; + block69param2 = v2178; + block69param3 = v509; + block69param4 = v2180; + cff = 69usize; + }; + let mut cff2 = match cff { + 69usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l140: loop { + let (v2181, ()) = (block69param0.clone(), ()); + let (v2183, ()) = (block69param1.clone(), ()); + let (v2185, ()) = (block69param2.clone(), ()); + let (v2187, ()) = (block69param3.clone(), ()); + let (v2191, ()) = (block69param4.clone(), ()); + let (v520, ()) = (4294967288u32, ()); + let (v521, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2181.clone()), + ::wars_rt::func::cast::<_, _, C>(v520.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v522, ()) = (1049556u32, ()); + let (v523, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v521.clone()), + ::wars_rt::func::cast::<_, _, C>(v522.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v524, ()) = (0u32, ()); + let (v525, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v524.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v526, ()) = (0u32, ()); + let (v527, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v526.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v528, ()) = (1u32, ()); + let (v529, ()) = (3u32, ()); + let (v530, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2181.clone()), + ::wars_rt::func::cast::<_, _, C>(v529.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v531, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v528.clone()), + ::wars_rt::func::cast::<_, _, C>(v530.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v532, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v527.clone()), + ::wars_rt::func::cast::<_, _, C>(v531.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v532 != 0 { + block71param0 = v2183; + block71param1 = v2185; + block71param2 = v2187; + block71param3 = v523; + block71param4 = v525; + block71param5 = v2191; + cff = 71usize; + } else { + block72param0 = v2183; + block72param1 = v2185; + block72param2 = v2187; + block72param3 = v523; + block72param4 = v525; + block72param5 = v527; + block72param6 = v531; + block72param7 = v2191; + cff = 72usize; + }; + let mut cff2 = match cff { + 71usize => 0usize, + 72usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l151: loop { + let (v2182, ()) = (block71param0.clone(), ()); + let (v2184, ()) = (block71param1.clone(), ()); + let (v2186, ()) = (block71param2.clone(), ()); + let (v2188, ()) = (block71param3.clone(), ()); + let (v2189, ()) = (block71param4.clone(), ()); + let (v2190, ()) = (block71param5.clone(), ()); + let (v540, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2188.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block70param0 = v2188; + block70param1 = v2189; + block70param2 = v540; + block70param3 = v2186; + block70param4 = v2182; + block70param5 = v2184; + block70param6 = v2190; + cff = 70usize; + break 'l151; + }; + } + 1usize => { + 'l150: loop { + let (v2192, ()) = (block72param0.clone(), ()); + let (v2193, ()) = (block72param1.clone(), ()); + let (v2194, ()) = (block72param2.clone(), ()); + let (v2195, ()) = (block72param3.clone(), ()); + let (v2196, ()) = (block72param4.clone(), ()); + let (v2197, ()) = (block72param5.clone(), ()); + let (v2198, ()) = (block72param6.clone(), ()); + let (v2199, ()) = (block72param7.clone(), ()); + let (v533, ()) = (0u32, ()); + let (v536, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2197.clone()), + ::wars_rt::func::cast::<_, _, C>(v2198.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v533.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v536.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block70param0 = v2195; + block70param1 = v2196; + block70param2 = v2195; + block70param3 = v2194; + block70param4 = v2192; + block70param5 = v2193; + block70param6 = v2199; + cff = 70usize; + break 'l150; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l149: loop { + let (v541, ()) = (block70param0.clone(), ()); + let (v542, ()) = (block70param1.clone(), ()); + let (v546, ()) = (block70param2.clone(), ()); + let (v564, ()) = (block70param3.clone(), ()); + let (v571, ()) = (block70param4.clone(), ()); + let (v578, ()) = (block70param5.clone(), ()); + let (v1864, ()) = (block70param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v541.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v542.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v546.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v542.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v542.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v541.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v542.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v546.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block66param0 = v564; + block66param1 = v571; + block66param2 = v578; + block66param3 = v1864; + cff = 66usize; + break 'l149; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 66usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l139: loop { + let (v563, ()) = (block66param0.clone(), ()); + let (v570, ()) = (block66param1.clone(), ()); + let (v577, ()) = (block66param2.clone(), ()); + let (v1862, ()) = (block66param3.clone(), ()); + let (v562, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v562.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v563.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v569, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v569.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v570.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block65param0 = v577; + block65param1 = v1862; + cff = 65usize; + break 'l139; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 65usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l122: loop { + let (v576, ()) = (block65param0.clone(), ()); + let (v1837, ()) = (block65param1.clone(), ()); + let (v582, ()) = (8u32, ()); + let (v583, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v576.clone()), + ::wars_rt::func::cast::<_, _, C>(v582.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1837; + block2param1 = v583; + cff = 2usize; + break 'l122; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l64: loop { + let (v309, ()) = (block38param0.clone(), ()); + let (v313, ()) = (block38param1.clone(), ()); + let (v317, ()) = (block38param2.clone(), ()); + let (v322, ()) = (block38param3.clone(), ()); + let (v1847, ()) = (block38param4.clone(), ()); + let (v310, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v309.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v311, ()) = (4294967288u32, ()); + let (v312, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v316, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v312.clone()), + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v320, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v321, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v323, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v322.clone()), + ::wars_rt::func::cast::<_, _, C>(v320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block36param0 = v309; + block36param1 = v323; + block36param2 = v313; + block36param3 = v321; + block36param4 = v1847; + cff = 36usize; + continue 'l50; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v2019, ()) = (block26param0.clone(), ()); + let (v2020, ()) = (block26param1.clone(), ()); + let (v2022, ()) = (block26param2.clone(), ()); + let (v2024, ()) = (block26param3.clone(), ()); + let (v140, ()) = (4294967295u32, ()); + let (v141, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v2020.clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v142, ()) = (1u32, ()); + let (v143, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v145, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v2019.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v146, ()) = (3u32, ()); + let (v147, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = (1049556u32, ()); + let (v149, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (1049564u32, ()); + let (v151, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v152.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v154 != 0 { + block28param0 = v2022; + block28param1 = v2024; + block28param2 = v145; + block28param3 = v152; + cff = 28usize; + } else { + block29param0 = v2022; + block29param1 = v145; + block29param2 = v149; + block29param3 = v152; + block29param4 = v153; + cff = 29usize; + }; + let mut cff2 = match cff { + 28usize => 0usize, + 29usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v2021, ()) = (block28param0.clone(), ()); + let (v2023, ()) = (block28param1.clone(), ()); + let (v2025, ()) = (block28param2.clone(), ()); + let (v2026, ()) = (block28param3.clone(), ()); + let (v159, ()) = (0u32, ()); + let (v162, ()) = (4294967294u32, ()); + let (v164, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v2025.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v165, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2023.clone()), + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v159.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v2026; + block27param1 = v2025; + block27param2 = v2021; + cff = 27usize; + break 'l19; + } + } + 1usize => { + 'l18: loop { + let (v2027, ()) = (block29param0.clone(), ()); + let (v2028, ()) = (block29param1.clone(), ()); + let (v2029, ()) = (block29param2.clone(), ()); + let (v2030, ()) = (block29param3.clone(), ()); + let (v2031, ()) = (block29param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2031.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2029.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2029.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2031.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v2030; + block27param1 = v2028; + block27param2 = v2027; + cff = 27usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v167, ()) = (block27param0.clone(), ()); + let (v172, ()) = (block27param1.clone(), ()); + let (v1824, ()) = (block27param2.clone(), ()); + let (v170, ()) = (8u32, ()); + let (v171, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v174, ()) = (3u32, ()); + let (v175, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v176, ()) = (3u32, ()); + let (v177, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ::wars_rt::func::cast::<_, _, C>(v176.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v179, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v167.clone()), + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v180, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v181, ()) = (1u32, ()); + let (v182, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v180.clone()), + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v179.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1824; + block2param1 = v171; + cff = 2usize; + break 'l17; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v1959, ()) = (block10param0.clone(), ()); + let (v1960, ()) = (block10param1.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v10, ()) = (4294901709u32, ()); + let (v11, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v1959.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v11 != 0 { + block2param0 = v1960; + block2param1 = v8; + cff = 2usize; + break 'l4; + } else { + block11param0 = v1959; + block11param1 = v1960; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v1961, ()) = (block11param0.clone(), ()); + let (v1962, ()) = (block11param1.clone(), ()); + let (v13, ()) = (11u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1961.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = (4294967288u32, ()); + let (v16, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v19 != 0 { + block5param0 = v16; + block5param1 = v1962; + cff = 5usize; + break 'l9; + } else { + block12param0 = v1962; + block12param1 = v16; + block12param2 = v18; + block12param3 = v14; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v1963, ()) = (block12param0.clone(), ()); + let (v1964, ()) = (block12param1.clone(), ()); + let (v1965, ()) = (block12param2.clone(), ()); + let (v1972, ()) = (block12param3.clone(), ()); + let (v20, ()) = (0u32, ()); + let (v22, ()) = (256u32, ()); + let (v23, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1964.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v23 != 0 { + block13param0 = v1964; + block13param1 = v20; + block13param2 = v1965; + block13param3 = v1963; + cff = 13usize; + } else { + block14param0 = v1963; + block14param1 = v1964; + block14param2 = v1965; + block14param3 = v1972; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v1966, ()) = (block14param0.clone(), ()); + let (v1967, ()) = (block14param1.clone(), ()); + let (v1968, ()) = (block14param2.clone(), ()); + let (v1971, ()) = (block14param3.clone(), ()); + let (v24, ()) = (31u32, ()); + let (v26, ()) = (16777215u32, ()); + let (v27, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1967.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v27 != 0 { + block13param0 = v1967; + block13param1 = v24; + block13param2 = v1968; + block13param3 = v1966; + cff = 13usize; + break 'l26; + } else { + block15param0 = v1966; + block15param1 = v1971; + block15param2 = v1967; + block15param3 = v1968; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v1969, ()) = (block15param0.clone(), ()); + let (v1970, ()) = (block15param1.clone(), ()); + let (v1973, ()) = (block15param2.clone(), ()); + let (v1974, ()) = (block15param3.clone(), ()); + let (v29, ()) = (6u32, ()); + let (v33, ()) = (8u32, ()); + let (v34, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1970.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32clz( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1973.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (1u32, ()); + let (v39, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (1u32, ()); + let (v41, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (62u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block13param0 = v1973; + block13param1 = v44; + block13param2 = v1974; + block13param3 = v1969; + cff = 13usize; + break 'l34; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l25: loop { + let (v46, ()) = (block13param0.clone(), ()); + let (v48, ()) = (block13param1.clone(), ()); + let (v608, ()) = (block13param2.clone(), ()); + let (v819, ()) = (block13param3.clone(), ()); + let (v45, ()) = (0u32, ()); + let (v47, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (2u32, ()); + let (v50, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (1049412u32, ()); + let (v52, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v52.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block16param0 = v46; + block16param1 = v47; + block16param2 = v48; + block16param3 = v53; + block16param4 = v608; + block16param5 = v819; + cff = 16usize; + } else { + block17param0 = v46; + block17param1 = v47; + block17param2 = v48; + block17param3 = v608; + block17param4 = v819; + cff = 17usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 17usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v1975, ()) = (block16param0.clone(), ()); + let (v1976, ()) = (block16param1.clone(), ()); + let (v1977, ()) = (block16param2.clone(), ()); + let (v1978, ()) = (block16param3.clone(), ()); + let (v1979, ()) = (block16param4.clone(), ()); + let (v1980, ()) = (block16param5.clone(), ()); + let (v56, ()) = (0u32, ()); + let (v58, ()) = (0u32, ()); + let (v59, ()) = (25u32, ()); + let (v61, ()) = (1u32, ()); + let (v62, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v1977.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (31u32, ()); + let (v65, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1977.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1975.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (0u32, ()); + block18param0 = v1978; + block18param1 = v1975; + block18param2 = v1976; + block18param3 = v56; + block18param4 = v67; + block18param5 = v68; + block18param6 = v1977; + block18param7 = v1979; + block18param8 = v1980; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l51: loop { + let (v69, ()) = (block18param0.clone(), ()); + let (v73, ()) = (block18param1.clone(), ()); + let (v79, ()) = (block18param2.clone(), ()); + let (v91, ()) = (block18param3.clone(), ()); + let (v95, ()) = (block18param4.clone(), ()); + let (v587, ()) = (block18param5.clone(), ()); + let (v597, ()) = (block18param6.clone(), ()); + let (v613, ()) = (block18param7.clone(), ()); + let (v824, ()) = (block18param8.clone(), ()); + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = (4294967288u32, ()); + let (v72, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v74 != 0 { + block20param0 = v69; + block20param1 = v91; + block20param2 = v95; + block20param3 = v73; + block20param4 = v79; + block20param5 = v587; + block20param6 = v597; + block20param7 = v613; + block20param8 = v824; + cff = 20usize; + } else { + block21param0 = v69; + block21param1 = v72; + block21param2 = v73; + block21param3 = v79; + block21param4 = v91; + block21param5 = v95; + block21param6 = v587; + block21param7 = v597; + block21param8 = v613; + block21param9 = v824; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l67: loop { + let (v1986, ()) = (block21param0.clone(), ()); + let (v1987, ()) = (block21param1.clone(), ()); + let (v1988, ()) = (block21param2.clone(), ()); + let (v1989, ()) = (block21param3.clone(), ()); + let (v1990, ()) = (block21param4.clone(), ()); + let (v1991, ()) = (block21param5.clone(), ()); + let (v1992, ()) = (block21param6.clone(), ()); + let (v1993, ()) = (block21param7.clone(), ()); + let (v1994, ()) = (block21param8.clone(), ()); + let (v1995, ()) = (block21param9.clone(), ()); + let (v77, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1987.clone()), + ::wars_rt::func::cast::<_, _, C>(v1988.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v1989.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v80 != 0 { + block20param0 = v1986; + block20param1 = v1990; + block20param2 = v1991; + block20param3 = v1988; + block20param4 = v1989; + block20param5 = v1992; + block20param6 = v1993; + block20param7 = v1994; + block20param8 = v1995; + cff = 20usize; + break 'l67; + } else { + block22param0 = v1986; + block22param1 = v1988; + block22param2 = v77; + block22param3 = v1990; + block22param4 = v1991; + block22param5 = v1993; + block22param6 = v1994; + block22param7 = v1995; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l77: loop { + let (v1996, ()) = (block22param0.clone(), ()); + let (v1997, ()) = (block22param1.clone(), ()); + let (v1998, ()) = (block22param2.clone(), ()); + let (v1999, ()) = (block22param3.clone(), ()); + let (v2000, ()) = (block22param4.clone(), ()); + let (v2001, ()) = (block22param5.clone(), ()); + let (v2002, ()) = (block22param6.clone(), ()); + let (v2003, ()) = (block22param7.clone(), ()); + if v1998 != 0 { + block20param0 = v1996; + block20param1 = v1999; + block20param2 = v2000; + block20param3 = v1997; + block20param4 = v1998; + block20param5 = v1996; + block20param6 = v2001; + block20param7 = v2002; + block20param8 = v2003; + cff = 20usize; + break 'l77; + } else { + block23param0 = v1996; + block23param1 = v1997; + block23param2 = v2003; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l91: loop { + let (v2004, ()) = (block23param0.clone(), ()); + let (v2005, ()) = (block23param1.clone(), ()); + let (v2006, ()) = (block23param2.clone(), ()); + let (v84, ()) = (0u32, ()); + block7param0 = v2004; + block7param1 = v2004; + block7param2 = v2005; + block7param3 = v84; + block7param4 = v2006; + cff = 7usize; + break 'l91; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l66: loop { + let (v86, ()) = (block20param0.clone(), ()); + let (v90, ()) = (block20param1.clone(), ()); + let (v94, ()) = (block20param2.clone(), ()); + let (v115, ()) = (block20param3.clone(), ()); + let (v119, ()) = (block20param4.clone(), ()); + let (v586, ()) = (block20param5.clone(), ()); + let (v596, ()) = (block20param6.clone(), ()); + let (v612, ()) = (block20param7.clone(), ()); + let (v823, ()) = (block20param8.clone(), ()); + let (v87, ()) = (20u32, ()); + let (v88, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v88.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = (29u32, ()); + let (v99, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v100, ()) = (4u32, ()); + let (v101, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (16u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v104.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1u32, ()); + let (v110, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v111 != 0 { + block8param0 = v108; + block8param1 = v586; + block8param2 = v596; + block8param3 = v612; + block8param4 = v115; + block8param5 = v119; + block8param6 = v823; + cff = 8usize; + break 'l66; + } else { + block24param0 = v105; + block24param1 = v108; + block24param2 = v110; + block24param3 = v115; + block24param4 = v119; + block24param5 = v586; + block24param6 = v596; + block24param7 = v612; + block24param8 = v823; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l76: loop { + let (v2007, ()) = (block24param0.clone(), ()); + let (v2008, ()) = (block24param1.clone(), ()); + let (v2009, ()) = (block24param2.clone(), ()); + let (v2010, ()) = (block24param3.clone(), ()); + let (v2011, ()) = (block24param4.clone(), ()); + let (v2012, ()) = (block24param5.clone(), ()); + let (v2013, ()) = (block24param6.clone(), ()); + let (v2014, ()) = (block24param7.clone(), ()); + let (v2015, ()) = (block24param8.clone(), ()); + block18param0 = v2007; + block18param1 = v2010; + block18param2 = v2011; + block18param3 = v2008; + block18param4 = v2009; + block18param5 = v2012; + block18param6 = v2013; + block18param7 = v2014; + block18param8 = v2015; + cff = 18usize; + continue 'l51; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l39: loop { + let (v1981, ()) = (block17param0.clone(), ()); + let (v1982, ()) = (block17param1.clone(), ()); + let (v1983, ()) = (block17param2.clone(), ()); + let (v1984, ()) = (block17param3.clone(), ()); + let (v1985, ()) = (block17param4.clone(), ()); + let (v54, ()) = (0u32, ()); + let (v55, ()) = (0u32, ()); + block8param0 = v54; + block8param1 = v55; + block8param2 = v1983; + block8param3 = v1984; + block8param4 = v1981; + block8param5 = v1982; + block8param6 = v1985; + cff = 8usize; + break 'l39; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + 8usize => 2usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l35: loop { + let (v682, ()) = (block6param0.clone(), ()); + let (v689, ()) = (block6param1.clone(), ()); + let (v695, ()) = (block6param2.clone(), ()); + let (v829, ()) = (block6param3.clone(), ()); + let (v685, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v682.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v685 != 0 { + block5param0 = v689; + block5param1 = v829; + cff = 5usize; + break 'l35; + } else { + block82param0 = v682; + block82param1 = v689; + block82param2 = v695; + block82param3 = v829; + cff = 82usize; + }; + let mut cff2 = match cff { + 82usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l52: loop { + let (v2231, ()) = (block82param0.clone(), ()); + let (v2232, ()) = (block82param1.clone(), ()); + let (v2233, ()) = (block82param2.clone(), ()); + let (v2234, ()) = (block82param3.clone(), ()); + let (v686, ()) = (0u32, ()); + let (v687, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v686.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v692, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v687.clone()), + ::wars_rt::func::cast::<_, _, C>(v2232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v692 != 0 { + block83param0 = v2231; + block83param1 = v2233; + block83param2 = v2232; + block83param3 = v2234; + cff = 83usize; + } else { + block84param0 = v687; + block84param1 = v2232; + block84param2 = v2233; + block84param3 = v2234; + block84param4 = v2231; + cff = 84usize; + }; + let mut cff2 = match cff { + 84usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l69: loop { + let (v2235, ()) = (block84param0.clone(), ()); + let (v2236, ()) = (block84param1.clone(), ()); + let (v2237, ()) = (block84param2.clone(), ()); + let (v2238, ()) = (block84param3.clone(), ()); + let (v2240, ()) = (block84param4.clone(), ()); + let (v700, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2235.clone()), + ::wars_rt::func::cast::<_, _, C>(v2236.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v701, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2237.clone()), + ::wars_rt::func::cast::<_, _, C>(v700.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v701 != 0 { + block5param0 = v2236; + block5param1 = v2238; + cff = 5usize; + break 'l69; + } else { + block85param0 = v2240; + block85param1 = v2236; + block85param2 = v2237; + block85param3 = v2238; + cff = 85usize; + }; + let mut cff2 = match cff { + 85usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l73: loop { + let (v2239, ()) = (block85param0.clone(), ()); + let (v2241, ()) = (block85param1.clone(), ()); + let (v2242, ()) = (block85param2.clone(), ()); + let (v2243, ()) = (block85param3.clone(), ()); + block83param0 = v2239; + block83param1 = v2242; + block83param2 = v2241; + block83param3 = v2243; + cff = 83usize; + break 'l73; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l68: loop { + let (v702, ()) = (block83param0.clone(), ()); + let (v1716, ()) = (block83param1.clone(), ()); + let (v1742, ()) = (block83param2.clone(), ()); + let (v1933, ()) = (block83param3.clone(), ()); + let (v706, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v702.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v707, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v702.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v708, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v707.clone()), + ::wars_rt::func::cast::<_, _, C>(v702.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v708 != 0 { + block88param0 = v702; + block88param1 = v706; + block88param2 = v707; + block88param3 = v1716; + block88param4 = v1742; + block88param5 = v1933; + cff = 88usize; + } else { + block89param0 = v702; + block89param1 = v706; + block89param2 = v1716; + block89param3 = v1742; + block89param4 = v1933; + cff = 89usize; + }; + let mut cff2 = match cff { + 88usize => 0usize, + 89usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l80: loop { + let (v2249, ()) = (block88param0.clone(), ()); + let (v2250, ()) = (block88param1.clone(), ()); + let (v2251, ()) = (block88param2.clone(), ()); + let (v2252, ()) = (block88param3.clone(), ()); + let (v2253, ()) = (block88param4.clone(), ()); + let (v2254, ()) = (block88param5.clone(), ()); + let (v720, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2249.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v720.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2251.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2251.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v720.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block86param0 = v2250; + block86param1 = v2249; + block86param2 = v2251; + block86param3 = v2252; + block86param4 = v2253; + block86param5 = v2254; + cff = 86usize; + break 'l80; + }; + } + 1usize => { + 'l79: loop { + let (v2245, ()) = (block89param0.clone(), ()); + let (v2257, ()) = (block89param1.clone(), ()); + let (v2259, ()) = (block89param2.clone(), ()); + let (v2261, ()) = (block89param3.clone(), ()); + let (v2263, ()) = (block89param4.clone(), ()); + let (v710, ()) = (20u32, ()); + let (v711, ()) = (16u32, ()); + let (v712, ()) = (20u32, ()); + let (v713, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2245.clone()), + ::wars_rt::func::cast::<_, _, C>(v712.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v714, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v713.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v715, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v710.clone()), + ::wars_rt::func::cast::<_, _, C>(v711.clone()), + ::wars_rt::func::cast::<_, _, C>(v714.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v716, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2245.clone()), + ::wars_rt::func::cast::<_, _, C>(v715.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v717, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v716.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v717 != 0 { + block87param0 = v2245; + block87param1 = v713; + block87param2 = v714; + block87param3 = v717; + block87param4 = v2257; + block87param5 = v2259; + block87param6 = v2261; + block87param7 = v2263; + cff = 87usize; + } else { + block90param0 = v2245; + block90param1 = v2257; + block90param2 = v2259; + block90param3 = v2261; + block90param4 = v2263; + cff = 90usize; + }; + let mut cff2 = match cff { + 87usize => 0usize, + 90usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l86: loop { + let (v2244, ()) = (block87param0.clone(), ()); + let (v2246, ()) = (block87param1.clone(), ()); + let (v2247, ()) = (block87param2.clone(), ()); + let (v2248, ()) = (block87param3.clone(), ()); + let (v2270, ()) = (block87param4.clone(), ()); + let (v2278, ()) = (block87param5.clone(), ()); + let (v2282, ()) = (block87param6.clone(), ()); + let (v2286, ()) = (block87param7.clone(), ()); + let (v726, ()) = (16u32, ()); + let (v727, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2244.clone()), + ::wars_rt::func::cast::<_, _, C>(v726.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v729, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2246.clone()), + ::wars_rt::func::cast::<_, _, C>(v727.clone()), + ::wars_rt::func::cast::<_, _, C>(v2247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block91param0 = v729; + block91param1 = v2248; + block91param2 = v2244; + block91param3 = v2270; + block91param4 = v2278; + block91param5 = v2282; + block91param6 = v2286; + cff = 91usize; + let mut cff2 = match cff { + 91usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l101: loop { + let (v730, ()) = (block91param0.clone(), ()); + let (v731, ()) = (block91param1.clone(), ()); + let (v2266, ()) = (block91param2.clone(), ()); + let (v2269, ()) = (block91param3.clone(), ()); + let (v2277, ()) = (block91param4.clone(), ()); + let (v2281, ()) = (block91param5.clone(), ()); + let (v2285, ()) = (block91param6.clone(), ()); + let (v732, ()) = (20u32, ()); + let (v733, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v732.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v734, ()) = (16u32, ()); + let (v735, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v734.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v736, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v733.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v737, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v733.clone()), + ::wars_rt::func::cast::<_, _, C>(v735.clone()), + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v738, ()) = (20u32, ()); + let (v739, ()) = (16u32, ()); + let (v740, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v738.clone()), + ::wars_rt::func::cast::<_, _, C>(v739.clone()), + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v741, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v731.clone()), + ::wars_rt::func::cast::<_, _, C>(v740.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v742, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v741.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v742 != 0 { + block91param0 = v737; + block91param1 = v742; + block91param2 = v2266; + block91param3 = v2269; + block91param4 = v2277; + block91param5 = v2281; + block91param6 = v2285; + cff = 91usize; + continue 'l101; + } else { + block93param0 = v2266; + block93param1 = v2269; + block93param2 = v730; + block93param3 = v731; + block93param4 = v2277; + block93param5 = v2281; + block93param6 = v2285; + cff = 93usize; + }; + let mut cff2 = match cff { + 93usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l121: loop { + let (v2265, ()) = (block93param0.clone(), ()); + let (v2268, ()) = (block93param1.clone(), ()); + let (v2272, ()) = (block93param2.clone(), ()); + let (v2274, ()) = (block93param3.clone(), ()); + let (v2276, ()) = (block93param4.clone(), ()); + let (v2280, ()) = (block93param5.clone(), ()); + let (v2284, ()) = (block93param6.clone(), ()); + block92param0 = v2265; + block92param1 = v2268; + block92param2 = v2272; + block92param3 = v2274; + block92param4 = v2276; + block92param5 = v2280; + block92param6 = v2284; + cff = 92usize; + let mut cff2 = match cff { + 92usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l138: loop { + let (v2264, ()) = (block92param0.clone(), ()); + let (v2267, ()) = (block92param1.clone(), ()); + let (v2271, ()) = (block92param2.clone(), ()); + let (v2273, ()) = (block92param3.clone(), ()); + let (v2275, ()) = (block92param4.clone(), ()); + let (v2279, ()) = (block92param5.clone(), ()); + let (v2283, ()) = (block92param6.clone(), ()); + let (v746, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2271.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v746.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block86param0 = v2267; + block86param1 = v2264; + block86param2 = v2273; + block86param3 = v2275; + block86param4 = v2279; + block86param5 = v2283; + cff = 86usize; + break 'l138; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l85: loop { + let (v2255, ()) = (block90param0.clone(), ()); + let (v2256, ()) = (block90param1.clone(), ()); + let (v2258, ()) = (block90param2.clone(), ()); + let (v2260, ()) = (block90param3.clone(), ()); + let (v2262, ()) = (block90param4.clone(), ()); + let (v718, ()) = (0u32, ()); + block86param0 = v2256; + block86param1 = v2255; + block86param2 = v718; + block86param3 = v2258; + block86param4 = v2260; + block86param5 = v2262; + cff = 86usize; + break 'l85; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l78: loop { + let (v748, ()) = (block86param0.clone(), ()); + let (v758, ()) = (block86param1.clone(), ()); + let (v781, ()) = (block86param2.clone(), ()); + let (v1713, ()) = (block86param3.clone(), ()); + let (v1739, ()) = (block86param4.clone(), ()); + let (v1930, ()) = (block86param5.clone(), ()); + let (v756, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v748.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v756 != 0 { + block3param0 = v1713; + block3param1 = v758; + block3param2 = v1739; + block3param3 = v1930; + cff = 3usize; + } else { + block94param0 = v758; + block94param1 = v748; + block94param2 = v781; + block94param3 = v1713; + block94param4 = v1739; + block94param5 = v1930; + cff = 94usize; + }; + let mut cff2 = match cff { + 94usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l93: loop { + let (v2287, ()) = (block94param0.clone(), ()); + let (v2289, ()) = (block94param1.clone(), ()); + let (v2293, ()) = (block94param2.clone(), ()); + let (v2295, ()) = (block94param3.clone(), ()); + let (v2297, ()) = (block94param4.clone(), ()); + let (v2299, ()) = (block94param5.clone(), ()); + let (v763, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2287.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v764, ()) = (2u32, ()); + let (v765, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v763.clone()), + ::wars_rt::func::cast::<_, _, C>(v764.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v766, ()) = (1049412u32, ()); + let (v767, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v765.clone()), + ::wars_rt::func::cast::<_, _, C>(v766.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v768, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v767.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v769, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v768.clone()), + ::wars_rt::func::cast::<_, _, C>(v2287.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v769 != 0 { + block95param0 = v2289; + block95param1 = v2287; + block95param2 = v767; + block95param3 = v2293; + block95param4 = v2295; + block95param5 = v2297; + block95param6 = v2299; + cff = 95usize; + } else { + block96param0 = v2289; + block96param1 = v2287; + block96param2 = v2293; + block96param3 = v2295; + block96param4 = v2297; + block96param5 = v2299; + cff = 96usize; + }; + let mut cff2 = match cff { + 95usize => 0usize, + 96usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l108: loop { + let (v2288, ()) = (block95param0.clone(), ()); + let (v2290, ()) = (block95param1.clone(), ()); + let (v2291, ()) = (block95param2.clone(), ()); + let (v2292, ()) = (block95param3.clone(), ()); + let (v2294, ()) = (block95param4.clone(), ()); + let (v2296, ()) = (block95param5.clone(), ()); + let (v2298, ()) = (block95param6.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2291.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v2292 != 0 { + block4param0 = v2292; + block4param1 = v2288; + block4param2 = v2290; + block4param3 = v2294; + block4param4 = v2296; + block4param5 = v2298; + cff = 4usize; + break 'l108; + } else { + block98param0 = v2290; + block98param1 = v2294; + block98param2 = v2296; + block98param3 = v2298; + cff = 98usize; + }; + let mut cff2 = match cff { + 98usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l119: loop { + let (v2312, ()) = (block98param0.clone(), ()); + let (v2313, ()) = (block98param1.clone(), ()); + let (v2314, ()) = (block98param2.clone(), ()); + let (v2315, ()) = (block98param3.clone(), ()); + let (v789, ()) = (0u32, ()); + let (v790, ()) = (0u32, ()); + let (v791, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v790.clone() + 1049824u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v792, ()) = (4294967294u32, ()); + let (v795, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2312.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v796, ()) = match ::wars_rt::i32rotl( + ::wars_rt::func::cast::<_, _, C>(v792.clone()), + ::wars_rt::func::cast::<_, _, C>(v795.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v797, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v791.clone()), + ::wars_rt::func::cast::<_, _, C>(v796.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v789.clone() + 1049824u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v797.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v2313; + block3param1 = v2312; + block3param2 = v2314; + block3param3 = v2315; + cff = 3usize; + break 'l119; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l107: loop { + let (v2300, ()) = (block96param0.clone(), ()); + let (v2301, ()) = (block96param1.clone(), ()); + let (v2302, ()) = (block96param2.clone(), ()); + let (v2303, ()) = (block96param3.clone(), ()); + let (v2304, ()) = (block96param4.clone(), ()); + let (v2305, ()) = (block96param5.clone(), ()); + let (v772, ()) = (16u32, ()); + let (v773, ()) = (20u32, ()); + let (v774, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2300.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v776, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v774.clone()), + ::wars_rt::func::cast::<_, _, C>(v2301.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v777, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v772.clone()), + ::wars_rt::func::cast::<_, _, C>(v773.clone()), + ::wars_rt::func::cast::<_, _, C>(v776.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v778, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2300.clone()), + ::wars_rt::func::cast::<_, _, C>(v777.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v778.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v785, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v2302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v785 != 0 { + block3param0 = v2303; + block3param1 = v2301; + block3param2 = v2304; + block3param3 = v2305; + cff = 3usize; + break 'l107; + } else { + block97param0 = v2300; + block97param1 = v2301; + block97param2 = v2302; + block97param3 = v2303; + block97param4 = v2304; + block97param5 = v2305; + cff = 97usize; + }; + let mut cff2 = match cff { + 97usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l120: loop { + let (v2306, ()) = (block97param0.clone(), ()); + let (v2307, ()) = (block97param1.clone(), ()); + let (v2308, ()) = (block97param2.clone(), ()); + let (v2309, ()) = (block97param3.clone(), ()); + let (v2310, ()) = (block97param4.clone(), ()); + let (v2311, ()) = (block97param5.clone(), ()); + block4param0 = v2308; + block4param1 = v2306; + block4param2 = v2307; + block4param3 = v2309; + block4param4 = v2310; + block4param5 = v2311; + cff = 4usize; + break 'l120; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l106: loop { + let (v1685, ()) = (block4param0.clone(), ()); + let (v1687, ()) = (block4param1.clone(), ()); + let (v1691, ()) = (block4param2.clone(), ()); + let (v1728, ()) = (block4param3.clone(), ()); + let (v1754, ()) = (block4param4.clone(), ()); + let (v1945, ()) = (block4param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1685.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1687.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1693, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1691.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1694, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1693.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1694 != 0 { + block163param0 = v1691; + block163param1 = v1685; + block163param2 = v1728; + block163param3 = v1754; + block163param4 = v1945; + cff = 163usize; + } else { + block164param0 = v1685; + block164param1 = v1691; + block164param2 = v1693; + block164param3 = v1728; + block164param4 = v1754; + block164param5 = v1945; + cff = 164usize; + }; + let mut cff2 = match cff { + 164usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l112: loop { + let (v2564, ()) = (block164param0.clone(), ()); + let (v2565, ()) = (block164param1.clone(), ()); + let (v2566, ()) = (block164param2.clone(), ()); + let (v2567, ()) = (block164param3.clone(), ()); + let (v2568, ()) = (block164param4.clone(), ()); + let (v2569, ()) = (block164param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2564.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2566.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2566.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2564.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block163param0 = v2565; + block163param1 = v2564; + block163param2 = v2567; + block163param3 = v2568; + block163param4 = v2569; + cff = 163usize; + break 'l112; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l111: loop { + let (v1699, ()) = (block163param0.clone(), ()); + let (v1706, ()) = (block163param1.clone(), ()); + let (v1727, ()) = (block163param2.clone(), ()); + let (v1753, ()) = (block163param3.clone(), ()); + let (v1944, ()) = (block163param4.clone(), ()); + let (v1701, ()) = (20u32, ()); + let (v1702, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1699.clone()), + ::wars_rt::func::cast::<_, _, C>(v1701.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1703, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1702.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1704, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v1703.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1704 != 0 { + block3param0 = v1727; + block3param1 = v1699; + block3param2 = v1753; + block3param3 = v1944; + cff = 3usize; + break 'l111; + } else { + block165param0 = v1699; + block165param1 = v1703; + block165param2 = v1706; + block165param3 = v1727; + block165param4 = v1753; + block165param5 = v1944; + cff = 165usize; + }; + let mut cff2 = match cff { + 165usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l132: loop { + let (v2570, ()) = (block165param0.clone(), ()); + let (v2571, ()) = (block165param1.clone(), ()); + let (v2572, ()) = (block165param2.clone(), ()); + let (v2573, ()) = (block165param3.clone(), ()); + let (v2574, ()) = (block165param4.clone(), ()); + let (v2575, ()) = (block165param5.clone(), ()); + let (v1707, ()) = (20u32, ()); + let (v1708, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2572.clone()), + ::wars_rt::func::cast::<_, _, C>(v1707.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1708.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2571.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2571.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2572.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v2573; + block3param1 = v2570; + block3param2 = v2574; + block3param3 = v2575; + cff = 3usize; + break 'l132; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l92: loop { + let (v1712, ()) = (block3param0.clone(), ()); + let (v1735, ()) = (block3param1.clone(), ()); + let (v1738, ()) = (block3param2.clone(), ()); + let (v1929, ()) = (block3param3.clone(), ()); + let (v1732, ()) = (16u32, ()); + let (v1733, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1712.clone()), + ::wars_rt::func::cast::<_, _, C>(v1732.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1733 != 0 { + block167param0 = v1712; + block167param1 = v1735; + block167param2 = v1738; + block167param3 = v1929; + cff = 167usize; + } else { + block168param0 = v1712; + block168param1 = v1735; + block168param2 = v1738; + block168param3 = v1929; + cff = 168usize; + }; + let mut cff2 = match cff { + 167usize => 0usize, + 168usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l96: loop { + let (v2576, ()) = (block167param0.clone(), ()); + let (v2577, ()) = (block167param1.clone(), ()); + let (v2578, ()) = (block167param2.clone(), ()); + let (v2579, ()) = (block167param3.clone(), ()); + let (v1806, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2576.clone()), + ::wars_rt::func::cast::<_, _, C>(v2578.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1807, ()) = (3u32, ()); + let (v1808, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1806.clone()), + ::wars_rt::func::cast::<_, _, C>(v1807.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2577.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1808.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1810, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2577.clone()), + ::wars_rt::func::cast::<_, _, C>(v1806.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1811, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1810.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1812, ()) = (1u32, ()); + let (v1813, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1811.clone()), + ::wars_rt::func::cast::<_, _, C>(v1812.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1810.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1813.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v2577; + block166param1 = v2579; + cff = 166usize; + break 'l96; + }; + } + 1usize => { + 'l95: loop { + let (v2580, ()) = (block168param0.clone(), ()); + let (v2581, ()) = (block168param1.clone(), ()); + let (v2582, ()) = (block168param2.clone(), ()); + let (v2588, ()) = (block168param3.clone(), ()); + let (v1758, ()) = (3u32, ()); + let (v1759, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2582.clone()), + ::wars_rt::func::cast::<_, _, C>(v1758.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2581.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1759.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1761, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2581.clone()), + ::wars_rt::func::cast::<_, _, C>(v2582.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1763, ()) = (1u32, ()); + let (v1764, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ::wars_rt::func::cast::<_, _, C>(v1763.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1761.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1764.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1766, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1761.clone()), + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1766.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1768, ()) = (256u32, ()); + let (v1769, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2580.clone()), + ::wars_rt::func::cast::<_, _, C>(v1768.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1769 != 0 { + block169param0 = v2580; + block169param1 = v2581; + block169param2 = v1761; + block169param3 = v2588; + cff = 169usize; + } else { + block170param0 = v2580; + block170param1 = v2581; + block170param2 = v1761; + block170param3 = v2588; + cff = 170usize; + }; + let mut cff2 = match cff { + 169usize => 0usize, + 170usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l110: loop { + let (v2583, ()) = (block169param0.clone(), ()); + let (v2590, ()) = (block169param1.clone(), ()); + let (v2592, ()) = (block169param2.clone(), ()); + let (v2595, ()) = (block169param3.clone(), ()); + let (v1774, ()) = (4294967288u32, ()); + let (v1775, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2583.clone()), + ::wars_rt::func::cast::<_, _, C>(v1774.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1776, ()) = (1049556u32, ()); + let (v1777, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1775.clone()), + ::wars_rt::func::cast::<_, _, C>(v1776.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1778, ()) = (0u32, ()); + let (v1779, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1778.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1780, ()) = (1u32, ()); + let (v1781, ()) = (3u32, ()); + let (v1782, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2583.clone()), + ::wars_rt::func::cast::<_, _, C>(v1781.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1783, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1780.clone()), + ::wars_rt::func::cast::<_, _, C>(v1782.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1784, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1779.clone()), + ::wars_rt::func::cast::<_, _, C>(v1783.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1784 != 0 { + block172param0 = v2590; + block172param1 = v2592; + block172param2 = v1777; + block172param3 = v2595; + cff = 172usize; + } else { + block173param0 = v2590; + block173param1 = v2592; + block173param2 = v1777; + block173param3 = v1779; + block173param4 = v1783; + block173param5 = v2595; + cff = 173usize; + }; + let mut cff2 = match cff { + 172usize => 0usize, + 173usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l131: loop { + let (v2589, ()) = (block172param0.clone(), ()); + let (v2591, ()) = (block172param1.clone(), ()); + let (v2593, ()) = (block172param2.clone(), ()); + let (v2594, ()) = (block172param3.clone(), ()); + let (v1792, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2593.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block171param0 = v2593; + block171param1 = v2591; + block171param2 = v1792; + block171param3 = v2589; + block171param4 = v2594; + cff = 171usize; + break 'l131; + }; + } + 1usize => { + 'l130: loop { + let (v2596, ()) = (block173param0.clone(), ()); + let (v2597, ()) = (block173param1.clone(), ()); + let (v2598, ()) = (block173param2.clone(), ()); + let (v2599, ()) = (block173param3.clone(), ()); + let (v2600, ()) = (block173param4.clone(), ()); + let (v2601, ()) = (block173param5.clone(), ()); + let (v1785, ()) = (0u32, ()); + let (v1788, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2599.clone()), + ::wars_rt::func::cast::<_, _, C>(v2600.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1785.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1788.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block171param0 = v2598; + block171param1 = v2597; + block171param2 = v2598; + block171param3 = v2596; + block171param4 = v2601; + cff = 171usize; + break 'l130; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l129: loop { + let (v1793, ()) = (block171param0.clone(), ()); + let (v1794, ()) = (block171param1.clone(), ()); + let (v1799, ()) = (block171param2.clone(), ()); + let (v1817, ()) = (block171param3.clone(), ()); + let (v1949, ()) = (block171param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1793.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1794.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1799.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1794.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1794.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1793.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1794.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1799.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v1817; + block166param1 = v1949; + cff = 166usize; + break 'l129; + }; + }; + } + 1usize => { + 'l109: loop { + let (v2584, ()) = (block170param0.clone(), ()); + let (v2585, ()) = (block170param1.clone(), ()); + let (v2586, ()) = (block170param2.clone(), ()); + let (v2587, ()) = (block170param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2586.clone()), + (::wars_rt::func::cast::<_, _, C>(v2584.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block166param0 = v2585; + block166param1 = v2587; + cff = 166usize; + break 'l109; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 166usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l94: loop { + let (v1815, ()) = (block166param0.clone(), ()); + let (v1926, ()) = (block166param1.clone(), ()); + let (v1821, ()) = (8u32, ()); + let (v1822, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1815.clone()), + ::wars_rt::func::cast::<_, _, C>(v1821.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1926; + block2param1 = v1822; + cff = 2usize; + break 'l94; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l36: loop { + let (v659, ()) = (block7param0.clone(), ()); + let (v661, ()) = (block7param1.clone(), ()); + let (v665, ()) = (block7param2.clone(), ()); + let (v675, ()) = (block7param3.clone(), ()); + let (v836, ()) = (block7param4.clone(), ()); + block77param0 = v659; + block77param1 = v661; + block77param2 = v665; + block77param3 = v675; + block77param4 = v836; + cff = 77usize; + let mut cff2 = match cff { + 77usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v629, ()) = (block77param0.clone(), ()); + let (v630, ()) = (block77param1.clone(), ()); + let (v634, ()) = (block77param2.clone(), ()); + let (v636, ()) = (block77param3.clone(), ()); + let (v835, ()) = (block77param4.clone(), ()); + let (v631, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v629.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v632, ()) = (4294967288u32, ()); + let (v633, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v631.clone()), + ::wars_rt::func::cast::<_, _, C>(v632.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v635, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v633.clone()), + ::wars_rt::func::cast::<_, _, C>(v634.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v637, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v635.clone()), + ::wars_rt::func::cast::<_, _, C>(v636.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v638, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v629.clone()), + ::wars_rt::func::cast::<_, _, C>(v630.clone()), + ::wars_rt::func::cast::<_, _, C>(v637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v639, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v633.clone()), + ::wars_rt::func::cast::<_, _, C>(v634.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v640, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v635.clone()), + ::wars_rt::func::cast::<_, _, C>(v636.clone()), + ::wars_rt::func::cast::<_, _, C>(v637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v641, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v629.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v641 != 0 { + block79param0 = v630; + block79param1 = v638; + block79param2 = v639; + block79param3 = v636; + block79param4 = v640; + block79param5 = v641; + block79param6 = v634; + block79param7 = v835; + cff = 79usize; + } else { + block80param0 = v629; + block80param1 = v630; + block80param2 = v634; + block80param3 = v636; + block80param4 = v638; + block80param5 = v639; + block80param6 = v640; + block80param7 = v835; + cff = 80usize; + }; + let mut cff2 = match cff { + 80usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l58: loop { + let (v2223, ()) = (block80param0.clone(), ()); + let (v2224, ()) = (block80param1.clone(), ()); + let (v2225, ()) = (block80param2.clone(), ()); + let (v2226, ()) = (block80param3.clone(), ()); + let (v2227, ()) = (block80param4.clone(), ()); + let (v2228, ()) = (block80param5.clone(), ()); + let (v2229, ()) = (block80param6.clone(), ()); + let (v2230, ()) = (block80param7.clone(), ()); + let (v643, ()) = (20u32, ()); + let (v644, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2223.clone()), + ::wars_rt::func::cast::<_, _, C>(v643.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v645, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v644.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block79param0 = v2224; + block79param1 = v2227; + block79param2 = v2228; + block79param3 = v2226; + block79param4 = v2229; + block79param5 = v645; + block79param6 = v2225; + block79param7 = v2230; + cff = 79usize; + break 'l58; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l57: loop { + let (v646, ()) = (block79param0.clone(), ()); + let (v648, ()) = (block79param1.clone(), ()); + let (v650, ()) = (block79param2.clone(), ()); + let (v653, ()) = (block79param3.clone(), ()); + let (v655, ()) = (block79param4.clone(), ()); + let (v658, ()) = (block79param5.clone(), ()); + let (v673, ()) = (block79param6.clone(), ()); + let (v834, ()) = (block79param7.clone(), ()); + let (v652, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v646.clone()), + ::wars_rt::func::cast::<_, _, C>(v648.clone()), + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v657, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v653.clone()), + ::wars_rt::func::cast::<_, _, C>(v655.clone()), + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v658 != 0 { + block77param0 = v658; + block77param1 = v652; + block77param2 = v673; + block77param3 = v657; + block77param4 = v834; + cff = 77usize; + continue 'l45; + } else { + block81param0 = v652; + block81param1 = v657; + block81param2 = v673; + block81param3 = v834; + cff = 81usize; + }; + let mut cff2 = match cff { + 81usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l74: loop { + let (v2216, ()) = (block81param0.clone(), ()); + let (v2218, ()) = (block81param1.clone(), ()); + let (v2220, ()) = (block81param2.clone(), ()); + let (v2222, ()) = (block81param3.clone(), ()); + block78param0 = v2216; + block78param1 = v2218; + block78param2 = v2220; + block78param3 = v2222; + cff = 78usize; + let mut cff2 = match cff { + 78usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l87: loop { + let (v2215, ()) = (block78param0.clone(), ()); + let (v2217, ()) = (block78param1.clone(), ()); + let (v2219, ()) = (block78param2.clone(), ()); + let (v2221, ()) = (block78param3.clone(), ()); + block6param0 = v2215; + block6param1 = v2219; + block6param2 = v2217; + block6param3 = v2221; + cff = 6usize; + break 'l87; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 2usize => { + 'l37: loop { + let (v584, ()) = (block8param0.clone(), ()); + let (v585, ()) = (block8param1.clone(), ()); + let (v594, ()) = (block8param2.clone(), ()); + let (v606, ()) = (block8param3.clone(), ()); + let (v669, ()) = (block8param4.clone(), ()); + let (v678, ()) = (block8param5.clone(), ()); + let (v817, ()) = (block8param6.clone(), ()); + let (v590, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v584.clone()), + ::wars_rt::func::cast::<_, _, C>(v585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v590 != 0 { + block73param0 = v584; + block73param1 = v585; + block73param2 = v669; + block73param3 = v678; + block73param4 = v817; + cff = 73usize; + } else { + block74param0 = v594; + block74param1 = v606; + block74param2 = v669; + block74param3 = v817; + block74param4 = v678; + cff = 74usize; + }; + let mut cff2 = match cff { + 74usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l47: loop { + let (v2200, ()) = (block74param0.clone(), ()); + let (v2201, ()) = (block74param1.clone(), ()); + let (v2202, ()) = (block74param2.clone(), ()); + let (v2203, ()) = (block74param3.clone(), ()); + let (v2208, ()) = (block74param4.clone(), ()); + let (v591, ()) = (0u32, ()); + let (v592, ()) = (2u32, ()); + let (v601, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v592.clone()), + ::wars_rt::func::cast::<_, _, C>(v2200.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v602, ()) = (0u32, ()); + let (v603, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v602.clone()), + ::wars_rt::func::cast::<_, _, C>(v601.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v604, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v601.clone()), + ::wars_rt::func::cast::<_, _, C>(v603.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v618, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v604.clone()), + ::wars_rt::func::cast::<_, _, C>(v2201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v619, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v619 != 0 { + block5param0 = v2202; + block5param1 = v2203; + cff = 5usize; + break 'l47; + } else { + block75param0 = v591; + block75param1 = v618; + block75param2 = v2202; + block75param3 = v2208; + block75param4 = v2203; + cff = 75usize; + }; + let mut cff2 = match cff { + 75usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l60: loop { + let (v2204, ()) = (block75param0.clone(), ()); + let (v2205, ()) = (block75param1.clone(), ()); + let (v2206, ()) = (block75param2.clone(), ()); + let (v2207, ()) = (block75param3.clone(), ()); + let (v2209, ()) = (block75param4.clone(), ()); + let (v621, ()) = match ::wars_rt::i32ctz( + ::wars_rt::func::cast::<_, _, C>(v2205.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v622, ()) = (2u32, ()); + let (v623, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v621.clone()), + ::wars_rt::func::cast::<_, _, C>(v622.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v624, ()) = (1049412u32, ()); + let (v625, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v623.clone()), + ::wars_rt::func::cast::<_, _, C>(v624.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v626, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v625.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block73param0 = v626; + block73param1 = v2204; + block73param2 = v2206; + block73param3 = v2207; + block73param4 = v2209; + cff = 73usize; + break 'l60; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l46: loop { + let (v627, ()) = (block73param0.clone(), ()); + let (v663, ()) = (block73param1.clone(), ()); + let (v668, ()) = (block73param2.clone(), ()); + let (v677, ()) = (block73param3.clone(), ()); + let (v830, ()) = (block73param4.clone(), ()); + let (v628, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v627.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v628 != 0 { + block6param0 = v663; + block6param1 = v668; + block6param2 = v677; + block6param3 = v830; + cff = 6usize; + break 'l46; + } else { + block76param0 = v627; + block76param1 = v663; + block76param2 = v668; + block76param3 = v677; + block76param4 = v830; + cff = 76usize; + }; + let mut cff2 = match cff { + 76usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l59: loop { + let (v2210, ()) = (block76param0.clone(), ()); + let (v2211, ()) = (block76param1.clone(), ()); + let (v2212, ()) = (block76param2.clone(), ()); + let (v2213, ()) = (block76param3.clone(), ()); + let (v2214, ()) = (block76param4.clone(), ()); + block7param0 = v2210; + block7param1 = v2211; + block7param2 = v2212; + block7param3 = v2213; + block7param4 = v2214; + cff = 7usize; + break 'l59; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v1823, ()) = (block2param0.clone(), ()); + let (v1957, ()) = (block2param1.clone(), ()); + let (v1954, ()) = (16u32, ()); + let (v1955, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1823.clone()), + ::wars_rt::func::cast::<_, _, C>(v1954.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v1955; + () + }; + block1param0 = v1957; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v801, ()) = (block5param0.clone(), ()); + let (v809, ()) = (block5param1.clone(), ()); + let (v799, ()) = (0u32, ()); + let (v800, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v799.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v802, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v800.clone()), + ::wars_rt::func::cast::<_, _, C>(v801.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v802 != 0 { + block104param0 = v800; + block104param1 = v801; + block104param2 = v809; + cff = 104usize; + } else { + block105param0 = v801; + block105param1 = v809; + cff = 105usize; + }; + let mut cff2 = match cff { + 104usize => 0usize, + 105usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v2356, ()) = (block104param0.clone(), ()); + let (v2357, ()) = (block104param1.clone(), ()); + let (v2555, ()) = (block104param2.clone(), ()); + let (v1518, ()) = (0u32, ()); + let (v1519, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1518.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1522, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2356.clone()), + ::wars_rt::func::cast::<_, _, C>(v2357.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1523, ()) = (15u32, ()); + let (v1524, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1522.clone()), + ::wars_rt::func::cast::<_, _, C>(v1523.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1524 != 0 { + block160param0 = v2356; + block160param1 = v2357; + block160param2 = v2555; + block160param3 = v1519; + block160param4 = v1522; + cff = 160usize; + } else { + block161param0 = v2356; + block161param1 = v2555; + block161param2 = v1519; + cff = 161usize; + }; + let mut cff2 = match cff { + 160usize => 0usize, + 161usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v2552, ()) = (block160param0.clone(), ()); + let (v2553, ()) = (block160param1.clone(), ()); + let (v2554, ()) = (block160param2.clone(), ()); + let (v2556, ()) = (block160param3.clone(), ()); + let (v2557, ()) = (block160param4.clone(), ()); + let (v1541, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1541.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1544, ()) = (0u32, ()); + let (v1547, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2556.clone()), + ::wars_rt::func::cast::<_, _, C>(v2553.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1544.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1547.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1549, ()) = (1u32, ()); + let (v1550, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ::wars_rt::func::cast::<_, _, C>(v1549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1547.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1550.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1553, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2556.clone()), + ::wars_rt::func::cast::<_, _, C>(v2552.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1553.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2557.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1555, ()) = (3u32, ()); + let (v1556, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2553.clone()), + ::wars_rt::func::cast::<_, _, C>(v1555.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2556.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1556.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block159param0 = v2556; + block159param1 = v2554; + cff = 159usize; + break 'l13; + } + } + 1usize => { + 'l12: loop { + let (v2558, ()) = (block161param0.clone(), ()); + let (v2559, ()) = (block161param1.clone(), ()); + let (v2560, ()) = (block161param2.clone(), ()); + let (v1525, ()) = (0u32, ()); + let (v1526, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1525.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1526.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1528, ()) = (0u32, ()); + let (v1529, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1528.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1529.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1533, ()) = (3u32, ()); + let (v1534, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2558.clone()), + ::wars_rt::func::cast::<_, _, C>(v1533.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2560.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1534.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1536, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2560.clone()), + ::wars_rt::func::cast::<_, _, C>(v2558.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1537, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1536.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1538, ()) = (1u32, ()); + let (v1539, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1537.clone()), + ::wars_rt::func::cast::<_, _, C>(v1538.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1536.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1539.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block159param0 = v2560; + block159param1 = v2559; + cff = 159usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l11: loop { + let (v1558, ()) = (block159param0.clone(), ()); + let (v1870, ()) = (block159param1.clone(), ()); + let (v1559, ()) = (8u32, ()); + let (v1560, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1558.clone()), + ::wars_rt::func::cast::<_, _, C>(v1559.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1870; + block2param1 = v1560; + cff = 2usize; + break 'l11; + } + } + } + 1usize => { + 'l6: loop { + let (v2358, ()) = (block105param0.clone(), ()); + let (v2362, ()) = (block105param1.clone(), ()); + let (v803, ()) = (0u32, ()); + let (v804, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v803.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v806, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v804.clone()), + ::wars_rt::func::cast::<_, _, C>(v2358.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v806 != 0 { + block106param0 = v2358; + block106param1 = v804; + block106param2 = v2362; + cff = 106usize; + } else { + block107param0 = v2358; + block107param1 = v2362; + cff = 107usize; + }; + let mut cff2 = match cff { + 106usize => 0usize, + 107usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v2359, ()) = (block106param0.clone(), ()); + let (v2360, ()) = (block106param1.clone(), ()); + let (v2361, ()) = (block106param2.clone(), ()); + let (v1500, ()) = (0u32, ()); + let (v1503, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2360.clone()), + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1500.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1503.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1505, ()) = (0u32, ()); + let (v1506, ()) = (0u32, ()); + let (v1507, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1506.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1508, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1507.clone()), + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1505.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1508.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1510, ()) = (1u32, ()); + let (v1511, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1503.clone()), + ::wars_rt::func::cast::<_, _, C>(v1510.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1508.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1511.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1513, ()) = (3u32, ()); + let (v1514, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2359.clone()), + ::wars_rt::func::cast::<_, _, C>(v1513.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1507.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1514.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1516, ()) = (8u32, ()); + let (v1517, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1507.clone()), + ::wars_rt::func::cast::<_, _, C>(v1516.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v2361; + block2param1 = v1517; + cff = 2usize; + break 'l14; + } + } + 1usize => { + 'l15: loop { + let (v2363, ()) = (block107param0.clone(), ()); + let (v2364, ()) = (block107param1.clone(), ()); + let (v842, ()) = (4u32, ()); + let (v843, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2364.clone()), + ::wars_rt::func::cast::<_, _, C>(v842.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v844, ()) = (1049864u32, ()); + let (v846, ()) = (65583u32, ()); + let (v847, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2363.clone()), + ::wars_rt::func::cast::<_, _, C>(v846.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v848, ()) = (4294901760u32, ()); + let (v849, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v847.clone()), + ::wars_rt::func::cast::<_, _, C>(v848.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func48( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v843.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v844.clone()), + (::wars_rt::func::cast::<_, _, C>(v849.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v851, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2364.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v851 != 0 { + block108param0 = v2364; + block108param1 = v2363; + block108param2 = v851; + cff = 108usize; + } else { + block109param0 = v2364; + cff = 109usize; + }; + let mut cff2 = match cff { + 108usize => 0usize, + 109usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v2365, ()) = (block108param0.clone(), ()); + let (v2371, ()) = (block108param1.clone(), ()); + let (v2374, ()) = (block108param2.clone(), ()); + let (v854, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2365.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v855, ()) = (0u32, ()); + let (v856, ()) = (0u32, ()); + let (v857, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v856.clone() + 1049844u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v858, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2365.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v859, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v857.clone()), + ::wars_rt::func::cast::<_, _, C>(v858.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v855.clone() + 1049844u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v861, ()) = (0u32, ()); + let (v862, ()) = (0u32, ()); + let (v863, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v862.clone() + 1049848u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v864, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v863.clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v865, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v863.clone()), + ::wars_rt::func::cast::<_, _, C>(v859.clone()), + ::wars_rt::func::cast::<_, _, C>(v864.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v861.clone() + 1049848u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v865.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v867, ()) = (0u32, ()); + let (v868, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v867.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v869, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v868.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v869 != 0 { + block112param0 = v2371; + block112param1 = v2365; + block112param2 = v2374; + block112param3 = v854; + block112param4 = v858; + cff = 112usize; + } else { + block113param0 = v2371; + block113param1 = v2365; + block113param2 = v2374; + block113param3 = v854; + block113param4 = v858; + block113param5 = v868; + cff = 113usize; + }; + let mut cff2 = match cff { + 112usize => 0usize, + 113usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v2370, ()) = (block112param0.clone(), ()); + let (v2372, ()) = (block112param1.clone(), ()); + let (v2373, ()) = (block112param2.clone(), ()); + let (v2375, ()) = (block112param3.clone(), ()); + let (v2376, ()) = (block112param4.clone(), ()); + let (v882, ()) = (0u32, ()); + let (v883, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v882.clone() + 1049856u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v884, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v883.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v884 != 0 { + block119param0 = v2373; + block119param1 = v2375; + block119param2 = v2376; + block119param3 = v2370; + block119param4 = v2372; + cff = 119usize; + } else { + block120param0 = v2370; + block120param1 = v2372; + block120param2 = v2373; + block120param3 = v2375; + block120param4 = v2376; + block120param5 = v883; + cff = 120usize; + }; + let mut cff2 = match cff { + 120usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v2396, ()) = (block120param0.clone(), ()); + let (v2397, ()) = (block120param1.clone(), ()); + let (v2398, ()) = (block120param2.clone(), ()); + let (v2399, ()) = (block120param3.clone(), ()); + let (v2400, ()) = (block120param4.clone(), ()); + let (v2401, ()) = (block120param5.clone(), ()); + let (v888, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2398.clone()), + ::wars_rt::func::cast::<_, _, C>(v2401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v888 != 0 { + block118param0 = v2399; + block118param1 = v2400; + block118param2 = v2398; + block118param3 = v2396; + block118param4 = v2397; + cff = 118usize; + break 'l43; + } else { + block121param0 = v2396; + block121param1 = v2397; + block121param2 = v2398; + block121param3 = v2399; + block121param4 = v2400; + cff = 121usize; + }; + let mut cff2 = match cff { + 121usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l53: loop { + let (v2402, ()) = (block121param0.clone(), ()); + let (v2403, ()) = (block121param1.clone(), ()); + let (v2404, ()) = (block121param2.clone(), ()); + let (v2405, ()) = (block121param3.clone(), ()); + let (v2406, ()) = (block121param4.clone(), ()); + block119param0 = v2404; + block119param1 = v2405; + block119param2 = v2406; + block119param3 = v2402; + block119param4 = v2403; + cff = 119usize; + break 'l53; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 118usize => 0usize, + 119usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v897, ()) = (block118param0.clone(), ()); + let (v904, ()) = (block118param1.clone(), ()); + let (v911, ()) = (block118param2.clone(), ()); + let (v1643, ()) = (block118param3.clone(), ()); + let (v1902, ()) = (block118param4.clone(), ()); + let (v893, ()) = (0u32, ()); + let (v894, ()) = (4095u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v893.clone() + 1049860u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v894.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v896, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v896.clone() + 1049552u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v897.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v903, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v903.clone() + 1049544u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v904.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v910, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v910.clone() + 1049540u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v913, ()) = (0u32, ()); + let (v914, ()) = (1049556u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v913.clone() + 1049568u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v914.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v916, ()) = (0u32, ()); + let (v917, ()) = (1049564u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v916.clone() + 1049576u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v917.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v919, ()) = (0u32, ()); + let (v920, ()) = (1049556u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v919.clone() + 1049564u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v920.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v922, ()) = (0u32, ()); + let (v923, ()) = (1049572u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v922.clone() + 1049584u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v923.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v925, ()) = (0u32, ()); + let (v926, ()) = (1049564u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v925.clone() + 1049572u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v926.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v928, ()) = (0u32, ()); + let (v929, ()) = (1049580u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v928.clone() + 1049592u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v929.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v931, ()) = (0u32, ()); + let (v932, ()) = (1049572u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v931.clone() + 1049580u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v932.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v934, ()) = (0u32, ()); + let (v935, ()) = (1049588u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v934.clone() + 1049600u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v935.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v937, ()) = (0u32, ()); + let (v938, ()) = (1049580u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v937.clone() + 1049588u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v938.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v940, ()) = (0u32, ()); + let (v941, ()) = (1049596u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v940.clone() + 1049608u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v941.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v943, ()) = (0u32, ()); + let (v944, ()) = (1049588u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v943.clone() + 1049596u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v944.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v946, ()) = (0u32, ()); + let (v947, ()) = (1049604u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v946.clone() + 1049616u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v947.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v949, ()) = (0u32, ()); + let (v950, ()) = (1049596u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v949.clone() + 1049604u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v950.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v952, ()) = (0u32, ()); + let (v953, ()) = (1049612u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v952.clone() + 1049624u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v953.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v955, ()) = (0u32, ()); + let (v956, ()) = (1049604u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v955.clone() + 1049612u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v956.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v958, ()) = (0u32, ()); + let (v959, ()) = (1049620u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v958.clone() + 1049632u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v959.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v961, ()) = (0u32, ()); + let (v962, ()) = (1049612u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v961.clone() + 1049620u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v962.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v964, ()) = (0u32, ()); + let (v965, ()) = (1049620u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v964.clone() + 1049628u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v965.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v967, ()) = (0u32, ()); + let (v968, ()) = (1049628u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v967.clone() + 1049640u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v968.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v970, ()) = (0u32, ()); + let (v971, ()) = (1049628u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v970.clone() + 1049636u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v971.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v973, ()) = (0u32, ()); + let (v974, ()) = (1049636u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v973.clone() + 1049648u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v974.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v976, ()) = (0u32, ()); + let (v977, ()) = (1049636u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v976.clone() + 1049644u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v977.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v979, ()) = (0u32, ()); + let (v980, ()) = (1049644u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v979.clone() + 1049656u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v980.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v982, ()) = (0u32, ()); + let (v983, ()) = (1049644u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v982.clone() + 1049652u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v983.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v985, ()) = (0u32, ()); + let (v986, ()) = (1049652u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v985.clone() + 1049664u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v986.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v988, ()) = (0u32, ()); + let (v989, ()) = (1049652u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v988.clone() + 1049660u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v989.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v991, ()) = (0u32, ()); + let (v992, ()) = (1049660u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v991.clone() + 1049672u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v992.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v994, ()) = (0u32, ()); + let (v995, ()) = (1049660u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v994.clone() + 1049668u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v995.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v997, ()) = (0u32, ()); + let (v998, ()) = (1049668u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v997.clone() + 1049680u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v998.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1000, ()) = (0u32, ()); + let (v1001, ()) = (1049668u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1000.clone() + 1049676u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1001.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1003, ()) = (0u32, ()); + let (v1004, ()) = (1049676u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1003.clone() + 1049688u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1004.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1006, ()) = (0u32, ()); + let (v1007, ()) = (1049676u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1006.clone() + 1049684u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1007.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1009, ()) = (0u32, ()); + let (v1010, ()) = (1049684u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1009.clone() + 1049696u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1010.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1012, ()) = (0u32, ()); + let (v1013, ()) = (1049692u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1012.clone() + 1049704u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1013.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1015, ()) = (0u32, ()); + let (v1016, ()) = (1049684u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1015.clone() + 1049692u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1016.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1018, ()) = (0u32, ()); + let (v1019, ()) = (1049700u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1018.clone() + 1049712u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1019.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1021, ()) = (0u32, ()); + let (v1022, ()) = (1049692u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1021.clone() + 1049700u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1022.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1024, ()) = (0u32, ()); + let (v1025, ()) = (1049708u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1024.clone() + 1049720u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1025.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1027, ()) = (0u32, ()); + let (v1028, ()) = (1049700u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1027.clone() + 1049708u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1028.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1030, ()) = (0u32, ()); + let (v1031, ()) = (1049716u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1030.clone() + 1049728u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1031.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1033, ()) = (0u32, ()); + let (v1034, ()) = (1049708u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1033.clone() + 1049716u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1034.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1036, ()) = (0u32, ()); + let (v1037, ()) = (1049724u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1036.clone() + 1049736u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1037.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1039, ()) = (0u32, ()); + let (v1040, ()) = (1049716u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1039.clone() + 1049724u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1040.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1042, ()) = (0u32, ()); + let (v1043, ()) = (1049732u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1042.clone() + 1049744u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1043.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1045, ()) = (0u32, ()); + let (v1046, ()) = (1049724u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1045.clone() + 1049732u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1046.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1048, ()) = (0u32, ()); + let (v1049, ()) = (1049740u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1048.clone() + 1049752u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1049.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1051, ()) = (0u32, ()); + let (v1052, ()) = (1049732u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1051.clone() + 1049740u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1052.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1054, ()) = (0u32, ()); + let (v1055, ()) = (1049748u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1054.clone() + 1049760u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1055.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1057, ()) = (0u32, ()); + let (v1058, ()) = (1049740u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1057.clone() + 1049748u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1058.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1060, ()) = (0u32, ()); + let (v1061, ()) = (1049756u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1060.clone() + 1049768u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1061.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1063, ()) = (0u32, ()); + let (v1064, ()) = (1049748u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1063.clone() + 1049756u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1064.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1066, ()) = (0u32, ()); + let (v1067, ()) = (1049764u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1066.clone() + 1049776u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1067.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1069, ()) = (0u32, ()); + let (v1070, ()) = (1049756u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1069.clone() + 1049764u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1070.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1072, ()) = (0u32, ()); + let (v1073, ()) = (1049772u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1072.clone() + 1049784u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1073.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1075, ()) = (0u32, ()); + let (v1076, ()) = (1049764u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1075.clone() + 1049772u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1076.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1078, ()) = (0u32, ()); + let (v1079, ()) = (1049780u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1078.clone() + 1049792u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1079.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1081, ()) = (0u32, ()); + let (v1082, ()) = (1049772u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1081.clone() + 1049780u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1082.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1084, ()) = (0u32, ()); + let (v1085, ()) = (1049788u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1084.clone() + 1049800u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1085.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1087, ()) = (0u32, ()); + let (v1088, ()) = (1049780u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1087.clone() + 1049788u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1088.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1090, ()) = (0u32, ()); + let (v1091, ()) = (1049796u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1090.clone() + 1049808u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1091.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1093, ()) = (0u32, ()); + let (v1094, ()) = (1049788u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1093.clone() + 1049796u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1094.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1096, ()) = (0u32, ()); + let (v1097, ()) = (1049804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1096.clone() + 1049816u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1097.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1099, ()) = (0u32, ()); + let (v1100, ()) = (1049796u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1099.clone() + 1049804u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1102, ()) = (0u32, ()); + let (v1103, ()) = (15u32, ()); + let (v1104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1105, ()) = (4294967288u32, ()); + let (v1106, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1104.clone()), + ::wars_rt::func::cast::<_, _, C>(v1105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1107, ()) = (4294967288u32, ()); + let (v1108, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1106.clone()), + ::wars_rt::func::cast::<_, _, C>(v1107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1102.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1108.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1110, ()) = (0u32, ()); + let (v1111, ()) = (1049804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1110.clone() + 1049812u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1113, ()) = (0u32, ()); + let (v1114, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1115, ()) = (4294967256u32, ()); + let (v1116, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v904.clone()), + ::wars_rt::func::cast::<_, _, C>(v1115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1117, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1114.clone()), + ::wars_rt::func::cast::<_, _, C>(v1116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1118, ()) = (8u32, ()); + let (v1119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1117.clone()), + ::wars_rt::func::cast::<_, _, C>(v1118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1113.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1119.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1121, ()) = (1u32, ()); + let (v1122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1119.clone()), + ::wars_rt::func::cast::<_, _, C>(v1121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1108.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1124, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v911.clone()), + ::wars_rt::func::cast::<_, _, C>(v1116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1125, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1124.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1125.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1127, ()) = (0u32, ()); + let (v1128, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1127.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1128.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v1643; + block99param1 = v1902; + cff = 99usize; + break 'l41; + }; + } + 1usize => { + 'l42: loop { + let (v890, ()) = (block119param0.clone(), ()); + let (v900, ()) = (block119param1.clone(), ()); + let (v907, ()) = (block119param2.clone(), ()); + let (v1646, ()) = (block119param3.clone(), ()); + let (v1905, ()) = (block119param4.clone(), ()); + let (v889, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v889.clone() + 1049856u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v890.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block118param0 = v900; + block118param1 = v907; + block118param2 = v890; + block118param3 = v1646; + block118param4 = v1905; + cff = 118usize; + break 'l42; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l29: loop { + let (v2377, ()) = (block113param0.clone(), ()); + let (v2378, ()) = (block113param1.clone(), ()); + let (v2379, ()) = (block113param2.clone(), ()); + let (v2380, ()) = (block113param3.clone(), ()); + let (v2381, ()) = (block113param4.clone(), ()); + let (v2382, ()) = (block113param5.clone(), ()); + let (v870, ()) = (1049540u32, ()); + block114param0 = v2379; + block114param1 = v870; + block114param2 = v2382; + block114param3 = v2380; + block114param4 = v2381; + block114param5 = v2377; + block114param6 = v2378; + cff = 114usize; + let mut cff2 = match cff { + 114usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v871, ()) = (block114param0.clone(), ()); + let (v872, ()) = (block114param1.clone(), ()); + let (v1131, ()) = (block114param2.clone(), ()); + let (v1153, ()) = (block114param3.clone(), ()); + let (v1172, ()) = (block114param4.clone(), ()); + let (v1403, ()) = (block114param5.clone(), ()); + let (v1886, ()) = (block114param6.clone(), ()); + let (v873, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v872.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v874, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v872.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v875, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v873.clone()), + ::wars_rt::func::cast::<_, _, C>(v874.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v876, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v871.clone()), + ::wars_rt::func::cast::<_, _, C>(v875.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v876 != 0 { + block111param0 = v872; + block111param1 = v874; + block111param2 = v1172; + block111param3 = v1403; + block111param4 = v1886; + block111param5 = v871; + block111param6 = v1131; + block111param7 = v1153; + block111param8 = v873; + cff = 111usize; + } else { + block116param0 = v871; + block116param1 = v872; + block116param2 = v1131; + block116param3 = v1153; + block116param4 = v1172; + block116param5 = v1403; + block116param6 = v1886; + cff = 116usize; + }; + let mut cff2 = match cff { + 111usize => 0usize, + 116usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l56: loop { + let (v2335, ()) = (block111param0.clone(), ()); + let (v2340, ()) = (block111param1.clone(), ()); + let (v2345, ()) = (block111param2.clone(), ()); + let (v2350, ()) = (block111param3.clone(), ()); + let (v2355, ()) = (block111param4.clone(), ()); + let (v2367, ()) = (block111param5.clone(), ()); + let (v2368, ()) = (block111param6.clone(), ()); + let (v2369, ()) = (block111param7.clone(), ()); + let (v2409, ()) = (block111param8.clone(), ()); + let (v1135, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v2368.clone()), + ::wars_rt::func::cast::<_, _, C>(v2367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1135 != 0 { + block110param0 = v2367; + block110param1 = v2345; + block110param2 = v2369; + block110param3 = v2368; + block110param4 = v2350; + block110param5 = v2355; + cff = 110usize; + break 'l56; + } else { + block122param0 = v2335; + block122param1 = v2340; + block122param2 = v2345; + block122param3 = v2350; + block122param4 = v2355; + block122param5 = v2367; + block122param6 = v2409; + block122param7 = v2368; + block122param8 = v2369; + cff = 122usize; + }; + let mut cff2 = match cff { + 122usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l71: loop { + let (v2334, ()) = (block122param0.clone(), ()); + let (v2339, ()) = (block122param1.clone(), ()); + let (v2344, ()) = (block122param2.clone(), ()); + let (v2349, ()) = (block122param3.clone(), ()); + let (v2354, ()) = (block122param4.clone(), ()); + let (v2407, ()) = (block122param5.clone(), ()); + let (v2408, ()) = (block122param6.clone(), ()); + let (v2410, ()) = (block122param7.clone(), ()); + let (v2411, ()) = (block122param8.clone(), ()); + let (v1139, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v2408.clone()), + ::wars_rt::func::cast::<_, _, C>(v2410.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1139 != 0 { + block110param0 = v2407; + block110param1 = v2344; + block110param2 = v2411; + block110param3 = v2410; + block110param4 = v2349; + block110param5 = v2354; + cff = 110usize; + break 'l71; + } else { + block123param0 = v2334; + block123param1 = v2339; + block123param2 = v2344; + block123param3 = v2349; + block123param4 = v2354; + block123param5 = v2407; + block123param6 = v2410; + block123param7 = v2411; + cff = 123usize; + }; + let mut cff2 = match cff { + 123usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l83: loop { + let (v2333, ()) = (block123param0.clone(), ()); + let (v2338, ()) = (block123param1.clone(), ()); + let (v2343, ()) = (block123param2.clone(), ()); + let (v2348, ()) = (block123param3.clone(), ()); + let (v2353, ()) = (block123param4.clone(), ()); + let (v2412, ()) = (block123param5.clone(), ()); + let (v2413, ()) = (block123param6.clone(), ()); + let (v2414, ()) = (block123param7.clone(), ()); + let (v1143, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2333.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1144, ()) = (1u32, ()); + let (v1145, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1143.clone()), + ::wars_rt::func::cast::<_, _, C>(v1144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1145 != 0 { + block110param0 = v2412; + block110param1 = v2343; + block110param2 = v2414; + block110param3 = v2413; + block110param4 = v2348; + block110param5 = v2353; + cff = 110usize; + break 'l83; + } else { + block124param0 = v2333; + block124param1 = v2338; + block124param2 = v2343; + block124param3 = v2348; + block124param4 = v2353; + block124param5 = v1143; + block124param6 = v2414; + block124param7 = v2412; + block124param8 = v2413; + cff = 124usize; + }; + let mut cff2 = match cff { + 124usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l99: loop { + let (v2332, ()) = (block124param0.clone(), ()); + let (v2337, ()) = (block124param1.clone(), ()); + let (v2342, ()) = (block124param2.clone(), ()); + let (v2347, ()) = (block124param3.clone(), ()); + let (v2352, ()) = (block124param4.clone(), ()); + let (v2415, ()) = (block124param5.clone(), ()); + let (v2416, ()) = (block124param6.clone(), ()); + let (v2418, ()) = (block124param7.clone(), ()); + let (v2420, ()) = (block124param8.clone(), ()); + let (v1147, ()) = (1u32, ()); + let (v1148, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2415.clone()), + ::wars_rt::func::cast::<_, _, C>(v1147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1156, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1148.clone()), + ::wars_rt::func::cast::<_, _, C>(v2416.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1156 != 0 { + block103param0 = v2332; + block103param1 = v2337; + block103param2 = v2342; + block103param3 = v2347; + block103param4 = v2352; + cff = 103usize; + } else { + block125param0 = v2418; + block125param1 = v2420; + block125param2 = v2416; + block125param3 = v2342; + block125param4 = v2347; + block125param5 = v2352; + cff = 125usize; + }; + let mut cff2 = match cff { + 103usize => 0usize, + 125usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l117: loop { + let (v2331, ()) = (block103param0.clone(), ()); + let (v2336, ()) = (block103param1.clone(), ()); + let (v2341, ()) = (block103param2.clone(), ()); + let (v2346, ()) = (block103param3.clone(), ()); + let (v2351, ()) = (block103param4.clone(), ()); + let (v1569, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2336.clone()), + ::wars_rt::func::cast::<_, _, C>(v2341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2331.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1569.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1571, ()) = (0u32, ()); + let (v1572, ()) = (0u32, ()); + let (v1573, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1572.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1574, ()) = (15u32, ()); + let (v1575, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1574.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1576, ()) = (4294967288u32, ()); + let (v1577, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1575.clone()), + ::wars_rt::func::cast::<_, _, C>(v1576.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1578, ()) = (4294967288u32, ()); + let (v1579, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1577.clone()), + ::wars_rt::func::cast::<_, _, C>(v1578.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1571.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1579.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1581, ()) = (0u32, ()); + let (v1582, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1577.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1583, ()) = (0u32, ()); + let (v1584, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1583.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1585, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1584.clone()), + ::wars_rt::func::cast::<_, _, C>(v2341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1586, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1582.clone()), + ::wars_rt::func::cast::<_, _, C>(v1585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1587, ()) = (8u32, ()); + let (v1588, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1586.clone()), + ::wars_rt::func::cast::<_, _, C>(v1587.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1581.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1588.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1590, ()) = (1u32, ()); + let (v1591, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1588.clone()), + ::wars_rt::func::cast::<_, _, C>(v1590.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1579.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1591.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1593, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1573.clone()), + ::wars_rt::func::cast::<_, _, C>(v1585.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1594, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1593.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1594.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1596, ()) = (0u32, ()); + let (v1597, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1596.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1597.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v2346; + block99param1 = v2351; + cff = 99usize; + break 'l117; + }; + } + 1usize => { + 'l116: loop { + let (v2417, ()) = (block125param0.clone(), ()); + let (v2419, ()) = (block125param1.clone(), ()); + let (v2421, ()) = (block125param2.clone(), ()); + let (v2422, ()) = (block125param3.clone(), ()); + let (v2423, ()) = (block125param4.clone(), ()); + let (v2424, ()) = (block125param5.clone(), ()); + block110param0 = v2417; + block110param1 = v2422; + block110param2 = v2421; + block110param3 = v2419; + block110param4 = v2423; + block110param5 = v2424; + cff = 110usize; + break 'l116; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l55: loop { + let (v2383, ()) = (block116param0.clone(), ()); + let (v2384, ()) = (block116param1.clone(), ()); + let (v2385, ()) = (block116param2.clone(), ()); + let (v2386, ()) = (block116param3.clone(), ()); + let (v2387, ()) = (block116param4.clone(), ()); + let (v2388, ()) = (block116param5.clone(), ()); + let (v2389, ()) = (block116param6.clone(), ()); + let (v878, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2384.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v878 != 0 { + block114param0 = v2383; + block114param1 = v878; + block114param2 = v2385; + block114param3 = v2386; + block114param4 = v2387; + block114param5 = v2388; + block114param6 = v2389; + cff = 114usize; + continue 'l44; + } else { + block117param0 = v2383; + block117param1 = v2385; + block117param2 = v2386; + block117param3 = v2387; + block117param4 = v2388; + block117param5 = v2389; + cff = 117usize; + }; + let mut cff2 = match cff { + 117usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l70: loop { + let (v2390, ()) = (block117param0.clone(), ()); + let (v2391, ()) = (block117param1.clone(), ()); + let (v2392, ()) = (block117param2.clone(), ()); + let (v2393, ()) = (block117param3.clone(), ()); + let (v2394, ()) = (block117param4.clone(), ()); + let (v2395, ()) = (block117param5.clone(), ()); + block110param0 = v2390; + block110param1 = v2393; + block110param2 = v2392; + block110param3 = v2391; + block110param4 = v2394; + block110param5 = v2395; + cff = 110usize; + break 'l70; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l54: loop { + let (v1160, ()) = (block110param0.clone(), ()); + let (v1169, ()) = (block110param1.clone(), ()); + let (v1198, ()) = (block110param2.clone(), ()); + let (v1221, ()) = (block110param3.clone(), ()); + let (v1400, ()) = (block110param4.clone(), ()); + let (v1883, ()) = (block110param5.clone(), ()); + let (v1157, ()) = (0u32, ()); + let (v1158, ()) = (0u32, ()); + let (v1159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1158.clone() + 1049856u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1166, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1167, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v1159.clone()), + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1157.clone() + 1049856u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1167.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1179, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1160.clone()), + ::wars_rt::func::cast::<_, _, C>(v1169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1180, ()) = (1049540u32, ()); + block129param0 = v1180; + block129param1 = v1179; + block129param2 = v1198; + block129param3 = v1221; + block129param4 = v1160; + block129param5 = v1169; + block129param6 = v1400; + block129param7 = v1883; + cff = 129usize; + let mut cff2 = match cff { + 129usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l72: loop { + let (v1181, ()) = (block129param0.clone(), ()); + let (v1183, ()) = (block129param1.clone(), ()); + let (v1197, ()) = (block129param2.clone(), ()); + let (v1220, ()) = (block129param3.clone(), ()); + let (v1238, ()) = (block129param4.clone(), ()); + let (v1259, ()) = (block129param5.clone(), ()); + let (v1399, ()) = (block129param6.clone(), ()); + let (v1882, ()) = (block129param7.clone(), ()); + let (v1182, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1181.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1184, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1182.clone()), + ::wars_rt::func::cast::<_, _, C>(v1183.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1184 != 0 { + block128param0 = v1882; + block128param1 = v1181; + block128param2 = v1183; + block128param3 = v1238; + block128param4 = v1259; + block128param5 = v1399; + block128param6 = v1197; + block128param7 = v1220; + cff = 128usize; + } else { + block131param0 = v1181; + block131param1 = v1183; + block131param2 = v1197; + block131param3 = v1220; + block131param4 = v1238; + block131param5 = v1259; + block131param6 = v1399; + block131param7 = v1882; + cff = 131usize; + }; + let mut cff2 = match cff { + 128usize => 0usize, + 131usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l84: loop { + let (v2326, ()) = (block128param0.clone(), ()); + let (v2427, ()) = (block128param1.clone(), ()); + let (v2430, ()) = (block128param2.clone(), ()); + let (v2433, ()) = (block128param3.clone(), ()); + let (v2436, ()) = (block128param4.clone(), ()); + let (v2439, ()) = (block128param5.clone(), ()); + let (v2440, ()) = (block128param6.clone(), ()); + let (v2441, ()) = (block128param7.clone(), ()); + let (v1189, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2427.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1190, ()) = (1u32, ()); + let (v1191, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1189.clone()), + ::wars_rt::func::cast::<_, _, C>(v1190.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1191 != 0 { + block127param0 = v2441; + block127param1 = v2433; + block127param2 = v2436; + block127param3 = v2440; + block127param4 = v2439; + block127param5 = v2326; + cff = 127usize; + break 'l84; + } else { + block133param0 = v2326; + block133param1 = v2427; + block133param2 = v2430; + block133param3 = v2433; + block133param4 = v2436; + block133param5 = v2439; + block133param6 = v1189; + block133param7 = v2440; + block133param8 = v2441; + cff = 133usize; + }; + let mut cff2 = match cff { + 133usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l100: loop { + let (v2325, ()) = (block133param0.clone(), ()); + let (v2426, ()) = (block133param1.clone(), ()); + let (v2429, ()) = (block133param2.clone(), ()); + let (v2432, ()) = (block133param3.clone(), ()); + let (v2435, ()) = (block133param4.clone(), ()); + let (v2438, ()) = (block133param5.clone(), ()); + let (v2456, ()) = (block133param6.clone(), ()); + let (v2457, ()) = (block133param7.clone(), ()); + let (v2460, ()) = (block133param8.clone(), ()); + let (v1193, ()) = (1u32, ()); + let (v1194, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2456.clone()), + ::wars_rt::func::cast::<_, _, C>(v1193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1202, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1194.clone()), + ::wars_rt::func::cast::<_, _, C>(v2457.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1202 != 0 { + block126param0 = v2325; + block126param1 = v2426; + block126param2 = v2429; + block126param3 = v2432; + block126param4 = v2435; + block126param5 = v2438; + cff = 126usize; + } else { + block134param0 = v2457; + block134param1 = v2460; + block134param2 = v2432; + block134param3 = v2435; + block134param4 = v2438; + block134param5 = v2325; + cff = 134usize; + }; + let mut cff2 = match cff { + 126usize => 0usize, + 134usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l118: loop { + let (v2324, ()) = (block126param0.clone(), ()); + let (v2425, ()) = (block126param1.clone(), ()); + let (v2428, ()) = (block126param2.clone(), ()); + let (v2431, ()) = (block126param3.clone(), ()); + let (v2434, ()) = (block126param4.clone(), ()); + let (v2437, ()) = (block126param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1386, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1388, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1386.clone()), + ::wars_rt::func::cast::<_, _, C>(v2434.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2425.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1388.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1390, ()) = (15u32, ()); + let (v1391, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2431.clone()), + ::wars_rt::func::cast::<_, _, C>(v1390.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1392, ()) = (4294967288u32, ()); + let (v1393, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1391.clone()), + ::wars_rt::func::cast::<_, _, C>(v1392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1394, ()) = (4294967288u32, ()); + let (v1395, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1393.clone()), + ::wars_rt::func::cast::<_, _, C>(v1394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1412, ()) = (3u32, ()); + let (v1413, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2437.clone()), + ::wars_rt::func::cast::<_, _, C>(v1412.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1395.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1413.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1418, ()) = (15u32, ()); + let (v1419, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2428.clone()), + ::wars_rt::func::cast::<_, _, C>(v1418.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1420, ()) = (4294967288u32, ()); + let (v1421, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1419.clone()), + ::wars_rt::func::cast::<_, _, C>(v1420.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1422, ()) = (4294967288u32, ()); + let (v1423, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1421.clone()), + ::wars_rt::func::cast::<_, _, C>(v1422.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1424, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1395.clone()), + ::wars_rt::func::cast::<_, _, C>(v2437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1425, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1423.clone()), + ::wars_rt::func::cast::<_, _, C>(v1424.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1426, ()) = (0u32, ()); + let (v1427, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1426.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1428, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v1423.clone()), + ::wars_rt::func::cast::<_, _, C>(v1427.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1428 != 0 { + block102param0 = v1395; + block102param1 = v1424; + block102param2 = v1425; + block102param3 = v2324; + cff = 102usize; + } else { + block150param0 = v1395; + block150param1 = v1424; + block150param2 = v1425; + block150param3 = v2324; + block150param4 = v1423; + cff = 150usize; + }; + let mut cff2 = match cff { + 102usize => 0usize, + 150usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l136: loop { + let (v2327, ()) = (block102param0.clone(), ()); + let (v2328, ()) = (block102param1.clone(), ()); + let (v2329, ()) = (block102param2.clone(), ()); + let (v2330, ()) = (block102param3.clone(), ()); + let (v1599, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1599.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2328.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1602, ()) = (0u32, ()); + let (v1603, ()) = (0u32, ()); + let (v1604, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1603.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1606, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1604.clone()), + ::wars_rt::func::cast::<_, _, C>(v2329.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1602.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1606.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1608, ()) = (1u32, ()); + let (v1609, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1606.clone()), + ::wars_rt::func::cast::<_, _, C>(v1608.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2328.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1609.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2327; + block100param1 = v2330; + cff = 100usize; + break 'l136; + }; + } + 1usize => { + 'l137: loop { + let (v2317, ()) = (block150param0.clone(), ()); + let (v2319, ()) = (block150param1.clone(), ()); + let (v2321, ()) = (block150param2.clone(), ()); + let (v2323, ()) = (block150param3.clone(), ()); + let (v2522, ()) = (block150param4.clone(), ()); + let (v1430, ()) = (0u32, ()); + let (v1431, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1430.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1432, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v2522.clone()), + ::wars_rt::func::cast::<_, _, C>(v1431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1432 != 0 { + block101param0 = v2317; + block101param1 = v2319; + block101param2 = v2321; + block101param3 = v2323; + cff = 101usize; + } else { + block151param0 = v2317; + block151param1 = v2522; + block151param2 = v2319; + block151param3 = v2321; + block151param4 = v2323; + cff = 151usize; + }; + let mut cff2 = match cff { + 101usize => 0usize, + 151usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l148: loop { + let (v2316, ()) = (block101param0.clone(), ()); + let (v2318, ()) = (block101param1.clone(), ()); + let (v2320, ()) = (block101param2.clone(), ()); + let (v2322, ()) = (block101param3.clone(), ()); + let (v1611, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1611.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1614, ()) = (0u32, ()); + let (v1615, ()) = (0u32, ()); + let (v1616, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1615.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1618, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1616.clone()), + ::wars_rt::func::cast::<_, _, C>(v2320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1614.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1620, ()) = (1u32, ()); + let (v1621, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ::wars_rt::func::cast::<_, _, C>(v1620.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2318.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1621.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1623, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2318.clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1623.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1618.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2316; + block100param1 = v2322; + cff = 100usize; + break 'l148; + }; + } + 1usize => { + 'l146: loop { + let (v2523, ()) = (block151param0.clone(), ()); + let (v2524, ()) = (block151param1.clone(), ()); + let (v2525, ()) = (block151param2.clone(), ()); + let (v2526, ()) = (block151param3.clone(), ()); + let (v2527, ()) = (block151param4.clone(), ()); + let (v1434, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2524.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1435, ()) = (3u32, ()); + let (v1436, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1434.clone()), + ::wars_rt::func::cast::<_, _, C>(v1435.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1437, ()) = (1u32, ()); + let (v1438, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v1436.clone()), + ::wars_rt::func::cast::<_, _, C>(v1437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1438 != 0 { + block152param0 = v2524; + block152param1 = v1434; + block152param2 = v2525; + block152param3 = v2526; + block152param4 = v2523; + block152param5 = v2527; + cff = 152usize; + } else { + block153param0 = v2523; + block153param1 = v2524; + block153param2 = v2525; + block153param3 = v2526; + block153param4 = v1434; + block153param5 = v2527; + cff = 153usize; + }; + let mut cff2 = match cff { + 153usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l155: loop { + let (v2528, ()) = (block153param0.clone(), ()); + let (v2529, ()) = (block153param1.clone(), ()); + let (v2530, ()) = (block153param2.clone(), ()); + let (v2531, ()) = (block153param3.clone(), ()); + let (v2532, ()) = (block153param4.clone(), ()); + let (v2533, ()) = (block153param5.clone(), ()); + let (v1441, ()) = (4294967288u32, ()); + let (v1442, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2532.clone()), + ::wars_rt::func::cast::<_, _, C>(v1441.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2529.clone()), + (::wars_rt::func::cast::<_, _, C>(v1442.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1447, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1442.clone()), + ::wars_rt::func::cast::<_, _, C>(v2531.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1448, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2529.clone()), + ::wars_rt::func::cast::<_, _, C>(v1442.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1449, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1448.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block152param0 = v1448; + block152param1 = v1449; + block152param2 = v2530; + block152param3 = v1447; + block152param4 = v2528; + block152param5 = v2533; + cff = 152usize; + break 'l155; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l154: loop { + let (v1450, ()) = (block152param0.clone(), ()); + let (v1451, ()) = (block152param1.clone(), ()); + let (v1455, ()) = (block152param2.clone(), ()); + let (v1459, ()) = (block152param3.clone(), ()); + let (v1627, ()) = (block152param4.clone(), ()); + let (v1876, ()) = (block152param5.clone(), ()); + let (v1452, ()) = (4294967294u32, ()); + let (v1453, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1451.clone()), + ::wars_rt::func::cast::<_, _, C>(v1452.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1450.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1453.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1460, ()) = (1u32, ()); + let (v1461, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ::wars_rt::func::cast::<_, _, C>(v1460.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1455.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1461.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1463, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1455.clone()), + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1463.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1465, ()) = (256u32, ()); + let (v1466, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1459.clone()), + ::wars_rt::func::cast::<_, _, C>(v1465.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1466 != 0 { + block154param0 = v1459; + block154param1 = v1455; + block154param2 = v1627; + block154param3 = v1876; + cff = 154usize; + } else { + block155param0 = v1455; + block155param1 = v1459; + block155param2 = v1627; + block155param3 = v1876; + cff = 155usize; + }; + let mut cff2 = match cff { + 154usize => 0usize, + 155usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l158: loop { + let (v2534, ()) = (block154param0.clone(), ()); + let (v2540, ()) = (block154param1.clone(), ()); + let (v2543, ()) = (block154param2.clone(), ()); + let (v2545, ()) = (block154param3.clone(), ()); + let (v1471, ()) = (4294967288u32, ()); + let (v1472, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2534.clone()), + ::wars_rt::func::cast::<_, _, C>(v1471.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1473, ()) = (1049556u32, ()); + let (v1474, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1472.clone()), + ::wars_rt::func::cast::<_, _, C>(v1473.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1475, ()) = (0u32, ()); + let (v1476, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1475.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1477, ()) = (1u32, ()); + let (v1478, ()) = (3u32, ()); + let (v1479, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2534.clone()), + ::wars_rt::func::cast::<_, _, C>(v1478.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1480, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1477.clone()), + ::wars_rt::func::cast::<_, _, C>(v1479.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1481, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1476.clone()), + ::wars_rt::func::cast::<_, _, C>(v1480.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1481 != 0 { + block157param0 = v2540; + block157param1 = v1474; + block157param2 = v2543; + block157param3 = v2545; + cff = 157usize; + } else { + block158param0 = v2540; + block158param1 = v1474; + block158param2 = v1476; + block158param3 = v1480; + block158param4 = v2543; + block158param5 = v2545; + cff = 158usize; + }; + let mut cff2 = match cff { + 157usize => 0usize, + 158usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l162: loop { + let (v2539, ()) = (block157param0.clone(), ()); + let (v2541, ()) = (block157param1.clone(), ()); + let (v2542, ()) = (block157param2.clone(), ()); + let (v2544, ()) = (block157param3.clone(), ()); + let (v1489, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2541.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block156param0 = v2541; + block156param1 = v2539; + block156param2 = v1489; + block156param3 = v2542; + block156param4 = v2544; + cff = 156usize; + break 'l162; + }; + } + 1usize => { + 'l161: loop { + let (v2546, ()) = (block158param0.clone(), ()); + let (v2547, ()) = (block158param1.clone(), ()); + let (v2548, ()) = (block158param2.clone(), ()); + let (v2549, ()) = (block158param3.clone(), ()); + let (v2550, ()) = (block158param4.clone(), ()); + let (v2551, ()) = (block158param5.clone(), ()); + let (v1482, ()) = (0u32, ()); + let (v1485, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2548.clone()), + ::wars_rt::func::cast::<_, _, C>(v2549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1482.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1485.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block156param0 = v2547; + block156param1 = v2546; + block156param2 = v2547; + block156param3 = v2550; + block156param4 = v2551; + cff = 156usize; + break 'l161; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l160: loop { + let (v1490, ()) = (block156param0.clone(), ()); + let (v1491, ()) = (block156param1.clone(), ()); + let (v1496, ()) = (block156param2.clone(), ()); + let (v1631, ()) = (block156param3.clone(), ()); + let (v1895, ()) = (block156param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1490.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1491.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1496.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1491.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1491.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1490.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1491.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1496.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v1631; + block100param1 = v1895; + cff = 100usize; + break 'l160; + }; + }; + } + 1usize => { + 'l157: loop { + let (v2535, ()) = (block155param0.clone(), ()); + let (v2536, ()) = (block155param1.clone(), ()); + let (v2537, ()) = (block155param2.clone(), ()); + let (v2538, ()) = (block155param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2535.clone()), + (::wars_rt::func::cast::<_, _, C>(v2536.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block100param0 = v2537; + block100param1 = v2538; + cff = 100usize; + break 'l157; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + let mut cff2 = match cff { + 100usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l135: loop { + let (v1625, ()) = (block100param0.clone(), ()); + let (v1874, ()) = (block100param1.clone(), ()); + let (v1637, ()) = (8u32, ()); + let (v1638, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1625.clone()), + ::wars_rt::func::cast::<_, _, C>(v1637.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v1874; + block2param1 = v1638; + cff = 2usize; + break 'l135; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l115: loop { + let (v2458, ()) = (block134param0.clone(), ()); + let (v2459, ()) = (block134param1.clone(), ()); + let (v2461, ()) = (block134param2.clone(), ()); + let (v2462, ()) = (block134param3.clone(), ()); + let (v2463, ()) = (block134param4.clone(), ()); + let (v2464, ()) = (block134param5.clone(), ()); + block127param0 = v2459; + block127param1 = v2461; + block127param2 = v2462; + block127param3 = v2458; + block127param4 = v2463; + block127param5 = v2464; + cff = 127usize; + break 'l115; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l82: loop { + let (v2442, ()) = (block131param0.clone(), ()); + let (v2443, ()) = (block131param1.clone(), ()); + let (v2444, ()) = (block131param2.clone(), ()); + let (v2445, ()) = (block131param3.clone(), ()); + let (v2446, ()) = (block131param4.clone(), ()); + let (v2447, ()) = (block131param5.clone(), ()); + let (v2448, ()) = (block131param6.clone(), ()); + let (v2449, ()) = (block131param7.clone(), ()); + let (v1186, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2442.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1186 != 0 { + block129param0 = v1186; + block129param1 = v2443; + block129param2 = v2444; + block129param3 = v2445; + block129param4 = v2446; + block129param5 = v2447; + block129param6 = v2448; + block129param7 = v2449; + cff = 129usize; + continue 'l72; + } else { + block132param0 = v2444; + block132param1 = v2445; + block132param2 = v2446; + block132param3 = v2447; + block132param4 = v2448; + block132param5 = v2449; + cff = 132usize; + }; + let mut cff2 = match cff { + 132usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l98: loop { + let (v2450, ()) = (block132param0.clone(), ()); + let (v2451, ()) = (block132param1.clone(), ()); + let (v2452, ()) = (block132param2.clone(), ()); + let (v2453, ()) = (block132param3.clone(), ()); + let (v2454, ()) = (block132param4.clone(), ()); + let (v2455, ()) = (block132param5.clone(), ()); + block127param0 = v2451; + block127param1 = v2452; + block127param2 = v2453; + block127param3 = v2450; + block127param4 = v2454; + block127param5 = v2455; + cff = 127usize; + break 'l98; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l81: loop { + let (v1217, ()) = (block127param0.clone(), ()); + let (v1235, ()) = (block127param1.clone(), ()); + let (v1256, ()) = (block127param2.clone(), ()); + let (v1306, ()) = (block127param3.clone(), ()); + let (v1654, ()) = (block127param4.clone(), ()); + let (v1913, ()) = (block127param5.clone(), ()); + let (v1203, ()) = (1049540u32, ()); + block136param0 = v1203; + block136param1 = v1217; + block136param2 = v1235; + block136param3 = v1256; + block136param4 = v1306; + block136param5 = v1654; + block136param6 = v1913; + cff = 136usize; + let mut cff2 = match cff { + 136usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l97: loop { + let (v1204, ()) = (block136param0.clone(), ()); + let (v1206, ()) = (block136param1.clone(), ()); + let (v1234, ()) = (block136param2.clone(), ()); + let (v1255, ()) = (block136param3.clone(), ()); + let (v1305, ()) = (block136param4.clone(), ()); + let (v1653, ()) = (block136param5.clone(), ()); + let (v1912, ()) = (block136param6.clone(), ()); + let (v1205, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1204.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1207, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1205.clone()), + ::wars_rt::func::cast::<_, _, C>(v1206.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1207 != 0 { + block138param0 = v1204; + block138param1 = v1206; + block138param2 = v1234; + block138param3 = v1255; + block138param4 = v1305; + block138param5 = v1653; + block138param6 = v1912; + cff = 138usize; + } else { + block139param0 = v1206; + block139param1 = v1234; + block139param2 = v1255; + block139param3 = v1305; + block139param4 = v1204; + block139param5 = v1205; + block139param6 = v1653; + block139param7 = v1912; + cff = 139usize; + }; + let mut cff2 = match cff { + 139usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l114: loop { + let (v2466, ()) = (block139param0.clone(), ()); + let (v2469, ()) = (block139param1.clone(), ()); + let (v2471, ()) = (block139param2.clone(), ()); + let (v2473, ()) = (block139param3.clone(), ()); + let (v2474, ()) = (block139param4.clone(), ()); + let (v2475, ()) = (block139param5.clone(), ()); + let (v2482, ()) = (block139param6.clone(), ()); + let (v2484, ()) = (block139param7.clone(), ()); + let (v1210, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2474.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1211, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2475.clone()), + ::wars_rt::func::cast::<_, _, C>(v1210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1213, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1211.clone()), + ::wars_rt::func::cast::<_, _, C>(v2466.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1213 != 0 { + block135param0 = v2466; + block135param1 = v1211; + block135param2 = v2469; + block135param3 = v2471; + block135param4 = v2473; + block135param5 = v2482; + block135param6 = v2484; + cff = 135usize; + } else { + block140param0 = v2474; + block140param1 = v2466; + block140param2 = v2469; + block140param3 = v2471; + block140param4 = v2473; + block140param5 = v2482; + block140param6 = v2484; + cff = 140usize; + }; + let mut cff2 = match cff { + 135usize => 0usize, + 140usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l134: loop { + let (v2465, ()) = (block135param0.clone(), ()); + let (v2467, ()) = (block135param1.clone(), ()); + let (v2468, ()) = (block135param2.clone(), ()); + let (v2470, ()) = (block135param3.clone(), ()); + let (v2472, ()) = (block135param4.clone(), ()); + let (v2495, ()) = (block135param5.clone(), ()); + let (v2499, ()) = (block135param6.clone(), ()); + let (v1231, ()) = (0u32, ()); + let (v1244, ()) = (15u32, ()); + let (v1245, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1244.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1246, ()) = (4294967288u32, ()); + let (v1247, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1245.clone()), + ::wars_rt::func::cast::<_, _, C>(v1246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1248, ()) = (4294967288u32, ()); + let (v1249, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1247.clone()), + ::wars_rt::func::cast::<_, _, C>(v1248.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1231.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1249.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1251, ()) = (0u32, ()); + let (v1252, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1265, ()) = (4294967256u32, ()); + let (v1266, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2470.clone()), + ::wars_rt::func::cast::<_, _, C>(v1265.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1267, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1252.clone()), + ::wars_rt::func::cast::<_, _, C>(v1266.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1268, ()) = (8u32, ()); + let (v1269, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1267.clone()), + ::wars_rt::func::cast::<_, _, C>(v1268.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1251.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1271, ()) = (1u32, ()); + let (v1272, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1269.clone()), + ::wars_rt::func::cast::<_, _, C>(v1271.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1249.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1272.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1274, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ::wars_rt::func::cast::<_, _, C>(v1266.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1275, ()) = (40u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1274.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1275.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1277, ()) = (0u32, ()); + let (v1278, ()) = (2097152u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1277.clone() + 1049852u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1278.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1282, ()) = (4294967264u32, ()); + let (v1283, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2467.clone()), + ::wars_rt::func::cast::<_, _, C>(v1282.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1284, ()) = (4294967288u32, ()); + let (v1285, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1283.clone()), + ::wars_rt::func::cast::<_, _, C>(v1284.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1286, ()) = (4294967288u32, ()); + let (v1287, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1285.clone()), + ::wars_rt::func::cast::<_, _, C>(v1286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1288, ()) = (16u32, ()); + let (v1289, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2465.clone()), + ::wars_rt::func::cast::<_, _, C>(v1288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1290, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1287.clone()), + ::wars_rt::func::cast::<_, _, C>(v1289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1291, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v2465.clone()), + ::wars_rt::func::cast::<_, _, C>(v1287.clone()), + ::wars_rt::func::cast::<_, _, C>(v1290.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1292, ()) = (27u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1291.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1294, ()) = (0u32, ()); + let (v1295, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1294.clone() + 1049540u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1296, ()) = (16u32, ()); + let (v1297, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1298, ()) = (0u32, ()); + let (v1299, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1298.clone() + 1049548u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1297.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1299.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1291.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1295.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1302, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1302.clone() + 1049552u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2472.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1312, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1312.clone() + 1049544u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2470.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1314, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1314.clone() + 1049540u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2468.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1316, ()) = (0u32, ()); + let (v1317, ()) = (8u32, ()); + let (v1318, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1316.clone() + 1049548u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1318.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1320, ()) = (28u32, ()); + let (v1321, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1291.clone()), + ::wars_rt::func::cast::<_, _, C>(v1320.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block141param0 = v1321; + block141param1 = v2467; + block141param2 = v2465; + block141param3 = v1291; + block141param4 = v2495; + block141param5 = v2499; + cff = 141usize; + let mut cff2 = match cff { + 141usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l147: loop { + let (v1322, ()) = (block141param0.clone(), ()); + let (v2485, ()) = (block141param1.clone(), ()); + let (v2488, ()) = (block141param2.clone(), ()); + let (v2491, ()) = (block141param3.clone(), ()); + let (v2494, ()) = (block141param4.clone(), ()); + let (v2498, ()) = (block141param5.clone(), ()); + let (v1323, ()) = (7u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1322.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1323.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1325, ()) = (4u32, ()); + let (v1326, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1322.clone()), + ::wars_rt::func::cast::<_, _, C>(v1325.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1328, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1326.clone()), + ::wars_rt::func::cast::<_, _, C>(v2485.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1328 != 0 { + block141param0 = v1326; + block141param1 = v2485; + block141param2 = v2488; + block141param3 = v2491; + block141param4 = v2494; + block141param5 = v2498; + cff = 141usize; + continue 'l147; + } else { + block143param0 = v2488; + block143param1 = v2491; + block143param2 = v2494; + block143param3 = v2498; + cff = 143usize; + }; + let mut cff2 = match cff { + 143usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l156: loop { + let (v2487, ()) = (block143param0.clone(), ()); + let (v2490, ()) = (block143param1.clone(), ()); + let (v2493, ()) = (block143param2.clone(), ()); + let (v2497, ()) = (block143param3.clone(), ()); + block142param0 = v2487; + block142param1 = v2490; + block142param2 = v2493; + block142param3 = v2497; + cff = 142usize; + let mut cff2 = match cff { + 142usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l159: loop { + let (v2486, ()) = (block142param0.clone(), ()); + let (v2489, ()) = (block142param1.clone(), ()); + let (v2492, ()) = (block142param2.clone(), ()); + let (v2496, ()) = (block142param3.clone(), ()); + let (v1335, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v2489.clone()), + ::wars_rt::func::cast::<_, _, C>(v2486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1335 != 0 { + block99param0 = v2492; + block99param1 = v2496; + cff = 99usize; + break 'l159; + } else { + block144param0 = v2486; + block144param1 = v2489; + block144param2 = v2492; + block144param3 = v2496; + cff = 144usize; + }; + let mut cff2 = match cff { + 144usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l163: loop { + let (v2500, ()) = (block144param0.clone(), ()); + let (v2501, ()) = (block144param1.clone(), ()); + let (v2506, ()) = (block144param2.clone(), ()); + let (v2508, ()) = (block144param3.clone(), ()); + let (v1337, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1338, ()) = (4294967294u32, ()); + let (v1339, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1337.clone()), + ::wars_rt::func::cast::<_, _, C>(v1338.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1339.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1342, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2501.clone()), + ::wars_rt::func::cast::<_, _, C>(v2500.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1343, ()) = (1u32, ()); + let (v1344, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ::wars_rt::func::cast::<_, _, C>(v1343.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2500.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1344.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2501.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1347, ()) = (256u32, ()); + let (v1348, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v1342.clone()), + ::wars_rt::func::cast::<_, _, C>(v1347.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1348 != 0 { + block145param0 = v1342; + block145param1 = v2500; + block145param2 = v2506; + block145param3 = v2508; + cff = 145usize; + } else { + block146param0 = v2500; + block146param1 = v1342; + block146param2 = v2506; + block146param3 = v2508; + cff = 146usize; + }; + let mut cff2 = match cff { + 145usize => 0usize, + 146usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l165: loop { + let (v2502, ()) = (block145param0.clone(), ()); + let (v2510, ()) = (block145param1.clone(), ()); + let (v2513, ()) = (block145param2.clone(), ()); + let (v2515, ()) = (block145param3.clone(), ()); + let (v1353, ()) = (4294967288u32, ()); + let (v1354, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2502.clone()), + ::wars_rt::func::cast::<_, _, C>(v1353.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1355, ()) = (1049556u32, ()); + let (v1356, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1354.clone()), + ::wars_rt::func::cast::<_, _, C>(v1355.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1357, ()) = (0u32, ()); + let (v1358, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1357.clone() + 1049820u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1359, ()) = (1u32, ()); + let (v1360, ()) = (3u32, ()); + let (v1361, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2502.clone()), + ::wars_rt::func::cast::<_, _, C>(v1360.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1362, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v1359.clone()), + ::wars_rt::func::cast::<_, _, C>(v1361.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1363, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v1358.clone()), + ::wars_rt::func::cast::<_, _, C>(v1362.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1363 != 0 { + block148param0 = v2510; + block148param1 = v1356; + block148param2 = v2513; + block148param3 = v2515; + cff = 148usize; + } else { + block149param0 = v2510; + block149param1 = v1356; + block149param2 = v1358; + block149param3 = v1362; + block149param4 = v2513; + block149param5 = v2515; + cff = 149usize; + }; + let mut cff2 = match cff { + 148usize => 0usize, + 149usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l168: loop { + let (v2509, ()) = (block148param0.clone(), ()); + let (v2511, ()) = (block148param1.clone(), ()); + let (v2512, ()) = (block148param2.clone(), ()); + let (v2514, ()) = (block148param3.clone(), ()); + let (v1371, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v2511.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block147param0 = v2511; + block147param1 = v2509; + block147param2 = v1371; + block147param3 = v2512; + block147param4 = v2514; + cff = 147usize; + break 'l168; + }; + } + 1usize => { + 'l167: loop { + let (v2516, ()) = (block149param0.clone(), ()); + let (v2517, ()) = (block149param1.clone(), ()); + let (v2518, ()) = (block149param2.clone(), ()); + let (v2519, ()) = (block149param3.clone(), ()); + let (v2520, ()) = (block149param4.clone(), ()); + let (v2521, ()) = (block149param5.clone(), ()); + let (v1364, ()) = (0u32, ()); + let (v1367, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2518.clone()), + ::wars_rt::func::cast::<_, _, C>(v2519.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1364.clone() + 1049820u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block147param0 = v2517; + block147param1 = v2516; + block147param2 = v2517; + block147param3 = v2520; + block147param4 = v2521; + cff = 147usize; + break 'l167; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l166: loop { + let (v1372, ()) = (block147param0.clone(), ()); + let (v1373, ()) = (block147param1.clone(), ()); + let (v1378, ()) = (block147param2.clone(), ()); + let (v1661, ()) = (block147param3.clone(), ()); + let (v1920, ()) = (block147param4.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1372.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1378.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1373.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1372.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1373.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1378.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v1661; + block99param1 = v1920; + cff = 99usize; + break 'l166; + }; + }; + } + 1usize => { + 'l164: loop { + let (v2503, ()) = (block146param0.clone(), ()); + let (v2504, ()) = (block146param1.clone(), ()); + let (v2505, ()) = (block146param2.clone(), ()); + let (v2507, ()) = (block146param3.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func28( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v2503.clone()), + (::wars_rt::func::cast::<_, _, C>(v2504.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block99param0 = v2505; + block99param1 = v2507; + cff = 99usize; + break 'l164; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l133: loop { + let (v2476, ()) = (block140param0.clone(), ()); + let (v2477, ()) = (block140param1.clone(), ()); + let (v2478, ()) = (block140param2.clone(), ()); + let (v2479, ()) = (block140param3.clone(), ()); + let (v2480, ()) = (block140param4.clone(), ()); + let (v2481, ()) = (block140param5.clone(), ()); + let (v2483, ()) = (block140param6.clone(), ()); + block138param0 = v2476; + block138param1 = v2477; + block138param2 = v2478; + block138param3 = v2479; + block138param4 = v2480; + block138param5 = v2481; + block138param6 = v2483; + cff = 138usize; + break 'l133; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l113: loop { + let (v1214, ()) = (block138param0.clone(), ()); + let (v1229, ()) = (block138param1.clone(), ()); + let (v1242, ()) = (block138param2.clone(), ()); + let (v1263, ()) = (block138param3.clone(), ()); + let (v1309, ()) = (block138param4.clone(), ()); + let (v1657, ()) = (block138param5.clone(), ()); + let (v1916, ()) = (block138param6.clone(), ()); + let (v1216, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1214.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block136param0 = v1216; + block136param1 = v1229; + block136param2 = v1242; + block136param3 = v1263; + block136param4 = v1309; + block136param5 = v1657; + block136param6 = v1916; + cff = 136usize; + continue 'l97; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 99usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v1642, ()) = (block99param0.clone(), ()); + let (v1901, ()) = (block99param1.clone(), ()); + let (v1639, ()) = (0u32, ()); + let (v1640, ()) = (0u32, ()); + let (v1641, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1640.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1666, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v1641.clone()), + ::wars_rt::func::cast::<_, _, C>(v1642.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v1666 != 0 { + block2param0 = v1901; + block2param1 = v1639; + cff = 2usize; + break 'l27; + } else { + block162param0 = v1641; + block162param1 = v1642; + block162param2 = v1901; + cff = 162usize; + }; + let mut cff2 = match cff { + 162usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v2561, ()) = (block162param0.clone(), ()); + let (v2562, ()) = (block162param1.clone(), ()); + let (v2563, ()) = (block162param2.clone(), ()); + let (v1667, ()) = (0u32, ()); + let (v1670, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2561.clone()), + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1667.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1670.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1672, ()) = (0u32, ()); + let (v1673, ()) = (0u32, ()); + let (v1674, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1673.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1675, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1674.clone()), + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1672.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1675.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1677, ()) = (1u32, ()); + let (v1678, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v1670.clone()), + ::wars_rt::func::cast::<_, _, C>(v1677.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1675.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1678.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1680, ()) = (3u32, ()); + let (v1681, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v2562.clone()), + ::wars_rt::func::cast::<_, _, C>(v1680.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v1674.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1681.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v1683, ()) = (8u32, ()); + let (v1684, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1674.clone()), + ::wars_rt::func::cast::<_, _, C>(v1683.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v2563; + block2param1 = v1684; + cff = 2usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l21: loop { + let (v2366, ()) = (block109param0.clone(), ()); + let (v852, ()) = (0u32, ()); + block2param0 = v2366; + block2param1 = v852; + cff = 2usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func31<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block10param0: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (0u32, ()); + let (v4, ()) = (4294901709u32, ()); + let (v5, ()) = (16u32, ()); + let (v6, ()) = (16u32, ()); + let (v7, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block2param0 = v3; + cff = 2usize; + } else { + block3param0 = v2; + block3param1 = v3; + block3param2 = v8; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v143, ()) = (block3param0.clone(), ()); + let (v144, ()) = (block3param1.clone(), ()); + let (v145, ()) = (block3param2.clone(), ()); + let (v12, ()) = (16u32, ()); + let (v14, ()) = (11u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (4294967288u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (11u32, ()); + let (v19, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (12u32, ()); + let (v23, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v23.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v25 != 0 { + block2param0 = v144; + cff = 2usize; + break 'l2; + } else { + block4param0 = v145; + block4param1 = v24; + block4param2 = v20; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v146, ()) = (block4param0.clone(), ()); + let (v147, ()) = (block4param1.clone(), ()); + let (v153, ()) = (block4param2.clone(), ()); + let (v27, ()) = (4294967288u32, ()); + let (v28, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (4294967295u32, ()); + let (v31, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block6param0 = v146; + block6param1 = v147; + block6param2 = v28; + block6param3 = v31; + block6param4 = v153; + cff = 6usize; + } else { + block7param0 = v153; + block7param1 = v28; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v148, ()) = (block6param0.clone(), ()); + let (v149, ()) = (block6param1.clone(), ()); + let (v150, ()) = (block6param2.clone(), ()); + let (v151, ()) = (block6param3.clone(), ()); + let (v156, ()) = (block6param4.clone(), ()); + let (v35, ()) = (4294967292u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v36.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = (4294967288u32, ()); + let (v39, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (0u32, ()); + let (v44, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (4294967288u32, ()); + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (0u32, ()); + let (v50, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (16u32, ()); + let (v52, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (3u32, ()); + let (v58, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block8param0 = v156; + block8param1 = v150; + block8param2 = v54; + block8param3 = v55; + block8param4 = v56; + cff = 8usize; + } else { + block9param0 = v156; + block9param1 = v150; + block9param2 = v36; + block9param3 = v54; + block9param4 = v55; + block9param5 = v56; + cff = 9usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v155, ()) = (block8param0.clone(), ()); + let (v157, ()) = (block8param1.clone(), ()); + let (v158, ()) = (block8param2.clone(), ()); + let (v159, ()) = (block8param3.clone(), ()); + let (v160, ()) = (block8param4.clone(), ()); + let (v91, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v157.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v158.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v158.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v96.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v158; + block5param1 = v155; + cff = 5usize; + break 'l11; + } + } + 1usize => { + 'l10: loop { + let (v161, ()) = (block9param0.clone(), ()); + let (v162, ()) = (block9param1.clone(), ()); + let (v163, ()) = (block9param2.clone(), ()); + let (v164, ()) = (block9param3.clone(), ()); + let (v165, ()) = (block9param4.clone(), ()); + let (v166, ()) = (block9param5.clone(), ()); + let (v62, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (1u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (2u32, ()); + let (v67, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v164.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v164.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = (1u32, ()); + let (v72, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v69.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v163.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = (1u32, ()); + let (v78, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (2u32, ()); + let (v81, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v163.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (1u32, ()); + let (v87, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + (::wars_rt::func::cast::<_, _, C>(v165.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v164; + block5param1 = v161; + cff = 5usize; + break 'l10; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l7: loop { + let (v152, ()) = (block7param0.clone(), ()); + let (v154, ()) = (block7param1.clone(), ()); + block5param0 = v154; + block5param1 = v152; + cff = 5usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v98, ()) = (block5param0.clone(), ()); + let (v107, ()) = (block5param1.clone(), ()); + let (v99, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v98.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v100, ()) = (3u32, ()); + let (v101, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v102 != 0 { + block10param0 = v98; + cff = 10usize; + } else { + block11param0 = v98; + block11param1 = v99; + block11param2 = v107; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v167, ()) = (block11param0.clone(), ()); + let (v168, ()) = (block11param1.clone(), ()); + let (v169, ()) = (block11param2.clone(), ()); + let (v104, ()) = (4294967288u32, ()); + let (v105, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = (16u32, ()); + let (v114, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v115 != 0 { + block10param0 = v167; + cff = 10usize; + break 'l9; + } else { + block12param0 = v167; + block12param1 = v168; + block12param2 = v105; + block12param3 = v169; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v170, ()) = (block12param0.clone(), ()); + let (v171, ()) = (block12param1.clone(), ()); + let (v172, ()) = (block12param2.clone(), ()); + let (v173, ()) = (block12param3.clone(), ()); + let (v120, ()) = (1u32, ()); + let (v121, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v123, ()) = (2u32, ()); + let (v124, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v170.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v128, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ::wars_rt::func::cast::<_, _, C>(v173.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v129, ()) = (3u32, ()); + let (v130, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v128.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v126.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v130.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v132, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v133, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (1u32, ()); + let (v135, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v132.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v126.clone()), + (::wars_rt::func::cast::<_, _, C>(v128.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v170; + cff = 10usize; + break 'l12; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v138, ()) = (block10param0.clone(), ()); + let (v139, ()) = (8u32, ()); + let (v140, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ::wars_rt::func::cast::<_, _, C>(v139.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v140; + cff = 2usize; + break 'l8; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v141, ()) = (block2param0.clone(), ()); + block1param0 = v141; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func32<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func33(ctx, (::wars_rt::func::cast::<_, _, C>(v0.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func33<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (*ctx.global0(), ()); + let (v2, ()) = (16u32, ()); + let (v3, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v3; + () + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (12u32, ()); + let (v7, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v7.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + match v9 { + 0usize => { + block5param0 = v0; + block5param1 = v3; + block5param2 = v5; + block5param3 = v8; + cff = 5usize; + } + 1usize => { + block4param0 = v0; + block4param1 = v3; + block4param2 = v5; + block4param3 = v8; + cff = 4usize; + } + _ => { + block2param0 = v3; + block2param1 = v5; + block2param2 = v0; + cff = 2usize; + } + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v54, ()) = (block4param0.clone(), ()); + let (v55, ()) = (block4param1.clone(), ()); + let (v56, ()) = (block4param2.clone(), ()); + let (v57, ()) = (block4param3.clone(), ()); + if v57 != 0 { + block2param0 = v55; + block2param1 = v56; + block2param2 = v54; + cff = 2usize; + break 'l4; + } else { + block7param0 = v54; + block7param1 = v55; + block7param2 = v56; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v64, ()) = (block7param0.clone(), ()); + let (v65, ()) = (block7param1.clone(), ()); + let (v66, ()) = (block7param2.clone(), ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v66.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v16.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v65; + block3param1 = v17; + block3param2 = v18; + block3param3 = v64; + cff = 3usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v58, ()) = (block5param0.clone(), ()); + let (v59, ()) = (block5param1.clone(), ()); + let (v60, ()) = (block5param2.clone(), ()); + let (v61, ()) = (block5param3.clone(), ()); + if v61 != 0 { + block2param0 = v59; + block2param1 = v60; + block2param2 = v58; + cff = 2usize; + break 'l3; + } else { + block6param0 = v58; + block6param1 = v59; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v62, ()) = (block6param0.clone(), ()); + let (v63, ()) = (block6param1.clone(), ()); + let (v11, ()) = (1048804u32, ()); + let (v12, ()) = (0u32, ()); + block3param0 = v63; + block3param1 = v12; + block3param2 = v11; + block3param3 = v62; + cff = 3usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v40, ()) = (block2param0.clone(), ()); + let (v41, ()) = (block2param1.clone(), ()); + let (v47, ()) = (block2param2.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v40.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (2147483648u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v40.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (1049016u32, ()); + let (v48, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 17u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func44( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + (::wars_rt::func::cast::<_, _, C>(v52.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v19, ()) = (block3param0.clone(), ()); + let (v24, ()) = (block3param1.clone(), ()); + let (v26, ()) = (block3param2.clone(), ()); + let (v29, ()) = (block3param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (1048996u32, ()); + let (v34, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v29.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v36, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v29.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 17u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func44( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + (::wars_rt::func::cast::<_, _, C>(v38.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func34<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (48u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (0u32, ()); + let (v7, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 1049384u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v4; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v33, ()) = (48u32, ()); + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v34; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v37, ()) = (block3param0.clone(), ()); + let (v38, ()) = (block3param1.clone(), ()); + let (v10, ()) = (24u32, ()); + let (v11, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (1u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v11.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (2u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (1048864u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (36u32, ()); + let (v23, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = (44u32, ()); + let (v26, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (12u32, ()); + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (1048904u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + (::wars_rt::func::cast::<_, _, C>(v30.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func35<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (9u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block2param0 = v1; + cff = 2usize; + } else { + block3param0 = v1; + block3param1 = v2; + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v10, ()) = (block2param0.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v9; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v11, ()) = (block3param0.clone(), ()); + let (v12, ()) = (block3param1.clone(), ()); + let (v7, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + (::wars_rt::func::cast::<_, _, C>(v11.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v7, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func36<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func29(ctx, (::wars_rt::func::cast::<_, _, C>(v0.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func37<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, ())))): (u32, (u32, (u32, (u32, ())))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block2param5: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block14param0: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block16param6: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block23param4: u32; + let mut block23param5: u32; + let mut block23param6: u32; + let mut block23param7: u32; + let mut block23param8: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block26param0: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (9u32, ()); + let (v6, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v6 != 0 { + block5param0 = v1; + block5param1 = v4; + cff = 5usize; + } else { + block6param0 = v1; + block6param1 = v2; + block6param2 = v4; + block6param3 = v3; + cff = 6usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + 6usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v348, ()) = (block5param0.clone(), ()); + let (v372, ()) = (block5param1.clone(), ()); + let (v11, ()) = (0u32, ()); + let (v13, ()) = (4294901708u32, ()); + let (v14, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v14 != 0 { + block3param0 = v11; + cff = 3usize; + break 'l3; + } else { + block8param0 = v348; + block8param1 = v372; + block8param2 = v11; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v347, ()) = (block8param0.clone(), ()); + let (v374, ()) = (block8param1.clone(), ()); + let (v379, ()) = (block8param2.clone(), ()); + let (v15, ()) = (16u32, ()); + let (v17, ()) = (11u32, ()); + let (v18, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = (4294967288u32, ()); + let (v20, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (11u32, ()); + let (v22, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v374.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (4294967292u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v347.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (4294967288u32, ()); + let (v30, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (3u32, ()); + let (v32, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v32 != 0 { + block10param0 = v347; + block10param1 = v23; + block10param2 = v27; + block10param3 = v28; + block10param4 = v30; + block10param5 = v374; + block10param6 = v379; + cff = 10usize; + } else { + block11param0 = v347; + block11param1 = v374; + block11param2 = v379; + block11param3 = v23; + block11param4 = v27; + block11param5 = v30; + cff = 11usize; + }; + let mut cff2 = match cff { + 10usize => 0usize, + 11usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v346, ()) = (block10param0.clone(), ()); + let (v352, ()) = (block10param1.clone(), ()); + let (v356, ()) = (block10param2.clone(), ()); + let (v360, ()) = (block10param3.clone(), ()); + let (v375, ()) = (block10param4.clone(), ()); + let (v416, ()) = (block10param5.clone(), ()); + let (v420, ()) = (block10param6.clone(), ()); + let (v52, ()) = (4294967288u32, ()); + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v346.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v375.clone()), + ::wars_rt::func::cast::<_, _, C>(v352.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v57 != 0 { + block19param0 = v346; + block19param1 = v352; + block19param2 = v356; + block19param3 = v360; + block19param4 = v53; + block19param5 = v55; + block19param6 = v375; + cff = 19usize; + } else { + block20param0 = v346; + block20param1 = v352; + block20param2 = v356; + block20param3 = v360; + block20param4 = v53; + block20param5 = v375; + block20param6 = v416; + block20param7 = v420; + block20param8 = v55; + cff = 20usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + 20usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v399, ()) = (block19param0.clone(), ()); + let (v401, ()) = (block19param1.clone(), ()); + let (v403, ()) = (block19param2.clone(), ()); + let (v405, ()) = (block19param3.clone(), ()); + let (v407, ()) = (block19param4.clone(), ()); + let (v409, ()) = (block19param5.clone(), ()); + let (v442, ()) = (block19param6.clone(), ()); + let (v133, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v442.clone()), + ::wars_rt::func::cast::<_, _, C>(v401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v134, ()) = (15u32, ()); + let (v135, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ::wars_rt::func::cast::<_, _, C>(v134.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v135 != 0 { + block16param0 = v399; + block16param1 = v401; + block16param2 = v403; + block16param3 = v405; + block16param4 = v407; + block16param5 = v409; + block16param6 = v133; + cff = 16usize; + } else { + block26param0 = v399; + cff = 26usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + 26usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v398, ()) = (block16param0.clone(), ()); + let (v400, ()) = (block16param1.clone(), ()); + let (v402, ()) = (block16param2.clone(), ()); + let (v404, ()) = (block16param3.clone(), ()); + let (v406, ()) = (block16param4.clone(), ()); + let (v408, ()) = (block16param5.clone(), ()); + let (v410, ()) = (block16param6.clone(), ()); + let (v229, ()) = (1u32, ()); + let (v230, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v404.clone()), + ::wars_rt::func::cast::<_, _, C>(v229.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v231, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v232, ()) = (2u32, ()); + let (v233, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v402.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v406.clone()), + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = (3u32, ()); + let (v240, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v410.clone()), + ::wars_rt::func::cast::<_, _, C>(v239.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v237.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v408.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = (1u32, ()); + let (v246, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v408.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + (::wars_rt::func::cast::<_, _, C>(v410.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v398, ())), + ); + } + } + 1usize => { + 'l14: loop { + let (v465, ()) = (block26param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v465, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l13: loop { + let (v345, ()) = (block20param0.clone(), ()); + let (v351, ()) = (block20param1.clone(), ()); + let (v355, ()) = (block20param2.clone(), ()); + let (v359, ()) = (block20param3.clone(), ()); + let (v363, ()) = (block20param4.clone(), ()); + let (v397, ()) = (block20param5.clone(), ()); + let (v415, ()) = (block20param6.clone(), ()); + let (v419, ()) = (block20param7.clone(), ()); + let (v443, ()) = (block20param8.clone(), ()); + let (v59, ()) = (0u32, ()); + let (v60, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v59.clone() + 1049840u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + block15param0 = v345; + block15param1 = v351; + block15param2 = v355; + block15param3 = v359; + block15param4 = v363; + block15param5 = v397; + block15param6 = v415; + block15param7 = v419; + cff = 15usize; + } else { + block21param0 = v345; + block21param1 = v415; + block21param2 = v419; + block21param3 = v351; + block21param4 = v355; + block21param5 = v397; + block21param6 = v363; + block21param7 = v443; + block21param8 = v359; + cff = 21usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + 21usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v344, ()) = (block15param0.clone(), ()); + let (v350, ()) = (block15param1.clone(), ()); + let (v354, ()) = (block15param2.clone(), ()); + let (v358, ()) = (block15param3.clone(), ()); + let (v362, ()) = (block15param4.clone(), ()); + let (v396, ()) = (block15param5.clone(), ()); + let (v489, ()) = (block15param6.clone(), ()); + let (v491, ()) = (block15param7.clone(), ()); + let (v250, ()) = (0u32, ()); + let (v251, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v250.clone() + 1049832u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v253, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v255, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v253.clone()), + ::wars_rt::func::cast::<_, _, C>(v350.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v255 != 0 { + block2param0 = v344; + block2param1 = v350; + block2param2 = v354; + block2param3 = v358; + block2param4 = v362; + block2param5 = v253; + cff = 2usize; + } else { + block31param0 = v344; + block31param1 = v489; + block31param2 = v491; + block31param3 = v354; + cff = 31usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 31usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v343, ()) = (block2param0.clone(), ()); + let (v349, ()) = (block2param1.clone(), ()); + let (v353, ()) = (block2param2.clone(), ()); + let (v357, ()) = (block2param3.clone(), ()); + let (v361, ()) = (block2param4.clone(), ()); + let (v364, ()) = (block2param5.clone(), ()); + let (v324, ()) = (1u32, ()); + let (v325, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v357.clone()), + ::wars_rt::func::cast::<_, _, C>(v324.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v326, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ::wars_rt::func::cast::<_, _, C>(v325.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v327, ()) = (2u32, ()); + let (v328, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ::wars_rt::func::cast::<_, _, C>(v327.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v353.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v332, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v361.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v335, ()) = (1u32, ()); + let (v336, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ::wars_rt::func::cast::<_, _, C>(v335.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v332.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v336.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v338, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v338.clone() + 1049832u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v334.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v340, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v340.clone() + 1049840u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v343; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l19: loop { + let (v487, ()) = (block31param0.clone(), ()); + let (v488, ()) = (block31param1.clone(), ()); + let (v490, ()) = (block31param2.clone(), ()); + let (v492, ()) = (block31param3.clone(), ()); + block9param0 = v488; + block9param1 = v487; + block9param2 = v492; + block9param3 = v490; + cff = 9usize; + break 'l19; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l15: loop { + let (v412, ()) = (block21param0.clone(), ()); + let (v414, ()) = (block21param1.clone(), ()); + let (v418, ()) = (block21param2.clone(), ()); + let (v422, ()) = (block21param3.clone(), ()); + let (v424, ()) = (block21param4.clone(), ()); + let (v426, ()) = (block21param5.clone(), ()); + let (v439, ()) = (block21param6.clone(), ()); + let (v444, ()) = (block21param7.clone(), ()); + let (v476, ()) = (block21param8.clone(), ()); + let (v63, ()) = (0u32, ()); + let (v64, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v63.clone() + 1049836u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v444.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v65 != 0 { + block17param0 = v412; + block17param1 = v414; + block17param2 = v418; + block17param3 = v422; + block17param4 = v424; + block17param5 = v426; + block17param6 = v476; + block17param7 = v439; + cff = 17usize; + } else { + block22param0 = v412; + block22param1 = v424; + block22param2 = v439; + block22param3 = v414; + block22param4 = v418; + block22param5 = v444; + block22param6 = v422; + block22param7 = v426; + cff = 22usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + 22usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v411, ()) = (block17param0.clone(), ()); + let (v413, ()) = (block17param1.clone(), ()); + let (v417, ()) = (block17param2.clone(), ()); + let (v421, ()) = (block17param3.clone(), ()); + let (v423, ()) = (block17param4.clone(), ()); + let (v425, ()) = (block17param5.clone(), ()); + let (v475, ()) = (block17param6.clone(), ()); + let (v479, ()) = (block17param7.clone(), ()); + let (v154, ()) = (0u32, ()); + let (v155, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v154.clone() + 1049828u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v159, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ::wars_rt::func::cast::<_, _, C>(v421.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v159 != 0 { + block9param0 = v413; + block9param1 = v411; + block9param2 = v423; + block9param3 = v417; + cff = 9usize; + break 'l21; + } else { + block27param0 = v421; + block27param1 = v157; + block27param2 = v411; + block27param3 = v423; + block27param4 = v475; + block27param5 = v479; + cff = 27usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v466, ()) = (block27param0.clone(), ()); + let (v467, ()) = (block27param1.clone(), ()); + let (v469, ()) = (block27param2.clone(), ()); + let (v472, ()) = (block27param3.clone(), ()); + let (v474, ()) = (block27param4.clone(), ()); + let (v478, ()) = (block27param5.clone(), ()); + let (v162, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v467.clone()), + ::wars_rt::func::cast::<_, _, C>(v466.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = (15u32, ()); + let (v164, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v164 != 0 { + block29param0 = v469; + block29param1 = v466; + block29param2 = v472; + block29param3 = v474; + block29param4 = v478; + block29param5 = v467; + block29param6 = v162; + cff = 29usize; + } else { + block30param0 = v469; + block30param1 = v472; + block30param2 = v474; + block30param3 = v478; + block30param4 = v467; + cff = 30usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + 30usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v468, ()) = (block29param0.clone(), ()); + let (v470, ()) = (block29param1.clone(), ()); + let (v471, ()) = (block29param2.clone(), ()); + let (v473, ()) = (block29param3.clone(), ()); + let (v477, ()) = (block29param4.clone(), ()); + let (v480, ()) = (block29param5.clone(), ()); + let (v481, ()) = (block29param6.clone(), ()); + let (v194, ()) = (1u32, ()); + let (v195, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v473.clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v196, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v470.clone()), + ::wars_rt::func::cast::<_, _, C>(v195.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v197, ()) = (2u32, ()); + let (v198, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v196.clone()), + ::wars_rt::func::cast::<_, _, C>(v197.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v471.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v198.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ::wars_rt::func::cast::<_, _, C>(v470.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v203, ()) = (1u32, ()); + let (v204, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ::wars_rt::func::cast::<_, _, C>(v203.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v201.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v204.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v207, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ::wars_rt::func::cast::<_, _, C>(v480.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v209, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v210, ()) = (4294967294u32, ()); + let (v211, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block28param0 = v201; + block28param1 = v481; + block28param2 = v468; + cff = 28usize; + break 'l29; + }; + } + 1usize => { + 'l28: loop { + let (v482, ()) = (block30param0.clone(), ()); + let (v483, ()) = (block30param1.clone(), ()); + let (v484, ()) = (block30param2.clone(), ()); + let (v485, ()) = (block30param3.clone(), ()); + let (v486, ()) = (block30param4.clone(), ()); + let (v174, ()) = (1u32, ()); + let (v175, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v484.clone()), + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v177, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v175.clone()), + ::wars_rt::func::cast::<_, _, C>(v486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v178, ()) = (2u32, ()); + let (v179, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ::wars_rt::func::cast::<_, _, C>(v178.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v483.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v184, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v485.clone()), + ::wars_rt::func::cast::<_, _, C>(v486.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v185, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v186, ()) = (1u32, ()); + let (v187, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v185.clone()), + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v189, ()) = (0u32, ()); + let (v190, ()) = (0u32, ()); + block28param0 = v190; + block28param1 = v189; + block28param2 = v482; + cff = 28usize; + break 'l28; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l27: loop { + let (v214, ()) = (block28param0.clone(), ()); + let (v217, ()) = (block28param1.clone(), ()); + let (v219, ()) = (block28param2.clone(), ()); + let (v213, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v213.clone() + 1049836u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v216, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v216.clone() + 1049828u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v217.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v219, ())), + ); + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l20: loop { + let (v430, ()) = (block22param0.clone(), ()); + let (v434, ()) = (block22param1.clone(), ()); + let (v438, ()) = (block22param2.clone(), ()); + let (v445, ()) = (block22param3.clone(), ()); + let (v446, ()) = (block22param4.clone(), ()); + let (v447, ()) = (block22param5.clone(), ()); + let (v451, ()) = (block22param6.clone(), ()); + let (v453, ()) = (block22param7.clone(), ()); + let (v67, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v447.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = (2u32, ()); + let (v69, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block9param0 = v445; + block9param1 = v430; + block9param2 = v434; + block9param3 = v446; + cff = 9usize; + break 'l20; + } else { + block23param0 = v430; + block23param1 = v434; + block23param2 = v438; + block23param3 = v445; + block23param4 = v446; + block23param5 = v451; + block23param6 = v453; + block23param7 = v67; + block23param8 = v447; + cff = 23usize; + }; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v429, ()) = (block23param0.clone(), ()); + let (v433, ()) = (block23param1.clone(), ()); + let (v437, ()) = (block23param2.clone(), ()); + let (v448, ()) = (block23param3.clone(), ()); + let (v449, ()) = (block23param4.clone(), ()); + let (v450, ()) = (block23param5.clone(), ()); + let (v452, ()) = (block23param6.clone(), ()); + let (v454, ()) = (block23param7.clone(), ()); + let (v457, ()) = (block23param8.clone(), ()); + let (v71, ()) = (4294967288u32, ()); + let (v72, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v454.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v452.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v450.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v82 != 0 { + block9param0 = v448; + block9param1 = v429; + block9param2 = v433; + block9param3 = v449; + cff = 9usize; + break 'l25; + } else { + block24param0 = v429; + block24param1 = v433; + block24param2 = v437; + block24param3 = v77; + block24param4 = v450; + block24param5 = v457; + block24param6 = v72; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v428, ()) = (block24param0.clone(), ()); + let (v432, ()) = (block24param1.clone(), ()); + let (v436, ()) = (block24param2.clone(), ()); + let (v441, ()) = (block24param3.clone(), ()); + let (v455, ()) = (block24param4.clone(), ()); + let (v456, ()) = (block24param5.clone(), ()); + let (v458, ()) = (block24param6.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func26( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + (::wars_rt::func::cast::<_, _, C>(v458.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v89, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v441.clone()), + ::wars_rt::func::cast::<_, _, C>(v455.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (16u32, ()); + let (v91, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v91 != 0 { + block18param0 = v428; + block18param1 = v432; + block18param2 = v436; + block18param3 = v441; + cff = 18usize; + } else { + block25param0 = v428; + block25param1 = v455; + block25param2 = v432; + block25param3 = v436; + block25param4 = v441; + block25param5 = v89; + cff = 25usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + 25usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v427, ()) = (block18param0.clone(), ()); + let (v431, ()) = (block18param1.clone(), ()); + let (v435, ()) = (block18param2.clone(), ()); + let (v440, ()) = (block18param3.clone(), ()); + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v431.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v141, ()) = (1u32, ()); + let (v142, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ::wars_rt::func::cast::<_, _, C>(v141.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v143, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v144, ()) = (2u32, ()); + let (v145, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v143.clone()), + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v431.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v145.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v435.clone()), + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v149, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (1u32, ()); + let (v151, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v148.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v427, ())), + ); + }; + } + 1usize => { + 'l31: loop { + let (v459, ()) = (block25param0.clone(), ()); + let (v460, ()) = (block25param1.clone(), ()); + let (v461, ()) = (block25param2.clone(), ()); + let (v462, ()) = (block25param3.clone(), ()); + let (v463, ()) = (block25param4.clone(), ()); + let (v464, ()) = (block25param5.clone(), ()); + let (v100, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v461.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = (1u32, ()); + let (v102, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v460.clone()), + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v104, ()) = (2u32, ()); + let (v105, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v461.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v113, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v460.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v115, ()) = (3u32, ()); + let (v116, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v464.clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v113.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v462.clone()), + ::wars_rt::func::cast::<_, _, C>(v463.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v120, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v121, ()) = (1u32, ()); + let (v122, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func27( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + (::wars_rt::func::cast::<_, _, C>(v464.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v459, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l8: loop { + let (v376, ()) = (block11param0.clone(), ()); + let (v377, ()) = (block11param1.clone(), ()); + let (v378, ()) = (block11param2.clone(), ()); + let (v380, ()) = (block11param3.clone(), ()); + let (v381, ()) = (block11param4.clone(), ()); + let (v388, ()) = (block11param5.clone(), ()); + let (v34, ()) = (256u32, ()); + let (v35, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v35 != 0 { + block9param0 = v377; + block9param1 = v376; + block9param2 = v381; + block9param3 = v378; + cff = 9usize; + break 'l8; + } else { + block12param0 = v376; + block12param1 = v377; + block12param2 = v378; + block12param3 = v380; + block12param4 = v381; + block12param5 = v388; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v382, ()) = (block12param0.clone(), ()); + let (v383, ()) = (block12param1.clone(), ()); + let (v384, ()) = (block12param2.clone(), ()); + let (v385, ()) = (block12param3.clone(), ()); + let (v386, ()) = (block12param4.clone(), ()); + let (v387, ()) = (block12param5.clone(), ()); + let (v39, ()) = (4u32, ()); + let (v40, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v387.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v41 != 0 { + block9param0 = v383; + block9param1 = v382; + block9param2 = v386; + block9param3 = v384; + cff = 9usize; + break 'l12; + } else { + block13param0 = v382; + block13param1 = v383; + block13param2 = v384; + block13param3 = v385; + block13param4 = v386; + block13param5 = v387; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v389, ()) = (block13param0.clone(), ()); + let (v390, ()) = (block13param1.clone(), ()); + let (v391, ()) = (block13param2.clone(), ()); + let (v392, ()) = (block13param3.clone(), ()); + let (v393, ()) = (block13param4.clone(), ()); + let (v394, ()) = (block13param5.clone(), ()); + let (v44, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (131073u32, ()); + let (v46, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v46 != 0 { + block9param0 = v390; + block9param1 = v389; + block9param2 = v393; + block9param3 = v391; + cff = 9usize; + break 'l17; + } else { + block14param0 = v389; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v395, ()) = (block14param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v395, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l7: loop { + let (v256, ()) = (block9param0.clone(), ()); + let (v272, ()) = (block9param1.clone(), ()); + let (v278, ()) = (block9param2.clone(), ()); + let (v307, ()) = (block9param3.clone(), ()); + let (v268, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v256.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v269, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v268.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v269 != 0 { + block3param0 = v307; + cff = 3usize; + break 'l7; + } else { + block32param0 = v256; + block32param1 = v268; + block32param2 = v272; + block32param3 = v278; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v493, ()) = (block32param0.clone(), ()); + let (v494, ()) = (block32param1.clone(), ()); + let (v495, ()) = (block32param2.clone(), ()); + let (v496, ()) = (block32param3.clone(), ()); + let (v275, ()) = (4294967292u32, ()); + let (v276, ()) = (4294967288u32, ()); + let (v284, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v496.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v285, ()) = (3u32, ()); + let (v286, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v285.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v287, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v276.clone()), + ::wars_rt::func::cast::<_, _, C>(v286.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v288, ()) = (4294967288u32, ()); + let (v289, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ::wars_rt::func::cast::<_, _, C>(v288.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v290, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v287.clone()), + ::wars_rt::func::cast::<_, _, C>(v289.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v292, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v290.clone()), + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v293, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v290.clone()), + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ::wars_rt::func::cast::<_, _, C>(v292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v294, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v494.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v495.clone()), + (::wars_rt::func::cast::<_, _, C>(v293.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func29( + ctx, + (::wars_rt::func::cast::<_, _, C>(v495.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v294, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v366, ()) = (block6param0.clone(), ()); + let (v368, ()) = (block6param1.clone(), ()); + let (v370, ()) = (block6param2.clone(), ()); + let (v373, ()) = (block6param3.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + (::wars_rt::func::cast::<_, _, C>(v370.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v9 != 0 { + block4param0 = v366; + block4param1 = v368; + block4param2 = v370; + block4param3 = v9; + cff = 4usize; + } else { + cff = 7usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v365, ()) = (block4param0.clone(), ()); + let (v367, ()) = (block4param1.clone(), ()); + let (v369, ()) = (block4param2.clone(), ()); + let (v371, ()) = (block4param3.clone(), ()); + let (v302, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v303, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v304, ()) = match ::wars_rt::_rexport::tramp::tramp( + func66( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v371.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v365.clone()), + (::wars_rt::func::cast::<_, _, C>(v303.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func29( + ctx, + (::wars_rt::func::cast::<_, _, C>(v365.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block3param0 = v371; + cff = 3usize; + break 'l5; + } + } + 1usize => { + 'l4: loop { + let (v10, ()) = (0u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v10, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v306, ()) = (block3param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v306, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func38<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block5param0: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block7param0: u32; + let mut block7param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (9u32, ()); + let (v4, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v4 != 0 { + block3param0 = v1; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v26, ()) = (block3param0.clone(), ()); + let (v9, ()) = match ::wars_rt::_rexport::tramp::tramp( + func30( + ctx, + (::wars_rt::func::cast::<_, _, C>(v26.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v9; + block2param1 = v26; + cff = 2usize; + break 'l3; + } + } + 1usize => { + 'l2: loop { + let (v27, ()) = (block4param0.clone(), ()); + let (v28, ()) = (block4param1.clone(), ()); + let (v7, ()) = match ::wars_rt::_rexport::tramp::tramp( + func31( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + (::wars_rt::func::cast::<_, _, C>(v27.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v7; + block2param1 = v27; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v10, ()) = (block2param0.clone(), ()); + let (v23, ()) = (block2param1.clone(), ()); + let (v11, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v11 != 0 { + block5param0 = v10; + cff = 5usize; + } else { + block6param0 = v10; + block6param1 = v23; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v29, ()) = (block6param0.clone(), ()); + let (v32, ()) = (block6param1.clone(), ()); + let (v13, ()) = (4294967292u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v14.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (3u32, ()); + let (v17, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v18 != 0 { + block5param0 = v29; + cff = 5usize; + break 'l5; + } else { + block7param0 = v29; + block7param1 = v32; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v30, ()) = (block7param0.clone(), ()); + let (v31, ()) = (block7param1.clone(), ()); + let (v20, ()) = (0u32, ()); + let (v24, ()) = match ::wars_rt::_rexport::tramp::tramp( + func65( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + (::wars_rt::func::cast::<_, _, C>(v31.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v30; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v25, ()) = (block5param0.clone(), ()); + block1param0 = v25; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func39<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (*ctx.global0(), ()); + let (v2, ()) = (16u32, ()); + let (v3, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v3; + () + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block2param0 = v0; + block2param1 = v3; + block2param2 = v5; + cff = 2usize; + } else { + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v18, ()) = (block2param0.clone(), ()); + let (v19, ()) = (block2param1.clone(), ()); + let (v20, ()) = (block2param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v15, ()) = (4u32, ()); + let (v16, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func32( + ctx, + (::wars_rt::func::cast::<_, _, C>(v16.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l1: loop { + let (v6, ()) = (1048948u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func58( + ctx, + (::wars_rt::func::cast::<_, _, C>(v6.clone()), ()), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func40<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (48u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = (2147483648u32, ()); + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v1; + block2param1 = v4; + block2param2 = v0; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + block3param2 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v78, ()) = (block3param0.clone(), ()); + let (v79, ()) = (block3param1.clone(), ()); + let (v80, ()) = (block3param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (36u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 36u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (36u32, ()); + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (1048804u32, ()); + let (v23, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (24u32, ()); + let (v25, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (8u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (8u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v79; + block2param1 = v80; + block2param2 = v78; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v40, ()) = (block2param1.clone(), ()); + let (v70, ()) = (block2param2.clone(), ()); + let (v37, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v38, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v41, ()) = (8u32, ()); + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (8u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v45, ()) = (8u32, ()); + let (v46, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v47, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v46.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v44.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v49, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v46.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v51, ()) = (0u32, ()); + let (v52, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v51.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v40.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v54, ()) = (12u32, ()); + let (v55, ()) = (4u32, ()); + let (v56, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + (::wars_rt::func::cast::<_, _, C>(v55.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v56 != 0 { + block4param0 = v40; + block4param1 = v44; + block4param2 = v56; + block4param3 = v70; + cff = 4usize; + } else { + cff = 5usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + 5usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v81, ()) = (block4param0.clone(), ()); + let (v82, ()) = (block4param1.clone(), ()); + let (v83, ()) = (block4param2.clone(), ()); + let (v84, ()) = (block4param3.clone(), ()); + let (v62, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v81.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (8u32, ()); + let (v65, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v82.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v65.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v72, ()) = (1048964u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v84.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (48u32, ()); + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v76; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v57, ()) = (4u32, ()); + let (v58, ()) = (12u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + (::wars_rt::func::cast::<_, _, C>(v58.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func41<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = (2147483648u32, ()); + let (v8, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v0; + block2param1 = v1; + block2param2 = v4; + cff = 2usize; + } else { + block3param0 = v0; + block3param1 = v1; + block3param2 = v4; + cff = 3usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v46, ()) = (block3param0.clone(), ()); + let (v47, ()) = (block3param1.clone(), ()); + let (v48, ()) = (block3param2.clone(), ()); + let (v10, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (20u32, ()); + let (v13, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967296u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (20u32, ()); + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v22, ()) = (1048804u32, ()); + let (v23, ()) = match ::wars_rt::_rexport::tramp::tramp( + func56( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v24, ()) = (8u32, ()); + let (v25, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = (8u32, ()); + let (v27, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v27.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v48.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (8u32, ()); + let (v33, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v33.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v46; + block2param1 = v47; + block2param2 = v48; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v36, ()) = (block2param0.clone(), ()); + let (v40, ()) = (block2param1.clone(), ()); + let (v42, ()) = (block2param2.clone(), ()); + let (v38, ()) = (1048964u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v36.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v43, ()) = (32u32, ()); + let (v44, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v44; + () + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func42<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 1049385u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (8u32, ()); + let (v7, ()) = (4u32, ()); + let (v8, ()) = match ::wars_rt::_rexport::tramp::tramp( + func8( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + (::wars_rt::func::cast::<_, _, C>(v7.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block2param0 = v0; + block2param1 = v4; + block2param2 = v5; + block2param3 = v8; + cff = 2usize; + } else { + cff = 3usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v21, ()) = (block2param0.clone(), ()); + let (v22, ()) = (block2param1.clone(), ()); + let (v23, ()) = (block2param2.clone(), ()); + let (v24, ()) = (block2param3.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v24.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1048980u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v21.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v21.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l1: loop { + let (v9, ()) = (4u32, ()); + let (v10, ()) = (8u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func49( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + (::wars_rt::func::cast::<_, _, C>(v10.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func43<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (1048980u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func44<'a, C: Wars>( + ctx: &'a mut C, + ( + p0, + (p1, (p2, (p3, (p4, (p5, ()))))), + ): (u32, (u32, (u32, (u32, (u32, (u32, ())))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block0param5: u32 = p5; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block4param5: u32; + let mut block4param6: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block5param5: u32; + let mut block5param6: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (block0param3.clone(), ()); + let (v4, ()) = (block0param4.clone(), ()); + let (v5, ()) = (block0param5.clone(), ()); + let (v6, ()) = (*ctx.global0(), ()); + let (v7, ()) = (32u32, ()); + let (v8, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v8; + () + }; + let (v10, ()) = (0u32, ()); + let (v11, ()) = (0u32, ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v11.clone() + 1049408u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (1u32, ()); + let (v14, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v10.clone() + 1049408u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = (0u32, ()); + let (v17, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v17 != 0 { + cff = 3usize; + } else { + block4param0 = v2; + block4param1 = v3; + block4param2 = v4; + block4param3 = v5; + block4param4 = v8; + block4param5 = v0; + block4param6 = v1; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v104, ()) = (block4param0.clone(), ()); + let (v106, ()) = (block4param1.clone(), ()); + let (v108, ()) = (block4param2.clone(), ()); + let (v110, ()) = (block4param3.clone(), ()); + let (v112, ()) = (block4param4.clone(), ()); + let (v115, ()) = (block4param5.clone(), ()); + let (v118, ()) = (block4param6.clone(), ()); + let (v18, ()) = (0u32, ()); + let (v19, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 1049868u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v20, ()) = (255u32, ()); + let (v21, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v21 != 0 { + cff = 3usize; + break 'l2; + } else { + block5param0 = v104; + block5param1 = v106; + block5param2 = v108; + block5param3 = v110; + block5param4 = v112; + block5param5 = v115; + block5param6 = v118; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v103, ()) = (block5param0.clone(), ()); + let (v105, ()) = (block5param1.clone(), ()); + let (v107, ()) = (block5param2.clone(), ()); + let (v109, ()) = (block5param3.clone(), ()); + let (v111, ()) = (block5param4.clone(), ()); + let (v114, ()) = (block5param5.clone(), ()); + let (v117, ()) = (block5param6.clone(), ()); + let (v22, ()) = (0u32, ()); + let (v23, ()) = (1u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v22.clone() + 1049868u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = (0u32, ()); + let (v26, ()) = (0u32, ()); + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 1049864u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = (1u32, ()); + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v25.clone() + 1049864u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 29u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (1049036u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = (1048804u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v111.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v49, ()) = (0u32, ()); + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 1049392u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967295u32, ()); + let (v52, ()) = match ::wars_rt::i32les( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v52 != 0 { + cff = 3usize; + break 'l3; + } else { + block6param0 = v114; + block6param1 = v117; + block6param2 = v107; + block6param3 = v50; + block6param4 = v111; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v113, ()) = (block6param0.clone(), ()); + let (v116, ()) = (block6param1.clone(), ()); + let (v119, ()) = (block6param2.clone(), ()); + let (v120, ()) = (block6param3.clone(), ()); + let (v125, ()) = (block6param4.clone(), ()); + let (v53, ()) = (0u32, ()); + let (v55, ()) = (1u32, ()); + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v53.clone() + 1049392u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = (0u32, ()); + let (v59, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v58.clone() + 1049400u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v60 != 0 { + block7param0 = v120; + block7param1 = v119; + block7param2 = v113; + block7param3 = v116; + cff = 7usize; + } else { + block8param0 = v113; + block8param1 = v116; + block8param2 = v119; + block8param3 = v125; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v121, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v123, ()) = (block8param2.clone(), ()); + let (v124, ()) = (block8param3.clone(), ()); + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v122.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v71 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + (::wars_rt::func::cast::<_, _, C>(v121.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = match ::wars_rt::i64load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = (0u32, ()); + let (v76, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v75.clone() + 1049400u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = (12u32, ()); + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = (0u32, ()); + let (v80, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 1049404u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v80.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v81 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + (::wars_rt::func::cast::<_, _, C>(v78.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (0u32, ()); + let (v84, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v83.clone() + 1049392u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = (4294967295u32, ()); + let (v86, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block7param0 = v86; + block7param1 = v123; + block7param2 = v121; + block7param3 = v122; + cff = 7usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v88, ()) = (block7param0.clone(), ()); + let (v93, ()) = (block7param1.clone(), ()); + let (v97, ()) = (block7param2.clone(), ()); + let (v99, ()) = (block7param3.clone(), ()); + let (v87, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v87.clone() + 1049392u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (0u32, ()); + let (v91, ()) = (0u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 1049868u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v93 != 0 { + block2param0 = v97; + block2param1 = v99; + cff = 2usize; + } else { + cff = 9usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 9usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v101, ()) = (block2param0.clone(), ()); + let (v102, ()) = (block2param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func45( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + (::wars_rt::func::cast::<_, _, C>(v102.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + 1usize => { + 'l7: loop { + cff = 3usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + ::core::panicking::panic( + "internal error: entered unreachable code", + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func45<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = match ::wars_rt::_rexport::tramp::tramp( + func47( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + (::wars_rt::func::cast::<_, _, C>(v1.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func46<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (0u32, ()); + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 1049388u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2u32, ()); + let (v5, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v5 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func47<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func48<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (16u32, ()); + let (v4, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = { + let vn = ctx.memory0().len() / 65536; + let l = ctx.memory0().len(); + ctx.memory0().resize(l + (v4.clone() as usize) * 65536, 0); + (vn as u32, ()) + }; + let (v6, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = (0u32, ()); + let (v9, ()) = (4294901760u32, ()); + let (v10, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (4294967295u32, ()); + let (v12, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = (16u32, ()); + let (v17, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v18, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func49<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func12( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func50<'a, C: Wars>( + ctx: &'a mut C, + (): (), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + 'l0: loop { + let (v0, ()) = (*ctx.global0(), ()); + let (v1, ()) = (32u32, ()); + let (v2, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v2; + () + }; + let (v4, ()) = (20u32, ()); + let (v5, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v6, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (1049100u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (1049052u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v2.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v14, ()) = (8u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v16, ()) = (1049108u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + (::wars_rt::func::cast::<_, _, C>(v16.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func51<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block3param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 2usize; + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + cff = 2usize; + continue 'l1; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func52<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func53<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (*ctx.global0(), ()); + let (v3, ()) = (32u32, ()); + let (v4, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v4; + () + }; + let (v6, ()) = (1u32, ()); + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v10, ()) = (1049168u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v12, ()) = (1049124u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v4.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v14, ()) = (12u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func39(ctx, (::wars_rt::func::cast::<_, _, C>(v15.clone()), ())), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func54<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (block0param2.clone(), ()); + let (v3, ()) = (*ctx.global0(), ()); + let (v4, ()) = (32u32, ()); + let (v5, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v5; + () + }; + let (v7, ()) = (12u32, ()); + let (v8, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v9, ()) = (0u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v8.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (1u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 4u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (1049124u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v0.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v17, ()) = (24u32, ()); + let (v18, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v5.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::_rexport::tramp::tramp( + func53( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func55<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = match ::wars_rt::i64load32u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v1.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (1u32, ()); + let (v5, ()) = match ::wars_rt::_rexport::tramp::tramp( + func62( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + (::wars_rt::func::cast::<_, _, C>(v2.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v5; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func56<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block17param8: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block19param7: u32; + let mut block19param8: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block20param9: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block22param8: u32; + let mut block22param9: u32; + let mut block22param10: u32; + let mut block22param11: u32; + let mut block22param12: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block23param4: u32; + let mut block23param5: u32; + let mut block23param6: u32; + let mut block23param7: u32; + let mut block23param8: u32; + let mut block23param9: u32; + let mut block23param10: u32; + let mut block23param11: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block24param8: u32; + let mut block24param9: u32; + let mut block24param10: u32; + let mut block24param11: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block25param6: u32; + let mut block25param7: u32; + let mut block25param8: u32; + let mut block25param9: u32; + let mut block25param10: u32; + let mut block25param11: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block26param4: u32; + let mut block26param5: u32; + let mut block26param6: u32; + let mut block26param7: u32; + let mut block26param8: u32; + let mut block26param9: u32; + let mut block26param10: u32; + let mut block26param11: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block27param7: u32; + let mut block27param8: u32; + let mut block27param9: u32; + let mut block27param10: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block28param6: u32; + let mut block28param7: u32; + let mut block28param8: u32; + let mut block28param9: u32; + let mut block28param10: u32; + let mut block28param11: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block29param7: u32; + let mut block29param8: u32; + let mut block29param9: u32; + let mut block29param10: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block30param8: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block33param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let (v8, ()) = (36u32, ()); + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v9.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v11, ()) = (3u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v13, ()) = (32u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v15, ()) = (0u32, ()); + let (v16, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v19, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v21, ()) = (0u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v6.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v23, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v3.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v23 != 0 { + block6param0 = v3; + block6param1 = v6; + block6param2 = v15; + block6param3 = v23; + cff = 6usize; + } else { + block7param0 = v3; + block7param1 = v6; + block7param2 = v15; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v385, ()) = (block6param0.clone(), ()); + let (v386, ()) = (block6param1.clone(), ()); + let (v387, ()) = (block6param2.clone(), ()); + let (v422, ()) = (block6param3.clone(), ()); + let (v95, ()) = (20u32, ()); + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v97, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v96.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v98 != 0 { + block5param0 = v387; + block5param1 = v385; + block5param2 = v386; + cff = 5usize; + break 'l5; + } else { + block16param0 = v385; + block16param1 = v386; + block16param2 = v422; + block16param3 = v97; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v419, ()) = (block16param0.clone(), ()); + let (v420, ()) = (block16param1.clone(), ()); + let (v421, ()) = (block16param2.clone(), ()); + let (v423, ()) = (block16param3.clone(), ()); + let (v100, ()) = (5u32, ()); + let (v101, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v102, ()) = (4294967295u32, ()); + let (v103, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v102.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v104, ()) = (134217727u32, ()); + let (v105, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (1u32, ()); + let (v107, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v419.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v110, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v419.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = (0u32, ()); + let (v112, ()) = (0u32, ()); + block17param0 = v110; + block17param1 = v420; + block17param2 = v421; + block17param3 = v111; + block17param4 = v109; + block17param5 = v112; + block17param6 = v101; + block17param7 = v107; + block17param8 = v419; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v113, ()) = (block17param0.clone(), ()); + let (v119, ()) = (block17param1.clone(), ()); + let (v130, ()) = (block17param2.clone(), ()); + let (v134, ()) = (block17param3.clone(), ()); + let (v164, ()) = (block17param4.clone(), ()); + let (v245, ()) = (block17param5.clone(), ()); + let (v273, ()) = (block17param6.clone(), ()); + let (v324, ()) = (block17param7.clone(), ()); + let (v346, ()) = (block17param8.clone(), ()); + let (v114, ()) = (4u32, ()); + let (v115, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v113.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v116, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v115.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v116.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v117 != 0 { + block19param0 = v119; + block19param1 = v130; + block19param2 = v134; + block19param3 = v164; + block19param4 = v245; + block19param5 = v113; + block19param6 = v273; + block19param7 = v324; + block19param8 = v346; + cff = 19usize; + } else { + block20param0 = v113; + block20param1 = v116; + block20param2 = v119; + block20param3 = v130; + block20param4 = v134; + block20param5 = v164; + block20param6 = v245; + block20param7 = v273; + block20param8 = v324; + block20param9 = v346; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v433, ()) = (block20param0.clone(), ()); + let (v434, ()) = (block20param1.clone(), ()); + let (v435, ()) = (block20param2.clone(), ()); + let (v439, ()) = (block20param3.clone(), ()); + let (v441, ()) = (block20param4.clone(), ()); + let (v443, ()) = (block20param5.clone(), ()); + let (v445, ()) = (block20param6.clone(), ()); + let (v447, ()) = (block20param7.clone(), ()); + let (v449, ()) = (block20param8.clone(), ()); + let (v451, ()) = (block20param9.clone(), ()); + let (v120, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v122, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v433.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v124, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v435.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v125, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v124.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v126, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v125 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v120.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + (::wars_rt::func::cast::<_, _, C>(v434.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v126 != 0 { + block4param0 = v435; + cff = 4usize; + break 'l15; + } else { + block21param0 = v433; + block21param1 = v435; + block21param2 = v439; + block21param3 = v441; + block21param4 = v443; + block21param5 = v445; + block21param6 = v447; + block21param7 = v449; + block21param8 = v451; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v436, ()) = (block21param0.clone(), ()); + let (v437, ()) = (block21param1.clone(), ()); + let (v438, ()) = (block21param2.clone(), ()); + let (v440, ()) = (block21param3.clone(), ()); + let (v442, ()) = (block21param4.clone(), ()); + let (v444, ()) = (block21param5.clone(), ()); + let (v446, ()) = (block21param6.clone(), ()); + let (v448, ()) = (block21param7.clone(), ()); + let (v450, ()) = (block21param8.clone(), ()); + block19param0 = v437; + block19param1 = v438; + block19param2 = v440; + block19param3 = v442; + block19param4 = v444; + block19param5 = v436; + block19param6 = v446; + block19param7 = v448; + block19param8 = v450; + cff = 19usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l14: loop { + let (v127, ()) = (block19param0.clone(), ()); + let (v129, ()) = (block19param1.clone(), ()); + let (v133, ()) = (block19param2.clone(), ()); + let (v163, ()) = (block19param3.clone(), ()); + let (v244, ()) = (block19param4.clone(), ()); + let (v259, ()) = (block19param5.clone(), ()); + let (v272, ()) = (block19param6.clone(), ()); + let (v323, ()) = (block19param7.clone(), ()); + let (v345, ()) = (block19param8.clone(), ()); + let (v137, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ::wars_rt::func::cast::<_, _, C>(v133.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v138, ()) = (16u32, ()); + let (v139, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v140, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v139.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 28u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v140.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v142, ()) = (28u32, ()); + let (v143, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v142.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v144, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v143.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 44u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v144.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v146, ()) = (24u32, ()); + let (v147, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v148, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v147.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v127.clone() + 40u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v150, ()) = (12u32, ()); + let (v151, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v151.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (0u32, ()); + let (v154, ()) = (0u32, ()); + let (v155, ()) = (8u32, ()); + let (v156, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v137.clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v156.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v157 { + 0usize => { + block23param0 = v127; + block23param1 = v152; + block23param2 = v137; + block23param3 = v163; + block23param4 = v153; + block23param5 = v244; + block23param6 = v259; + block23param7 = v272; + block23param8 = v133; + block23param9 = v129; + block23param10 = v323; + block23param11 = v345; + cff = 23usize; + } + 1usize => { + block24param0 = v127; + block24param1 = v129; + block24param2 = v133; + block24param3 = v137; + block24param4 = v152; + block24param5 = v153; + block24param6 = v163; + block24param7 = v244; + block24param8 = v259; + block24param9 = v272; + block24param10 = v323; + block24param11 = v345; + cff = 24usize; + } + 2usize => { + block22param0 = v127; + block22param1 = v152; + block22param2 = v154; + block22param3 = v137; + block22param4 = v163; + block22param5 = v153; + block22param6 = v244; + block22param7 = v259; + block22param8 = v272; + block22param9 = v133; + block22param10 = v129; + block22param11 = v323; + block22param12 = v345; + cff = 22usize; + } + _ => { + block23param0 = v127; + block23param1 = v152; + block23param2 = v137; + block23param3 = v163; + block23param4 = v153; + block23param5 = v244; + block23param6 = v259; + block23param7 = v272; + block23param8 = v133; + block23param9 = v129; + block23param10 = v323; + block23param11 = v345; + cff = 23usize; + } + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v452, ()) = (block24param0.clone(), ()); + let (v453, ()) = (block24param1.clone(), ()); + let (v454, ()) = (block24param2.clone(), ()); + let (v455, ()) = (block24param3.clone(), ()); + let (v456, ()) = (block24param4.clone(), ()); + let (v457, ()) = (block24param5.clone(), ()); + let (v458, ()) = (block24param6.clone(), ()); + let (v459, ()) = (block24param7.clone(), ()); + let (v460, ()) = (block24param8.clone(), ()); + let (v461, ()) = (block24param9.clone(), ()); + let (v462, ()) = (block24param10.clone(), ()); + let (v463, ()) = (block24param11.clone(), ()); + let (v159, ()) = (3u32, ()); + let (v160, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + ::wars_rt::func::cast::<_, _, C>(v159.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v161, ()) = (0u32, ()); + let (v167, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v458.clone()), + ::wars_rt::func::cast::<_, _, C>(v160.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v168, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v167.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v169, ()) = (17u32, ()); + let (v170, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v168.clone()), + ::wars_rt::func::cast::<_, _, C>(v169.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v170 != 0 { + block22param0 = v452; + block22param1 = v456; + block22param2 = v161; + block22param3 = v455; + block22param4 = v458; + block22param5 = v457; + block22param6 = v459; + block22param7 = v460; + block22param8 = v461; + block22param9 = v454; + block22param10 = v453; + block22param11 = v462; + block22param12 = v463; + cff = 22usize; + break 'l21; + } else { + block25param0 = v452; + block25param1 = v453; + block25param2 = v454; + block25param3 = v455; + block25param4 = v457; + block25param5 = v458; + block25param6 = v167; + block25param7 = v459; + block25param8 = v460; + block25param9 = v461; + block25param10 = v462; + block25param11 = v463; + cff = 25usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v464, ()) = (block25param0.clone(), ()); + let (v465, ()) = (block25param1.clone(), ()); + let (v466, ()) = (block25param2.clone(), ()); + let (v467, ()) = (block25param3.clone(), ()); + let (v468, ()) = (block25param4.clone(), ()); + let (v469, ()) = (block25param5.clone(), ()); + let (v470, ()) = (block25param6.clone(), ()); + let (v471, ()) = (block25param7.clone(), ()); + let (v472, ()) = (block25param8.clone(), ()); + let (v473, ()) = (block25param9.clone(), ()); + let (v474, ()) = (block25param10.clone(), ()); + let (v475, ()) = (block25param11.clone(), ()); + let (v172, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v470.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v173, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v172.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block23param0 = v464; + block23param1 = v173; + block23param2 = v467; + block23param3 = v469; + block23param4 = v468; + block23param5 = v471; + block23param6 = v472; + block23param7 = v473; + block23param8 = v466; + block23param9 = v465; + block23param10 = v474; + block23param11 = v475; + cff = 23usize; + break 'l24; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 22usize => 0usize, + 23usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v175, ()) = (block22param0.clone(), ()); + let (v179, ()) = (block22param1.clone(), ()); + let (v182, ()) = (block22param2.clone(), ()); + let (v184, ()) = (block22param3.clone(), ()); + let (v196, ()) = (block22param4.clone(), ()); + let (v215, ()) = (block22param5.clone(), ()); + let (v243, ()) = (block22param6.clone(), ()); + let (v258, ()) = (block22param7.clone(), ()); + let (v271, ()) = (block22param8.clone(), ()); + let (v284, ()) = (block22param9.clone(), ()); + let (v301, ()) = (block22param10.clone(), ()); + let (v322, ()) = (block22param11.clone(), ()); + let (v344, ()) = (block22param12.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v175.clone() + 12u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v188, ()) = (4u32, ()); + let (v189, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v184.clone()), + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v190, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v189.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v191, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v184.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v191 { + 0usize => { + block27param0 = v175; + block27param1 = v190; + block27param2 = v196; + block27param3 = v184; + block27param4 = v243; + block27param5 = v258; + block27param6 = v271; + block27param7 = v284; + block27param8 = v301; + block27param9 = v322; + block27param10 = v344; + cff = 27usize; + } + 1usize => { + block28param0 = v175; + block28param1 = v184; + block28param2 = v190; + block28param3 = v196; + block28param4 = v215; + block28param5 = v243; + block28param6 = v258; + block28param7 = v271; + block28param8 = v284; + block28param9 = v301; + block28param10 = v322; + block28param11 = v344; + cff = 28usize; + } + 2usize => { + block26param0 = v175; + block26param1 = v190; + block26param2 = v215; + block26param3 = v196; + block26param4 = v184; + block26param5 = v243; + block26param6 = v258; + block26param7 = v271; + block26param8 = v284; + block26param9 = v301; + block26param10 = v322; + block26param11 = v344; + cff = 26usize; + } + _ => { + block27param0 = v175; + block27param1 = v190; + block27param2 = v196; + block27param3 = v184; + block27param4 = v243; + block27param5 = v258; + block27param6 = v271; + block27param7 = v284; + block27param8 = v301; + block27param9 = v322; + block27param10 = v344; + cff = 27usize; + } + }; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v476, ()) = (block28param0.clone(), ()); + let (v477, ()) = (block28param1.clone(), ()); + let (v478, ()) = (block28param2.clone(), ()); + let (v479, ()) = (block28param3.clone(), ()); + let (v480, ()) = (block28param4.clone(), ()); + let (v481, ()) = (block28param5.clone(), ()); + let (v482, ()) = (block28param6.clone(), ()); + let (v483, ()) = (block28param7.clone(), ()); + let (v484, ()) = (block28param8.clone(), ()); + let (v485, ()) = (block28param9.clone(), ()); + let (v486, ()) = (block28param10.clone(), ()); + let (v487, ()) = (block28param11.clone(), ()); + let (v193, ()) = (3u32, ()); + let (v194, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v478.clone()), + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v479.clone()), + ::wars_rt::func::cast::<_, _, C>(v194.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v200, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v199.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v201, ()) = (17u32, ()); + let (v202, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v200.clone()), + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v202 != 0 { + block26param0 = v476; + block26param1 = v478; + block26param2 = v480; + block26param3 = v479; + block26param4 = v477; + block26param5 = v481; + block26param6 = v482; + block26param7 = v483; + block26param8 = v484; + block26param9 = v485; + block26param10 = v486; + block26param11 = v487; + cff = 26usize; + break 'l27; + } else { + block29param0 = v476; + block29param1 = v477; + block29param2 = v479; + block29param3 = v199; + block29param4 = v481; + block29param5 = v482; + block29param6 = v483; + block29param7 = v484; + block29param8 = v485; + block29param9 = v486; + block29param10 = v487; + cff = 29usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v488, ()) = (block29param0.clone(), ()); + let (v489, ()) = (block29param1.clone(), ()); + let (v490, ()) = (block29param2.clone(), ()); + let (v491, ()) = (block29param3.clone(), ()); + let (v492, ()) = (block29param4.clone(), ()); + let (v493, ()) = (block29param5.clone(), ()); + let (v494, ()) = (block29param6.clone(), ()); + let (v495, ()) = (block29param7.clone(), ()); + let (v496, ()) = (block29param8.clone(), ()); + let (v497, ()) = (block29param9.clone(), ()); + let (v498, ()) = (block29param10.clone(), ()); + let (v204, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v491.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v205, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v204.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block27param0 = v488; + block27param1 = v205; + block27param2 = v490; + block27param3 = v489; + block27param4 = v492; + block27param5 = v493; + block27param6 = v494; + block27param7 = v495; + block27param8 = v496; + block27param9 = v497; + block27param10 = v498; + cff = 27usize; + break 'l29; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 26usize => 0usize, + 27usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v207, ()) = (block26param0.clone(), ()); + let (v211, ()) = (block26param1.clone(), ()); + let (v214, ()) = (block26param2.clone(), ()); + let (v221, ()) = (block26param3.clone(), ()); + let (v224, ()) = (block26param4.clone(), ()); + let (v242, ()) = (block26param5.clone(), ()); + let (v257, ()) = (block26param6.clone(), ()); + let (v270, ()) = (block26param7.clone(), ()); + let (v283, ()) = (block26param8.clone(), ()); + let (v300, ()) = (block26param9.clone(), ()); + let (v321, ()) = (block26param10.clone(), ()); + let (v343, ()) = (block26param11.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 24u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v211.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v207.clone() + 20u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v228, ()) = (20u32, ()); + let (v229, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ::wars_rt::func::cast::<_, _, C>(v228.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v230, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v229.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v231, ()) = (3u32, ()); + let (v232, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v233, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v234, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v233.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v235, ()) = (12u32, ()); + let (v236, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v235.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = (4u32, ()); + let (v238, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v239, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v238.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v240, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v239 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v234.clone()), + (::wars_rt::func::cast::<_, _, C>(v236.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v240 != 0 { + block4param0 = v207; + cff = 4usize; + break 'l25; + } else { + block30param0 = v207; + block30param1 = v321; + block30param2 = v343; + block30param3 = v221; + block30param4 = v242; + block30param5 = v257; + block30param6 = v270; + block30param7 = v283; + block30param8 = v300; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v426, ()) = (block30param0.clone(), ()); + let (v429, ()) = (block30param1.clone(), ()); + let (v432, ()) = (block30param2.clone(), ()); + let (v499, ()) = (block30param3.clone(), ()); + let (v500, ()) = (block30param4.clone(), ()); + let (v501, ()) = (block30param5.clone(), ()); + let (v502, ()) = (block30param6.clone(), ()); + let (v503, ()) = (block30param7.clone(), ()); + let (v504, ()) = (block30param8.clone(), ()); + let (v254, ()) = (1u32, ()); + let (v255, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v254.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v267, ()) = (8u32, ()); + let (v268, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v501.clone()), + ::wars_rt::func::cast::<_, _, C>(v267.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v291, ()) = (32u32, ()); + let (v292, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v503.clone()), + ::wars_rt::func::cast::<_, _, C>(v291.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v293, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v502.clone()), + ::wars_rt::func::cast::<_, _, C>(v292.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v293 != 0 { + block17param0 = v268; + block17param1 = v426; + block17param2 = v504; + block17param3 = v292; + block17param4 = v499; + block17param5 = v255; + block17param6 = v502; + block17param7 = v429; + block17param8 = v432; + cff = 17usize; + continue 'l12; + } else { + block31param0 = v426; + block31param1 = v429; + block31param2 = v432; + cff = 31usize; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v425, ()) = (block31param0.clone(), ()); + let (v428, ()) = (block31param1.clone(), ()); + let (v431, ()) = (block31param2.clone(), ()); + block18param0 = v425; + block18param1 = v428; + block18param2 = v431; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v424, ()) = (block18param0.clone(), ()); + let (v427, ()) = (block18param1.clone(), ()); + let (v430, ()) = (block18param2.clone(), ()); + block5param0 = v427; + block5param1 = v430; + block5param2 = v424; + cff = 5usize; + break 'l32; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l26: loop { + let (v209, ()) = (block27param0.clone(), ()); + let (v212, ()) = (block27param1.clone(), ()); + let (v222, ()) = (block27param2.clone(), ()); + let (v226, ()) = (block27param3.clone(), ()); + let (v252, ()) = (block27param4.clone(), ()); + let (v265, ()) = (block27param5.clone(), ()); + let (v280, ()) = (block27param6.clone(), ()); + let (v289, ()) = (block27param7.clone(), ()); + let (v306, ()) = (block27param8.clone(), ()); + let (v331, ()) = (block27param9.clone(), ()); + let (v353, ()) = (block27param10.clone(), ()); + let (v206, ()) = (1u32, ()); + block26param0 = v209; + block26param1 = v212; + block26param2 = v206; + block26param3 = v222; + block26param4 = v226; + block26param5 = v252; + block26param6 = v265; + block26param7 = v280; + block26param8 = v289; + block26param9 = v306; + block26param10 = v331; + block26param11 = v353; + cff = 26usize; + break 'l26; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l20: loop { + let (v177, ()) = (block23param0.clone(), ()); + let (v180, ()) = (block23param1.clone(), ()); + let (v186, ()) = (block23param2.clone(), ()); + let (v197, ()) = (block23param3.clone(), ()); + let (v217, ()) = (block23param4.clone(), ()); + let (v249, ()) = (block23param5.clone(), ()); + let (v262, ()) = (block23param6.clone(), ()); + let (v277, ()) = (block23param7.clone(), ()); + let (v286, ()) = (block23param8.clone(), ()); + let (v303, ()) = (block23param9.clone(), ()); + let (v328, ()) = (block23param10.clone(), ()); + let (v350, ()) = (block23param11.clone(), ()); + let (v174, ()) = (1u32, ()); + block22param0 = v177; + block22param1 = v180; + block22param2 = v174; + block22param3 = v186; + block22param4 = v197; + block22param5 = v217; + block22param6 = v249; + block22param7 = v262; + block22param8 = v277; + block22param9 = v286; + block22param10 = v303; + block22param11 = v328; + block22param12 = v350; + cff = 22usize; + break 'l20; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v388, ()) = (block7param0.clone(), ()); + let (v389, ()) = (block7param1.clone(), ()); + let (v390, ()) = (block7param2.clone(), ()); + let (v25, ()) = (12u32, ()); + let (v26, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v388.clone()), + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v27, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v26.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v28, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v28 != 0 { + block5param0 = v390; + block5param1 = v388; + block5param2 = v389; + cff = 5usize; + break 'l4; + } else { + block8param0 = v388; + block8param1 = v389; + block8param2 = v27; + cff = 8usize; + }; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v391, ()) = (block8param0.clone(), ()); + let (v392, ()) = (block8param1.clone(), ()); + let (v393, ()) = (block8param2.clone(), ()); + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v391.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v32, ()) = (3u32, ()); + let (v33, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = (4294967295u32, ()); + let (v36, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = (536870911u32, ()); + let (v38, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (1u32, ()); + let (v40, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v391.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (0u32, ()); + block9param0 = v41; + block9param1 = v392; + block9param2 = v30; + block9param3 = v42; + block9param4 = v34; + block9param5 = v40; + block9param6 = v391; + cff = 9usize; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v43, ()) = (block9param0.clone(), ()); + let (v49, ()) = (block9param1.clone(), ()); + let (v58, ()) = (block9param2.clone(), ()); + let (v72, ()) = (block9param3.clone(), ()); + let (v87, ()) = (block9param4.clone(), ()); + let (v314, ()) = (block9param5.clone(), ()); + let (v337, ()) = (block9param6.clone(), ()); + let (v44, ()) = (4u32, ()); + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v45.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v47 != 0 { + block11param0 = v58; + block11param1 = v49; + block11param2 = v72; + block11param3 = v43; + block11param4 = v87; + block11param5 = v314; + block11param6 = v337; + cff = 11usize; + } else { + block12param0 = v43; + block12param1 = v46; + block12param2 = v49; + block12param3 = v58; + block12param4 = v72; + block12param5 = v87; + block12param6 = v314; + block12param7 = v337; + cff = 12usize; + }; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v394, ()) = (block12param0.clone(), ()); + let (v395, ()) = (block12param1.clone(), ()); + let (v396, ()) = (block12param2.clone(), ()); + let (v400, ()) = (block12param3.clone(), ()); + let (v402, ()) = (block12param4.clone(), ()); + let (v404, ()) = (block12param5.clone(), ()); + let (v406, ()) = (block12param6.clone(), ()); + let (v408, ()) = (block12param7.clone(), ()); + let (v50, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v396.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v394.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v396.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v55, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v54.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v55 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + (::wars_rt::func::cast::<_, _, C>(v395.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + block4param0 = v396; + cff = 4usize; + break 'l17; + } else { + block13param0 = v394; + block13param1 = v396; + block13param2 = v400; + block13param3 = v402; + block13param4 = v404; + block13param5 = v406; + block13param6 = v408; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v397, ()) = (block13param0.clone(), ()); + let (v398, ()) = (block13param1.clone(), ()); + let (v399, ()) = (block13param2.clone(), ()); + let (v401, ()) = (block13param3.clone(), ()); + let (v403, ()) = (block13param4.clone(), ()); + let (v405, ()) = (block13param5.clone(), ()); + let (v407, ()) = (block13param6.clone(), ()); + block11param0 = v399; + block11param1 = v398; + block11param2 = v401; + block11param3 = v397; + block11param4 = v403; + block11param5 = v405; + block11param6 = v407; + cff = 11usize; + break 'l23; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l16: loop { + let (v57, ()) = (block11param0.clone(), ()); + let (v62, ()) = (block11param1.clone(), ()); + let (v71, ()) = (block11param2.clone(), ()); + let (v78, ()) = (block11param3.clone(), ()); + let (v86, ()) = (block11param4.clone(), ()); + let (v313, ()) = (block11param5.clone(), ()); + let (v336, ()) = (block11param6.clone(), ()); + let (v61, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v57.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (12u32, ()); + let (v65, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = (4u32, ()); + let (v67, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v68, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v67.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v68 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + (::wars_rt::func::cast::<_, _, C>(v65.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v69 != 0 { + block4param0 = v62; + cff = 4usize; + break 'l16; + } else { + block14param0 = v57; + block14param1 = v62; + block14param2 = v71; + block14param3 = v78; + block14param4 = v86; + block14param5 = v313; + block14param6 = v336; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v409, ()) = (block14param0.clone(), ()); + let (v410, ()) = (block14param1.clone(), ()); + let (v411, ()) = (block14param2.clone(), ()); + let (v412, ()) = (block14param3.clone(), ()); + let (v413, ()) = (block14param4.clone(), ()); + let (v414, ()) = (block14param5.clone(), ()); + let (v415, ()) = (block14param6.clone(), ()); + let (v75, ()) = (1u32, ()); + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v411.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (8u32, ()); + let (v81, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v412.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (8u32, ()); + let (v84, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v409.clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ::wars_rt::func::cast::<_, _, C>(v413.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v90 != 0 { + block9param0 = v81; + block9param1 = v410; + block9param2 = v84; + block9param3 = v76; + block9param4 = v413; + block9param5 = v414; + block9param6 = v415; + cff = 9usize; + continue 'l13; + } else { + block15param0 = v410; + block15param1 = v414; + block15param2 = v415; + cff = 15usize; + }; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v416, ()) = (block15param0.clone(), ()); + let (v417, ()) = (block15param1.clone(), ()); + let (v418, ()) = (block15param2.clone(), ()); + block5param0 = v417; + block5param1 = v418; + block5param2 = v416; + cff = 5usize; + break 'l28; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 4usize => 1usize, + 5usize => 2usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v377, ()) = (block2param0.clone(), ()); + let (v384, ()) = (block2param1.clone(), ()); + let (v381, ()) = (48u32, ()); + let (v382, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v377.clone()), + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v382; + () + }; + block1param0 = v384; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v378, ()) = (block4param0.clone(), ()); + let (v375, ()) = (1u32, ()); + block2param0 = v378; + block2param1 = v375; + cff = 2usize; + break 'l2; + } + } + 2usize => { + 'l3: loop { + let (v309, ()) = (block5param0.clone(), ()); + let (v333, ()) = (block5param1.clone(), ()); + let (v358, ()) = (block5param2.clone(), ()); + let (v355, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v333.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v356, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v355.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v356 != 0 { + block3param0 = v358; + cff = 3usize; + } else { + block32param0 = v309; + block32param1 = v333; + block32param2 = v358; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v505, ()) = (block32param0.clone(), ()); + let (v506, ()) = (block32param1.clone(), ()); + let (v507, ()) = (block32param2.clone(), ()); + let (v362, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v507.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v364, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v506.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v366, ()) = (3u32, ()); + let (v367, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v505.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v368, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v369, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v368.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v370, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v368.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v371, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v507.clone() + 36u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v372, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v371.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v373, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v372 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v362.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + (::wars_rt::func::cast::<_, _, C>(v370.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v373.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v374 != 0 { + block3param0 = v507; + cff = 3usize; + break 'l9; + } else { + block33param0 = v507; + cff = 33usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v508, ()) = (block33param0.clone(), ()); + block4param0 = v508; + cff = 4usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v380, ()) = (block3param0.clone(), ()); + let (v376, ()) = (0u32, ()); + block2param0 = v380; + block2param1 = v376; + cff = 2usize; + break 'l8; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func57<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (block0param1.clone(), ()); + let (v2, ()) = (10287760977718510952u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 8u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v4, ()) = (2010871330890654687u64, ()); + let () = match ::wars_rt::i64store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::<_, _, C>((v0.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Ok(())); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func58<'a, C: Wars>( + ctx: &'a mut C, + (p0, ()): (u32, ()), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + 'l0: loop { + let (v0, ()) = (block0param0.clone(), ()); + let (v1, ()) = (1049124u32, ()); + let (v2, ()) = (43u32, ()); + let () = match ::wars_rt::_rexport::tramp::tramp( + func54( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v0.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + ::core::panicking::panic("internal error: entered unreachable code"); + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func59<'a, C: Wars>( + ctx: &'a mut C, + ( + p0, + (p1, (p2, (p3, (p4, (p5, ()))))), + ): (u32, (u32, (u32, (u32, (u32, (u32, ())))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block0param5: u32 = p5; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block2param5: u32; + let mut block2param6: u32; + let mut block2param7: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block3param4: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block5param5: u32; + let mut block5param6: u32; + let mut block5param7: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block6param5: u32; + let mut block6param6: u32; + let mut block6param7: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block8param7: u32; + let mut block8param8: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block9param7: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block10param7: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block11param7: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block13param7: u32; + let mut block13param8: u32; + let mut block13param9: u32; + let mut block13param10: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block14param8: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block15param8: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block16param6: u32; + let mut block16param7: u32; + let mut block16param8: u32; + let mut block16param9: u32; + let mut block16param10: u32; + let mut block16param11: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block17param6: u32; + let mut block17param7: u32; + let mut block17param8: u32; + let mut block17param9: u32; + let mut block17param10: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block18param7: u32; + let mut block18param8: u32; + let mut block18param9: u32; + let mut block18param10: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block19param5: u32; + let mut block19param6: u32; + let mut block19param7: u32; + let mut block19param8: u32; + let mut block19param9: u32; + let mut block19param10: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block20param6: u32; + let mut block20param7: u32; + let mut block20param8: u32; + let mut block20param9: u32; + let mut block20param10: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block21param5: u32; + let mut block21param6: u32; + let mut block21param7: u32; + let mut block21param8: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block22param4: u32; + let mut block22param5: u32; + let mut block22param6: u32; + let mut block22param7: u32; + let mut block22param8: u32; + let mut block23param0: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block24param3: u32; + let mut block24param4: u32; + let mut block24param5: u32; + let mut block24param6: u32; + let mut block24param7: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block27param7: u32; + let mut block27param8: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block31param4: u32; + let mut block31param5: u32; + let mut block31param6: u32; + let mut block31param7: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block32param2: u32; + let mut block32param3: u32; + let mut block32param4: u32; + let mut block32param5: u32; + let mut block32param6: u32; + let mut block32param7: u32; + let mut block32param8: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block33param4: u32; + let mut block33param5: u32; + let mut block33param6: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block34param3: u32; + let mut block34param4: u32; + let mut block34param5: u32; + let mut block34param6: u32; + let mut block34param7: u32; + let mut block36param0: u32; + let mut block36param1: u32; + let mut block36param2: u32; + let mut block36param3: u32; + let mut block36param4: u32; + let mut block36param5: u32; + let mut block36param6: u32; + let mut block36param7: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block39param2: u32; + let mut block39param3: u32; + let mut block39param4: u32; + let mut block39param5: u32; + let mut block39param6: u32; + let mut block39param7: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block40param4: u32; + let mut block40param5: u32; + let mut block40param6: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block41param4: u32; + let mut block41param5: u32; + let mut block41param6: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block42param4: u32; + let mut block42param5: u32; + let mut block42param6: u32; + let mut block42param7: u32; + let mut block42param8: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block43param4: u32; + let mut block43param5: u32; + let mut block43param6: u32; + let mut block43param7: u32; + let mut block43param8: u32; + let mut block43param9: u32; + let mut block45param0: u32; + let mut block45param1: u32; + let mut block45param2: u32; + let mut block45param3: u32; + let mut block45param4: u32; + let mut block45param5: u32; + let mut block45param6: u32; + let mut block45param7: u32; + let mut block45param8: u32; + let mut block45param9: u32; + let mut block47param0: u32; + let mut block47param1: u32; + let mut block47param2: u32; + let mut block47param3: u32; + let mut block47param4: u32; + let mut block47param5: u32; + let mut block47param6: u32; + let mut block48param0: u32; + let mut block48param1: u32; + let mut block48param2: u32; + let mut block48param3: u32; + let mut block49param0: u32; + let mut block49param1: u32; + let mut block49param2: u32; + let mut block49param3: u32; + let mut block49param4: u32; + let mut block50param0: u32; + let mut block50param1: u32; + let mut block51param0: u32; + let mut block51param1: u32; + let mut block51param2: u32; + let mut block51param3: u32; + let mut block51param4: u32; + let mut block52param0: u32; + let mut block53param0: u32; + let mut block53param1: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (block0param4.clone(), ()); + let (v6, ()) = (block0param5.clone(), ()); + if v2 != 0 { + block3param0 = v1; + block3param1 = v3; + block3param2 = v4; + block3param3 = v5; + block3param4 = v6; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v3; + block4param2 = v4; + block4param3 = v5; + block4param4 = v6; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v506, ()) = (block3param0.clone(), ()); + let (v507, ()) = (block3param1.clone(), ()); + let (v508, ()) = (block3param2.clone(), ()); + let (v509, ()) = (block3param3.clone(), ()); + let (v510, ()) = (block3param4.clone(), ()); + let (v13, ()) = (43u32, ()); + let (v14, ()) = (1114112u32, ()); + let (v16, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v506.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (1u32, ()); + let (v18, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v19, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v13.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v510.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v16; + block2param1 = v508; + block2param2 = v507; + block2param3 = v21; + block2param4 = v506; + block2param5 = v19; + block2param6 = v509; + block2param7 = v510; + cff = 2usize; + break 'l3; + } + } + 1usize => { + 'l2: loop { + let (v511, ()) = (block4param0.clone(), ()); + let (v512, ()) = (block4param1.clone(), ()); + let (v513, ()) = (block4param2.clone(), ()); + let (v514, ()) = (block4param3.clone(), ()); + let (v515, ()) = (block4param4.clone(), ()); + let (v8, ()) = (1u32, ()); + let (v9, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v515.clone()), + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v11, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v511.clone() + 28u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (45u32, ()); + block2param0 = v11; + block2param1 = v513; + block2param2 = v512; + block2param3 = v9; + block2param4 = v511; + block2param5 = v12; + block2param6 = v514; + block2param7 = v515; + cff = 2usize; + break 'l2; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v22, ()) = (block2param0.clone(), ()); + let (v27, ()) = (block2param1.clone(), ()); + let (v34, ()) = (block2param2.clone(), ()); + let (v125, ()) = (block2param3.clone(), ()); + let (v142, ()) = (block2param4.clone(), ()); + let (v167, ()) = (block2param5.clone(), ()); + let (v211, ()) = (block2param6.clone(), ()); + let (v234, ()) = (block2param7.clone(), ()); + let (v23, ()) = (4u32, ()); + let (v24, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v24 != 0 { + block6param0 = v27; + block6param1 = v22; + block6param2 = v34; + block6param3 = v125; + block6param4 = v142; + block6param5 = v167; + block6param6 = v211; + block6param7 = v234; + cff = 6usize; + } else { + block7param0 = v22; + block7param1 = v27; + block7param2 = v125; + block7param3 = v142; + block7param4 = v167; + block7param5 = v211; + block7param6 = v234; + cff = 7usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v516, ()) = (block6param0.clone(), ()); + let (v526, ()) = (block6param1.clone(), ()); + let (v529, ()) = (block6param2.clone(), ()); + let (v531, ()) = (block6param3.clone(), ()); + let (v533, ()) = (block6param4.clone(), ()); + let (v535, ()) = (block6param5.clone(), ()); + let (v537, ()) = (block6param6.clone(), ()); + let (v539, ()) = (block6param7.clone(), ()); + let (v30, ()) = (16u32, ()); + let (v31, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v516.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v31 != 0 { + block9param0 = v516; + block9param1 = v526; + block9param2 = v529; + block9param3 = v531; + block9param4 = v533; + block9param5 = v535; + block9param6 = v537; + block9param7 = v539; + cff = 9usize; + } else { + block10param0 = v526; + block10param1 = v516; + block10param2 = v529; + block10param3 = v531; + block10param4 = v533; + block10param5 = v535; + block10param6 = v537; + block10param7 = v539; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v524, ()) = (block9param0.clone(), ()); + let (v542, ()) = (block9param1.clone(), ()); + let (v545, ()) = (block9param2.clone(), ()); + let (v547, ()) = (block9param3.clone(), ()); + let (v549, ()) = (block9param4.clone(), ()); + let (v551, ()) = (block9param5.clone(), ()); + let (v553, ()) = (block9param6.clone(), ()); + let (v555, ()) = (block9param7.clone(), ()); + if v524 != 0 { + block11param0 = v524; + block11param1 = v542; + block11param2 = v545; + block11param3 = v547; + block11param4 = v549; + block11param5 = v551; + block11param6 = v553; + block11param7 = v555; + cff = 11usize; + } else { + block12param0 = v542; + block12param1 = v524; + block12param2 = v545; + block12param3 = v547; + block12param4 = v549; + block12param5 = v551; + block12param6 = v553; + block12param7 = v555; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v540, ()) = (block11param0.clone(), ()); + let (v558, ()) = (block11param1.clone(), ()); + let (v561, ()) = (block11param2.clone(), ()); + let (v564, ()) = (block11param3.clone(), ()); + let (v566, ()) = (block11param4.clone(), ()); + let (v568, ()) = (block11param5.clone(), ()); + let (v570, ()) = (block11param6.clone(), ()); + let (v572, ()) = (block11param7.clone(), ()); + let (v42, ()) = (3u32, ()); + let (v43, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v540.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (4u32, ()); + let (v45, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v540.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v45 != 0 { + block14param0 = v540; + block14param1 = v561; + block14param2 = v558; + block14param3 = v43; + block14param4 = v564; + block14param5 = v566; + block14param6 = v568; + block14param7 = v570; + block14param8 = v572; + cff = 14usize; + } else { + block15param0 = v558; + block15param1 = v540; + block15param2 = v561; + block15param3 = v43; + block15param4 = v564; + block15param5 = v566; + block15param6 = v568; + block15param7 = v570; + block15param8 = v572; + cff = 15usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + 15usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v556, ()) = (block14param0.clone(), ()); + let (v574, ()) = (block14param1.clone(), ()); + let (v579, ()) = (block14param2.clone(), ()); + let (v588, ()) = (block14param3.clone(), ()); + let (v596, ()) = (block14param4.clone(), ()); + let (v600, ()) = (block14param5.clone(), ()); + let (v604, ()) = (block14param6.clone(), ()); + let (v608, ()) = (block14param7.clone(), ()); + let (v612, ()) = (block14param8.clone(), ()); + let (v49, ()) = (4294967292u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v556.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (0u32, ()); + let (v52, ()) = (0u32, ()); + block16param0 = v51; + block16param1 = v52; + block16param2 = v574; + block16param3 = v50; + block16param4 = v579; + block16param5 = v556; + block16param6 = v588; + block16param7 = v596; + block16param8 = v600; + block16param9 = v604; + block16param10 = v608; + block16param11 = v612; + cff = 16usize; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v53, ()) = (block16param0.clone(), ()); + let (v55, ()) = (block16param1.clone(), ()); + let (v573, ()) = (block16param2.clone(), ()); + let (v575, ()) = (block16param3.clone(), ()); + let (v578, ()) = (block16param4.clone(), ()); + let (v582, ()) = (block16param5.clone(), ()); + let (v587, ()) = (block16param6.clone(), ()); + let (v595, ()) = (block16param7.clone(), ()); + let (v599, ()) = (block16param8.clone(), ()); + let (v603, ()) = (block16param9.clone(), ()); + let (v607, ()) = (block16param10.clone(), ()); + let (v611, ()) = (block16param11.clone(), ()); + let (v56, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v573.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v56.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v58, ()) = (4294967231u32, ()); + let (v59, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (1u32, ()); + let (v62, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v62.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v64, ()) = (4294967231u32, ()); + let (v65, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v66, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (2u32, ()); + let (v68, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v68.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v70, ()) = (4294967231u32, ()); + let (v71, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ::wars_rt::func::cast::<_, _, C>(v70.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v72, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v66.clone()), + ::wars_rt::func::cast::<_, _, C>(v71.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v73, ()) = (3u32, ()); + let (v74, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v75, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v74.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = (4294967231u32, ()); + let (v77, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = (4u32, ()); + let (v81, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v575.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v82 != 0 { + block16param0 = v78; + block16param1 = v81; + block16param2 = v573; + block16param3 = v575; + block16param4 = v578; + block16param5 = v582; + block16param6 = v587; + block16param7 = v595; + block16param8 = v599; + block16param9 = v603; + block16param10 = v607; + block16param11 = v611; + cff = 16usize; + continue 'l30; + } else { + block18param0 = v578; + block18param1 = v582; + block18param2 = v573; + block18param3 = v587; + block18param4 = v78; + block18param5 = v81; + block18param6 = v595; + block18param7 = v599; + block18param8 = v603; + block18param9 = v607; + block18param10 = v611; + cff = 18usize; + }; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v577, ()) = (block18param0.clone(), ()); + let (v581, ()) = (block18param1.clone(), ()); + let (v584, ()) = (block18param2.clone(), ()); + let (v586, ()) = (block18param3.clone(), ()); + let (v590, ()) = (block18param4.clone(), ()); + let (v592, ()) = (block18param5.clone(), ()); + let (v594, ()) = (block18param6.clone(), ()); + let (v598, ()) = (block18param7.clone(), ()); + let (v602, ()) = (block18param8.clone(), ()); + let (v606, ()) = (block18param9.clone(), ()); + let (v610, ()) = (block18param10.clone(), ()); + block17param0 = v577; + block17param1 = v581; + block17param2 = v584; + block17param3 = v586; + block17param4 = v590; + block17param5 = v592; + block17param6 = v594; + block17param7 = v598; + block17param8 = v602; + block17param9 = v606; + block17param10 = v610; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v576, ()) = (block17param0.clone(), ()); + let (v580, ()) = (block17param1.clone(), ()); + let (v583, ()) = (block17param2.clone(), ()); + let (v585, ()) = (block17param3.clone(), ()); + let (v589, ()) = (block17param4.clone(), ()); + let (v591, ()) = (block17param5.clone(), ()); + let (v593, ()) = (block17param6.clone(), ()); + let (v597, ()) = (block17param7.clone(), ()); + let (v601, ()) = (block17param8.clone(), ()); + let (v605, ()) = (block17param9.clone(), ()); + let (v609, ()) = (block17param10.clone(), ()); + block13param0 = v585; + block13param1 = v583; + block13param2 = v591; + block13param3 = v589; + block13param4 = v593; + block13param5 = v597; + block13param6 = v601; + block13param7 = v580; + block13param8 = v605; + block13param9 = v609; + block13param10 = v576; + cff = 13usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l24: loop { + let (v557, ()) = (block15param0.clone(), ()); + let (v559, ()) = (block15param1.clone(), ()); + let (v560, ()) = (block15param2.clone(), ()); + let (v562, ()) = (block15param3.clone(), ()); + let (v563, ()) = (block15param4.clone(), ()); + let (v565, ()) = (block15param5.clone(), ()); + let (v567, ()) = (block15param6.clone(), ()); + let (v569, ()) = (block15param7.clone(), ()); + let (v571, ()) = (block15param8.clone(), ()); + let (v46, ()) = (0u32, ()); + let (v47, ()) = (0u32, ()); + block13param0 = v562; + block13param1 = v560; + block13param2 = v47; + block13param3 = v46; + block13param4 = v563; + block13param5 = v565; + block13param6 = v567; + block13param7 = v559; + block13param8 = v569; + block13param9 = v571; + block13param10 = v557; + cff = 13usize; + break 'l24; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l22: loop { + let (v86, ()) = (block13param0.clone(), ()); + let (v94, ()) = (block13param1.clone(), ()); + let (v99, ()) = (block13param2.clone(), ()); + let (v115, ()) = (block13param3.clone(), ()); + let (v128, ()) = (block13param4.clone(), ()); + let (v148, ()) = (block13param5.clone(), ()); + let (v173, ()) = (block13param6.clone(), ()); + let (v196, ()) = (block13param7.clone(), ()); + let (v219, ()) = (block13param8.clone(), ()); + let (v240, ()) = (block13param9.clone(), ()); + let (v290, ()) = (block13param10.clone(), ()); + let (v92, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v92 != 0 { + block8param0 = v115; + block8param1 = v128; + block8param2 = v148; + block8param3 = v173; + block8param4 = v94; + block8param5 = v196; + block8param6 = v219; + block8param7 = v240; + block8param8 = v290; + cff = 8usize; + break 'l22; + } else { + block19param0 = v86; + block19param1 = v94; + block19param2 = v99; + block19param3 = v115; + block19param4 = v128; + block19param5 = v148; + block19param6 = v173; + block19param7 = v196; + block19param8 = v219; + block19param9 = v240; + block19param10 = v290; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v613, ()) = (block19param0.clone(), ()); + let (v614, ()) = (block19param1.clone(), ()); + let (v615, ()) = (block19param2.clone(), ()); + let (v616, ()) = (block19param3.clone(), ()); + let (v625, ()) = (block19param4.clone(), ()); + let (v629, ()) = (block19param5.clone(), ()); + let (v633, ()) = (block19param6.clone(), ()); + let (v637, ()) = (block19param7.clone(), ()); + let (v641, ()) = (block19param8.clone(), ()); + let (v645, ()) = (block19param9.clone(), ()); + let (v649, ()) = (block19param10.clone(), ()); + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v614.clone()), + ::wars_rt::func::cast::<_, _, C>(v615.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block20param0 = v616; + block20param1 = v102; + block20param2 = v613; + block20param3 = v614; + block20param4 = v625; + block20param5 = v629; + block20param6 = v633; + block20param7 = v637; + block20param8 = v641; + block20param9 = v645; + block20param10 = v649; + cff = 20usize; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l33: loop { + let (v103, ()) = (block20param0.clone(), ()); + let (v104, ()) = (block20param1.clone(), ()); + let (v111, ()) = (block20param2.clone(), ()); + let (v619, ()) = (block20param3.clone(), ()); + let (v624, ()) = (block20param4.clone(), ()); + let (v628, ()) = (block20param5.clone(), ()); + let (v632, ()) = (block20param6.clone(), ()); + let (v636, ()) = (block20param7.clone(), ()); + let (v640, ()) = (block20param8.clone(), ()); + let (v644, ()) = (block20param9.clone(), ()); + let (v648, ()) = (block20param10.clone(), ()); + let (v105, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v104.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = (4294967231u32, ()); + let (v107, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v106.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v108, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v112, ()) = (4294967295u32, ()); + let (v113, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v112.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v113 != 0 { + block20param0 = v108; + block20param1 = v110; + block20param2 = v113; + block20param3 = v619; + block20param4 = v624; + block20param5 = v628; + block20param6 = v632; + block20param7 = v636; + block20param8 = v640; + block20param9 = v644; + block20param10 = v648; + cff = 20usize; + continue 'l33; + } else { + block22param0 = v619; + block22param1 = v108; + block22param2 = v624; + block22param3 = v628; + block22param4 = v632; + block22param5 = v636; + block22param6 = v640; + block22param7 = v644; + block22param8 = v648; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l39: loop { + let (v618, ()) = (block22param0.clone(), ()); + let (v621, ()) = (block22param1.clone(), ()); + let (v623, ()) = (block22param2.clone(), ()); + let (v627, ()) = (block22param3.clone(), ()); + let (v631, ()) = (block22param4.clone(), ()); + let (v635, ()) = (block22param5.clone(), ()); + let (v639, ()) = (block22param6.clone(), ()); + let (v643, ()) = (block22param7.clone(), ()); + let (v647, ()) = (block22param8.clone(), ()); + block21param0 = v618; + block21param1 = v621; + block21param2 = v623; + block21param3 = v627; + block21param4 = v631; + block21param5 = v635; + block21param6 = v639; + block21param7 = v643; + block21param8 = v647; + cff = 21usize; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v617, ()) = (block21param0.clone(), ()); + let (v620, ()) = (block21param1.clone(), ()); + let (v622, ()) = (block21param2.clone(), ()); + let (v626, ()) = (block21param3.clone(), ()); + let (v630, ()) = (block21param4.clone(), ()); + let (v634, ()) = (block21param5.clone(), ()); + let (v638, ()) = (block21param6.clone(), ()); + let (v642, ()) = (block21param7.clone(), ()); + let (v646, ()) = (block21param8.clone(), ()); + block8param0 = v620; + block8param1 = v622; + block8param2 = v626; + block8param3 = v630; + block8param4 = v617; + block8param5 = v634; + block8param6 = v638; + block8param7 = v642; + block8param8 = v646; + cff = 8usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l16: loop { + let (v541, ()) = (block12param0.clone(), ()); + let (v543, ()) = (block12param1.clone(), ()); + let (v544, ()) = (block12param2.clone(), ()); + let (v546, ()) = (block12param3.clone(), ()); + let (v548, ()) = (block12param4.clone(), ()); + let (v550, ()) = (block12param5.clone(), ()); + let (v552, ()) = (block12param6.clone(), ()); + let (v554, ()) = (block12param7.clone(), ()); + let (v40, ()) = (0u32, ()); + block8param0 = v40; + block8param1 = v546; + block8param2 = v548; + block8param3 = v550; + block8param4 = v544; + block8param5 = v543; + block8param6 = v552; + block8param7 = v554; + block8param8 = v541; + cff = 8usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l9: loop { + let (v525, ()) = (block10param0.clone(), ()); + let (v527, ()) = (block10param1.clone(), ()); + let (v528, ()) = (block10param2.clone(), ()); + let (v530, ()) = (block10param3.clone(), ()); + let (v532, ()) = (block10param4.clone(), ()); + let (v534, ()) = (block10param5.clone(), ()); + let (v536, ()) = (block10param6.clone(), ()); + let (v538, ()) = (block10param7.clone(), ()); + let (v38, ()) = match ::wars_rt::_rexport::tramp::tramp( + func60( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v528.clone()), + (::wars_rt::func::cast::<_, _, C>(v527.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v38; + block8param1 = v530; + block8param2 = v532; + block8param3 = v534; + block8param4 = v528; + block8param5 = v527; + block8param6 = v536; + block8param7 = v538; + block8param8 = v525; + cff = 8usize; + break 'l9; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v119, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v143, ()) = (block8param2.clone(), ()); + let (v168, ()) = (block8param3.clone(), ()); + let (v186, ()) = (block8param4.clone(), ()); + let (v194, ()) = (block8param5.clone(), ()); + let (v214, ()) = (block8param6.clone(), ()); + let (v235, ()) = (block8param7.clone(), ()); + let (v285, ()) = (block8param8.clone(), ()); + let (v139, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v119.clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block5param0 = v143; + block5param1 = v168; + block5param2 = v186; + block5param3 = v194; + block5param4 = v214; + block5param5 = v235; + block5param6 = v139; + block5param7 = v285; + cff = 5usize; + break 'l7; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l6: loop { + let (v517, ()) = (block7param0.clone(), ()); + let (v518, ()) = (block7param1.clone(), ()); + let (v519, ()) = (block7param2.clone(), ()); + let (v520, ()) = (block7param3.clone(), ()); + let (v521, ()) = (block7param4.clone(), ()); + let (v522, ()) = (block7param5.clone(), ()); + let (v523, ()) = (block7param6.clone(), ()); + let (v25, ()) = (0u32, ()); + block5param0 = v520; + block5param1 = v521; + block5param2 = v25; + block5param3 = v518; + block5param4 = v522; + block5param5 = v523; + block5param6 = v519; + block5param7 = v517; + cff = 5usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v140, ()) = (block5param0.clone(), ()); + let (v165, ()) = (block5param1.clone(), ()); + let (v185, ()) = (block5param2.clone(), ()); + let (v192, ()) = (block5param3.clone(), ()); + let (v209, ()) = (block5param4.clone(), ()); + let (v232, ()) = (block5param5.clone(), ()); + let (v257, ()) = (block5param6.clone(), ()); + let (v283, ()) = (block5param7.clone(), ()); + let (v159, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v140.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v159 != 0 { + block24param0 = v140; + block24param1 = v257; + block24param2 = v283; + block24param3 = v165; + block24param4 = v185; + block24param5 = v192; + block24param6 = v209; + block24param7 = v232; + cff = 24usize; + } else { + block25param0 = v140; + block25param1 = v165; + block25param2 = v185; + block25param3 = v192; + block25param4 = v209; + block25param5 = v232; + cff = 25usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + 25usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v650, ()) = (block24param0.clone(), ()); + let (v651, ()) = (block24param1.clone(), ()); + let (v663, ()) = (block24param2.clone(), ()); + let (v666, ()) = (block24param3.clone(), ()); + let (v668, ()) = (block24param4.clone(), ()); + let (v670, ()) = (block24param5.clone(), ()); + let (v673, ()) = (block24param6.clone(), ()); + let (v676, ()) = (block24param7.clone(), ()); + let (v255, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v650.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32gtu( + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ::wars_rt::func::cast::<_, _, C>(v651.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v259 != 0 { + block27param0 = v663; + block27param1 = v650; + block27param2 = v666; + block27param3 = v668; + block27param4 = v670; + block27param5 = v673; + block27param6 = v676; + block27param7 = v255; + block27param8 = v651; + cff = 27usize; + } else { + block28param0 = v650; + block28param1 = v666; + block28param2 = v668; + block28param3 = v670; + block28param4 = v673; + block28param5 = v676; + cff = 28usize; + }; + let mut cff2 = match cff { + 27usize => 0usize, + 28usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v662, ()) = (block27param0.clone(), ()); + let (v680, ()) = (block27param1.clone(), ()); + let (v682, ()) = (block27param2.clone(), ()); + let (v684, ()) = (block27param3.clone(), ()); + let (v686, ()) = (block27param4.clone(), ()); + let (v688, ()) = (block27param5.clone(), ()); + let (v690, ()) = (block27param6.clone(), ()); + let (v692, ()) = (block27param7.clone(), ()); + let (v694, ()) = (block27param8.clone(), ()); + let (v301, ()) = (8u32, ()); + let (v302, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v662.clone()), + ::wars_rt::func::cast::<_, _, C>(v301.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v303, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v302.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v303 != 0 { + block30param0 = v680; + block30param1 = v682; + block30param2 = v684; + block30param3 = v686; + block30param4 = v688; + block30param5 = v690; + block30param6 = v692; + block30param7 = v694; + cff = 30usize; + } else { + block31param0 = v680; + block31param1 = v682; + block31param2 = v684; + block31param3 = v686; + block31param4 = v688; + block31param5 = v690; + block31param6 = v692; + block31param7 = v694; + cff = 31usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + 31usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v679, ()) = (block30param0.clone(), ()); + let (v681, ()) = (block30param1.clone(), ()); + let (v683, ()) = (block30param2.clone(), ()); + let (v685, ()) = (block30param3.clone(), ()); + let (v687, ()) = (block30param4.clone(), ()); + let (v689, ()) = (block30param5.clone(), ()); + let (v691, ()) = (block30param6.clone(), ()); + let (v693, ()) = (block30param7.clone(), ()); + let (v384, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v691.clone()), + ::wars_rt::func::cast::<_, _, C>(v693.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v679.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + match v386 { + 0usize => { + block39param0 = v386; + block39param1 = v679; + block39param2 = v681; + block39param3 = v683; + block39param4 = v685; + block39param5 = v687; + block39param6 = v689; + block39param7 = v384; + cff = 39usize; + } + 1usize => { + block41param0 = v679; + block41param1 = v681; + block41param2 = v683; + block41param3 = v685; + block41param4 = v687; + block41param5 = v689; + block41param6 = v384; + cff = 41usize; + } + 2usize => { + block40param0 = v679; + block40param1 = v681; + block40param2 = v683; + block40param3 = v685; + block40param4 = v687; + block40param5 = v689; + block40param6 = v384; + cff = 40usize; + } + 3usize => { + block41param0 = v679; + block41param1 = v681; + block41param2 = v683; + block41param3 = v685; + block41param4 = v687; + block41param5 = v689; + block41param6 = v384; + cff = 41usize; + } + _ => { + block39param0 = v386; + block39param1 = v679; + block39param2 = v681; + block39param3 = v683; + block39param4 = v685; + block39param5 = v687; + block39param6 = v689; + block39param7 = v384; + cff = 39usize; + } + }; + let mut cff2 = match cff { + 40usize => 0usize, + 41usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v730, ()) = (block40param0.clone(), ()); + let (v731, ()) = (block40param1.clone(), ()); + let (v732, ()) = (block40param2.clone(), ()); + let (v733, ()) = (block40param3.clone(), ()); + let (v734, ()) = (block40param4.clone(), ()); + let (v735, ()) = (block40param5.clone(), ()); + let (v736, ()) = (block40param6.clone(), ()); + let (v390, ()) = (1u32, ()); + let (v391, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ::wars_rt::func::cast::<_, _, C>(v390.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v392, ()) = (1u32, ()); + let (v393, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v736.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v394, ()) = (1u32, ()); + let (v395, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block39param0 = v391; + block39param1 = v730; + block39param2 = v731; + block39param3 = v732; + block39param4 = v733; + block39param5 = v734; + block39param6 = v735; + block39param7 = v395; + cff = 39usize; + break 'l27; + } + } + 1usize => { + 'l26: loop { + let (v737, ()) = (block41param0.clone(), ()); + let (v738, ()) = (block41param1.clone(), ()); + let (v739, ()) = (block41param2.clone(), ()); + let (v740, ()) = (block41param3.clone(), ()); + let (v741, ()) = (block41param4.clone(), ()); + let (v742, ()) = (block41param5.clone(), ()); + let (v743, ()) = (block41param6.clone(), ()); + let (v388, ()) = (0u32, ()); + block39param0 = v743; + block39param1 = v737; + block39param2 = v738; + block39param3 = v739; + block39param4 = v740; + block39param5 = v741; + block39param6 = v742; + block39param7 = v388; + cff = 39usize; + break 'l26; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l25: loop { + let (v396, ()) = (block39param0.clone(), ()); + let (v399, ()) = (block39param1.clone(), ()); + let (v427, ()) = (block39param2.clone(), ()); + let (v434, ()) = (block39param3.clone(), ()); + let (v441, ()) = (block39param4.clone(), ()); + let (v451, ()) = (block39param5.clone(), ()); + let (v459, ()) = (block39param6.clone(), ()); + let (v489, ()) = (block39param7.clone(), ()); + let (v397, ()) = (1u32, ()); + let (v398, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ::wars_rt::func::cast::<_, _, C>(v397.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v402, ()) = (24u32, ()); + let (v403, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v399.clone()), + ::wars_rt::func::cast::<_, _, C>(v402.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v404, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v403.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v405, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v399.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v406, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v399.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block43param0 = v398; + block43param1 = v406; + block43param2 = v405; + block43param3 = v404; + block43param4 = v427; + block43param5 = v434; + block43param6 = v441; + block43param7 = v451; + block43param8 = v459; + block43param9 = v489; + cff = 43usize; + let mut cff2 = match cff { + 43usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v407, ()) = (block43param0.clone(), ()); + let (v412, ()) = (block43param1.clone(), ()); + let (v414, ()) = (block43param2.clone(), ()); + let (v416, ()) = (block43param3.clone(), ()); + let (v426, ()) = (block43param4.clone(), ()); + let (v433, ()) = (block43param5.clone(), ()); + let (v440, ()) = (block43param6.clone(), ()); + let (v450, ()) = (block43param7.clone(), ()); + let (v458, ()) = (block43param8.clone(), ()); + let (v488, ()) = (block43param9.clone(), ()); + let (v408, ()) = (4294967295u32, ()); + let (v409, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v407.clone()), + ::wars_rt::func::cast::<_, _, C>(v408.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v410, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v409.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v410 != 0 { + block42param0 = v412; + block42param1 = v416; + block42param2 = v426; + block42param3 = v433; + block42param4 = v440; + block42param5 = v450; + block42param6 = v458; + block42param7 = v414; + block42param8 = v488; + cff = 42usize; + } else { + block45param0 = v409; + block45param1 = v412; + block45param2 = v414; + block45param3 = v416; + block45param4 = v426; + block45param5 = v433; + block45param6 = v440; + block45param7 = v450; + block45param8 = v458; + block45param9 = v488; + cff = 45usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + 45usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v744, ()) = (block42param0.clone(), ()); + let (v745, ()) = (block42param1.clone(), ()); + let (v746, ()) = (block42param2.clone(), ()); + let (v747, ()) = (block42param3.clone(), ()); + let (v748, ()) = (block42param4.clone(), ()); + let (v763, ()) = (block42param5.clone(), ()); + let (v765, ()) = (block42param6.clone(), ()); + let (v769, ()) = (block42param7.clone(), ()); + let (v773, ()) = (block42param8.clone(), ()); + let (v422, ()) = (1u32, ()); + let (v446, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v744.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v745.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v746.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v747.clone()), + (::wars_rt::func::cast::<_, _, C>(v748.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v446 != 0 { + block23param0 = v422; + cff = 23usize; + break 'l36; + } else { + block47param0 = v744; + block47param1 = v745; + block47param2 = v422; + block47param3 = v763; + block47param4 = v765; + block47param5 = v769; + block47param6 = v773; + cff = 47usize; + }; + let mut cff2 = match cff { + 47usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v759, ()) = (block47param0.clone(), ()); + let (v760, ()) = (block47param1.clone(), ()); + let (v761, ()) = (block47param2.clone(), ()); + let (v762, ()) = (block47param3.clone(), ()); + let (v764, ()) = (block47param4.clone(), ()); + let (v768, ()) = (block47param5.clone(), ()); + let (v772, ()) = (block47param6.clone(), ()); + let (v465, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v760.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v466, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v465 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v759.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v762.clone()), + (::wars_rt::func::cast::<_, _, C>(v764.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v466 != 0 { + block23param0 = v761; + cff = 23usize; + break 'l41; + } else { + block48param0 = v759; + block48param1 = v768; + block48param2 = v760; + block48param3 = v772; + cff = 48usize; + }; + let mut cff2 = match cff { + 48usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l46: loop { + let (v766, ()) = (block48param0.clone(), ()); + let (v767, ()) = (block48param1.clone(), ()); + let (v770, ()) = (block48param2.clone(), ()); + let (v771, ()) = (block48param3.clone(), ()); + let (v467, ()) = (0u32, ()); + block49param0 = v771; + block49param1 = v467; + block49param2 = v766; + block49param3 = v767; + block49param4 = v770; + cff = 49usize; + let mut cff2 = match cff { + 49usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l49: loop { + let (v468, ()) = (block49param0.clone(), ()); + let (v469, ()) = (block49param1.clone(), ()); + let (v477, ()) = (block49param2.clone(), ()); + let (v479, ()) = (block49param3.clone(), ()); + let (v481, ()) = (block49param4.clone(), ()); + let (v470, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v468.clone()), + ::wars_rt::func::cast::<_, _, C>(v469.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v470 != 0 { + block51param0 = v468; + block51param1 = v469; + block51param2 = v477; + block51param3 = v479; + block51param4 = v481; + cff = 51usize; + } else { + block52param0 = v468; + cff = 52usize; + }; + let mut cff2 = match cff { + 51usize => 0usize, + 52usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l51: loop { + let (v776, ()) = (block51param0.clone(), ()); + let (v779, ()) = (block51param1.clone(), ()); + let (v780, ()) = (block51param2.clone(), ()); + let (v781, ()) = (block51param3.clone(), ()); + let (v782, ()) = (block51param4.clone(), ()); + let (v474, ()) = (1u32, ()); + let (v475, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v779.clone()), + ::wars_rt::func::cast::<_, _, C>(v474.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v482, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v782.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v483, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v482 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v780.clone()), + (::wars_rt::func::cast::<_, _, C>(v781.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v484, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v483.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v484 != 0 { + block49param0 = v776; + block49param1 = v475; + block49param2 = v780; + block49param3 = v781; + block49param4 = v782; + cff = 49usize; + continue 'l49; + } else { + block53param0 = v776; + block53param1 = v475; + cff = 53usize; + }; + let mut cff2 = match cff { + 53usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l52: loop { + let (v775, ()) = (block53param0.clone(), ()); + let (v778, ()) = (block53param1.clone(), ()); + block50param0 = v775; + block50param1 = v778; + cff = 50usize; + let mut cff2 = match cff { + 50usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l53: loop { + let (v774, ()) = (block50param0.clone(), ()); + let (v777, ()) = (block50param1.clone(), ()); + let (v499, ()) = (4294967295u32, ()); + let (v500, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v777.clone()), + ::wars_rt::func::cast::<_, _, C>(v499.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v503, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v774.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v503, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l50: loop { + let (v783, ()) = (block52param0.clone(), ()); + let (v472, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v783.clone()), + ::wars_rt::func::cast::<_, _, C>(v783.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v472, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l35: loop { + let (v749, ()) = (block45param0.clone(), ()); + let (v750, ()) = (block45param1.clone(), ()); + let (v751, ()) = (block45param2.clone(), ()); + let (v752, ()) = (block45param3.clone(), ()); + let (v753, ()) = (block45param4.clone(), ()); + let (v754, ()) = (block45param5.clone(), ()); + let (v755, ()) = (block45param6.clone(), ()); + let (v756, ()) = (block45param7.clone(), ()); + let (v757, ()) = (block45param8.clone(), ()); + let (v758, ()) = (block45param9.clone(), ()); + let (v417, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v752.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v418, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v417 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v750.clone()), + (::wars_rt::func::cast::<_, _, C>(v751.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v419, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v418.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v419 != 0 { + block43param0 = v749; + block43param1 = v750; + block43param2 = v751; + block43param3 = v752; + block43param4 = v753; + block43param5 = v754; + block43param6 = v755; + block43param7 = v756; + block43param8 = v757; + block43param9 = v758; + cff = 43usize; + continue 'l31; + } else { + cff = 46usize; + }; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + cff = 44usize; + let mut cff2 = match cff { + 44usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l47: loop { + let (v421, ()) = (1u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v421, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l19: loop { + let (v695, ()) = (block31param0.clone(), ()); + let (v696, ()) = (block31param1.clone(), ()); + let (v697, ()) = (block31param2.clone(), ()); + let (v698, ()) = (block31param3.clone(), ()); + let (v701, ()) = (block31param4.clone(), ()); + let (v703, ()) = (block31param5.clone(), ()); + let (v705, ()) = (block31param6.clone(), ()); + let (v707, ()) = (block31param7.clone(), ()); + let (v306, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v307, ()) = (48u32, ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v309, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 32u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v310, ()) = (1u32, ()); + let (v311, ()) = (1u32, ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v313, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v314, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v695.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v321, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v314.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v696.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v697.clone()), + (::wars_rt::func::cast::<_, _, C>(v698.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v321 != 0 { + block23param0 = v310; + cff = 23usize; + break 'l19; + } else { + block32param0 = v695; + block32param1 = v701; + block32param2 = v703; + block32param3 = v705; + block32param4 = v707; + block32param5 = v306; + block32param6 = v309; + block32param7 = v313; + block32param8 = v314; + cff = 32usize; + }; + let mut cff2 = match cff { + 32usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v699, ()) = (block32param0.clone(), ()); + let (v700, ()) = (block32param1.clone(), ()); + let (v702, ()) = (block32param2.clone(), ()); + let (v704, ()) = (block32param3.clone(), ()); + let (v706, ()) = (block32param4.clone(), ()); + let (v708, ()) = (block32param5.clone(), ()); + let (v709, ()) = (block32param6.clone(), ()); + let (v710, ()) = (block32param7.clone(), ()); + let (v711, ()) = (block32param8.clone(), ()); + let (v328, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v704.clone()), + ::wars_rt::func::cast::<_, _, C>(v706.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v329, ()) = (1u32, ()); + let (v330, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v328.clone()), + ::wars_rt::func::cast::<_, _, C>(v329.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block34param0 = v330; + block34param1 = v710; + block34param2 = v711; + block34param3 = v700; + block34param4 = v702; + block34param5 = v699; + block34param6 = v709; + block34param7 = v708; + cff = 34usize; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v331, ()) = (block34param0.clone(), ()); + let (v336, ()) = (block34param1.clone(), ()); + let (v339, ()) = (block34param2.clone(), ()); + let (v350, ()) = (block34param3.clone(), ()); + let (v356, ()) = (block34param4.clone(), ()); + let (v366, ()) = (block34param5.clone(), ()); + let (v371, ()) = (block34param6.clone(), ()); + let (v377, ()) = (block34param7.clone(), ()); + let (v332, ()) = (4294967295u32, ()); + let (v333, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v331.clone()), + ::wars_rt::func::cast::<_, _, C>(v332.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v334, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v333.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v334 != 0 { + block33param0 = v336; + block33param1 = v339; + block33param2 = v350; + block33param3 = v356; + block33param4 = v366; + block33param5 = v371; + block33param6 = v377; + cff = 33usize; + } else { + block36param0 = v333; + block36param1 = v336; + block36param2 = v339; + block36param3 = v350; + block36param4 = v356; + block36param5 = v366; + block36param6 = v371; + block36param7 = v377; + cff = 36usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + 36usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v712, ()) = (block33param0.clone(), ()); + let (v713, ()) = (block33param1.clone(), ()); + let (v714, ()) = (block33param2.clone(), ()); + let (v715, ()) = (block33param3.clone(), ()); + let (v725, ()) = (block33param4.clone(), ()); + let (v727, ()) = (block33param5.clone(), ()); + let (v729, ()) = (block33param6.clone(), ()); + let (v347, ()) = (1u32, ()); + let (v362, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v713.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v363, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v362 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v712.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v714.clone()), + (::wars_rt::func::cast::<_, _, C>(v715.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v363 != 0 { + block23param0 = v347; + cff = 23usize; + break 'l38; + } else { + block38param0 = v725; + block38param1 = v727; + block38param2 = v729; + cff = 38usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l43: loop { + let (v724, ()) = (block38param0.clone(), ()); + let (v726, ()) = (block38param1.clone(), ()); + let (v728, ()) = (block38param2.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v724.clone() + 32u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v726.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v724.clone() + 16u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v728.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v381, ()) = (0u32, ()); + block23param0 = v381; + cff = 23usize; + break 'l43; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l37: loop { + let (v716, ()) = (block36param0.clone(), ()); + let (v717, ()) = (block36param1.clone(), ()); + let (v718, ()) = (block36param2.clone(), ()); + let (v719, ()) = (block36param3.clone(), ()); + let (v720, ()) = (block36param4.clone(), ()); + let (v721, ()) = (block36param5.clone(), ()); + let (v722, ()) = (block36param6.clone(), ()); + let (v723, ()) = (block36param7.clone(), ()); + let (v337, ()) = (48u32, ()); + let (v340, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v718.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v341, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v340 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v717.clone()), + (::wars_rt::func::cast::<_, _, C>(v337.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v342, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v341.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v342 != 0 { + block34param0 = v716; + block34param1 = v717; + block34param2 = v718; + block34param3 = v719; + block34param4 = v720; + block34param5 = v721; + block34param6 = v722; + block34param7 = v723; + cff = 34usize; + continue 'l32; + } else { + cff = 37usize; + }; + let mut cff2 = match cff { + 37usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + cff = 35usize; + let mut cff2 = match cff { + 35usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l48: loop { + let (v346, ()) = (1u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v346, ())), + ); + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l13: loop { + let (v664, ()) = (block28param0.clone(), ()); + let (v665, ()) = (block28param1.clone(), ()); + let (v667, ()) = (block28param2.clone(), ()); + let (v669, ()) = (block28param3.clone(), ()); + let (v672, ()) = (block28param4.clone(), ()); + let (v675, ()) = (block28param5.clone(), ()); + let (v260, ()) = (1u32, ()); + let (v262, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v664.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v263, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v664.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v270, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v263.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v665.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v667.clone()), + (::wars_rt::func::cast::<_, _, C>(v669.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v270 != 0 { + block23param0 = v260; + cff = 23usize; + break 'l13; + } else { + block29param0 = v672; + block29param1 = v675; + block29param2 = v262; + block29param3 = v263; + cff = 29usize; + }; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v671, ()) = (block29param0.clone(), ()); + let (v674, ()) = (block29param1.clone(), ()); + let (v677, ()) = (block29param2.clone(), ()); + let (v678, ()) = (block29param3.clone(), ()); + let (v279, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v678.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v280, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v279 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v677.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v671.clone()), + (::wars_rt::func::cast::<_, _, C>(v674.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v280, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l12: loop { + let (v652, ()) = (block25param0.clone(), ()); + let (v653, ()) = (block25param1.clone(), ()); + let (v654, ()) = (block25param2.clone(), ()); + let (v655, ()) = (block25param3.clone(), ()); + let (v659, ()) = (block25param4.clone(), ()); + let (v661, ()) = (block25param5.clone(), ()); + let (v160, ()) = (1u32, ()); + let (v162, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v652.clone() + 20u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v163, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v652.clone() + 24u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v205, ()) = match ::wars_rt::_rexport::tramp::tramp( + func61( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v653.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v654.clone()), + (::wars_rt::func::cast::<_, _, C>(v655.clone()), ()), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v205 != 0 { + block23param0 = v160; + cff = 23usize; + break 'l12; + } else { + block26param0 = v162; + block26param1 = v163; + block26param2 = v659; + block26param3 = v661; + cff = 26usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v656, ()) = (block26param0.clone(), ()); + let (v657, ()) = (block26param1.clone(), ()); + let (v658, ()) = (block26param2.clone(), ()); + let (v660, ()) = (block26param3.clone(), ()); + let (v252, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v657.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v253, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v252 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v656.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v658.clone()), + (::wars_rt::func::cast::<_, _, C>(v660.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v253, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v504, ()) = (block23param0.clone(), ()); + block1param0 = v504; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func60<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block6param5: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block8param5: u32; + let mut block8param6: u32; + let mut block8param7: u32; + let mut block8param8: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block9param5: u32; + let mut block9param6: u32; + let mut block9param7: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block10param5: u32; + let mut block10param6: u32; + let mut block10param7: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block11param6: u32; + let mut block11param7: u32; + let mut block11param8: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block12param6: u32; + let mut block12param7: u32; + let mut block12param8: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block13param6: u32; + let mut block13param7: u32; + let mut block13param8: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block15param0: u32; + let mut block15param1: u32; + let mut block15param2: u32; + let mut block15param3: u32; + let mut block15param4: u32; + let mut block15param5: u32; + let mut block15param6: u32; + let mut block15param7: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block16param5: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block20param5: u32; + let mut block21param0: u32; + let mut block21param1: u32; + let mut block21param2: u32; + let mut block21param3: u32; + let mut block21param4: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block24param0: u32; + let mut block24param1: u32; + let mut block24param2: u32; + let mut block25param0: u32; + let mut block25param1: u32; + let mut block25param2: u32; + let mut block25param3: u32; + let mut block25param4: u32; + let mut block25param5: u32; + let mut block25param6: u32; + let mut block25param7: u32; + let mut block26param0: u32; + let mut block26param1: u32; + let mut block26param2: u32; + let mut block26param3: u32; + let mut block26param4: u32; + let mut block26param5: u32; + let mut block26param6: u32; + let mut block27param0: u32; + let mut block27param1: u32; + let mut block27param2: u32; + let mut block27param3: u32; + let mut block27param4: u32; + let mut block27param5: u32; + let mut block27param6: u32; + let mut block28param0: u32; + let mut block28param1: u32; + let mut block28param2: u32; + let mut block28param3: u32; + let mut block28param4: u32; + let mut block28param5: u32; + let mut block28param6: u32; + let mut block28param7: u32; + let mut block28param8: u32; + let mut block28param9: u32; + let mut block29param0: u32; + let mut block29param1: u32; + let mut block29param2: u32; + let mut block29param3: u32; + let mut block29param4: u32; + let mut block29param5: u32; + let mut block29param6: u32; + let mut block29param7: u32; + let mut block30param0: u32; + let mut block30param1: u32; + let mut block30param2: u32; + let mut block30param3: u32; + let mut block30param4: u32; + let mut block30param5: u32; + let mut block30param6: u32; + let mut block30param7: u32; + let mut block31param0: u32; + let mut block31param1: u32; + let mut block31param2: u32; + let mut block31param3: u32; + let mut block32param0: u32; + let mut block32param1: u32; + let mut block33param0: u32; + let mut block33param1: u32; + let mut block33param2: u32; + let mut block33param3: u32; + let mut block34param0: u32; + let mut block34param1: u32; + let mut block34param2: u32; + let mut block35param0: u32; + let mut block35param1: u32; + let mut block37param0: u32; + let mut block37param1: u32; + let mut block37param2: u32; + let mut block37param3: u32; + let mut block38param0: u32; + let mut block38param1: u32; + let mut block38param2: u32; + let mut block39param0: u32; + let mut block39param1: u32; + let mut block40param0: u32; + let mut block40param1: u32; + let mut block40param2: u32; + let mut block40param3: u32; + let mut block40param4: u32; + let mut block41param0: u32; + let mut block41param1: u32; + let mut block41param2: u32; + let mut block41param3: u32; + let mut block42param0: u32; + let mut block42param1: u32; + let mut block42param2: u32; + let mut block42param3: u32; + let mut block43param0: u32; + let mut block43param1: u32; + let mut block43param2: u32; + let mut block43param3: u32; + let mut block44param0: u32; + let mut block44param1: u32; + let mut block44param2: u32; + let mut block45param0: u32; + let mut block46param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (3u32, ()); + let (v4, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v5, ()) = (4294967292u32, ()); + let (v6, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v7, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v8, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + ::wars_rt::func::cast::<_, _, C>(v7.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v8 != 0 { + block3param0 = v2; + block3param1 = v1; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v7; + block4param3 = v6; + cff = 4usize; + }; + let mut cff2 = match cff { + 4usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v492, ()) = (block4param0.clone(), ()); + let (v493, ()) = (block4param1.clone(), ()); + let (v494, ()) = (block4param2.clone(), ()); + let (v497, ()) = (block4param3.clone(), ()); + let (v11, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v493.clone()), + ::wars_rt::func::cast::<_, _, C>(v494.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = (4u32, ()); + let (v13, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ::wars_rt::func::cast::<_, _, C>(v12.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block3param0 = v493; + block3param1 = v492; + cff = 3usize; + break 'l3; + } else { + block5param0 = v492; + block5param1 = v497; + block5param2 = v494; + block5param3 = v11; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v495, ()) = (block5param0.clone(), ()); + let (v496, ()) = (block5param1.clone(), ()); + let (v498, ()) = (block5param2.clone(), ()); + let (v499, ()) = (block5param3.clone(), ()); + let (v15, ()) = (3u32, ()); + let (v16, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v499.clone()), + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = (0u32, ()); + let (v18, ()) = (0u32, ()); + let (v23, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v496.clone()), + ::wars_rt::func::cast::<_, _, C>(v495.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v23 != 0 { + block6param0 = v495; + block6param1 = v498; + block6param2 = v16; + block6param3 = v499; + block6param4 = v17; + block6param5 = v18; + cff = 6usize; + } else { + block7param0 = v495; + block7param1 = v496; + block7param2 = v498; + block7param3 = v499; + block7param4 = v16; + block7param5 = v17; + block7param6 = v23; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v500, ()) = (block7param0.clone(), ()); + let (v501, ()) = (block7param1.clone(), ()); + let (v506, ()) = (block7param2.clone(), ()); + let (v508, ()) = (block7param3.clone(), ()); + let (v510, ()) = (block7param4.clone(), ()); + let (v512, ()) = (block7param5.clone(), ()); + let (v514, ()) = (block7param6.clone(), ()); + let (v24, ()) = (0u32, ()); + let (v27, ()) = (4294967295u32, ()); + let (v28, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v500.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v501.clone()), + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v30, ()) = (3u32, ()); + let (v31, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v31 != 0 { + block9param0 = v24; + block9param1 = v500; + block9param2 = v501; + block9param3 = v506; + block9param4 = v508; + block9param5 = v510; + block9param6 = v512; + block9param7 = v514; + cff = 9usize; + } else { + block10param0 = v500; + block10param1 = v501; + block10param2 = v506; + block10param3 = v508; + block10param4 = v510; + block10param5 = v512; + block10param6 = v514; + block10param7 = v24; + cff = 10usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + 10usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v502, ()) = (block9param0.clone(), ()); + let (v517, ()) = (block9param1.clone(), ()); + let (v523, ()) = (block9param2.clone(), ()); + let (v527, ()) = (block9param3.clone(), ()); + let (v531, ()) = (block9param4.clone(), ()); + let (v535, ()) = (block9param5.clone(), ()); + let (v539, ()) = (block9param6.clone(), ()); + let (v543, ()) = (block9param7.clone(), ()); + let (v33, ()) = (0u32, ()); + block11param0 = v502; + block11param1 = v33; + block11param2 = v517; + block11param3 = v523; + block11param4 = v527; + block11param5 = v531; + block11param6 = v535; + block11param7 = v539; + block11param8 = v543; + cff = 11usize; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l25: loop { + let (v34, ()) = (block11param0.clone(), ()); + let (v36, ()) = (block11param1.clone(), ()); + let (v516, ()) = (block11param2.clone(), ()); + let (v522, ()) = (block11param3.clone(), ()); + let (v526, ()) = (block11param4.clone(), ()); + let (v530, ()) = (block11param5.clone(), ()); + let (v534, ()) = (block11param6.clone(), ()); + let (v538, ()) = (block11param7.clone(), ()); + let (v542, ()) = (block11param8.clone(), ()); + let (v37, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v516.clone()), + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v38, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (4294967231u32, ()); + let (v40, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v38.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (1u32, ()); + let (v43, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v43.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = (4294967231u32, ()); + let (v46, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = (2u32, ()); + let (v49, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v49.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (4294967231u32, ()); + let (v52, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v47.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v54, ()) = (3u32, ()); + let (v55, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ::wars_rt::func::cast::<_, _, C>(v54.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v55.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v57, ()) = (4294967231u32, ()); + let (v58, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v58.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v60, ()) = (4u32, ()); + let (v61, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v61 != 0 { + block11param0 = v59; + block11param1 = v61; + block11param2 = v516; + block11param3 = v522; + block11param4 = v526; + block11param5 = v530; + block11param6 = v534; + block11param7 = v538; + block11param8 = v542; + cff = 11usize; + continue 'l25; + } else { + block13param0 = v516; + block13param1 = v522; + block13param2 = v526; + block13param3 = v530; + block13param4 = v534; + block13param5 = v538; + block13param6 = v542; + block13param7 = v59; + block13param8 = v61; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l31: loop { + let (v519, ()) = (block13param0.clone(), ()); + let (v521, ()) = (block13param1.clone(), ()); + let (v525, ()) = (block13param2.clone(), ()); + let (v529, ()) = (block13param3.clone(), ()); + let (v533, ()) = (block13param4.clone(), ()); + let (v537, ()) = (block13param5.clone(), ()); + let (v541, ()) = (block13param6.clone(), ()); + let (v545, ()) = (block13param7.clone(), ()); + let (v547, ()) = (block13param8.clone(), ()); + block12param0 = v519; + block12param1 = v521; + block12param2 = v525; + block12param3 = v529; + block12param4 = v533; + block12param5 = v537; + block12param6 = v541; + block12param7 = v545; + block12param8 = v547; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l37: loop { + let (v518, ()) = (block12param0.clone(), ()); + let (v520, ()) = (block12param1.clone(), ()); + let (v524, ()) = (block12param2.clone(), ()); + let (v528, ()) = (block12param3.clone(), ()); + let (v532, ()) = (block12param4.clone(), ()); + let (v536, ()) = (block12param5.clone(), ()); + let (v540, ()) = (block12param6.clone(), ()); + let (v544, ()) = (block12param7.clone(), ()); + let (v546, ()) = (block12param8.clone(), ()); + block8param0 = v540; + block8param1 = v518; + block8param2 = v520; + block8param3 = v546; + block8param4 = v544; + block8param5 = v524; + block8param6 = v532; + block8param7 = v528; + block8param8 = v536; + cff = 8usize; + break 'l37; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l19: loop { + let (v503, ()) = (block10param0.clone(), ()); + let (v504, ()) = (block10param1.clone(), ()); + let (v505, ()) = (block10param2.clone(), ()); + let (v507, ()) = (block10param3.clone(), ()); + let (v509, ()) = (block10param4.clone(), ()); + let (v511, ()) = (block10param5.clone(), ()); + let (v513, ()) = (block10param6.clone(), ()); + let (v515, ()) = (block10param7.clone(), ()); + let (v32, ()) = (0u32, ()); + block8param0 = v513; + block8param1 = v503; + block8param2 = v504; + block8param3 = v32; + block8param4 = v515; + block8param5 = v505; + block8param6 = v509; + block8param7 = v507; + block8param8 = v511; + cff = 8usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l17: loop { + let (v64, ()) = (block8param0.clone(), ()); + let (v72, ()) = (block8param1.clone(), ()); + let (v77, ()) = (block8param2.clone(), ()); + let (v85, ()) = (block8param3.clone(), ()); + let (v101, ()) = (block8param4.clone(), ()); + let (v111, ()) = (block8param5.clone(), ()); + let (v124, ()) = (block8param6.clone(), ()); + let (v139, ()) = (block8param7.clone(), ()); + let (v181, ()) = (block8param8.clone(), ()); + if v64 != 0 { + block6param0 = v72; + block6param1 = v111; + block6param2 = v124; + block6param3 = v139; + block6param4 = v181; + block6param5 = v101; + cff = 6usize; + break 'l17; + } else { + block14param0 = v72; + block14param1 = v77; + block14param2 = v85; + block14param3 = v101; + block14param4 = v111; + block14param5 = v124; + block14param6 = v139; + block14param7 = v181; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v548, ()) = (block14param0.clone(), ()); + let (v549, ()) = (block14param1.clone(), ()); + let (v550, ()) = (block14param2.clone(), ()); + let (v551, ()) = (block14param3.clone(), ()); + let (v560, ()) = (block14param4.clone(), ()); + let (v564, ()) = (block14param5.clone(), ()); + let (v568, ()) = (block14param6.clone(), ()); + let (v572, ()) = (block14param7.clone(), ()); + let (v83, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v548.clone()), + ::wars_rt::func::cast::<_, _, C>(v549.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v548.clone()), + ::wars_rt::func::cast::<_, _, C>(v550.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block15param0 = v551; + block15param1 = v88; + block15param2 = v83; + block15param3 = v548; + block15param4 = v560; + block15param5 = v564; + block15param6 = v568; + block15param7 = v572; + cff = 15usize; + let mut cff2 = match cff { + 15usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l30: loop { + let (v89, ()) = (block15param0.clone(), ()); + let (v90, ()) = (block15param1.clone(), ()); + let (v97, ()) = (block15param2.clone(), ()); + let (v554, ()) = (block15param3.clone(), ()); + let (v559, ()) = (block15param4.clone(), ()); + let (v563, ()) = (block15param5.clone(), ()); + let (v567, ()) = (block15param6.clone(), ()); + let (v571, ()) = (block15param7.clone(), ()); + let (v91, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v90.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = (4294967231u32, ()); + let (v93, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v91.clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v94, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v95, ()) = (1u32, ()); + let (v96, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v98, ()) = (1u32, ()); + let (v99, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v99 != 0 { + block15param0 = v94; + block15param1 = v96; + block15param2 = v99; + block15param3 = v554; + block15param4 = v559; + block15param5 = v563; + block15param6 = v567; + block15param7 = v571; + cff = 15usize; + continue 'l30; + } else { + block17param0 = v554; + block17param1 = v94; + block17param2 = v559; + block17param3 = v563; + block17param4 = v567; + block17param5 = v571; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l36: loop { + let (v553, ()) = (block17param0.clone(), ()); + let (v556, ()) = (block17param1.clone(), ()); + let (v558, ()) = (block17param2.clone(), ()); + let (v562, ()) = (block17param3.clone(), ()); + let (v566, ()) = (block17param4.clone(), ()); + let (v570, ()) = (block17param5.clone(), ()); + block16param0 = v553; + block16param1 = v556; + block16param2 = v558; + block16param3 = v562; + block16param4 = v566; + block16param5 = v570; + cff = 16usize; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l40: loop { + let (v552, ()) = (block16param0.clone(), ()); + let (v555, ()) = (block16param1.clone(), ()); + let (v557, ()) = (block16param2.clone(), ()); + let (v561, ()) = (block16param3.clone(), ()); + let (v565, ()) = (block16param4.clone(), ()); + let (v569, ()) = (block16param5.clone(), ()); + block6param0 = v552; + block6param1 = v557; + block6param2 = v561; + block6param3 = v565; + block6param4 = v569; + block6param5 = v555; + cff = 6usize; + break 'l40; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v105, ()) = (block6param0.clone(), ()); + let (v109, ()) = (block6param1.clone(), ()); + let (v123, ()) = (block6param2.clone(), ()); + let (v138, ()) = (block6param3.clone(), ()); + let (v180, ()) = (block6param4.clone(), ()); + let (v193, ()) = (block6param5.clone(), ()); + let (v122, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v105.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v135, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v135 != 0 { + block18param0 = v138; + block18param1 = v180; + block18param2 = v193; + block18param3 = v122; + cff = 18usize; + } else { + block19param0 = v122; + block19param1 = v123; + block19param2 = v138; + block19param3 = v193; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v573, ()) = (block19param0.clone(), ()); + let (v574, ()) = (block19param1.clone(), ()); + let (v575, ()) = (block19param2.clone(), ()); + let (v576, ()) = (block19param3.clone(), ()); + let (v150, ()) = (4294967292u32, ()); + let (v151, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v575.clone()), + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v573.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v152.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v154, ()) = (4294967231u32, ()); + let (v155, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v157, ()) = (1u32, ()); + let (v158, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v574.clone()), + ::wars_rt::func::cast::<_, _, C>(v157.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v158 != 0 { + block18param0 = v575; + block18param1 = v155; + block18param2 = v576; + block18param3 = v573; + cff = 18usize; + break 'l16; + } else { + block20param0 = v573; + block20param1 = v574; + block20param2 = v575; + block20param3 = v152; + block20param4 = v155; + block20param5 = v576; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v577, ()) = (block20param0.clone(), ()); + let (v578, ()) = (block20param1.clone(), ()); + let (v579, ()) = (block20param2.clone(), ()); + let (v580, ()) = (block20param3.clone(), ()); + let (v581, ()) = (block20param4.clone(), ()); + let (v582, ()) = (block20param5.clone(), ()); + let (v161, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v580.clone() + 1u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v162, ()) = (4294967231u32, ()); + let (v163, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v161.clone()), + ::wars_rt::func::cast::<_, _, C>(v162.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v164, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v581.clone()), + ::wars_rt::func::cast::<_, _, C>(v163.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v166, ()) = (2u32, ()); + let (v167, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v578.clone()), + ::wars_rt::func::cast::<_, _, C>(v166.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v167 != 0 { + block18param0 = v579; + block18param1 = v164; + block18param2 = v582; + block18param3 = v577; + cff = 18usize; + break 'l23; + } else { + block21param0 = v577; + block21param1 = v579; + block21param2 = v580; + block21param3 = v164; + block21param4 = v582; + cff = 21usize; + }; + let mut cff2 = match cff { + 21usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l29: loop { + let (v583, ()) = (block21param0.clone(), ()); + let (v584, ()) = (block21param1.clone(), ()); + let (v585, ()) = (block21param2.clone(), ()); + let (v586, ()) = (block21param3.clone(), ()); + let (v587, ()) = (block21param4.clone(), ()); + let (v170, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v585.clone() + 2u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v171, ()) = (4294967231u32, ()); + let (v172, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v170.clone()), + ::wars_rt::func::cast::<_, _, C>(v171.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v173, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v586.clone()), + ::wars_rt::func::cast::<_, _, C>(v172.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block18param0 = v584; + block18param1 = v173; + block18param2 = v587; + block18param3 = v583; + cff = 18usize; + break 'l29; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l15: loop { + let (v174, ()) = (block18param0.clone(), ()); + let (v179, ()) = (block18param1.clone(), ()); + let (v192, ()) = (block18param2.clone(), ()); + let (v333, ()) = (block18param3.clone(), ()); + let (v177, ()) = (2u32, ()); + let (v178, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v174.clone()), + ::wars_rt::func::cast::<_, _, C>(v177.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v199, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v179.clone()), + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block22param0 = v333; + block22param1 = v178; + block22param2 = v199; + cff = 22usize; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v200, ()) = (block22param0.clone(), ()); + let (v201, ()) = (block22param1.clone(), ()); + let (v320, ()) = (block22param2.clone(), ()); + let (v202, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v201.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v202 != 0 { + block2param0 = v320; + cff = 2usize; + break 'l22; + } else { + block24param0 = v201; + block24param1 = v200; + block24param2 = v320; + cff = 24usize; + }; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l28: loop { + let (v596, ()) = (block24param0.clone(), ()); + let (v598, ()) = (block24param1.clone(), ()); + let (v607, ()) = (block24param2.clone(), ()); + let (v204, ()) = (192u32, ()); + let (v205, ()) = (192u32, ()); + let (v206, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v596.clone()), + ::wars_rt::func::cast::<_, _, C>(v205.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v207, ()) = match ::wars_rt::select( + ::wars_rt::func::cast::<_, _, C>(v596.clone()), + ::wars_rt::func::cast::<_, _, C>(v204.clone()), + ::wars_rt::func::cast::<_, _, C>(v206.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v208, ()) = (3u32, ()); + let (v209, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v208.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v210, ()) = (2u32, ()); + let (v211, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v210.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v212, ()) = (252u32, ()); + let (v213, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v207.clone()), + ::wars_rt::func::cast::<_, _, C>(v212.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v213 != 0 { + block26param0 = v598; + block26param1 = v213; + block26param2 = v596; + block26param3 = v207; + block26param4 = v209; + block26param5 = v211; + block26param6 = v607; + cff = 26usize; + } else { + block27param0 = v598; + block27param1 = v596; + block27param2 = v207; + block27param3 = v209; + block27param4 = v211; + block27param5 = v213; + block27param6 = v607; + cff = 27usize; + }; + let mut cff2 = match cff { + 26usize => 0usize, + 27usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l34: loop { + let (v597, ()) = (block26param0.clone(), ()); + let (v599, ()) = (block26param1.clone(), ()); + let (v615, ()) = (block26param2.clone(), ()); + let (v619, ()) = (block26param3.clone(), ()); + let (v623, ()) = (block26param4.clone(), ()); + let (v627, ()) = (block26param5.clone(), ()); + let (v636, ()) = (block26param6.clone(), ()); + let (v218, ()) = (2u32, ()); + let (v219, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v599.clone()), + ::wars_rt::func::cast::<_, _, C>(v218.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v220, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v597.clone()), + ::wars_rt::func::cast::<_, _, C>(v219.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v221, ()) = (0u32, ()); + block28param0 = v597; + block28param1 = v221; + block28param2 = v220; + block28param3 = v597; + block28param4 = v615; + block28param5 = v619; + block28param6 = v623; + block28param7 = v627; + block28param8 = v599; + block28param9 = v636; + cff = 28usize; + let mut cff2 = match cff { + 28usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l38: loop { + let (v222, ()) = (block28param0.clone(), ()); + let (v269, ()) = (block28param1.clone(), ()); + let (v608, ()) = (block28param2.clone(), ()); + let (v611, ()) = (block28param3.clone(), ()); + let (v614, ()) = (block28param4.clone(), ()); + let (v618, ()) = (block28param5.clone(), ()); + let (v622, ()) = (block28param6.clone(), ()); + let (v626, ()) = (block28param7.clone(), ()); + let (v630, ()) = (block28param8.clone(), ()); + let (v635, ()) = (block28param9.clone(), ()); + let (v223, ()) = (12u32, ()); + let (v224, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v223.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v225, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v224.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v226, ()) = (4294967295u32, ()); + let (v227, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ::wars_rt::func::cast::<_, _, C>(v226.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v228, ()) = (7u32, ()); + let (v229, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v227.clone()), + ::wars_rt::func::cast::<_, _, C>(v228.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v230, ()) = (6u32, ()); + let (v231, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v225.clone()), + ::wars_rt::func::cast::<_, _, C>(v230.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v232, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v229.clone()), + ::wars_rt::func::cast::<_, _, C>(v231.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v233, ()) = (16843009u32, ()); + let (v234, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v232.clone()), + ::wars_rt::func::cast::<_, _, C>(v233.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v235, ()) = (8u32, ()); + let (v236, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v235.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v237, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v236.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v238, ()) = (4294967295u32, ()); + let (v239, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v238.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v240, ()) = (7u32, ()); + let (v241, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v239.clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v242, ()) = (6u32, ()); + let (v243, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v237.clone()), + ::wars_rt::func::cast::<_, _, C>(v242.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v244, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v241.clone()), + ::wars_rt::func::cast::<_, _, C>(v243.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v245, ()) = (16843009u32, ()); + let (v246, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v244.clone()), + ::wars_rt::func::cast::<_, _, C>(v245.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v247, ()) = (4u32, ()); + let (v248, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v247.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v249, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v248.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v250, ()) = (4294967295u32, ()); + let (v251, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v250.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v252, ()) = (7u32, ()); + let (v253, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v251.clone()), + ::wars_rt::func::cast::<_, _, C>(v252.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v254, ()) = (6u32, ()); + let (v255, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v249.clone()), + ::wars_rt::func::cast::<_, _, C>(v254.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v256, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v253.clone()), + ::wars_rt::func::cast::<_, _, C>(v255.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v257, ()) = (16843009u32, ()); + let (v258, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v256.clone()), + ::wars_rt::func::cast::<_, _, C>(v257.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v259, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v222.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v260, ()) = (4294967295u32, ()); + let (v261, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ::wars_rt::func::cast::<_, _, C>(v260.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v262, ()) = (7u32, ()); + let (v263, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v261.clone()), + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v264, ()) = (6u32, ()); + let (v265, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ::wars_rt::func::cast::<_, _, C>(v264.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v266, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v263.clone()), + ::wars_rt::func::cast::<_, _, C>(v265.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v267, ()) = (16843009u32, ()); + let (v268, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v266.clone()), + ::wars_rt::func::cast::<_, _, C>(v267.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v270, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v268.clone()), + ::wars_rt::func::cast::<_, _, C>(v269.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v271, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v258.clone()), + ::wars_rt::func::cast::<_, _, C>(v270.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v272, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v246.clone()), + ::wars_rt::func::cast::<_, _, C>(v271.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v273, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v234.clone()), + ::wars_rt::func::cast::<_, _, C>(v272.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v274, ()) = (16u32, ()); + let (v275, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v222.clone()), + ::wars_rt::func::cast::<_, _, C>(v274.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v277, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v275.clone()), + ::wars_rt::func::cast::<_, _, C>(v608.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v277 != 0 { + block28param0 = v275; + block28param1 = v273; + block28param2 = v608; + block28param3 = v611; + block28param4 = v614; + block28param5 = v618; + block28param6 = v622; + block28param7 = v626; + block28param8 = v630; + block28param9 = v635; + cff = 28usize; + continue 'l38; + } else { + block30param0 = v611; + block30param1 = v614; + block30param2 = v618; + block30param3 = v622; + block30param4 = v626; + block30param5 = v630; + block30param6 = v273; + block30param7 = v635; + cff = 30usize; + }; + let mut cff2 = match cff { + 30usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l41: loop { + let (v610, ()) = (block30param0.clone(), ()); + let (v613, ()) = (block30param1.clone(), ()); + let (v617, ()) = (block30param2.clone(), ()); + let (v621, ()) = (block30param3.clone(), ()); + let (v625, ()) = (block30param4.clone(), ()); + let (v629, ()) = (block30param5.clone(), ()); + let (v632, ()) = (block30param6.clone(), ()); + let (v634, ()) = (block30param7.clone(), ()); + block29param0 = v610; + block29param1 = v613; + block29param2 = v617; + block29param3 = v621; + block29param4 = v625; + block29param5 = v629; + block29param6 = v632; + block29param7 = v634; + cff = 29usize; + let mut cff2 = match cff { + 29usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l45: loop { + let (v609, ()) = (block29param0.clone(), ()); + let (v612, ()) = (block29param1.clone(), ()); + let (v616, ()) = (block29param2.clone(), ()); + let (v620, ()) = (block29param3.clone(), ()); + let (v624, ()) = (block29param4.clone(), ()); + let (v628, ()) = (block29param5.clone(), ()); + let (v631, ()) = (block29param6.clone(), ()); + let (v633, ()) = (block29param7.clone(), ()); + block25param0 = v612; + block25param1 = v616; + block25param2 = v609; + block25param3 = v624; + block25param4 = v631; + block25param5 = v633; + block25param6 = v620; + block25param7 = v628; + cff = 25usize; + break 'l45; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + 1usize => { + 'l35: loop { + let (v600, ()) = (block27param0.clone(), ()); + let (v601, ()) = (block27param1.clone(), ()); + let (v602, ()) = (block27param2.clone(), ()); + let (v603, ()) = (block27param3.clone(), ()); + let (v604, ()) = (block27param4.clone(), ()); + let (v605, ()) = (block27param5.clone(), ()); + let (v606, ()) = (block27param6.clone(), ()); + let (v214, ()) = (0u32, ()); + block25param0 = v601; + block25param1 = v602; + block25param2 = v600; + block25param3 = v604; + block25param4 = v214; + block25param5 = v606; + block25param6 = v603; + block25param7 = v605; + cff = 25usize; + break 'l35; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l33: loop { + let (v278, ()) = (block25param0.clone(), ()); + let (v284, ()) = (block25param1.clone(), ()); + let (v291, ()) = (block25param2.clone(), ()); + let (v296, ()) = (block25param3.clone(), ()); + let (v303, ()) = (block25param4.clone(), ()); + let (v317, ()) = (block25param5.clone(), ()); + let (v326, ()) = (block25param6.clone(), ()); + let (v340, ()) = (block25param7.clone(), ()); + let (v290, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v278.clone()), + ::wars_rt::func::cast::<_, _, C>(v284.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v302, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v291.clone()), + ::wars_rt::func::cast::<_, _, C>(v296.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v306, ()) = (8u32, ()); + let (v307, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ::wars_rt::func::cast::<_, _, C>(v306.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v308, ()) = (16711935u32, ()); + let (v309, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v307.clone()), + ::wars_rt::func::cast::<_, _, C>(v308.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v310, ()) = (16711935u32, ()); + let (v311, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v303.clone()), + ::wars_rt::func::cast::<_, _, C>(v310.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v312, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v309.clone()), + ::wars_rt::func::cast::<_, _, C>(v311.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v313, ()) = (65537u32, ()); + let (v314, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v312.clone()), + ::wars_rt::func::cast::<_, _, C>(v313.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v315, ()) = (16u32, ()); + let (v316, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v314.clone()), + ::wars_rt::func::cast::<_, _, C>(v315.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v325, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v316.clone()), + ::wars_rt::func::cast::<_, _, C>(v317.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v332, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v326.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v332 != 0 { + block22param0 = v302; + block22param1 = v290; + block22param2 = v325; + cff = 22usize; + continue 'l22; + } else { + block31param0 = v291; + block31param1 = v325; + block31param2 = v326; + block31param3 = v340; + cff = 31usize; + }; + let mut cff2 = match cff { + 31usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l39: loop { + let (v589, ()) = (block31param0.clone(), ()); + let (v591, ()) = (block31param1.clone(), ()); + let (v593, ()) = (block31param2.clone(), ()); + let (v595, ()) = (block31param3.clone(), ()); + block23param0 = v589; + block23param1 = v591; + block23param2 = v593; + block23param3 = v595; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l42: loop { + let (v588, ()) = (block23param0.clone(), ()); + let (v590, ()) = (block23param1.clone(), ()); + let (v592, ()) = (block23param2.clone(), ()); + let (v594, ()) = (block23param3.clone(), ()); + let (v345, ()) = (2u32, ()); + let (v346, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v594.clone()), + ::wars_rt::func::cast::<_, _, C>(v345.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v347, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v588.clone()), + ::wars_rt::func::cast::<_, _, C>(v346.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v348, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v347.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v349, ()) = (4294967295u32, ()); + let (v350, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v348.clone()), + ::wars_rt::func::cast::<_, _, C>(v349.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v351, ()) = (7u32, ()); + let (v352, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v350.clone()), + ::wars_rt::func::cast::<_, _, C>(v351.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v353, ()) = (6u32, ()); + let (v354, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v348.clone()), + ::wars_rt::func::cast::<_, _, C>(v353.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v355, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v352.clone()), + ::wars_rt::func::cast::<_, _, C>(v354.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v356, ()) = (16843009u32, ()); + let (v357, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v355.clone()), + ::wars_rt::func::cast::<_, _, C>(v356.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v360, ()) = (1u32, ()); + let (v361, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v592.clone()), + ::wars_rt::func::cast::<_, _, C>(v360.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v361 != 0 { + block32param0 = v357; + block32param1 = v590; + cff = 32usize; + } else { + block33param0 = v590; + block33param1 = v592; + block33param2 = v347; + block33param3 = v357; + cff = 33usize; + }; + let mut cff2 = match cff { + 33usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l44: loop { + let (v637, ()) = (block33param0.clone(), ()); + let (v638, ()) = (block33param1.clone(), ()); + let (v639, ()) = (block33param2.clone(), ()); + let (v640, ()) = (block33param3.clone(), ()); + let (v363, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v639.clone() + 4u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v364, ()) = (4294967295u32, ()); + let (v365, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v363.clone()), + ::wars_rt::func::cast::<_, _, C>(v364.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v366, ()) = (7u32, ()); + let (v367, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v365.clone()), + ::wars_rt::func::cast::<_, _, C>(v366.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v368, ()) = (6u32, ()); + let (v369, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v363.clone()), + ::wars_rt::func::cast::<_, _, C>(v368.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v370, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v367.clone()), + ::wars_rt::func::cast::<_, _, C>(v369.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v371, ()) = (16843009u32, ()); + let (v372, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v370.clone()), + ::wars_rt::func::cast::<_, _, C>(v371.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v374, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v372.clone()), + ::wars_rt::func::cast::<_, _, C>(v640.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v376, ()) = (2u32, ()); + let (v377, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v638.clone()), + ::wars_rt::func::cast::<_, _, C>(v376.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v377 != 0 { + block32param0 = v374; + block32param1 = v637; + cff = 32usize; + break 'l44; + } else { + block34param0 = v637; + block34param1 = v639; + block34param2 = v374; + cff = 34usize; + }; + let mut cff2 = match cff { + 34usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l46: loop { + let (v641, ()) = (block34param0.clone(), ()); + let (v642, ()) = (block34param1.clone(), ()); + let (v643, ()) = (block34param2.clone(), ()); + let (v379, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v642.clone() + 8u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v380, ()) = (4294967295u32, ()); + let (v381, ()) = match ::wars_rt::i32xor( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v380.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v382, ()) = (7u32, ()); + let (v383, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v381.clone()), + ::wars_rt::func::cast::<_, _, C>(v382.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v384, ()) = (6u32, ()); + let (v385, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v379.clone()), + ::wars_rt::func::cast::<_, _, C>(v384.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v386, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v383.clone()), + ::wars_rt::func::cast::<_, _, C>(v385.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v387, ()) = (16843009u32, ()); + let (v388, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v386.clone()), + ::wars_rt::func::cast::<_, _, C>(v387.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v390, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v388.clone()), + ::wars_rt::func::cast::<_, _, C>(v643.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block32param0 = v390; + block32param1 = v641; + cff = 32usize; + break 'l46; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + 'l43: loop { + let (v391, ()) = (block32param0.clone(), ()); + let (v403, ()) = (block32param1.clone(), ()); + let (v392, ()) = (8u32, ()); + let (v393, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v392.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v394, ()) = (459007u32, ()); + let (v395, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v393.clone()), + ::wars_rt::func::cast::<_, _, C>(v394.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v396, ()) = (16711935u32, ()); + let (v397, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v391.clone()), + ::wars_rt::func::cast::<_, _, C>(v396.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v398, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v395.clone()), + ::wars_rt::func::cast::<_, _, C>(v397.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v399, ()) = (65537u32, ()); + let (v400, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v398.clone()), + ::wars_rt::func::cast::<_, _, C>(v399.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v401, ()) = (16u32, ()); + let (v402, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v400.clone()), + ::wars_rt::func::cast::<_, _, C>(v401.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v408, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v402.clone()), + ::wars_rt::func::cast::<_, _, C>(v403.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v408; + cff = 2usize; + break 'l43; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + }; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + 3usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v489, ()) = (block2param0.clone(), ()); + block1param0 = v489; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l2: loop { + let (v409, ()) = (block3param0.clone(), ()); + let (v455, ()) = (block3param1.clone(), ()); + if v409 != 0 { + block35param0 = v409; + block35param1 = v455; + cff = 35usize; + } else { + cff = 36usize; + }; + let mut cff2 = match cff { + 35usize => 0usize, + 36usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v644, ()) = (block35param0.clone(), ()); + let (v648, ()) = (block35param1.clone(), ()); + let (v412, ()) = (3u32, ()); + let (v413, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v644.clone()), + ::wars_rt::func::cast::<_, _, C>(v412.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v414, ()) = (4u32, ()); + let (v415, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v644.clone()), + ::wars_rt::func::cast::<_, _, C>(v414.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v415 != 0 { + block38param0 = v644; + block38param1 = v648; + block38param2 = v413; + cff = 38usize; + } else { + block39param0 = v413; + block39param1 = v648; + cff = 39usize; + }; + let mut cff2 = match cff { + 38usize => 0usize, + 39usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l9: loop { + let (v645, ()) = (block38param0.clone(), ()); + let (v651, ()) = (block38param1.clone(), ()); + let (v655, ()) = (block38param2.clone(), ()); + let (v419, ()) = (4294967292u32, ()); + let (v420, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v645.clone()), + ::wars_rt::func::cast::<_, _, C>(v419.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v421, ()) = (0u32, ()); + let (v422, ()) = (0u32, ()); + block40param0 = v421; + block40param1 = v422; + block40param2 = v420; + block40param3 = v651; + block40param4 = v655; + cff = 40usize; + let mut cff2 = match cff { + 40usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v423, ()) = (block40param0.clone(), ()); + let (v425, ()) = (block40param1.clone(), ()); + let (v649, ()) = (block40param2.clone(), ()); + let (v650, ()) = (block40param3.clone(), ()); + let (v654, ()) = (block40param4.clone(), ()); + let (v426, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v650.clone()), + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v427, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v426.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v428, ()) = (4294967231u32, ()); + let (v429, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v427.clone()), + ::wars_rt::func::cast::<_, _, C>(v428.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v430, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v423.clone()), + ::wars_rt::func::cast::<_, _, C>(v429.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v431, ()) = (1u32, ()); + let (v432, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v431.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v433, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v432.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v434, ()) = (4294967231u32, ()); + let (v435, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v433.clone()), + ::wars_rt::func::cast::<_, _, C>(v434.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v436, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v430.clone()), + ::wars_rt::func::cast::<_, _, C>(v435.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v437, ()) = (2u32, ()); + let (v438, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v437.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v439, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v438.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v440, ()) = (4294967231u32, ()); + let (v441, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v439.clone()), + ::wars_rt::func::cast::<_, _, C>(v440.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v442, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v436.clone()), + ::wars_rt::func::cast::<_, _, C>(v441.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v443, ()) = (3u32, ()); + let (v444, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v426.clone()), + ::wars_rt::func::cast::<_, _, C>(v443.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v445, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v444.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v446, ()) = (4294967231u32, ()); + let (v447, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v445.clone()), + ::wars_rt::func::cast::<_, _, C>(v446.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v448, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v442.clone()), + ::wars_rt::func::cast::<_, _, C>(v447.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v450, ()) = (4u32, ()); + let (v451, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v425.clone()), + ::wars_rt::func::cast::<_, _, C>(v450.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v452, ()) = match ::wars_rt::i32ne( + ::wars_rt::func::cast::<_, _, C>(v649.clone()), + ::wars_rt::func::cast::<_, _, C>(v451.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v452 != 0 { + block40param0 = v448; + block40param1 = v451; + block40param2 = v649; + block40param3 = v650; + block40param4 = v654; + cff = 40usize; + continue 'l14; + } else { + block42param0 = v654; + block42param1 = v448; + block42param2 = v451; + block42param3 = v650; + cff = 42usize; + }; + let mut cff2 = match cff { + 42usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v653, ()) = (block42param0.clone(), ()); + let (v657, ()) = (block42param1.clone(), ()); + let (v659, ()) = (block42param2.clone(), ()); + let (v661, ()) = (block42param3.clone(), ()); + block41param0 = v653; + block41param1 = v657; + block41param2 = v659; + block41param3 = v661; + cff = 41usize; + let mut cff2 = match cff { + 41usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l27: loop { + let (v652, ()) = (block41param0.clone(), ()); + let (v656, ()) = (block41param1.clone(), ()); + let (v658, ()) = (block41param2.clone(), ()); + let (v660, ()) = (block41param3.clone(), ()); + block37param0 = v652; + block37param1 = v660; + block37param2 = v658; + block37param3 = v656; + cff = 37usize; + break 'l27; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v646, ()) = (block39param0.clone(), ()); + let (v647, ()) = (block39param1.clone(), ()); + let (v416, ()) = (0u32, ()); + let (v417, ()) = (0u32, ()); + block37param0 = v646; + block37param1 = v647; + block37param2 = v417; + block37param3 = v416; + cff = 37usize; + break 'l10; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v456, ()) = (block37param0.clone(), ()); + let (v464, ()) = (block37param1.clone(), ()); + let (v469, ()) = (block37param2.clone(), ()); + let (v485, ()) = (block37param3.clone(), ()); + let (v462, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v456.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v462 != 0 { + block2param0 = v485; + cff = 2usize; + break 'l8; + } else { + block43param0 = v456; + block43param1 = v464; + block43param2 = v469; + block43param3 = v485; + cff = 43usize; + }; + let mut cff2 = match cff { + 43usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v662, ()) = (block43param0.clone(), ()); + let (v663, ()) = (block43param1.clone(), ()); + let (v664, ()) = (block43param2.clone(), ()); + let (v665, ()) = (block43param3.clone(), ()); + let (v472, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v663.clone()), + ::wars_rt::func::cast::<_, _, C>(v664.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block44param0 = v665; + block44param1 = v472; + block44param2 = v662; + cff = 44usize; + let mut cff2 = match cff { + 44usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v473, ()) = (block44param0.clone(), ()); + let (v474, ()) = (block44param1.clone(), ()); + let (v481, ()) = (block44param2.clone(), ()); + let (v475, ()) = match ::wars_rt::i32load8s::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v474.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v476, ()) = (4294967231u32, ()); + let (v477, ()) = match ::wars_rt::i32gts( + ::wars_rt::func::cast::<_, _, C>(v475.clone()), + ::wars_rt::func::cast::<_, _, C>(v476.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v478, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v473.clone()), + ::wars_rt::func::cast::<_, _, C>(v477.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v479, ()) = (1u32, ()); + let (v480, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v474.clone()), + ::wars_rt::func::cast::<_, _, C>(v479.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v482, ()) = (4294967295u32, ()); + let (v483, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v481.clone()), + ::wars_rt::func::cast::<_, _, C>(v482.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v483 != 0 { + block44param0 = v478; + block44param1 = v480; + block44param2 = v483; + cff = 44usize; + continue 'l20; + } else { + block46param0 = v478; + cff = 46usize; + }; + let mut cff2 = match cff { + 46usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l26: loop { + let (v667, ()) = (block46param0.clone(), ()); + block45param0 = v667; + cff = 45usize; + let mut cff2 = match cff { + 45usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l32: loop { + let (v666, ()) = (block45param0.clone(), ()); + block2param0 = v666; + cff = 2usize; + break 'l32; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + 1usize => { + 'l4: loop { + let (v410, ()) = (0u32, ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v410, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func61<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, (p3, (p4, ()))))): (u32, (u32, (u32, (u32, (u32, ()))))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block0param3: u32 = p3; + let mut block0param4: u32 = p4; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (block0param3.clone(), ()); + let (v5, ()) = (block0param4.clone(), ()); + let (v6, ()) = (1114112u32, ()); + let (v7, ()) = match ::wars_rt::i32eq( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v6.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v7 != 0 { + block4param0 = v4; + block4param1 = v1; + block4param2 = v5; + block4param3 = v2; + cff = 4usize; + } else { + block5param0 = v1; + block5param1 = v2; + block5param2 = v3; + block5param3 = v4; + block5param4 = v5; + cff = 5usize; + }; + let mut cff2 = match cff { + 5usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l3: loop { + let (v36, ()) = (block5param0.clone(), ()); + let (v37, ()) = (block5param1.clone(), ()); + let (v38, ()) = (block5param2.clone(), ()); + let (v42, ()) = (block5param3.clone(), ()); + let (v44, ()) = (block5param4.clone(), ()); + let (v8, ()) = (1u32, ()); + let (v12, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v37.clone() + 16u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, ())), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v12 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v36.clone()), + (::wars_rt::func::cast::<_, _, C>(v38.clone()), ()), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block3param0 = v8; + cff = 3usize; + break 'l3; + } else { + block6param0 = v36; + block6param1 = v37; + block6param2 = v42; + block6param3 = v44; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v39, ()) = (block6param0.clone(), ()); + let (v40, ()) = (block6param1.clone(), ()); + let (v41, ()) = (block6param2.clone(), ()); + let (v43, ()) = (block6param3.clone(), ()); + block4param0 = v41; + block4param1 = v39; + block4param2 = v43; + block4param3 = v40; + cff = 4usize; + break 'l5; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v18, ()) = (block3param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v18, ())), + ); + } + } + 1usize => { + 'l2: loop { + let (v14, ()) = (block4param0.clone(), ()); + let (v20, ()) = (block4param1.clone(), ()); + let (v24, ()) = (block4param2.clone(), ()); + let (v28, ()) = (block4param3.clone(), ()); + if v14 != 0 { + block2param0 = v14; + block2param1 = v20; + block2param2 = v24; + block2param3 = v28; + cff = 2usize; + } else { + cff = 7usize; + }; + let mut cff2 = match cff { + 2usize => 0usize, + 7usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v32, ()) = (block2param0.clone(), ()); + let (v33, ()) = (block2param1.clone(), ()); + let (v34, ()) = (block2param2.clone(), ()); + let (v35, ()) = (block2param3.clone(), ()); + let (v30, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v35.clone() + 12u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = match ::wars_rt::_rexport::tramp::tramp( + ::wars_rt::func::call_ref::< + (u32, (u32, (u32, ()))), + (u32, ()), + C, + >( + ctx, + ::wars_rt::func::cast(ctx.table0()[v30 as usize].clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + (::wars_rt::func::cast::<_, _, C>(v34.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block1param0 = v31; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l4: loop { + let (v17, ()) = (0u32, ()); + block3param0 = v17; + cff = 3usize; + break 'l4; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func62<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u64, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u64 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u64; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block2param4: u32; + let mut block3param0: u64; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block3param3: u32; + let mut block4param0: u64; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block4param3: u32; + let mut block4param4: u32; + let mut block5param0: u32; + let mut block5param1: u64; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u64; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u64; + let mut block7param4: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u64; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (*ctx.global0(), ()); + let (v5, ()) = (48u32, ()); + let (v6, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ::wars_rt::func::cast::<_, _, C>(v5.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let () = { + *ctx.global0() = v6; + () + }; + let (v8, ()) = (39u32, ()); + let (v9, ()) = (10000u64, ()); + let (v10, ()) = match ::wars_rt::i64geu( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v10 != 0 { + block3param0 = v1; + block3param1 = v6; + block3param2 = v2; + block3param3 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + block4param3 = v6; + block4param4 = v8; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v159, ()) = (block3param0.clone(), ()); + let (v166, ()) = (block3param1.clone(), ()); + let (v170, ()) = (block3param2.clone(), ()); + let (v174, ()) = (block3param3.clone(), ()); + let (v12, ()) = (39u32, ()); + block5param0 = v12; + block5param1 = v159; + block5param2 = v166; + block5param3 = v170; + block5param4 = v174; + cff = 5usize; + let mut cff2 = match cff { + 5usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l4: loop { + let (v16, ()) = (block5param0.clone(), ()); + let (v20, ()) = (block5param1.clone(), ()); + let (v165, ()) = (block5param2.clone(), ()); + let (v169, ()) = (block5param3.clone(), ()); + let (v173, ()) = (block5param4.clone(), ()); + let (v14, ()) = (9u32, ()); + let (v15, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v165.clone()), + ::wars_rt::func::cast::<_, _, C>(v14.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v17, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (4294967292u32, ()); + let (v19, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (10000u64, ()); + let (v22, ()) = match ::wars_rt::i64divu( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (10000u64, ()); + let (v24, ()) = match ::wars_rt::i64mul( + ::wars_rt::func::cast::<_, _, C>(v22.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v25, ()) = match ::wars_rt::i64sub( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v27, ()) = (65535u32, ()); + let (v28, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ::wars_rt::func::cast::<_, _, C>(v27.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v29, ()) = (100u32, ()); + let (v30, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v29.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v31, ()) = (1u32, ()); + let (v32, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v33, ()) = (1049184u32, ()); + let (v34, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v32.clone()), + ::wars_rt::func::cast::<_, _, C>(v33.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v35, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v34.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v19.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v35.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v37, ()) = (4294967294u32, ()); + let (v38, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v39, ()) = (100u32, ()); + let (v40, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v30.clone()), + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v41, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v26.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = (65535u32, ()); + let (v43, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v44, ()) = (1u32, ()); + let (v45, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v46, ()) = (1049184u32, ()); + let (v47, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v45.clone()), + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v48, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v47.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v38.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v48.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = (4294967292u32, ()); + let (v51, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v16.clone()), + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v52, ()) = (99999999u64, ()); + let (v53, ()) = match ::wars_rt::i64gtu( + ::wars_rt::func::cast::<_, _, C>(v20.clone()), + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block5param0 = v51; + block5param1 = v22; + block5param2 = v165; + block5param3 = v169; + block5param4 = v173; + cff = 5usize; + continue 'l4; + } else { + block7param0 = v169; + block7param1 = v173; + block7param2 = v165; + block7param3 = v22; + block7param4 = v51; + cff = 7usize; + }; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v168, ()) = (block7param0.clone(), ()); + let (v172, ()) = (block7param1.clone(), ()); + let (v176, ()) = (block7param2.clone(), ()); + let (v178, ()) = (block7param3.clone(), ()); + let (v180, ()) = (block7param4.clone(), ()); + block6param0 = v168; + block6param1 = v172; + block6param2 = v176; + block6param3 = v178; + block6param4 = v180; + cff = 6usize; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v167, ()) = (block6param0.clone(), ()); + let (v171, ()) = (block6param1.clone(), ()); + let (v175, ()) = (block6param2.clone(), ()); + let (v177, ()) = (block6param3.clone(), ()); + let (v179, ()) = (block6param4.clone(), ()); + block2param0 = v177; + block2param1 = v175; + block2param2 = v179; + block2param3 = v171; + block2param4 = v167; + cff = 2usize; + break 'l11; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l3: loop { + let (v160, ()) = (block4param0.clone(), ()); + let (v161, ()) = (block4param1.clone(), ()); + let (v162, ()) = (block4param2.clone(), ()); + let (v163, ()) = (block4param3.clone(), ()); + let (v164, ()) = (block4param4.clone(), ()); + block2param0 = v160; + block2param1 = v163; + block2param2 = v164; + block2param3 = v162; + block2param4 = v161; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l1: loop { + let (v56, ()) = (block2param0.clone(), ()); + let (v63, ()) = (block2param1.clone(), ()); + let (v70, ()) = (block2param2.clone(), ()); + let (v127, ()) = (block2param3.clone(), ()); + let (v138, ()) = (block2param4.clone(), ()); + let (v59, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + let (v60, ()) = (99u32, ()); + let (v61, ()) = match ::wars_rt::i32leu( + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v61 != 0 { + block8param0 = v59; + block8param1 = v63; + block8param2 = v70; + block8param3 = v127; + block8param4 = v138; + cff = 8usize; + } else { + block9param0 = v56; + block9param1 = v63; + block9param2 = v70; + block9param3 = v127; + block9param4 = v138; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l6: loop { + let (v181, ()) = (block9param0.clone(), ()); + let (v182, ()) = (block9param1.clone(), ()); + let (v183, ()) = (block9param2.clone(), ()); + let (v184, ()) = (block9param3.clone(), ()); + let (v185, ()) = (block9param4.clone(), ()); + let (v67, ()) = (9u32, ()); + let (v68, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v74, ()) = (4294967294u32, ()); + let (v75, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v183.clone()), + ::wars_rt::func::cast::<_, _, C>(v74.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v76, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v78, ()) = match ::wars_rt::i32wrapi64( + ::wars_rt::func::cast::<_, _, C>(v181.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = (65535u32, ()); + let (v80, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v81, ()) = (100u32, ()); + let (v82, ()) = match ::wars_rt::i32divu( + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ::wars_rt::func::cast::<_, _, C>(v81.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v83, ()) = (100u32, ()); + let (v84, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v78.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v86, ()) = (65535u32, ()); + let (v87, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v86.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v88, ()) = (1u32, ()); + let (v89, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v87.clone()), + ::wars_rt::func::cast::<_, _, C>(v88.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v90, ()) = (1049184u32, ()); + let (v91, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v89.clone()), + ::wars_rt::func::cast::<_, _, C>(v90.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v92, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v91.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v92.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block8param0 = v82; + block8param1 = v182; + block8param2 = v75; + block8param3 = v184; + block8param4 = v185; + cff = 8usize; + break 'l6; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l5: loop { + let (v94, ()) = (block8param0.clone(), ()); + let (v98, ()) = (block8param1.clone(), ()); + let (v102, ()) = (block8param2.clone(), ()); + let (v126, ()) = (block8param3.clone(), ()); + let (v137, ()) = (block8param4.clone(), ()); + let (v95, ()) = (10u32, ()); + let (v96, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v94.clone()), + ::wars_rt::func::cast::<_, _, C>(v95.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v96 != 0 { + block11param0 = v94; + block11param1 = v98; + block11param2 = v102; + block11param3 = v126; + block11param4 = v137; + cff = 11usize; + } else { + block12param0 = v94; + block12param1 = v98; + block12param2 = v102; + block12param3 = v126; + block12param4 = v137; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v186, ()) = (block11param0.clone(), ()); + let (v187, ()) = (block11param1.clone(), ()); + let (v188, ()) = (block11param2.clone(), ()); + let (v189, ()) = (block11param3.clone(), ()); + let (v190, ()) = (block11param4.clone(), ()); + let (v114, ()) = (9u32, ()); + let (v115, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v187.clone()), + ::wars_rt::func::cast::<_, _, C>(v114.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v117, ()) = (4294967295u32, ()); + let (v118, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v188.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v119, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ::wars_rt::func::cast::<_, _, C>(v118.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v121, ()) = (48u32, ()); + let (v122, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v186.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v119.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v122.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v189; + block10param1 = v190; + block10param2 = v187; + block10param3 = v118; + cff = 10usize; + break 'l10; + } + } + 1usize => { + 'l9: loop { + let (v191, ()) = (block12param0.clone(), ()); + let (v192, ()) = (block12param1.clone(), ()); + let (v193, ()) = (block12param2.clone(), ()); + let (v194, ()) = (block12param3.clone(), ()); + let (v195, ()) = (block12param4.clone(), ()); + let (v99, ()) = (9u32, ()); + let (v100, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v192.clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (4294967294u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v193.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v105, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v100.clone()), + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v107, ()) = (1u32, ()); + let (v108, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v191.clone()), + ::wars_rt::func::cast::<_, _, C>(v107.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v109, ()) = (1049184u32, ()); + let (v110, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v109.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v111, ()) = match ::wars_rt::i32load16u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v110.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store16::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v105.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block10param0 = v194; + block10param1 = v195; + block10param2 = v192; + block10param3 = v104; + cff = 10usize; + break 'l9; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l8: loop { + let (v124, ()) = (block10param0.clone(), ()); + let (v135, ()) = (block10param1.clone(), ()); + let (v148, ()) = (block10param2.clone(), ()); + let (v151, ()) = (block10param3.clone(), ()); + let (v146, ()) = (1049124u32, ()); + let (v147, ()) = (0u32, ()); + let (v149, ()) = (9u32, ()); + let (v150, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v152, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (39u32, ()); + let (v154, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v155, ()) = match ::wars_rt::_rexport::tramp::tramp( + func59( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v124.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v146.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v147.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + (::wars_rt::func::cast::<_, _, C>(v154.clone()), ()), + ), + ), + ), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v156, ()) = (48u32, ()); + let (v157, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v148.clone()), + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = { + *ctx.global0() = v157; + () + }; + block1param0 = v155; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func63<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block7param6: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block10param4: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block11param5: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block13param4: u32; + let mut block13param5: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block14param4: u32; + let mut block14param5: u32; + let mut block14param6: u32; + let mut block14param7: u32; + let mut block14param8: u32; + let mut block14param9: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block16param4: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block17param4: u32; + let mut block17param5: u32; + let mut block18param0: u32; + let mut block18param1: u32; + let mut block18param2: u32; + let mut block18param3: u32; + let mut block18param4: u32; + let mut block18param5: u32; + let mut block18param6: u32; + let mut block19param0: u32; + let mut block19param1: u32; + let mut block19param2: u32; + let mut block19param3: u32; + let mut block19param4: u32; + let mut block20param0: u32; + let mut block20param1: u32; + let mut block20param2: u32; + let mut block20param3: u32; + let mut block20param4: u32; + let mut block21param0: u32; + let mut block22param0: u32; + let mut block22param1: u32; + let mut block22param2: u32; + let mut block22param3: u32; + let mut block23param0: u32; + let mut block23param1: u32; + let mut block23param2: u32; + let mut block23param3: u32; + let mut block24param0: u32; + let mut block25param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v182, ()) = (block3param0.clone(), ()); + let (v183, ()) = (block3param1.clone(), ()); + let (v184, ()) = (block3param2.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v10, ()) = (3u32, ()); + let (v11, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v182.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block5param0 = v12; + block5param1 = v184; + block5param2 = v11; + block5param3 = v183; + block5param4 = v182; + cff = 5usize; + } else { + block6param0 = v182; + block6param1 = v183; + block6param2 = v12; + block6param3 = v184; + block6param4 = v11; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v188, ()) = (block6param0.clone(), ()); + let (v189, ()) = (block6param1.clone(), ()); + let (v191, ()) = (block6param2.clone(), ()); + let (v201, ()) = (block6param3.clone(), ()); + let (v205, ()) = (block6param4.clone(), ()); + block7param0 = v188; + block7param1 = v189; + block7param2 = v191; + block7param3 = v188; + block7param4 = v189; + block7param5 = v201; + block7param6 = v205; + cff = 7usize; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v17, ()) = (block7param0.clone(), ()); + let (v18, ()) = (block7param1.clone(), ()); + let (v190, ()) = (block7param2.clone(), ()); + let (v194, ()) = (block7param3.clone(), ()); + let (v197, ()) = (block7param4.clone(), ()); + let (v200, ()) = (block7param5.clone(), ()); + let (v204, ()) = (block7param6.clone(), ()); + let (v19, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v18.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v17.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = (1u32, ()); + let (v22, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ::wars_rt::func::cast::<_, _, C>(v21.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v23, ()) = (1u32, ()); + let (v24, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v17.clone()), + ::wars_rt::func::cast::<_, _, C>(v23.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v26, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v24.clone()), + ::wars_rt::func::cast::<_, _, C>(v190.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v26 != 0 { + block7param0 = v24; + block7param1 = v22; + block7param2 = v190; + block7param3 = v194; + block7param4 = v197; + block7param5 = v200; + block7param6 = v204; + cff = 7usize; + continue 'l12; + } else { + block9param0 = v194; + block9param1 = v197; + block9param2 = v200; + block9param3 = v204; + block9param4 = v190; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v193, ()) = (block9param0.clone(), ()); + let (v196, ()) = (block9param1.clone(), ()); + let (v199, ()) = (block9param2.clone(), ()); + let (v203, ()) = (block9param3.clone(), ()); + let (v207, ()) = (block9param4.clone(), ()); + block8param0 = v193; + block8param1 = v196; + block8param2 = v199; + block8param3 = v203; + block8param4 = v207; + cff = 8usize; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l21: loop { + let (v192, ()) = (block8param0.clone(), ()); + let (v195, ()) = (block8param1.clone(), ()); + let (v198, ()) = (block8param2.clone(), ()); + let (v202, ()) = (block8param3.clone(), ()); + let (v206, ()) = (block8param4.clone(), ()); + block5param0 = v206; + block5param1 = v198; + block5param2 = v202; + block5param3 = v195; + block5param4 = v192; + cff = 5usize; + break 'l21; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v28, ()) = (block5param0.clone(), ()); + let (v31, ()) = (block5param1.clone(), ()); + let (v37, ()) = (block5param2.clone(), ()); + let (v46, ()) = (block5param3.clone(), ()); + let (v166, ()) = (block5param4.clone(), ()); + let (v42, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v31.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (4294967292u32, ()); + let (v44, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v42.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v45, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v44.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v50, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v46.clone()), + ::wars_rt::func::cast::<_, _, C>(v37.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (3u32, ()); + let (v52, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v53, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v52.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v53 != 0 { + block11param0 = v42; + block11param1 = v44; + block11param2 = v45; + block11param3 = v50; + block11param4 = v166; + block11param5 = v28; + cff = 11usize; + } else { + block12param0 = v42; + block12param1 = v44; + block12param2 = v45; + block12param3 = v50; + block12param4 = v166; + block12param5 = v28; + cff = 12usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + 12usize => 1usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v208, ()) = (block11param0.clone(), ()); + let (v209, ()) = (block11param1.clone(), ()); + let (v210, ()) = (block11param2.clone(), ()); + let (v211, ()) = (block11param3.clone(), ()); + let (v212, ()) = (block11param4.clone(), ()); + let (v238, ()) = (block11param5.clone(), ()); + let (v93, ()) = (1u32, ()); + let (v94, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v209.clone()), + ::wars_rt::func::cast::<_, _, C>(v93.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v94 != 0 { + block10param0 = v208; + block10param1 = v211; + block10param2 = v209; + block10param3 = v210; + block10param4 = v212; + cff = 10usize; + break 'l11; + } else { + block17param0 = v238; + block17param1 = v211; + block17param2 = v210; + block17param3 = v208; + block17param4 = v209; + block17param5 = v212; + cff = 17usize; + }; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v237, ()) = (block17param0.clone(), ()); + let (v239, ()) = (block17param1.clone(), ()); + let (v241, ()) = (block17param2.clone(), ()); + let (v245, ()) = (block17param3.clone(), ()); + let (v249, ()) = (block17param4.clone(), ()); + let (v258, ()) = (block17param5.clone(), ()); + block18param0 = v237; + block18param1 = v239; + block18param2 = v241; + block18param3 = v245; + block18param4 = v249; + block18param5 = v239; + block18param6 = v258; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v97, ()) = (block18param0.clone(), ()); + let (v98, ()) = (block18param1.clone(), ()); + let (v240, ()) = (block18param2.clone(), ()); + let (v244, ()) = (block18param3.clone(), ()); + let (v248, ()) = (block18param4.clone(), ()); + let (v254, ()) = (block18param5.clone(), ()); + let (v257, ()) = (block18param6.clone(), ()); + let (v99, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v98.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v97.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v99.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v101, ()) = (4u32, ()); + let (v102, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v98.clone()), + ::wars_rt::func::cast::<_, _, C>(v101.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v103, ()) = (4u32, ()); + let (v104, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v97.clone()), + ::wars_rt::func::cast::<_, _, C>(v103.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v106, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v104.clone()), + ::wars_rt::func::cast::<_, _, C>(v240.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v106 != 0 { + block18param0 = v104; + block18param1 = v102; + block18param2 = v240; + block18param3 = v244; + block18param4 = v248; + block18param5 = v254; + block18param6 = v257; + cff = 18usize; + continue 'l19; + } else { + block20param0 = v244; + block20param1 = v248; + block20param2 = v240; + block20param3 = v254; + block20param4 = v257; + cff = 20usize; + }; + let mut cff2 = match cff { + 20usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l22: loop { + let (v243, ()) = (block20param0.clone(), ()); + let (v247, ()) = (block20param1.clone(), ()); + let (v251, ()) = (block20param2.clone(), ()); + let (v253, ()) = (block20param3.clone(), ()); + let (v256, ()) = (block20param4.clone(), ()); + block19param0 = v243; + block19param1 = v247; + block19param2 = v251; + block19param3 = v253; + block19param4 = v256; + cff = 19usize; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l24: loop { + let (v242, ()) = (block19param0.clone(), ()); + let (v246, ()) = (block19param1.clone(), ()); + let (v250, ()) = (block19param2.clone(), ()); + let (v252, ()) = (block19param3.clone(), ()); + let (v255, ()) = (block19param4.clone(), ()); + block10param0 = v242; + block10param1 = v252; + block10param2 = v246; + block10param3 = v250; + block10param4 = v255; + cff = 10usize; + break 'l24; + }; + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + 1usize => { + 'l10: loop { + let (v213, ()) = (block12param0.clone(), ()); + let (v214, ()) = (block12param1.clone(), ()); + let (v215, ()) = (block12param2.clone(), ()); + let (v216, ()) = (block12param3.clone(), ()); + let (v217, ()) = (block12param4.clone(), ()); + let (v219, ()) = (block12param5.clone(), ()); + let (v55, ()) = (1u32, ()); + let (v56, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v214.clone()), + ::wars_rt::func::cast::<_, _, C>(v55.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v56 != 0 { + block10param0 = v213; + block10param1 = v216; + block10param2 = v214; + block10param3 = v215; + block10param4 = v217; + cff = 10usize; + break 'l10; + } else { + block13param0 = v219; + block13param1 = v216; + block13param2 = v215; + block13param3 = v213; + block13param4 = v214; + block13param5 = v217; + cff = 13usize; + }; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v218, ()) = (block13param0.clone(), ()); + let (v220, ()) = (block13param1.clone(), ()); + let (v222, ()) = (block13param2.clone(), ()); + let (v227, ()) = (block13param3.clone(), ()); + let (v230, ()) = (block13param4.clone(), ()); + let (v236, ()) = (block13param5.clone(), ()); + let (v59, ()) = (3u32, ()); + let (v60, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v59.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v61, ()) = (24u32, ()); + let (v62, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ::wars_rt::func::cast::<_, _, C>(v61.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v63, ()) = (4294967292u32, ()); + let (v64, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v220.clone()), + ::wars_rt::func::cast::<_, _, C>(v63.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v65, ()) = (4u32, ()); + let (v66, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v64.clone()), + ::wars_rt::func::cast::<_, _, C>(v65.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v67, ()) = (0u32, ()); + let (v68, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ::wars_rt::func::cast::<_, _, C>(v60.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v69, ()) = (24u32, ()); + let (v70, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v68.clone()), + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v71, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v64.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block14param0 = v218; + block14param1 = v71; + block14param2 = v66; + block14param3 = v222; + block14param4 = v62; + block14param5 = v70; + block14param6 = v227; + block14param7 = v230; + block14param8 = v220; + block14param9 = v236; + cff = 14usize; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l20: loop { + let (v72, ()) = (block14param0.clone(), ()); + let (v73, ()) = (block14param1.clone(), ()); + let (v76, ()) = (block14param2.clone(), ()); + let (v221, ()) = (block14param3.clone(), ()); + let (v223, ()) = (block14param4.clone(), ()); + let (v224, ()) = (block14param5.clone(), ()); + let (v226, ()) = (block14param6.clone(), ()); + let (v229, ()) = (block14param7.clone(), ()); + let (v233, ()) = (block14param8.clone(), ()); + let (v235, ()) = (block14param9.clone(), ()); + let (v75, ()) = match ::wars_rt::i32shru( + ::wars_rt::func::cast::<_, _, C>(v73.clone()), + ::wars_rt::func::cast::<_, _, C>(v223.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v77, ()) = match ::wars_rt::i32load::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v76.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v79, ()) = match ::wars_rt::i32shl( + ::wars_rt::func::cast::<_, _, C>(v77.clone()), + ::wars_rt::func::cast::<_, _, C>(v224.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v80, ()) = match ::wars_rt::i32or( + ::wars_rt::func::cast::<_, _, C>(v75.clone()), + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v72.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v80.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = (4u32, ()); + let (v83, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v76.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v84, ()) = (4u32, ()); + let (v85, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v72.clone()), + ::wars_rt::func::cast::<_, _, C>(v84.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v87, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v85.clone()), + ::wars_rt::func::cast::<_, _, C>(v221.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v87 != 0 { + block14param0 = v85; + block14param1 = v77; + block14param2 = v83; + block14param3 = v221; + block14param4 = v223; + block14param5 = v224; + block14param6 = v226; + block14param7 = v229; + block14param8 = v233; + block14param9 = v235; + cff = 14usize; + continue 'l20; + } else { + block16param0 = v226; + block16param1 = v229; + block16param2 = v221; + block16param3 = v233; + block16param4 = v235; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l23: loop { + let (v225, ()) = (block16param0.clone(), ()); + let (v228, ()) = (block16param1.clone(), ()); + let (v231, ()) = (block16param2.clone(), ()); + let (v232, ()) = (block16param3.clone(), ()); + let (v234, ()) = (block16param4.clone(), ()); + block10param0 = v225; + block10param1 = v232; + block10param2 = v228; + block10param3 = v231; + block10param4 = v234; + cff = 10usize; + break 'l23; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l9: loop { + let (v111, ()) = (block10param0.clone(), ()); + let (v123, ()) = (block10param1.clone(), ()); + let (v129, ()) = (block10param2.clone(), ()); + let (v143, ()) = (block10param3.clone(), ()); + let (v164, ()) = (block10param4.clone(), ()); + let (v121, ()) = (3u32, ()); + let (v122, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v111.clone()), + ::wars_rt::func::cast::<_, _, C>(v121.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v137, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v123.clone()), + ::wars_rt::func::cast::<_, _, C>(v129.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v122; + block2param1 = v143; + block2param2 = v137; + block2param3 = v164; + cff = 2usize; + break 'l9; + } + } + } + } + 1usize => { + 'l3: loop { + let (v185, ()) = (block4param0.clone(), ()); + let (v186, ()) = (block4param1.clone(), ()); + let (v187, ()) = (block4param2.clone(), ()); + block2param0 = v187; + block2param1 = v185; + block2param2 = v186; + block2param3 = v185; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v138, ()) = (block2param0.clone(), ()); + let (v142, ()) = (block2param1.clone(), ()); + let (v160, ()) = (block2param2.clone(), ()); + let (v163, ()) = (block2param3.clone(), ()); + let (v140, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v140 != 0 { + block21param0 = v163; + cff = 21usize; + } else { + block22param0 = v138; + block22param1 = v142; + block22param2 = v160; + block22param3 = v163; + cff = 22usize; + }; + let mut cff2 = match cff { + 22usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v259, ()) = (block22param0.clone(), ()); + let (v260, ()) = (block22param1.clone(), ()); + let (v261, ()) = (block22param2.clone(), ()); + let (v266, ()) = (block22param3.clone(), ()); + let (v148, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v260.clone()), + ::wars_rt::func::cast::<_, _, C>(v259.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block23param0 = v260; + block23param1 = v261; + block23param2 = v148; + block23param3 = v266; + cff = 23usize; + let mut cff2 = match cff { + 23usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v149, ()) = (block23param0.clone(), ()); + let (v150, ()) = (block23param1.clone(), ()); + let (v262, ()) = (block23param2.clone(), ()); + let (v265, ()) = (block23param3.clone(), ()); + let (v151, ()) = match ::wars_rt::i32load8u::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v150.clone() + 0u32).clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v149.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v151.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v153, ()) = (1u32, ()); + let (v154, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v150.clone()), + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v155, ()) = (1u32, ()); + let (v156, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v149.clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v158, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v156.clone()), + ::wars_rt::func::cast::<_, _, C>(v262.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v158 != 0 { + block23param0 = v156; + block23param1 = v154; + block23param2 = v262; + block23param3 = v265; + cff = 23usize; + continue 'l8; + } else { + block25param0 = v265; + cff = 25usize; + }; + let mut cff2 = match cff { + 25usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v264, ()) = (block25param0.clone(), ()); + block24param0 = v264; + cff = 24usize; + let mut cff2 = match cff { + 24usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v263, ()) = (block24param0.clone(), ()); + block21param0 = v263; + cff = 21usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v162, ()) = (block21param0.clone(), ()); + block1param0 = v162; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func64<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + let mut block2param0: u32; + let mut block2param1: u32; + let mut block2param2: u32; + let mut block2param3: u32; + let mut block3param0: u32; + let mut block3param1: u32; + let mut block3param2: u32; + let mut block4param0: u32; + let mut block4param1: u32; + let mut block4param2: u32; + let mut block5param0: u32; + let mut block5param1: u32; + let mut block5param2: u32; + let mut block5param3: u32; + let mut block5param4: u32; + let mut block6param0: u32; + let mut block6param1: u32; + let mut block6param2: u32; + let mut block6param3: u32; + let mut block6param4: u32; + let mut block7param0: u32; + let mut block7param1: u32; + let mut block7param2: u32; + let mut block7param3: u32; + let mut block7param4: u32; + let mut block7param5: u32; + let mut block8param0: u32; + let mut block8param1: u32; + let mut block8param2: u32; + let mut block8param3: u32; + let mut block8param4: u32; + let mut block9param0: u32; + let mut block9param1: u32; + let mut block9param2: u32; + let mut block9param3: u32; + let mut block9param4: u32; + let mut block10param0: u32; + let mut block10param1: u32; + let mut block10param2: u32; + let mut block10param3: u32; + let mut block11param0: u32; + let mut block11param1: u32; + let mut block11param2: u32; + let mut block11param3: u32; + let mut block11param4: u32; + let mut block12param0: u32; + let mut block12param1: u32; + let mut block12param2: u32; + let mut block12param3: u32; + let mut block12param4: u32; + let mut block12param5: u32; + let mut block13param0: u32; + let mut block13param1: u32; + let mut block13param2: u32; + let mut block13param3: u32; + let mut block14param0: u32; + let mut block14param1: u32; + let mut block14param2: u32; + let mut block14param3: u32; + let mut block15param0: u32; + let mut block16param0: u32; + let mut block16param1: u32; + let mut block16param2: u32; + let mut block16param3: u32; + let mut block17param0: u32; + let mut block17param1: u32; + let mut block17param2: u32; + let mut block17param3: u32; + let mut block18param0: u32; + let mut block19param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = (16u32, ()); + let (v5, ()) = match ::wars_rt::i32geu( + ::wars_rt::func::cast::<_, _, C>(v3.clone()), + ::wars_rt::func::cast::<_, _, C>(v4.clone()), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + if v5 != 0 { + block3param0 = v1; + block3param1 = v2; + block3param2 = v3; + cff = 3usize; + } else { + block4param0 = v1; + block4param1 = v2; + block4param2 = v3; + cff = 4usize; + }; + let mut cff2 = match cff { + 3usize => 0usize, + 4usize => 1usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l2: loop { + let (v108, ()) = (block3param0.clone(), ()); + let (v109, ()) = (block3param1.clone(), ()); + let (v110, ()) = (block3param2.clone(), ()); + let (v8, ()) = (0u32, ()); + let (v9, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v8.clone()), + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v10, ()) = (3u32, ()); + let (v11, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v9.clone()), + ::wars_rt::func::cast::<_, _, C>(v10.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v12, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v108.clone()), + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v13, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v11.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v13 != 0 { + block5param0 = v12; + block5param1 = v110; + block5param2 = v11; + block5param3 = v109; + block5param4 = v108; + cff = 5usize; + } else { + block6param0 = v108; + block6param1 = v109; + block6param2 = v12; + block6param3 = v110; + block6param4 = v11; + cff = 6usize; + }; + let mut cff2 = match cff { + 6usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l5: loop { + let (v114, ()) = (block6param0.clone(), ()); + let (v116, ()) = (block6param1.clone(), ()); + let (v118, ()) = (block6param2.clone(), ()); + let (v127, ()) = (block6param3.clone(), ()); + let (v131, ()) = (block6param4.clone(), ()); + block7param0 = v114; + block7param1 = v116; + block7param2 = v118; + block7param3 = v114; + block7param4 = v127; + block7param5 = v131; + cff = 7usize; + let mut cff2 = match cff { + 7usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l11: loop { + let (v15, ()) = (block7param0.clone(), ()); + let (v115, ()) = (block7param1.clone(), ()); + let (v117, ()) = (block7param2.clone(), ()); + let (v121, ()) = (block7param3.clone(), ()); + let (v126, ()) = (block7param4.clone(), ()); + let (v130, ()) = (block7param5.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v15.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v115.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v18, ()) = (1u32, ()); + let (v19, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v15.clone()), + ::wars_rt::func::cast::<_, _, C>(v18.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v21, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v19.clone()), + ::wars_rt::func::cast::<_, _, C>(v117.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v21 != 0 { + block7param0 = v19; + block7param1 = v115; + block7param2 = v117; + block7param3 = v121; + block7param4 = v126; + block7param5 = v130; + cff = 7usize; + continue 'l11; + } else { + block9param0 = v121; + block9param1 = v115; + block9param2 = v126; + block9param3 = v130; + block9param4 = v117; + cff = 9usize; + }; + let mut cff2 = match cff { + 9usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l15: loop { + let (v120, ()) = (block9param0.clone(), ()); + let (v123, ()) = (block9param1.clone(), ()); + let (v125, ()) = (block9param2.clone(), ()); + let (v129, ()) = (block9param3.clone(), ()); + let (v133, ()) = (block9param4.clone(), ()); + block8param0 = v120; + block8param1 = v123; + block8param2 = v125; + block8param3 = v129; + block8param4 = v133; + cff = 8usize; + let mut cff2 = match cff { + 8usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l18: loop { + let (v119, ()) = (block8param0.clone(), ()); + let (v122, ()) = (block8param1.clone(), ()); + let (v124, ()) = (block8param2.clone(), ()); + let (v128, ()) = (block8param3.clone(), ()); + let (v132, ()) = (block8param4.clone(), ()); + block5param0 = v132; + block5param1 = v124; + block5param2 = v128; + block5param3 = v122; + block5param4 = v119; + cff = 5usize; + break 'l18; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l4: loop { + let (v25, ()) = (block5param0.clone(), ()); + let (v28, ()) = (block5param1.clone(), ()); + let (v34, ()) = (block5param2.clone(), ()); + let (v46, ()) = (block5param3.clone(), ()); + let (v96, ()) = (block5param4.clone(), ()); + let (v39, ()) = match ::wars_rt::i32sub( + ::wars_rt::func::cast::<_, _, C>(v28.clone()), + ::wars_rt::func::cast::<_, _, C>(v34.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v40, ()) = (4294967292u32, ()); + let (v41, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v39.clone()), + ::wars_rt::func::cast::<_, _, C>(v40.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v42, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v25.clone()), + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v43, ()) = (1u32, ()); + let (v44, ()) = match ::wars_rt::i32lts( + ::wars_rt::func::cast::<_, _, C>(v41.clone()), + ::wars_rt::func::cast::<_, _, C>(v43.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v44 != 0 { + block10param0 = v39; + block10param1 = v42; + block10param2 = v46; + block10param3 = v96; + cff = 10usize; + } else { + block11param0 = v25; + block11param1 = v46; + block11param2 = v42; + block11param3 = v39; + block11param4 = v96; + cff = 11usize; + }; + let mut cff2 = match cff { + 11usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l10: loop { + let (v134, ()) = (block11param0.clone(), ()); + let (v135, ()) = (block11param1.clone(), ()); + let (v137, ()) = (block11param2.clone(), ()); + let (v142, ()) = (block11param3.clone(), ()); + let (v151, ()) = (block11param4.clone(), ()); + let (v49, ()) = (255u32, ()); + let (v50, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v135.clone()), + ::wars_rt::func::cast::<_, _, C>(v49.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v51, ()) = (16843009u32, ()); + let (v52, ()) = match ::wars_rt::i32mul( + ::wars_rt::func::cast::<_, _, C>(v50.clone()), + ::wars_rt::func::cast::<_, _, C>(v51.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block12param0 = v134; + block12param1 = v137; + block12param2 = v52; + block12param3 = v142; + block12param4 = v135; + block12param5 = v151; + cff = 12usize; + let mut cff2 = match cff { + 12usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l14: loop { + let (v53, ()) = (block12param0.clone(), ()); + let (v136, ()) = (block12param1.clone(), ()); + let (v138, ()) = (block12param2.clone(), ()); + let (v141, ()) = (block12param3.clone(), ()); + let (v147, ()) = (block12param4.clone(), ()); + let (v150, ()) = (block12param5.clone(), ()); + let () = match ::wars_rt::i32store::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v53.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v138.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v56, ()) = (4u32, ()); + let (v57, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v53.clone()), + ::wars_rt::func::cast::<_, _, C>(v56.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v59, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v57.clone()), + ::wars_rt::func::cast::<_, _, C>(v136.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v59 != 0 { + block12param0 = v57; + block12param1 = v136; + block12param2 = v138; + block12param3 = v141; + block12param4 = v147; + block12param5 = v150; + cff = 12usize; + continue 'l14; + } else { + block14param0 = v141; + block14param1 = v136; + block14param2 = v147; + block14param3 = v150; + cff = 14usize; + }; + let mut cff2 = match cff { + 14usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l17: loop { + let (v140, ()) = (block14param0.clone(), ()); + let (v144, ()) = (block14param1.clone(), ()); + let (v146, ()) = (block14param2.clone(), ()); + let (v149, ()) = (block14param3.clone(), ()); + block13param0 = v140; + block13param1 = v144; + block13param2 = v146; + block13param3 = v149; + cff = 13usize; + let mut cff2 = match cff { + 13usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l19: loop { + let (v139, ()) = (block13param0.clone(), ()); + let (v143, ()) = (block13param1.clone(), ()); + let (v145, ()) = (block13param2.clone(), ()); + let (v148, ()) = (block13param3.clone(), ()); + block10param0 = v139; + block10param1 = v143; + block10param2 = v145; + block10param3 = v148; + cff = 10usize; + break 'l19; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l9: loop { + let (v62, ()) = (block10param0.clone(), ()); + let (v74, ()) = (block10param1.clone(), ()); + let (v89, ()) = (block10param2.clone(), ()); + let (v95, ()) = (block10param3.clone(), ()); + let (v67, ()) = (3u32, ()); + let (v68, ()) = match ::wars_rt::i32and( + ::wars_rt::func::cast::<_, _, C>(v62.clone()), + ::wars_rt::func::cast::<_, _, C>(v67.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block2param0 = v68; + block2param1 = v74; + block2param2 = v89; + block2param3 = v95; + cff = 2usize; + break 'l9; + } + } + } + } + 1usize => { + 'l3: loop { + let (v111, ()) = (block4param0.clone(), ()); + let (v112, ()) = (block4param1.clone(), ()); + let (v113, ()) = (block4param2.clone(), ()); + block2param0 = v113; + block2param1 = v111; + block2param2 = v112; + block2param3 = v111; + cff = 2usize; + break 'l3; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + let mut cff2 = match cff { + 2usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v69, ()) = (block2param0.clone(), ()); + let (v73, ()) = (block2param1.clone(), ()); + let (v87, ()) = (block2param2.clone(), ()); + let (v94, ()) = (block2param3.clone(), ()); + let (v71, ()) = match ::wars_rt::i32eqz( + ::wars_rt::func::cast::<_, _, C>(v69.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v71 != 0 { + block15param0 = v94; + cff = 15usize; + } else { + block16param0 = v69; + block16param1 = v73; + block16param2 = v87; + block16param3 = v94; + cff = 16usize; + }; + let mut cff2 = match cff { + 16usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l7: loop { + let (v152, ()) = (block16param0.clone(), ()); + let (v153, ()) = (block16param1.clone(), ()); + let (v156, ()) = (block16param2.clone(), ()); + let (v160, ()) = (block16param3.clone(), ()); + let (v78, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v153.clone()), + ::wars_rt::func::cast::<_, _, C>(v152.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + block17param0 = v153; + block17param1 = v78; + block17param2 = v156; + block17param3 = v160; + cff = 17usize; + let mut cff2 = match cff { + 17usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l8: loop { + let (v79, ()) = (block17param0.clone(), ()); + let (v154, ()) = (block17param1.clone(), ()); + let (v155, ()) = (block17param2.clone(), ()); + let (v159, ()) = (block17param3.clone(), ()); + let () = match ::wars_rt::i32store8::< + u32, + >( + ctx.memory0(), + ::wars_rt::func::cast::< + _, + _, + C, + >((v79.clone() + 0u32).clone()), + ::wars_rt::func::cast::<_, _, C>(v155.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v82, ()) = (1u32, ()); + let (v83, ()) = match ::wars_rt::i32add( + ::wars_rt::func::cast::<_, _, C>(v79.clone()), + ::wars_rt::func::cast::<_, _, C>(v82.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + let (v85, ()) = match ::wars_rt::i32ltu( + ::wars_rt::func::cast::<_, _, C>(v83.clone()), + ::wars_rt::func::cast::<_, _, C>(v154.clone()), + ) { + Ok(a) => a, + Err(e) => { + return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)); + } + }; + if v85 != 0 { + block17param0 = v83; + block17param1 = v154; + block17param2 = v155; + block17param3 = v159; + cff = 17usize; + continue 'l8; + } else { + block19param0 = v159; + cff = 19usize; + }; + let mut cff2 = match cff { + 19usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l13: loop { + let (v158, ()) = (block19param0.clone(), ()); + block18param0 = v158; + cff = 18usize; + let mut cff2 = match cff { + 18usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l16: loop { + let (v157, ()) = (block18param0.clone(), ()); + block15param0 = v157; + cff = 15usize; + break 'l16; + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + 'l6: loop { + let (v93, ()) = (block15param0.clone(), ()); + block1param0 = v93; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l12: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func65<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func64( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v3.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + fn func66<'a, C: Wars>( + ctx: &'a mut C, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + let mut cff: usize = 0; + let mut block0param0: u32 = p0; + let mut block0param1: u32 = p1; + let mut block0param2: u32 = p2; + let mut block1param0: u32; + 'l0: loop { + let (v1, ()) = (block0param0.clone(), ()); + let (v2, ()) = (block0param1.clone(), ()); + let (v3, ()) = (block0param2.clone(), ()); + let (v4, ()) = match ::wars_rt::_rexport::tramp::tramp( + func63( + ctx, + ( + ::wars_rt::func::cast::<_, _, C>(v1.clone()), + ( + ::wars_rt::func::cast::<_, _, C>(v2.clone()), + (::wars_rt::func::cast::<_, _, C>(v3.clone()), ()), + ), + ), + ), + ) { + Ok(a) => a, + Err(e) => return ::wars_rt::_rexport::tramp::BorrowRec::Ret(Err(e)), + }; + block1param0 = v4; + cff = 1usize; + let mut cff2 = match cff { + 1usize => 0usize, + _ => ::core::panicking::panic("internal error: entered unreachable code"), + }; + 'cff: loop { + match cff2 { + 0usize => { + 'l1: loop { + let (v0, ()) = (block1param0.clone(), ()); + return ::wars_rt::_rexport::tramp::BorrowRec::Ret( + Ok((v0, ())), + ); + } + } + _ => { + ::core::panicking::panic( + "internal error: entered unreachable code", + ) + } + }; + break 'cff; + } + } + { + ::core::panicking::panic_fmt(format_args!("should have returned")); + }; + } + pub struct WarsData { + table0: Vec<::wars_rt::func::Value>, + global0: u32, + global1: u32, + global2: u32, + memory0: Vec, + } + pub trait Wars: ::wars_rt::func::CtxSpec { + fn data(&mut self) -> &mut WarsData; + fn table0(&mut self) -> &mut Vec<::wars_rt::func::Value> { + &mut self.data().table0 + } + fn global0<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global0; + } + fn global1<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global1; + } + fn global2<'a>(&'a mut self) -> &'a mut u32 { + return &mut self.data().global2; + } + fn memory0<'a>(&'a mut self) -> &'a mut Vec { + return &mut self.data().memory0; + } + fn memory(&mut self) -> &mut Vec { + return self.memory0(); + } + fn add<'a>( + self: &'a mut Self, + (p0, (p1, ())): (u32, (u32, ())), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<(u32, ())>, + > { + return func3(self, (p0, (p1, ()))); + } + fn memory_op<'a>( + self: &'a mut Self, + (p0, (p1, (p2, ()))): (u32, (u32, (u32, ()))), + ) -> ::wars_rt::_rexport::tramp::BorrowRec< + 'a, + ::wars_rt::_rexport::anyhow::Result<()>, + > { + return func4(self, (p0, (p1, (p2, ())))); + } + fn __data_end(&mut self) -> &mut u32 { + return self.global1(); + } + fn __heap_base(&mut self) -> &mut u32 { + return self.global2(); + } + } + pub fn init(ctx: &mut C) -> ::wars_rt::_rexport::anyhow::Result<()> { + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da(|ctx, arg| { + ::core::panicking::panic_fmt(format_args!("invalid func")); + }), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (u32, ()), + _, + >(|ctx, arg| func55(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func34(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, ()), + (), + _, + >(|ctx, arg| func20(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, (u32, ()))), + (u32, ()), + _, + >(|ctx, arg| func24(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (u32, ()), + _, + >(|ctx, arg| func22(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (u32, ()), + _, + >(|ctx, arg| func17(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func14(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, ()), + (), + _, + >(|ctx, arg| func18(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func13(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func42(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func43(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, ()), + (), + _, + >(|ctx, arg| func21(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func40(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func41(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, ()), + (), + _, + >(|ctx, arg| func19(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func15(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (u32, ()), + _, + >(|ctx, arg| func51(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, ()), + (), + _, + >(|ctx, arg| func52(ctx, arg)), + ), + ), + ); + ctx.data() + .table0 + .push( + ::wars_rt::func::Coe::coe( + ::wars_rt::func::Df::new( + ::wars_rt::func::da::< + (u32, (u32, ())), + (), + _, + >(|ctx, arg| func57(ctx, arg)), + ), + ), + ); + *ctx.global0() = (1048576u64 as u32); + *ctx.global1() = (1049869u64 as u32); + *ctx.global2() = (1049872u64 as u32); + let l = 1114112usize.max(ctx.memory0().len()); + ctx.memory0().resize(l, 0); + ctx.memory0()[1048576usize..1049385usize] + .copy_from_slice( + &[ + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 119u8, + 97u8, + 114u8, + 115u8, + 45u8, + 116u8, + 101u8, + 115u8, + 116u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 108u8, + 105u8, + 98u8, + 46u8, + 114u8, + 115u8, + 8u8, + 0u8, + 16u8, + 0u8, + 20u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 97u8, + 116u8, + 116u8, + 101u8, + 109u8, + 112u8, + 116u8, + 32u8, + 116u8, + 111u8, + 32u8, + 97u8, + 100u8, + 100u8, + 32u8, + 119u8, + 105u8, + 116u8, + 104u8, + 32u8, + 111u8, + 118u8, + 101u8, + 114u8, + 102u8, + 108u8, + 111u8, + 119u8, + 47u8, + 114u8, + 117u8, + 115u8, + 116u8, + 99u8, + 47u8, + 97u8, + 101u8, + 100u8, + 100u8, + 49u8, + 55u8, + 51u8, + 97u8, + 50u8, + 99u8, + 48u8, + 56u8, + 54u8, + 101u8, + 53u8, + 53u8, + 56u8, + 99u8, + 50u8, + 98u8, + 54u8, + 54u8, + 100u8, + 51u8, + 55u8, + 52u8, + 51u8, + 98u8, + 51u8, + 52u8, + 52u8, + 102u8, + 57u8, + 55u8, + 55u8, + 54u8, + 50u8, + 49u8, + 97u8, + 55u8, + 47u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 99u8, + 111u8, + 114u8, + 101u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 47u8, + 108u8, + 97u8, + 121u8, + 111u8, + 117u8, + 116u8, + 46u8, + 114u8, + 115u8, + 76u8, + 0u8, + 16u8, + 0u8, + 80u8, + 0u8, + 0u8, + 0u8, + 193u8, + 1u8, + 0u8, + 0u8, + 41u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 97u8, + 116u8, + 116u8, + 101u8, + 109u8, + 112u8, + 116u8, + 32u8, + 116u8, + 111u8, + 32u8, + 100u8, + 105u8, + 118u8, + 105u8, + 100u8, + 101u8, + 32u8, + 98u8, + 121u8, + 32u8, + 122u8, + 101u8, + 114u8, + 111u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 128u8, + 0u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 6u8, + 0u8, + 0u8, + 0u8, + 109u8, + 101u8, + 109u8, + 111u8, + 114u8, + 121u8, + 32u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 97u8, + 116u8, + 105u8, + 111u8, + 110u8, + 32u8, + 111u8, + 102u8, + 32u8, + 32u8, + 98u8, + 121u8, + 116u8, + 101u8, + 115u8, + 32u8, + 102u8, + 97u8, + 105u8, + 108u8, + 101u8, + 100u8, + 0u8, + 0u8, + 252u8, + 0u8, + 16u8, + 0u8, + 21u8, + 0u8, + 0u8, + 0u8, + 17u8, + 1u8, + 16u8, + 0u8, + 13u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 115u8, + 116u8, + 100u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 46u8, + 114u8, + 115u8, + 48u8, + 1u8, + 16u8, + 0u8, + 24u8, + 0u8, + 0u8, + 0u8, + 98u8, + 1u8, + 0u8, + 0u8, + 9u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 115u8, + 116u8, + 100u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 112u8, + 97u8, + 110u8, + 105u8, + 99u8, + 107u8, + 105u8, + 110u8, + 103u8, + 46u8, + 114u8, + 115u8, + 88u8, + 1u8, + 16u8, + 0u8, + 28u8, + 0u8, + 0u8, + 0u8, + 134u8, + 2u8, + 0u8, + 0u8, + 30u8, + 0u8, + 0u8, + 0u8, + 3u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 7u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 9u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 8u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 10u8, + 0u8, + 0u8, + 0u8, + 11u8, + 0u8, + 0u8, + 0u8, + 12u8, + 0u8, + 0u8, + 0u8, + 16u8, + 0u8, + 0u8, + 0u8, + 4u8, + 0u8, + 0u8, + 0u8, + 13u8, + 0u8, + 0u8, + 0u8, + 14u8, + 0u8, + 0u8, + 0u8, + 15u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 0u8, + 16u8, + 0u8, + 0u8, + 0u8, + 108u8, + 105u8, + 98u8, + 114u8, + 97u8, + 114u8, + 121u8, + 47u8, + 97u8, + 108u8, + 108u8, + 111u8, + 99u8, + 47u8, + 115u8, + 114u8, + 99u8, + 47u8, + 114u8, + 97u8, + 119u8, + 95u8, + 118u8, + 101u8, + 99u8, + 46u8, + 114u8, + 115u8, + 99u8, + 97u8, + 112u8, + 97u8, + 99u8, + 105u8, + 116u8, + 121u8, + 32u8, + 111u8, + 118u8, + 101u8, + 114u8, + 102u8, + 108u8, + 111u8, + 119u8, + 0u8, + 0u8, + 0u8, + 248u8, + 1u8, + 16u8, + 0u8, + 17u8, + 0u8, + 0u8, + 0u8, + 220u8, + 1u8, + 16u8, + 0u8, + 28u8, + 0u8, + 0u8, + 0u8, + 58u8, + 2u8, + 0u8, + 0u8, + 5u8, + 0u8, + 0u8, + 0u8, + 99u8, + 97u8, + 108u8, + 108u8, + 101u8, + 100u8, + 32u8, + 96u8, + 79u8, + 112u8, + 116u8, + 105u8, + 111u8, + 110u8, + 58u8, + 58u8, + 117u8, + 110u8, + 119u8, + 114u8, + 97u8, + 112u8, + 40u8, + 41u8, + 96u8, + 32u8, + 111u8, + 110u8, + 32u8, + 97u8, + 32u8, + 96u8, + 78u8, + 111u8, + 110u8, + 101u8, + 96u8, + 32u8, + 118u8, + 97u8, + 108u8, + 117u8, + 101u8, + 0u8, + 18u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 0u8, + 1u8, + 0u8, + 0u8, + 0u8, + 19u8, + 0u8, + 0u8, + 0u8, + 48u8, + 48u8, + 48u8, + 49u8, + 48u8, + 50u8, + 48u8, + 51u8, + 48u8, + 52u8, + 48u8, + 53u8, + 48u8, + 54u8, + 48u8, + 55u8, + 48u8, + 56u8, + 48u8, + 57u8, + 49u8, + 48u8, + 49u8, + 49u8, + 49u8, + 50u8, + 49u8, + 51u8, + 49u8, + 52u8, + 49u8, + 53u8, + 49u8, + 54u8, + 49u8, + 55u8, + 49u8, + 56u8, + 49u8, + 57u8, + 50u8, + 48u8, + 50u8, + 49u8, + 50u8, + 50u8, + 50u8, + 51u8, + 50u8, + 52u8, + 50u8, + 53u8, + 50u8, + 54u8, + 50u8, + 55u8, + 50u8, + 56u8, + 50u8, + 57u8, + 51u8, + 48u8, + 51u8, + 49u8, + 51u8, + 50u8, + 51u8, + 51u8, + 51u8, + 52u8, + 51u8, + 53u8, + 51u8, + 54u8, + 51u8, + 55u8, + 51u8, + 56u8, + 51u8, + 57u8, + 52u8, + 48u8, + 52u8, + 49u8, + 52u8, + 50u8, + 52u8, + 51u8, + 52u8, + 52u8, + 52u8, + 53u8, + 52u8, + 54u8, + 52u8, + 55u8, + 52u8, + 56u8, + 52u8, + 57u8, + 53u8, + 48u8, + 53u8, + 49u8, + 53u8, + 50u8, + 53u8, + 51u8, + 53u8, + 52u8, + 53u8, + 53u8, + 53u8, + 54u8, + 53u8, + 55u8, + 53u8, + 56u8, + 53u8, + 57u8, + 54u8, + 48u8, + 54u8, + 49u8, + 54u8, + 50u8, + 54u8, + 51u8, + 54u8, + 52u8, + 54u8, + 53u8, + 54u8, + 54u8, + 54u8, + 55u8, + 54u8, + 56u8, + 54u8, + 57u8, + 55u8, + 48u8, + 55u8, + 49u8, + 55u8, + 50u8, + 55u8, + 51u8, + 55u8, + 52u8, + 55u8, + 53u8, + 55u8, + 54u8, + 55u8, + 55u8, + 55u8, + 56u8, + 55u8, + 57u8, + 56u8, + 48u8, + 56u8, + 49u8, + 56u8, + 50u8, + 56u8, + 51u8, + 56u8, + 52u8, + 56u8, + 53u8, + 56u8, + 54u8, + 56u8, + 55u8, + 56u8, + 56u8, + 56u8, + 57u8, + 57u8, + 48u8, + 57u8, + 49u8, + 57u8, + 50u8, + 57u8, + 51u8, + 57u8, + 52u8, + 57u8, + 53u8, + 57u8, + 54u8, + 57u8, + 55u8, + 57u8, + 56u8, + 57u8, + 57u8, + ], + ); + return Ok(()); + } +} +use _Wars_internal::{Wars, WarsData}; +#[rustc_main] +#[coverage(off)] +pub fn main() -> () { + extern crate test; + test::test_main_static(&[]) +} diff --git a/wars-rt/Cargo.toml b/wars-rt/Cargo.toml new file mode 100644 index 0000000..f41c4de --- /dev/null +++ b/wars-rt/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "wars-rt" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +anyhow = "1.0.86" +castaway = "0.2.2" +derive_more = "0.99.17" +paste = "1.0.15" +tramp = "0.3.0" +tuple_list = "0.1.3" diff --git a/wars-rt/src/func.rs b/wars-rt/src/func.rs new file mode 100644 index 0000000..01fa693 --- /dev/null +++ b/wars-rt/src/func.rs @@ -0,0 +1,202 @@ +use std::sync::Arc; + +use anyhow::Context; +use tramp::{tramp, BorrowRec, Thunk}; +pub trait CtxSpec: Sized { + type ExternRef: Clone; +} +pub enum Value { + I32(u32), + I64(u64), + F32(f32), + F64(f64), + FunRef( + Arc< + dyn for<'a> Fn( + &'a mut C, + Vec>, + ) -> tramp::BorrowRec<'a, anyhow::Result>>> + + 'static, + >, + ), + Null, + ExRef(C::ExternRef), +} +pub fn call_ref<'a, A: CoeVec + 'static, B: CoeVec + 'static, C: CtxSpec + 'static>( + ctx: &'a mut C, + go: Df, + a: A, +) -> tramp::BorrowRec<'a, anyhow::Result> { + // let go: Df = cast(go); + go(ctx, a) +} + +impl Clone for Value { + fn clone(&self) -> Self { + match self { + Self::I32(arg0) => Self::I32(arg0.clone()), + Self::I64(arg0) => Self::I64(arg0.clone()), + Self::F32(arg0) => Self::F32(arg0.clone()), + Self::F64(arg0) => Self::F64(arg0.clone()), + Self::FunRef(arg0) => Self::FunRef(arg0.clone()), + Self::Null => Self::Null, + Self::ExRef(e) => Self::ExRef(e.clone()), + } + } +} +pub trait Coe: Sized { + fn coe(self) -> Value; + fn uncoe(x: Value) -> anyhow::Result; +} +pub fn cast + 'static, B: Coe + 'static, C: CtxSpec>(a: A) -> B { + let a = match castaway::cast!(a, B) { + Ok(b) => return b, + Err(a) => a, + }; + B::uncoe(A::coe(a)).unwrap() +} +impl Coe for Value { + fn coe(self) -> Value { + self + } + + fn uncoe(x: Value) -> anyhow::Result { + Ok(x) + } +} +impl> Coe for Option { + fn coe(self) -> Value { + match self { + None => Value::Null, + Some(d) => d.coe(), + } + } + + fn uncoe(x: Value) -> anyhow::Result { + if let Value::Null = x { + return Ok(None); + } + return Ok(Some(D::uncoe(x)?)); + } +} +macro_rules! coe_impl_prim { + ($a:tt in $b:ident) => { + impl Coe for $a { + fn coe(self) -> Value { + Value::$b(self) + } + fn uncoe(x: Value) -> anyhow::Result { + match x { + Value::$b(a) => Ok(a), + _ => anyhow::bail!("invalid type"), + } + } + } + }; +} +coe_impl_prim!(u32 in I32); +coe_impl_prim!(u64 in I64); +coe_impl_prim!(f32 in F32); +coe_impl_prim!(f64 in F64); +pub trait CoeVec: Sized { + fn coe(self) -> Vec>; + fn uncoe(a: Vec>) -> anyhow::Result; +} +impl CoeVec for () { + fn coe(self) -> Vec> { + vec![] + } + + fn uncoe(a: Vec>) -> anyhow::Result { + Ok(()) + } +} +impl, B: CoeVec> CoeVec for (A, B) { + fn coe(self) -> Vec> { + let mut a = self.1.coe(); + a.push(self.0.coe()); + return a; + } + + fn uncoe(mut a: Vec>) -> anyhow::Result { + let Some(x) = a.pop() else { + anyhow::bail!("list too small") + }; + let y = A::uncoe(x).context("invalid item (note coe lists are REVERSED)")?; + let z = B::uncoe(a)?; + Ok((y, z)) + } +} +pub fn map_rec<'a, T: 'a, U>( + r: BorrowRec<'a, T>, + go: impl FnOnce(T) -> U + 'a, +) -> BorrowRec<'a, U> { + match r { + BorrowRec::Ret(a) => BorrowRec::Ret(go(a)), + BorrowRec::Call(t) => BorrowRec::Call(Thunk::new(move || { + let t = t.compute(); + map_rec(t, go) + })), + } +} +pub type Df = + Arc Fn(&'a mut C, A) -> tramp::BorrowRec<'a, anyhow::Result> + 'static>; + +pub fn da< + A, + B, + C, + F: for<'a> Fn(&'a mut C, A) -> tramp::BorrowRec<'a, anyhow::Result> + 'static, +>( + f: F, +) -> Df { + Arc::new(f) +} + +impl + 'static, B: CoeVec + 'static> Coe for Df { + fn coe(self) -> Value { + pub fn x< + C: CtxSpec, + T: for<'a> Fn( + &'a mut C, + Vec>, + ) -> tramp::BorrowRec<'a, anyhow::Result>>> + + 'static, + >( + a: T, + ) -> T { + return a; + } + Value::FunRef(Arc::new(x(move |ctx, x| { + let x = match A::uncoe(x) { + Ok(x) => x, + Err(e) => return BorrowRec::Ret(Err(e)), + }; + let x = self(ctx, x); + map_rec(x, |a| a.map(|b| b.coe())) + }))) + } + + fn uncoe(x: Value) -> anyhow::Result { + let Value::FunRef(x) = x else { + anyhow::bail!("invalid value") + }; + Ok(Arc::new(move |ctx, a| { + let v = a.coe(); + let v = x(ctx, v); + map_rec(v, |a| a.and_then(B::uncoe)) + })) + } +} +pub trait Call: + for<'a> Fn(&'a mut C, A) -> tramp::BorrowRec<'a, anyhow::Result> + 'static +{ + fn call(&self, c: &mut C, a: A) -> anyhow::Result; +} +impl Fn(&'a mut C, A) -> tramp::BorrowRec<'a, anyhow::Result> + 'static> + Call for T +{ + fn call(&self, c: &mut C, a: A) -> anyhow::Result { + tramp((self)(c, a)) + } +} diff --git a/wars-rt/src/lib.rs b/wars-rt/src/lib.rs new file mode 100644 index 0000000..d3ef81b --- /dev/null +++ b/wars-rt/src/lib.rs @@ -0,0 +1,203 @@ +pub mod func; +use func::CtxSpec; +pub use func::Value; + +pub mod _rexport { + pub use anyhow; + pub use tramp; + pub use tuple_list; +} +macro_rules! int_ty{ + ($int:ty => $p:ident) => { + paste::paste!{ + pub fn [<$p add>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.wrapping_add(b))) + } + pub fn [<$p mul>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.wrapping_mul(b))) + } + pub fn [<$p and>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a & b)) + } + pub fn [<$p or>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a | b)) + } + pub fn [<$p xor>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a ^ b)) + } + pub fn [<$p shl>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a << b)) + } + pub fn [<$p shru>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a >> b)) + } + pub fn [<$p divu>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a / b)) + } + pub fn [<$p rotl>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.rotate_left((b & 0xffffffff) as u32))) + } + pub fn [<$p clz>](a: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.leading_zeros() as $int)) + } + pub fn [<$p ctz>](a: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.trailing_zeros() as $int)) + } + //comparisons + pub fn [<$p eqz>](a: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a == 0{ + 1 + }else{ + 0 + })) + } + pub fn [<$p eq>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a == b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p ne>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a != b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p ltu>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a < b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p gtu>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a > b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p leu>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a <= b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p geu>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if a >= b{ + 1 + }else{ + 0 + })) + } + //signed + pub fn [<$p lts>](a: $int, b: $int) -> anyhow::Result { + let a = a as $p; + let b = b as $p; + Ok(tuple_list::tuple_list!(if a < b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p gts>](a: $int, b: $int) -> anyhow::Result { + let a = a as $p; + let b = b as $p; + Ok(tuple_list::tuple_list!(if a > b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p les>](a: $int, b: $int) -> anyhow::Result { + let a = a as $p; + let b = b as $p; + Ok(tuple_list::tuple_list!(if a <= b{ + 1 + }else{ + 0 + })) + } + pub fn [<$p ges>](a: $int, b: $int) -> anyhow::Result { + let a = a as $p; + let b = b as $p; + Ok(tuple_list::tuple_list!(if a >= b{ + 1 + }else{ + 0 + })) + } + + pub fn [<$p sub>](a: $int, b: $int) -> anyhow::Result { + Ok(tuple_list::tuple_list!(a.wrapping_sub(b))) + } + //LOADS and STORES + pub fn [<$p load>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = &a[b.try_into()?..][..std::mem::size_of::<$int>()]; + Ok(tuple_list::tuple_list!($int::from_ne_bytes(r.try_into()?))) + } + pub fn [<$p store>]>(a: &mut Vec, b: T, c: $int) -> anyhow::Result<()> where T::Error: std::error::Error + Send + Sync + 'static{ + let mut r = &mut a[b.try_into()?..][..std::mem::size_of::<$int>()]; + r.copy_from_slice(&c.to_ne_bytes()); + Ok(()) + } + //8 BIT + pub fn [<$p load8u>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = a[b.try_into()?..][0]; + Ok(tuple_list::tuple_list!(r as $int)) + } + pub fn [<$p load8s>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = a[b.try_into()?..][0]; + Ok(tuple_list::tuple_list!(r as i8 as $p as $int)) + } + pub fn [<$p store8>]>(a: &mut Vec, b: T, c: $int) -> anyhow::Result<()> where T::Error: std::error::Error + Send + Sync + 'static{ + let mut r = &mut a[b.try_into()?..][..1]; + r[0] = (c & 0xff) as u8; + Ok(()) + } + //16 BIT + pub fn [<$p load16u>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = &a[b.try_into()?..][..2]; + let r = u16::from_ne_bytes(r.try_into()?); + Ok(tuple_list::tuple_list!(r as $int)) + } + pub fn [<$p load16s>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = &a[b.try_into()?..][..2]; + let r = u16::from_ne_bytes(r.try_into()?); + Ok(tuple_list::tuple_list!(r as i16 as $p as $int)) + } + pub fn [<$p store16>]>(a: &mut Vec, b: T, c: $int) -> anyhow::Result<()> where T::Error: std::error::Error + Send + Sync + 'static{ + let mut r = &mut a[b.try_into()?..][..2]; + r.copy_from_slice(&((c & 0xff) as u16).to_ne_bytes()); + Ok(()) + } + //32 BIT + pub fn [<$p load32u>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = &a[b.try_into()?..][..4]; + let r = u32::from_ne_bytes(r.try_into()?); + Ok(tuple_list::tuple_list!(r as $int)) + } + pub fn [<$p load32s>]>(a: &mut Vec, b: T) -> anyhow::Result where T::Error: std::error::Error + Send + Sync + 'static{ + let r = &a[b.try_into()?..][..4]; + let r = u32::from_ne_bytes(r.try_into()?); + Ok(tuple_list::tuple_list!(r as i32 as $p as $int)) + } + pub fn [<$p store32>]>(a: &mut Vec, b: T, c: $int) -> anyhow::Result<()> where T::Error: std::error::Error + Send + Sync + 'static{ + let mut r = &mut a[b.try_into()?..][..4]; + r.copy_from_slice(&((c & 0xffffff) as u32).to_ne_bytes()); + Ok(()) + } + } + } +} +int_ty!(u32 => i32); +int_ty!(u64 => i64); +pub fn select(u: u32, t: T, t2: T) -> anyhow::Result { + Ok(tuple_list::tuple_list!(if u != 0 { t } else { t2 })) +} +pub fn i32wrapi64(a: u64) -> anyhow::Result { + return Ok(tuple_list::tuple_list!((a & 0xffffffff) as u32)); +} \ No newline at end of file diff --git a/wars-test/Cargo.toml b/wars-test/Cargo.toml new file mode 100644 index 0000000..7406d65 --- /dev/null +++ b/wars-test/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "wars-test" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] + +[lib] +crate-type = ["cdylib"] \ No newline at end of file diff --git a/wars-test/build.sh b/wars-test/build.sh new file mode 100644 index 0000000..0017e5c --- /dev/null +++ b/wars-test/build.sh @@ -0,0 +1,2 @@ +cd $(dirname $0) +cargo build --target wasm32-unknown-unknown \ No newline at end of file diff --git a/wars-test/src/lib.rs b/wars-test/src/lib.rs new file mode 100644 index 0000000..5b68b78 --- /dev/null +++ b/wars-test/src/lib.rs @@ -0,0 +1,8 @@ +#[no_mangle] +pub fn add(left: usize, right: usize) -> usize { + left + right +} +#[no_mangle] +pub fn memory_op(a: &str) -> String{ + return a.to_owned(); +} \ No newline at end of file diff --git a/wars/Cargo.toml b/wars/Cargo.toml new file mode 100644 index 0000000..b881052 --- /dev/null +++ b/wars/Cargo.toml @@ -0,0 +1,14 @@ +[package] +name = "wars" +version = "0.1.0" +edition = "2021" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +portal-pc-waffle.workspace = true +proc-macro2 = "1.0.85" +quote = "1.0.36" +relooper = "0.1.0" +syn = "2.0.66" + diff --git a/wars/src/lib.rs b/wars/src/lib.rs new file mode 100644 index 0000000..80fca45 --- /dev/null +++ b/wars/src/lib.rs @@ -0,0 +1,1007 @@ +use std::{convert::Infallible, iter::once, sync::Arc}; + +use proc_macro2::{Span, TokenStream}; +use quote::{format_ident, quote}; +use relooper::{reloop, BranchMode, ShapedBlock}; +use syn::{Ident, Lifetime}; +use waffle::{ + cfg::CFGInfo, entity::EntityRef, Block, BlockTarget, ExportKind, Func, ImportKind, Memory, + Module, Operator, Signature, SignatureData, Type, Value, +}; +pub mod unswitch; +pub fn mangle_value(a: Value, b: usize) -> Ident { + if b == 0 { + format_ident!("{a}") + } else { + format_ident!("{a}p{}", b - 1) + } +} +pub fn bindname(a: &str) -> String { + let mut v = vec![]; + for k in a.chars() { + if k.is_alphanumeric() { + v.push(k) + } else { + v.extend(format!("_{}_", k as u32).chars()); + } + } + return v.into_iter().collect(); +} +// pub trait ImportCfg { +// fn import(&self, module: &str, name: &str) -> TokenStream; +// } +pub const INTRINSIC: &'static str = "wars_intrinsic/"; +impl Opts> { + pub fn import( + &self, + module: &str, + name: &str, + params: impl Iterator, + ) -> TokenStream { + let root = self.crate_path.clone(); + let Some(a) = module.strip_prefix(INTRINSIC) else { + let id = format_ident!("{}_{}", bindname(module), bindname(name)); + return quote! { + ctx.#id(#(#params),*) + }; + }; + quote! {} + } + pub fn render_ty(&self, ctx: &TokenStream, ty: Type) -> TokenStream { + let root = self.crate_path.clone(); + match ty { + Type::I32 => quote! {u32}, + Type::I64 => quote! {u64}, + Type::F32 => quote! {f32}, + Type::F64 => quote! {f64}, + Type::V128 => quote! {u128}, + Type::TypedFuncRef { + nullable, + sig_index, + } => { + let data = &self.module.signatures[sig_index]; + let params = data.params.iter().map(|x| self.render_ty(ctx, *x)); + let returns = data.returns.iter().map(|x| self.render_ty(ctx, *x)); + let mut x = quote! { + #root::func::Df<#root::_rexport::tuple_list::tuple_list_type!(#(#params),*),#root::_rexport::tuple_list::tuple_list_type!(#(#returns),*),#ctx> + }; + if nullable { + x = quote! { + Option<#x> + } + } + x + } + _ => quote! {#root::func::Value<#ctx>}, + } + } + pub fn render_generics(&self, ctx: &TokenStream, data: &SignatureData) -> TokenStream { + let root = self.crate_path.clone(); + let params = data.params.iter().map(|x| self.render_ty(ctx, *x)); + let param_ids = data + .params + .iter() + .enumerate() + .map(|(a, _)| format_ident!("p{a}")); + let returns = data.returns.iter().map(|x| self.render_ty(ctx, *x)); + quote! { + #root::_rexport::tuple_list::tuple_list_type!(#(#params),*),#root::_rexport::tuple_list::tuple_list_type!(#(#returns),*) + } + } + pub fn render_fn_sig(&self, name: Ident, data: &SignatureData) -> TokenStream { + let root = self.crate_path.clone(); + let base = self.name.clone(); + let ctx = quote! {C}; + // let data = &self.module.signatures[sig_index]; + let params = data.params.iter().map(|x| self.render_ty(&ctx, *x)); + let param_ids = data + .params + .iter() + .enumerate() + .map(|(a, _)| format_ident!("p{a}")); + let returns = data.returns.iter().map(|x| self.render_ty(&ctx, *x)); + + quote! { + fn #name<'a,C: #base + 'static>(ctx: &'a mut C, #root::_rexport::tuple_list::tuple_list!(#(#param_ids),*): #root::_rexport::tuple_list::tuple_list_type!(#(#params),*)) -> #root::_rexport::tramp::BorrowRec<'a,#root::_rexport::anyhow::Result<#root::_rexport::tuple_list::tuple_list_type!(#(#returns),*)>> + } + } + pub fn render_fun_ref(&self, ctx: &TokenStream, x: Func) -> TokenStream { + let root = self.crate_path.clone(); + if x.is_invalid() { + return quote! { + #root::func::da::<(),(),C,_>(|ctx,arg|panic!("invalid func")) + }; + } + let generics = + self.render_generics(ctx, &self.module.signatures[self.module.funcs[x].sig()]); + let x = format_ident!("{x}"); + quote! { + #root::func::da::<#generics,C,_>(|ctx,arg|#x(ctx,arg)) + } + } + pub fn render_self_sig( + &self, + name: Ident, + wrapped: Ident, + data: &SignatureData, + ) -> TokenStream { + let root = self.crate_path.clone(); + let base = self.name.clone(); + let ctx = quote! {Self}; + // let data = &self.module.signatures[sig_index]; + let params = data.params.iter().map(|x| self.render_ty(&ctx, *x)); + let param_ids = data + .params + .iter() + .enumerate() + .map(|(a, _)| format_ident!("p{a}")) + .collect::>(); + + let returns = data.returns.iter().map(|x| self.render_ty(&ctx, *x)); + + quote! { + fn #name<'a>(self: &'a mut Self, #root::_rexport::tuple_list::tuple_list!(#(#param_ids),*): #root::_rexport::tuple_list::tuple_list_type!(#(#params),*)) -> #root::_rexport::tramp::BorrowRec<'a,#root::_rexport::anyhow::Result<#root::_rexport::tuple_list::tuple_list_type!(#(#returns),*)>> where Self: 'static{ + return #wrapped(self,#root::_rexport::tuple_list::tuple_list!(#(#param_ids),*)); + } + } + } + pub fn render_self_sig_import(&self, name: Ident, data: &SignatureData) -> TokenStream { + let root = self.crate_path.clone(); + let base = self.name.clone(); + let ctx = quote! {Self}; + // let data = &self.module.signatures[sig_index]; + let params = data.params.iter().map(|x| self.render_ty(&ctx, *x)); + let param_ids = data + .params + .iter() + .enumerate() + .map(|(a, _)| format_ident!("p{a}")) + .collect::>(); + + let returns = data.returns.iter().map(|x| self.render_ty(&ctx, *x)); + + quote! { + fn #name<'a>(self: &'a mut Self, #root::_rexport::tuple_list::tuple_list!(#(#param_ids),*): #root::_rexport::tuple_list::tuple_list_type!(#(#params),*)) -> #root::_rexport::tramp::BorrowRec<'a,#root::_rexport::anyhow::Result<#root::_rexport::tuple_list::tuple_list_type!(#(#returns),*)>>; + } + } + pub fn render_relooped_block(&self, f: Func, x: &ShapedBlock) -> TokenStream { + let root = self.crate_path.clone(); + let b = self.module.funcs[f].body().unwrap(); + match x { + ShapedBlock::Simple(s) => { + let stmts = s.label; + fn term(b: &BranchMode) -> TokenStream { + match b { + relooper::BranchMode::LoopBreak(l) => { + let l = Lifetime::new(&format!("'l{}", l), Span::call_site()); + quote! { + break #l; + } + } + relooper::BranchMode::LoopBreakIntoMulti(l) => { + let l = Lifetime::new(&format!("'l{}", l), Span::call_site()); + quote! { + break #l; + } + } + relooper::BranchMode::LoopContinue(l) => { + let l = Lifetime::new(&format!("'l{}", l), Span::call_site()); + quote! { + continue #l; + } + } + relooper::BranchMode::LoopContinueIntoMulti(l) => { + let l = Lifetime::new(&format!("'l{}", l), Span::call_site()); + quote! { + continue #l; + } + } + relooper::BranchMode::MergedBranch => { + quote! {} + } + relooper::BranchMode::MergedBranchIntoMulti => quote! {}, + relooper::BranchMode::SetLabelAndBreak => quote! { + break 'cff; + }, + } + } + if stmts.is_invalid() { + let immediate = s + .immediate + .as_ref() + .map(|a| self.render_relooped_block(f, a.as_ref())) + .unwrap_or_default(); + let next = s + .next + .as_ref() + .map(|a| self.render_relooped_block(f, a.as_ref())) + .unwrap_or_default(); + let term2 = term( + &s.branches + .get(&b.entry) + .cloned() + .unwrap_or(relooper::BranchMode::MergedBranch), + ); + return quote! { + #term2; + #immediate; + #next; + }; + } + let stmts = b.blocks[stmts].params.iter().map(|a|&a.1).chain(b.blocks[stmts].insts.iter()).map(|a|{ + let av = b.values[*a].tys(&b.type_pool).iter().enumerate().map(|b|mangle_value(*a,b.0)); + let b = match &b.values[*a]{ + waffle::ValueDef::BlockParam(k, i, _) => { + let a = format_ident!("{k}param{i}"); + quote! { + #root::_rexport::tuple_list::tuple_list!(#a.clone()) + } + }, + waffle::ValueDef::Operator(o, vals, _) => { + let vals = &b.arg_pool[*vals]; + match o{ + Operator::I32Const { value } => quote! { + #root::_rexport::tuple_list::tuple_list!(#value) + }, + Operator::I64Const { value } => quote!{ + #root::_rexport::tuple_list::tuple_list!(#value) + }, + Operator::Call { function_index } => { + match self.module.funcs[*function_index].body(){ + Some(_) => { + let func = format_ident!("{function_index}"); + let vals = vals.iter().map(|a|format_ident!("{a}")); + quote! { + match #root::_rexport::tramp::tramp(#func(ctx,#root::_rexport::tuple_list::tuple_list!(#(#root::func::cast::<_,_,C>(#vals .clone())),*))){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + }, + None => { + let i = self + .module + .imports + .iter() + .find(|a| a.kind == ImportKind::Func(*function_index)) + .unwrap(); + let x = self.import( + i.module.as_str(), + i.name.as_str(), + vals.iter().map(|a|format_ident!("{a}")).map(|a| quote! {#a}), + ); + quote!{ + match #root::_rexport::tramp::tramp(x){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + } + } + }, + Operator::CallRef { sig_index } => { + let mut vals = vals.to_owned(); + let r = vals.pop().unwrap(); + // let func = format_ident!("{function_index}"); + let vals = vals.iter().map(|a|format_ident!("{a}")); + let r = format_ident!("{r}"); + let g = self.render_generics("e! {c}, &self.module.signatures[*sig_index]); + quote! { + match #root::_rexport::tramp::tramp(#root::func::call_ref::<#g,C>(ctx,#root::func::cast(#r.clone()),#root::_rexport::tuple_list::tuple_list!(#(#root::func::cast::<_,_,C>(#vals .clone())),*))){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + }, + Operator::CallIndirect { sig_index, table_index } => { + let t = format_ident!("{table_index}"); + let mut vals = vals.to_owned(); + let r = vals.pop().unwrap(); + // let func = format_ident!("{function_index}"); + let vals = vals.iter().map(|a|format_ident!("{a}")); + let r = format_ident!("{r}"); + let r = quote! { + ctx.#t()[#r as usize] + }; + let g = self.render_generics("e! {c}, &self.module.signatures[*sig_index]); + quote! { + match #root::_rexport::tramp::tramp(#root::func::call_ref::<#g,C>(ctx,#root::func::cast(#r.clone()),#root::_rexport::tuple_list::tuple_list!(#(#root::func::cast::<_,_,C>(#vals .clone())),*))){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + }, + Operator::RefFunc { func_index } => { + self.render_fun_ref("e! {C},*func_index) + }, + waffle::Operator::MemorySize { mem } => { + let rt = if self.module.memories[*mem].memory64{ + quote! {u64} + }else{ + quote! {u32} + }; + let m = Ident::new(&mem.to_string(), Span::call_site()); + quote! { + #root::_rexport::tuple_list::tuple_list!((ctx.#m().len() / 65536) as #rt) + } + } + waffle::Operator::MemoryGrow { mem } => { + let m = Ident::new(&mem.to_string(), Span::call_site()); + let a = vals[0]; + let a = format_ident!("{a}"); + let rt = if self.module.memories[*mem].memory64{ + quote! {u64} + }else{ + quote! {u32} + }; + quote! { + { + let vn = ctx.#m().len() / 65536; + let l = ctx.#m().len(); + ctx.#m().resize(l + (#a .clone() as usize) * 65536,0); + #root::_rexport::tuple_list::tuple_list!(vn as #rt) + } + } + }, + waffle::Operator::MemoryCopy { dst_mem, src_mem } => { + let dst = format_ident!("{dst_mem}"); + let src = format_ident!("{src_mem}"); + let dst_ptr = format_ident!("{}",vals[0].to_string()); + let src_ptr = format_ident!("{}",vals[1].to_string()); + let len = format_ident!("{}",vals[2].to_string()); + quote!{ + { + let m = ctx.#src()[(#src_ptr as usize)..][..(#len as usize)].to_owned(); + ctx.#dst()[(#dst_ptr as usize)..][..(#len as usize)].copy_from_slice(&m); + () + } + } + }, + waffle::Operator::GlobalGet { global_index } => { + let g = Ident::new(&global_index.to_string(), Span::call_site()); + quote!{ + #root::_rexport::tuple_list::tuple_list!(*ctx.#g()) + } + } + waffle::Operator::GlobalSet { global_index } => { + let g = Ident::new(&global_index.to_string(), Span::call_site()); + let r = vals[0]; + let r = format_ident!("{r}"); + quote!{ + { + *ctx.#g() = #r; + () + } + } + } + _ if waffle::op_traits::mem_count(o) == 1 => { + let mut mem = Memory::invalid(); + waffle::op_traits::rewrite_mem(&mut o.clone(), &mut [();4], |m,_|{ + mem = *m; + Ok::<(),Infallible>(()) + }).unwrap(); + // let clean = o.to_string(); + let clean = format_ident!("{}",o.to_string().split_once("<").unwrap().0); + let m2 = mem; + let mem = format_ident!("{mem}"); + let mut vals = vals.iter().map(|a|format_ident!("{a}")); + let rt = if self.module.memories[m2].memory64{ + quote! {u64} + }else{ + quote! {u32} + }; + let offset = waffle::op_traits::memory_arg(o).unwrap().offset; + let offset = if self.module.memories[m2].memory64{ + quote! {#offset} + } else{ + let offset = offset as u32; + quote! {#offset} + }; + let val = vals.next().unwrap(); + let vals = once(quote! {(#val.clone() + #offset)}).chain(vals.map(|w|quote!{#w})); + quote! { + match #root::#clean::<#rt>(ctx.#mem(),#(#root::func::cast::<_,_,C>(#vals .clone())),*){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + }, + Operator::Select | Operator::TypedSelect { .. } => { + let vals: Vec<_> = vals.iter().map(|a|format_ident!("{a}")).collect(); + let cond = vals[0].clone(); + let then = vals[1].clone(); + let els = vals[2].clone(); + quote!{ + #root::_rexport::tuple_list::tuple_list!(if #cond != 0{ + #then + }else{ + #els + }) + } + }, + _ => { + // let clean = o.to_string(); + let clean = format_ident!("{o}"); + let vals = vals.iter().map(|a|format_ident!("{a}")); + quote! { + match #root::#clean(#(#root::func::cast::<_,_,C>(#vals .clone())),*){ + Ok(a) => a, + Err(e) => return #root::_rexport::tramp::BorrowRec::Ret(Err(e)) + } + } + } + } + }, + waffle::ValueDef::PickOutput(w, i, _) => { + let w = mangle_value(*w, *i as usize); + quote! { + #root::_rexport::tuple_list::tuple_list!(#w) + } + }, + waffle::ValueDef::Alias(w) => { + let w = format_ident!("{w}"); + quote! { + #root::_rexport::tuple_list::tuple_list!(#w) + } + }, + waffle::ValueDef::Placeholder(_) => todo!(), + waffle::ValueDef::Trace(_, _) => todo!(), + waffle::ValueDef::None => todo!(), + }; + quote! { + let #root::_rexport::tuple_list::tuple_list!(#(#av),*) = #b + } + }); + let render_target = |k: &BlockTarget| { + let vars = k.args.iter().enumerate().map(|(i, a)| { + let a = format_ident!("{a}"); + let i = format_ident!("{}param{i}", k.block.to_string()); + quote! { + #i = #a; + } + }); + let br = term( + &s.branches + .get(&k.block) + .cloned() + .unwrap_or(relooper::BranchMode::MergedBranch), + ); + let bi = k.block.index(); + quote! { + #(#vars);*; + cff = #bi; + #br + } + }; + let term = match &b.blocks[s.label].terminator { + waffle::Terminator::Br { target } => render_target(target), + waffle::Terminator::CondBr { + cond, + if_true, + if_false, + } => { + let if_true = render_target(if_true); + let if_false = render_target(if_false); + let cond = format_ident!("{cond}"); + quote! { + if #cond != 0{ + #if_true + }else{ + #if_false + } + } + } + waffle::Terminator::Select { + value, + targets, + default, + } => { + let value = format_ident!("{value}"); + let default = render_target(default); + let targets = + targets + .iter() + .map(&render_target) + .enumerate() + .map(|(a, b)| { + quote! { + #a => {#b} + } + }); + quote! { + match #value as usize{ + #(#targets),*, + _ => {#default}, + } + } + } + waffle::Terminator::Return { values } => { + // let values = values.iter().map(|v| format_ident!("{v}")); + let values = b.rets.iter().enumerate().map(|(a, _)| match values.get(a) { + Some(v) => { + let v = format_ident!("{v}"); + quote! { + #v + } + } + None => { + quote! { + ::std::default::Default::default() + } + } + }); + quote! { + return #root::_rexport::tramp::BorrowRec::Ret(Ok(#root::_rexport::tuple_list::tuple_list!(#(#values),*))) + } + } + waffle::Terminator::ReturnCall { func, args } => { + match self.module.funcs[*func].body() { + Some(_) => { + let values = args.iter().map(|v| format_ident!("{v}")); + let func = format_ident!("{func}"); + quote! { + return #root::_rexport::tramp::BorrowRec::Call(#root::_rexport::tramp::Thunk::new(move||{ + #func(ctx,#root::_rexport::tuple_list::tuple_list!(#(#values),*)) + })) + } + } + None => { + let i = self + .module + .imports + .iter() + .find(|a| a.kind == ImportKind::Func(*func)) + .unwrap(); + let x = self.import( + i.module.as_str(), + i.name.as_str(), + args.iter() + .map(|a| format_ident!("{a}")) + .map(|a| quote! {#a}), + ); + quote! { + return #root::_rexport::tramp::BorrowRec::Call(#root::_rexport::tramp::Thunk::new(move||{#x})) + } + } + } + } + waffle::Terminator::ReturnCallIndirect { sig, table, args } => { + let t = format_ident!("{table}"); + let mut vals = args.to_owned(); + let r = vals.pop().unwrap(); + // let func = format_ident!("{function_index}"); + let vals = vals.iter().map(|a| format_ident!("{a}")); + let r = format_ident!("{r}"); + let r = quote! { + ctx.#t()[#r as usize] + }; + let g = self.render_generics("e! {c}, &self.module.signatures[*sig]); + quote! { + return #root::_rexport::tramp::BorrowRec::Call(#root::_rexport::tramp::Thunk::new(move||{ + #root::func::call_ref::<#g,C>(ctx,#root::func::cast(#r.clone()),#root::_rexport::tuple_list::tuple_list!(#(#root::func::cast::<_,_,C>(#vals .clone())),*)) + })) + } + } + waffle::Terminator::ReturnCallRef { sig, args } => { + let mut vals = args.clone(); + let r = vals.pop().unwrap(); + // let func = format_ident!("{function_index}"); + let vals = vals.iter().map(|a| format_ident!("{a}")); + let r = format_ident!("{r}"); + let g = self.render_generics("e! {c}, &self.module.signatures[*sig]); + quote! { + return #root::_rexport::tramp::BorrowRec::Call(#root::_rexport::tramp::Thunk::new(move||{ + #root::func::call_ref::<#g,C>(ctx,#root::func::cast(#r.clone()),#root::_rexport::tuple_list::tuple_list!(#(#root::func::cast::<_,_,C>(#vals .clone())),*)) + })) + } + } + waffle::Terminator::Unreachable => quote! { + unreachable!() + }, + waffle::Terminator::None => panic!("none block terminator"), + }; + + let immediate = s + .immediate + .as_ref() + .map(|a| self.render_relooped_block(f, a.as_ref())) + .unwrap_or_default(); + let next = s + .next + .as_ref() + .map(|a| self.render_relooped_block(f, a.as_ref())) + .unwrap_or_default(); + quote! { + #(#stmts);*; + #term; + #immediate; + #next; + } + } + ShapedBlock::Loop(l) => { + let r = self.render_relooped_block(f, &l.inner.as_ref()); + let next = l + .next + .as_ref() + .map(|a| self.render_relooped_block(f, a.as_ref())) + .unwrap_or_default(); + let l = Lifetime::new(&format!("'l{}", l.loop_id), Span::call_site()); + quote! { + #l : loop{ + #r + }; + #next; + } + } + ShapedBlock::Multiple(k) => { + let initial = k.handled.iter().enumerate().flat_map(|(a, b)| { + b.labels.iter().map(move |l| { + let l = l.index(); + quote! { + #l => #a + } + }) + }); + let cases = k.handled.iter().enumerate().map(|(a, i)| { + let ib = self.render_relooped_block(f, &i.inner); + let ic = if i.break_after { + quote! {} + } else { + quote! { + cff2 += 1; + continue 'cff + } + }; + quote! { + #a => { + #ib; + #ic; + } + } + }); + quote! { + let mut cff2 = match cff{ + #(#initial),*, + _ => unreachable!() + }; + 'cff: loop{ + match cff2{ + #(#cases),*, + _ => unreachable!() + }; + break 'cff; + }; + } + } + } + } + pub fn render_fn(&self, f: Func) -> TokenStream { + let name = format_ident!("{f}"); + let sig = self.render_fn_sig( + name.clone(), + &self.module.signatures[self.module.funcs[f].sig()], + ); + let root = self.crate_path.clone(); + let Some(b) = self.module.funcs[f].body() else { + let fsig = self.module.funcs[f].sig(); + let fsig = &self.module.signatures[fsig]; + let params = fsig + .params + .iter() + .enumerate() + .map(|(a, _)| format_ident!("p{a}")); + let i = self + .module + .imports + .iter() + .find(|a| a.kind == ImportKind::Func(f)) + .unwrap(); + let x = self.import( + i.module.as_str(), + i.name.as_str(), + params.map(|a| quote! {#a}), + ); + return quote! { + #sig { + return #x; + } + }; + }; + let cfg = CFGInfo::new(b); + // let values = b.values.entries().flat_map(|(a, d)| { + // return d + // .tys(&b.type_pool) + // .iter() + // .map(move |ty| self.render_ty("e! {c}, *ty)) + // .chain(once(quote! { + // () = () + // })) + // .enumerate() + // .map(move |(i, ty)| { + // let a = mangle_value(a, i); + // quote! { + // #a: #ty + // } + // }); + // }); + let bpvalues = b.blocks.entries().flat_map(|(k, d)| { + d.params.iter().enumerate().map(move |(i, (ty, _))| { + let x = match ty { + Type::TypedFuncRef { + nullable, + sig_index, + } if !nullable => self.render_fun_ref("e! {C}, Func::invalid()), + _ => quote! { + Default::default() + }, + }; + let ty = self.render_ty("e! {c}, ty.clone()); + let a = format_ident!("{k}param{i}"); + if k == b.entry { + let p = format_ident!("p{i}"); + quote! { + #a: #ty = #p + } + } else { + quote! { + #a: #ty = #x + } + } + }) + }); + let reloop = std::panic::catch_unwind(|| { + reloop( + b.blocks + .entries() + .filter(|k| cfg.dominates(b.entry, k.0)) + .map(|(k, l)| { + ( + k, + l.succs + .iter() + .cloned() + .chain(b.blocks.iter().filter(|x| cfg.dominates(*x, k))) + .collect(), + ) + }) + .chain(once((Block::invalid(), vec![b.entry]))) + .collect(), + Block::invalid(), + ) + }); + let reloop = match reloop { + Ok(a) => a, + Err(e) => { + panic!( + "reloop failure ({}) in {}", + e.downcast_ref::<&str>() + .map(|a| *a) + .unwrap_or("unknown panic"), + b.display("", None) + ); + } + }; + let x = self.render_relooped_block(f, reloop.as_ref()); + quote! { + #sig { + let mut cff: usize = 0; + #(let mut #bpvalues);*; + #x; + panic!("should have returned"); + } + } + } +} +pub struct Opts { + pub crate_path: syn::Path, + pub module: B, + pub name: Ident, + // pub cfg: Arc, +} +pub fn go(opts: &Opts>) -> proc_macro2::TokenStream { + let mut module = waffle::Module::from_wasm_bytes(&opts.module, &Default::default()).unwrap(); + module.expand_all_funcs().unwrap(); + let mut module = module.without_orig_bytes(); + // module.per_func_body(|b|unswitch::go(b)); //TODO: reloop better and make it not needed + // eprintln!("{}",module.display()); + module.per_func_body(|f| f.convert_to_max_ssa(None)); + let internal_path = format_ident!("_{}_internal", opts.name); + let data = format_ident!("{}Data", opts.name); + let name = opts.name.clone(); + let opts = Opts { + crate_path: opts.crate_path.clone(), + module, + name: name.clone(), + // cfg: opts.cfg.clone(), + }; + let root = opts.crate_path.clone(); + let funcs = opts.module.funcs.iter().map(|a| opts.render_fn(a)); + let mut z = vec![]; + let mut fields = vec![]; + let mut fs = vec![]; + let mut init = vec![]; + for (t, d) in opts.module.tables.entries() { + // let dty = opts.render_ty("e! {Target}, d.ty.clone()); + let n = Ident::new(&t.to_string(), Span::call_site()); + z.push(quote! { + #n: Vec<#root::func::Value> + }); + fields.push(n.clone()); + if let Some(e) = d.func_elements.as_ref() { + let e = e.iter().map(|x| opts.render_fun_ref("e! {C}, *x)); + init.push(quote! { + #(ctx.data().#n.push(#root::func::Coe::coe(#e)));*; + }) + } + fs.push(quote! { + fn #n(&mut self) -> &mut Vec<#root::func::Value>{ + &mut self.data().#n + } + }) + } + // eprintln!("before globals"); + for (g, d) in opts.module.globals.entries() { + let n = Ident::new(&g.to_string(), Span::call_site()); + let t = opts.render_ty("e! {Target}, d.ty.clone()); + z.push(quote! { + #n : #t + }); + fields.push(n.clone()); + fs.push(quote! { + fn #n<'a>(&'a mut self) -> &'a mut #t{ + return &mut self.data().#n; + } + }); + if let Some(v) = d.value.clone() { + init.push(quote! { + *ctx.#n() = (#v as #t); + }) + } + } + for (me, d) in opts.module.memories.entries() { + // let mut p = vec![]; + // let mut pk = 0; + // for s in d.segments.clone() { + // let f = s.clone().offset; + // pk = pk.max(s.data.len() + f); + // p.resize(p.len().max(pk + 1), 0); + // for (i, d) in s.data.into_iter().enumerate() { + // p[i + f] = d; + // } + // } + let mut import = None; + for imp in opts.module.imports.iter() { + if imp.kind == ImportKind::Memory(me) { + import = Some((imp.module.clone(), imp.name.clone())); + } + } + let n = Ident::new(&me.to_string(), Span::call_site()); + match import { + None => { + z.push(quote! { + #n : Vec + }); + fields.push(n.clone()); + fs.push(quote! { + fn #n<'a>(&'a mut self) -> &'a mut Vec{ + return &mut self.data().#n; + } + }); + } + Some((a, b)) => { + // let a = bindname(&a); + // let b = bindname(&b); + let m = Ident::new(&format!("{a}_{b}"), Span::call_site()); + fs.push(quote! { + fn #m<'a>(&'a mut self) -> &'a mut Vec; + fn #n<'a>(&'a mut self) -> &'a mut Vec{ + return self.#m(); + } + }); + } + } + let pk = d.initial_pages * 65536; + init.push(quote! { + let l = #pk.max(ctx.#n().len()); + ctx.#n().resize(l,0); + }); + for s in d.segments.clone() { + for (i, d) in s.data.chunks(65536).enumerate() { + let o = s.offset + i * 65536; + let pk = o + d.len(); + let pk = pk + 1; + // let mut out = out_dir(); + // let mut h = ::sha3::Sha3_256::new(); + // h.update(&p); + // let h = h.finalize(); + // let h = format!("{:x}.segment", h); + // out.push(h); + // std::fs::write(out.clone(), p)?; + // let out_str = out.to_str().unwrap().to_owned(); + // eprintln!("emuitting data"); + init.push(quote! { + ctx.#n()[#o..#pk].copy_from_slice(&[#(#d),*]) + }); + } + } + } + for xp in opts.module.exports.iter() { + match &xp.kind { + ExportKind::Func(f) => { + let f = *f; + let d = opts.render_self_sig( + format_ident!("{}", xp.name), + format_ident!("{f}"), + &opts.module.signatures[opts.module.funcs[f].sig()], + ); + fs.push(quote! { + #d + }); + } + ExportKind::Table(t) => { + let d = &opts.module.tables[*t]; + let tt = opts.render_ty("e! {Self}, d.ty); + let x = Ident::new(&t.to_string(), Span::call_site()); + let mn = Ident::new(&xp.name, Span::call_site()); + let i = quote! { + fn #mn(&mut self) -> &mut Vec<#tt>{ + return &mut self.z().#x; + } + }; + fs.push(i); + } + ExportKind::Global(g) => { + let d = &opts.module.globals[*g]; + let t = opts.render_ty("e! {Self}, d.ty); + let x = Ident::new(&g.to_string(), Span::call_site()); + let mn = Ident::new(&xp.name, Span::call_site()); + let i = quote! { + fn #mn(&mut self) -> &mut #t{ + return self.#x() + } + }; + fs.push(i); + } + ExportKind::Memory(m) => { + let x = Ident::new(&m.to_string(), Span::call_site()); + let mn = Ident::new(&xp.name, Span::call_site()); + let i = quote! { + fn #mn(&mut self) -> &mut Vec{ + return self.#x() + } + }; + fs.push(i); + } + } + } + for i in opts.module.imports.iter() { + if i.module.starts_with(INTRINSIC) { + continue; + } + if let ImportKind::Func(f) = &i.kind { + let name = format_ident!("{}_{}", bindname(&i.module), bindname(&i.name)); + fs.push(opts.render_self_sig_import( + name, + &opts.module.signatures[opts.module.funcs[*f].sig()], + )); + } + } + quote! { + mod #internal_path{ + #(#funcs)* + pub struct #data{ + #(#z),* + } + pub trait #name: #root::func::CtxSpec{ + fn data(&mut self) -> &mut #data; + #(#fs)* + + } + pub fn init(ctx: &mut C) -> #root::_rexport::anyhow::Result<()>{ + #(#init);*; + return Ok(()) + } + } + use #internal_path::{#name,#data}; + } +} diff --git a/wars/src/unswitch.rs b/wars/src/unswitch.rs new file mode 100644 index 0000000..e7efc5e --- /dev/null +++ b/wars/src/unswitch.rs @@ -0,0 +1,74 @@ +use std::iter::empty; + +use waffle::{ + Block, ExportKind, Func, FuncDecl, Import, ImportKind, Memory, MemoryArg, MemoryData, Module, + Operator, Signature, SignatureData, Table, Type, Value, ValueDef, +}; +use waffle::{BlockTarget, FunctionBody, Terminator}; + +pub fn go(f: &mut FunctionBody) { + let vz = f.arg_pool.from_iter(empty()); + let tz = f.type_pool.from_iter(empty()); + let ti = f.type_pool.from_iter(vec![Type::I32].into_iter()); + let ia = f.add_value(ValueDef::Operator(Operator::I32Const { value: 1 }, vz, ti)); + f.append_to_block(f.entry, ia); + loop { + let mut i = f.blocks.entries(); + let (b, value, targets, default) = 'gather: loop { + let Some(a) = i.next() else { + drop(i); + f.recompute_edges(); + return; + }; + if let Terminator::Select { + value, + targets, + default, + } = a.1.clone().terminator + { + break 'gather (a.0, value, targets.clone(), default); + } + }; + drop(i); + f.blocks[b].terminator = Terminator::None; + if targets.len() == 0 { + f.set_terminator(b, Terminator::Br { target: default }); + continue; + } + if targets.len() == 1 { + f.set_terminator( + b, + Terminator::CondBr { + cond: value, + if_true: default, + if_false: targets[0].clone(), + }, + ); + continue; + } + let t2 = targets[1..].to_vec(); + let n = f.add_block(); + let vs = f.arg_pool.from_iter(vec![value, ia].into_iter()); + let ic = f.add_value(ValueDef::Operator(Operator::I32Sub, vs, ti)); + f.append_to_block(n, ic); + f.set_terminator( + n, + Terminator::Select { + value: ic, + targets: t2, + default: default, + }, + ); + f.set_terminator( + b, + Terminator::CondBr { + cond: value, + if_true: BlockTarget { + block: n, + args: vec![], + }, + if_false: targets[0].clone(), + }, + ); + } +}