Aatch / ramp

RAMP - Rust Arithmetic in Multiple Precision
Apache License 2.0
263 stars 38 forks source link

Multiplication Error on 32-bit machines #118

Open rozbb opened 4 years ago

rozbb commented 4 years ago

I found this error from quickcheck. Apparently this multiplication is wrong. I don't know how to go about fixing this, so any help would be appreciated.

'binop::mul::intref_int' panicked at [quickcheck] TEST FAILED. Arguments: (
        BigIntStr("-43d3574c6d4008258539060a370000005d000000000000f8fffffffffffffffffffffffffffffff1000000000000000000ad0279c71dffffffffffffffffffffffff06ffffffff2fe29f72f9ffffffffffffffffffffffffffffffffff5681f000000000000000000b512fffffffffffffffffffffffffffdfbbb2a1cb7fffffffffffffffb0f8c000000000a0000000000000000000000000000000000000000000000000000000000000000000000000008d2ffffffffffffffffffffffffffffffffffffff90d6fffffffffffffffffffffffffffffffffffffff4321ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff553bdffffffffffffffffffffffffffffffffffffff55fffedff700000000007e62320000000000000000000643a59fffff87022ca5000000293e204400b8000000000000000000ca6da88d86ffffd2b003b000000001d00000000000000000000000000000000000000000000fe6c000000000000000000645fff064c35000000000001fea2b250000000000000000000000000000000000000f3e1886d811d0a0000000000000fcc54ffffffffffffffffffffffa0000000008f930fff52f7000000000000000000000000000000000000000878f000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000400ffffffffffffffffffffb00000000000000000000000000000000000000000000000b30002bd000000000baf5fff7b650000017d300000000b5193da20edd00000000000000000000000000000000000000000000040000000000000000050000000000000000000000000000000000000371cffffffffffffffffffffffffffffffffffffffceeb214000000000000000000006afffffffffffffffffffffffffffffffff5f2000000000000000000000000000000000000000000000000a300000000000000000000b259bf03ee3f15fffffffffffff8001400cd6cd9480ffffdce3fffffffffffffffff39c0ae000079ffffffff74400000000008514fb2000c135fffffffe68fffffffffffffffffffffffffffc205000008bcf6afffffffffffffffffffffffffffffffffffffffffffffffffffffff9607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd476ffffffffffffffffffffffffff0ffce4ffffffffcdd66ffff1b6f5fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff35ffffffffffffffff04d04f23fffff24ddd15e16f7fffd70000000000000000007a2c0000008feffffffffffffffffffffffffffffffffffffffffffbd26603f51b3db02d45531e00000000000000000000a2500000000000000069fffffffffcfffffffffff8fffffffffffffffffffffffffffffffffffdffffffffff3fffffffffffffff700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b8182ac6929bdffff6a1f0000000000000000000000000006000000000000bfffe748500000000000003ffffffffffffff32f6f780e6000000036d87ffffe47732f93fffffffffff991b2f8ffffffffffff90f79ffffffc000000000000000000000000000d0793d0000000000000000000000000000000f0bc08c8fc04948168628ffffffffffffffffffffffffffffffffffff82ffffff6ba6490000000006800000000000000000000000000000ba101fffffffffffff2bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd450069219edd080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5d8af00000000c0000000000000000000d190e81000000000000000000000000000000000000000004fffffffffffffffffffffffffffffff0e000000000087acaa9000000000000f66000000000000000000000000000000000808f5078d4041a1440000000000004287fffffffffff2800000000000000000000394bd2ab064f0ffffffffffffffffffffff3cc6fffffffffffffffffffffffffff6ed0000000000000000000000000000c0000000000000d7ab00000000000000000000000009c7f3fffffffffffffffffffe66fffffffffffffffffff86b57ffdac1ffffffff75affffffffffffffffffffdfa000000000000000000000000000000000000000000000000000000000005ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0d4c2300002e000087000000000000000000000000a153210000dbc39d155ff9000000000000000000affffffffffffffffffffffffffff46ffffffffffffffff35805cf09bf40be4e41fffffffffffffff1ffffffffffffffffffffffffffffffffffff019e845daffffffffffffffffffffb79ffffffffffffffffffffffffffffffffffffffffffffffffffff9dfff600000000a0e9834cea9f0000000000000000000000000000000000000000000000dfdc32055ffffffffffffffffffffffffffffffffffffffffff5620f65100000000000000000000000000e306eadabffffffffffffe4479460afffb57ffffffff5868fd461cf9bdffffffffffffffffffffffffffffffffffffffffffffff1c155ffffffffffffffffffffa83664fffffffffffff6da1c1ffffffffffffffffffffffffffffffffffffe88a8cb48e1fffffffffffffffffffffffffffffffffffffffffffffffffffff1421c0869b500000000000000000000000000000000000000000000000000000000005000000000000000000000006ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbcf1cbfffffffffee0317397ec3dc50000f46b000446a3e0000000000000000000000000000000860836ba00000000000000000050000789d000000000000000000ffffffe36e000bfaf0000000000000000fffffffffffffffffffffffffffffffffffff334d00000000000000000800000000000000000000000000000000000001fffffffffffffffffffffdfffffffffffffffffffff1727005454ab30fffffffffffffffffff02af2edd6fcefe0e90ffffffffffffffffffffffffffffa00d4992cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27dea83ea50000083ffffffffffffffffffffffffffffffffffffa09f393fffffffffff6ffffffffffffff75a7ffffffffffffffffbffffffffffffffffffffffffffffffff62000000011c0000000000000070a000000080000000000000b7ffffffffffff807ffffffffffffffffffea35fffbf89fffff39fffffffffffffffffffffffffffffffffffffff10fffffffffffffffffffffffffffd936fffffffffffffffffffffff9424ccc0000000000fd8ff5babf1cdffffffffffffffffffffffe0a28929000000000000000000000dfffffffffffffffffffffffffffffffffffffff800000000000000000000000a000000000006a418361fffffffffffff23b190443657121a84051377b23ffffffffffffff3e08600007e99821affdd00000000000be5fb3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe05ffffffffffffffffff1158dd2e39ffffffffffffffffff6e0d1f3c3c0000000000000000000000000000000570000000000a1c50fffffffffffffffffffffffffffffffff83cde321f373201cfda00000000000264fffffffffffffffffffffffffffffff9ffffffffffffff57da3d542e26a0d9a9d4e61fffffffffff537e682d26f6ddd00000000000000000000000000000000005a9e9d00000000000000e2b9744c815ac4f30b764fffffffffd47336ffffffffffffffffffffffffb5effffffff1800000000000000000c008fffffffffffffffffffb5bcfffffffffffffff56eb1ffffffffffffffffffffff7f3afff610b60151ae0000000000006c0d8c0000008c12709e2101422c8cffffffffffffffffffffffffffffffffffff00000000000000000000000000007effffffffffffffffffffff441fffffbfffffffffffffffffffffc7538000000051ce2cc300000090000078cbaaaffffffffffffffffffff200000000000000000000000000000000000000000000000837fffffff1bfffffffffffffffffffffffffffffffffffffffffffff9c023001fffffffffffffffffffffffffffca8457feda10000000000000000000000000000000000600000000000000000f8af2af7c59ffffe7298ffffff3ffffffffffffffffffffffffffffffffd958100022e41c626100000000000000000000000000000000d4b578bffffffffffffffffffffffff70bfffffffffffffffffffffffffffffffffffffffffffffffc9a67fffffffffffff64b0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff703fa35dbde611ffffffffffffffffffffffffff19b200000000000000000000000007900000000000000000681000c6e876780000000000000000000000d4744c96fffff3cf9000000000000000000008aa000000030220005dffffffffffffffffffdf09ffffff8bffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000105fffffffffffff718fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6b7000000000000000000000000d000000000000000000000000000000000000000000000000000000000000cfffffffffffffffffff85a868d3ffffbc00000000000000000000b48ffffffffffffafc70ffffffffffffffffffffffffffffffffffffffffffffffff7ffffffc56ffffffffffff780ffffffffffffffffffffffffffffffffffffffffffffffff0f4c040000000000000000000000000000000000000000000000000000000000000000000000050000000f41449cec73030000000008a0000b54fffffffffffffffffcfe32fffffffffffffffffffcc8fce8ef8bffffffffffffffff9bc7d4e49ffffffffffffffffff1e488d0100000000000000000000000000000000002cffffffffffffffff4c6ffffffffffffffffffffffffff3964ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc4c7af32abfffff77a9afaeb0000000000000bffff327587000000000000000000000000891c94df0f95900000000000000000000800000000000000afffffffffffffffffffffffffffffff39fffffffffffffffffffffdbce3affffffffffffce6c2000000000a0000000021749d27fffffffe000000000000000000004081ffffffff547082db6ffffcbca5241ac4d2f0000000000000000000000027dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9276fffffffff82cdf74ff1f9bd000000000000000000000000000000008d2fffffffffff794000000000000000faffffffffffffffffffffc000000000000000000000000000000000000000000000000097de00000000000000000000000000000013e0000000000affffffffffffffffffffffffff162ffffffffff30000000000083062afffffffffffffffffd36000000000000019500000000ca068ffffffffffffffffffffffffffffffffff59d0000000000000000008854000000000000000070b71900002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffff754e8000000000000cd54afffffffffffdfffffffffffffffffffffffffffffffffffffffffffffffff3df000000000000000000000000000000000000dfffffffffffffffa036fffffffff6fffffffffffffffff280000de64a0f20000000000000000000000009ff92fffffff200000000000000000000000000000000000000000000000000000eb582b96e635a2ffffffffff843dd00000000000d0000024fdcf20ffffffff528000000000000b401694ffffffffffffffffffffffffff36ffffffffffffffffffffffffffffffffffffffae961b95fafffffffffffffffff73de12afffffff5ffffffffffffffff2ffffff8f58120000008ffffffb8a008d3fffffffffffffffcfe59b6cbf6dab035db000000000000000000000000000000000000000000000000000d3000000000000020b4fffffffffff756e8c69ffffffffffffffffffffffffffffffffff0f5a0660000000000000000000ced229d0000000000000000d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9800000000000000000a0e700000000a6a603ffff9b05d8ffb25f039b220b41ab595805dfffffffffffff9000000000000000000000000000000000000000000000000000000005ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb350969b0000000000023f00b1000000000001fc4ffffffffffffffffffffffffffffffffffffff500000000002ffffffff56dc8000001ecff46946000000000000000009a8df6ffffffffff16835f463fff14000000000000000d3ffffffffffff6212aa000000000000000000000009e70a8f000000000000059700000000000000000000007e2fffffffffffffff0000000000a8ffffffffffffffffff25a757ff750000d15608c2f0a000000003ff8c79fd03f7bb3f5e53a000000000df00000000000000000edd0002fffe000062c04851153ffffffffffffffffffffffffffffffffe0661fffffffffffffffffffffff21a1fffd1298130000000000000000000000000000000000000000000000000000000000000008ed88f150000009d25f8500000009855bacffffffffffffffffffffff3ffff000000000000000000000000111000000008a00000000008bfffa76314042c6afffc8fffffffffffffffffffffffffffffffffffffffffffffffcd4fffffffffffffffffffe0014ea86d5d87ffffffffffffffffff0421600000000000000000002000000000000000000000000efca39000000cfc4ffffff5b035ffffffffffffffffffffffffffffffffffffff3b1a735afafffffffffffffffffff0ffffffffffffffffff89600000000000000000f0000000000000000094ffffffffffffffffffffff3fffffffffffffffffffeddfe0e0000008ffffffffffffffffffffffffffffffffff8e4c9c00000000000000000000afffff80000000000000000000000000004fffffffff42a5783595b30000000000000000000000000000000f90593afffffffffffff8e306f9000000000000000000000000000000000045d96e0000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000008bfffffffff76950d984ee145280000000000000000000000000000000000000000000000000000000000000000000000000000000000bb3c988f4d86fffb5f6ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79ffffffffffe9c8d64ccefc0000000000000000000000000004217ff700000000000000000000000000000000074004926c28fffffffffff58fffffffffffffffffffffffff40057effffffffffffffffffffffffffffff0000000000061d85d7ceff5ffffffffffffffffffffffffffffffffffffffffffffffff2fffffffffffffffff3a3fffffffffffffffffffff24fffffffffffffffffffffffffffffffff5f19fffffffd3983000000000005fffffffffffffff450000000ddbffffffffff7f3000028474d001f3fffffffffffffffff446ff57ffffffff17fffffffffffff000008ffffffffffffffffff9b1500000000ab25ffffffff2e1769fffffffaa218c0000005e264000000000000000000000e28bccf71f17dfebd7b95b22135000000000ad6fffffffffffffffffffffffff34ac33765700000000000b2c78000000000000000000000000000cffffff800000000000f28c600000000000b697ffffffff9ffffffffffffffffff9c4043aaf00000000000000000000000000000000000c0000000d2b55000000000000000000ec4853735a578b000000000000000000000000000000002a2de200000000004000000000758fffffffffffb8b7deb504fffff3fffffffffffffffffffffffffffffffffffff58fffffffe359dfdfffd0000000000000000000000000000000000007041000000a7d6daf00000000000000000000000000000000cb257f4fffffffddfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73affffffffffffffffffffffffffffffffffffff1ad36e79d8719500000e1fffffffffffffffffffff5be7f60000000000000000f2809000000000000ba70300002fffffffffffffffffcbd00000061e0000000000000000000000000000000000000000000000000800000858e427ffffffffffffffffffffff5f0000000000b00000000000000000000000f0c20000000000000000000000000000000000000000000000000000000f53a9000000000000000000000000000013ffffff8ffffffffffffffffffffffffffffffaffffffffffffffffffffffffeaea28d41581ffffffffffffd4c6f14bfffffffff6700000023cb8fffffffffffffffffffffff65a83eccf44dfaa90000000000000000000000000000000000000000000000000000001ebc1e377775ffffff3691fffffffffffffffffffffffffffff71b5b9c436fff6d000003669bb00000006fffffffffffffffffffffff30000000000000000000000000000000000000000000000000007719c1ffffb1bdc1cd2aba500000000000000d6ffffffffffffffff5bc0fffffffffffffffffff0e5a733ffffffffffffffffffffffffffff24aa00000000000000a7b8e0f3a1a6dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67cc00000000000000000000000000328288ffffffffffffffffffffffffffffffffffffffff4100000000122fd12aa46d5af1ffffffffffffffffffffffffffffffffffffffffd6ffffffffffffffffffffffff37764072dffffffe16c385cfff0305cc6700000000000004c00000000000000000000000000000000000000000000000000000000000ea8ffffffffffffdf217ffffff22d41748ffffbdfffe5ec7ffffffffffffffffffffffffffffff67efff7ce3d4ad098c567fffffffffffffffffffffab605b00000000000000000008c7cb5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63fc0000000000000000000000000000000000000000000000ac90fffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000057537affffffffffffffffffffffffa000000dbf457000000000200000bfff4fffffffffffffffffffffffffff7cf2ffff00000000000000487a5fffffffffffffffffffffffffffffffa805dfc00000000000000e11ddff2200009ffffffffff863ab0b14fffff58e6dfffffffffffffffff251aee47690ffffffffffffffffa1fffffffffffffffffffffffffffffffffffff9f6a50000000009f28ad3fffff8209c4fffffffffffffffffffffffffffffffffffffffffff4833fffffffffffffffffffffffffffffffffffffffffffffff10005a7e10006557d41b3eb795ffffffffffffff2fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4ffffffffffffffffffff2caa0000000000000008bd681ab4fffffffffffffffffffffffffffffffffffffffa9ff5783de6d600000000000000ef47ffffffffffffffffffffffffffffffffffffffffff51e0bad0c000000000000000000000000000eeffffffffffffffffffffffffffff8344442affffffe18fffffffffffffffffff40000000000005116236fffff310000031b6fff1f0a3e01272fb437ebffffffffffff74fff017ec000000000000000000000000000000000000000a90000002c49fffffffffffffffffff042cea1ffffffff8ffffffffffff84fff0cffffffffffffffffffffffffffffffffffffd9d000000000000000008d7fffffffffffffffff4c8318b962193384000000000000000098c010da176dc5a3deb18d0b8bffffffa1aa4da36b00000000000000000000000000040080000000002e7330000c0000000000000000000000000000000000000000000000000386bf9d000001e0f0000000000000000000000000000000000005d139cfffffffff9cfffff3da9fffffec2efffffffffffffffffffffffffffffffffffff17b20b9ffffffffff87ffffc577d17f951416ae2000000000000000000000000000000000000000000000000000000800000000034000000000000000000000000000000000000000000000000000000000009dc58ad71effffffffffffffffffffffffffffffffffffffffffff0a53a694cafffffffffffffffffffffffa000000000000000000000000000000000000000000049fffffffffffffffffffffffff8000004800a4000000000009ffffffffffffffffffffffffffffffe4d2fffffffb00000000000000003fffffffffffffb6ca020000000000000000000000000000002d4070edbe3100000000000000000000000005ffffffffffff8ff44b255fffffffffffffffffffffff0b8ddffffffffffffffe3a0ae00000000000000000cdffffffffffffffe7ff49c589ff23ef00000455ce1fffffffffffffffffffff1fffffffffffffffa2800000000e0fefffffffffffffffffffffffff63b5800000000000000000000002300000854b8fd000000000000000000000000000000000000000000000000000000efff0cfffffffffffffeb1c0000000000000691061a7bc3a000000000000000000000008d06d0000000000000000000000000000000000000e251cdba232efffffffffff32000c06a0fd3641baa16ffffffffffffffaf7000000000000000000000000000000000000000000800000000000000000000000000002ffffffffffffffff1811ea0000000000000000000000c4eefffffffffffffffffffffffffffff3ac67e92094ffffffffc9100000000005ffffffffffffffffffffff1a00000000efd2fdffff0410000072080000d17278fffff36351e750000000000000000005acf30000000000043ffff1d11a8ce0e19d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c80000000000000000000000000090fff81000008fbf000000002efffffffffff5f000000000000000000f0cffbfffffffffffffffffffffffffffffffffffffffffffafffffffffb14fffffffffffffffffffffffb9047f4fffffffffffffffff0d9fffffffffff4f7365fffffffffa000085d9a9bfffff2459fffffffffffffffffffffffffffffdc9ae000000000000000000000000000000e5d000000000000001a900000000000009f712e75e1efff31692ba0000afffffffffffffffffffffffffff0ac6eefc6fffffffffffffffffffff570d34000000000000000000000000000000000000000f04450d1eeb000000007966ffffffffff80000000000000000000000000000000000000000000000000000000000000753f130f5d075310000000000000000000000000000000000000000000000000000000000000000000000000f608a03b474efffffffffc000000084ffffffffb1e030b486fffffffff49a816000000000000000000000000000054d8ffffffffffffffffff8000000000000000000000000000000020cf000000000fffffffffffffffffffffffffffea95460700000000000564ffffffffffffffffffffffff6ffffffffffffffffffffffffffffffffffffff000000000000000095cff5ff770000000000000000000000002310000000000001b23c000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000e000000000000000db90a4ae581f100000000000000000000000000000004330000000000000000000000c0207a7af0fffffffffff6000000000000000000000000643ab4c2fffff9c066cf8cf68ffffffff2affffffff9fd5f1007ffffffffffffffffffffff6068fffffefffa059000000000000000000000000000a7a6fffffffffffffffffffffffffffffffaffffffffffffffffffffffff7c99bbdc896a7fffffffffffffffffffff70e5bd8acffffffffffffffffff255f5ed88500000000000007741580000000cb1000000000000000000600000000000000000a5bf9ffffffffffffffffffffffff335e00000000000000000000000ba5a547580e5ccf2fffffffffffffffffdbf9c60000000000000000000000000000000000000000000bfbd00000000000000000000000000000000000000000000000000000000000000000000000000000000fed1f5400000000000000000000000000000000000000000000a7000000000000000000000000000000"),
        BigIntStr("4ffffffff4a500000000000000000003c000000000000000d31a78c000000000000000000000000007311fbbddfa87a00000000000000000181e6413883631d4df0f86eb594efd14291387b2fc188ffffffffffffffffffffffffffd3800088e7bb3ce911000000000000000000000000000000000000000000000000000002387083a66ffffffffffffffffffb790c5a40cfff5ffffffffffffffffff6ff17acffffffffffffffffffffffffff20000000000000000000000007a040000000000000000000dfe50000000000000000c0000000000000000000000000000000000000000000000000000010000000000000000000003c4f330d4cb318c03ae70000000000000000001fffffffffffffffffffffffffffffffffff464188a06424d000000000000000000000000000005bb2d7000ccbbabfa51749003fffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffffffffdbffffd805f8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1fffff79a1331fff7000000000000000000000000000000000000000a7afffffffffff245aff86ffffffffffffe7d687430f64eb4eea78a0000000000000000000000000000000000f333d9fd20534a3f000000000000000000006e25fffff5abb0000000000000000000fdac21ffffffffff940000e02930b300000000000000001e49661cfffffffffffff1739d0000000000000000000000000000000000000000000000000038cf608400000000000000000000000000000681ffffffffffffffffffffffffffff3d89e118cc08a687000000000000000000000000005700006ffffffffffff01b0dc000000000000000000000000000000000000000000000000000000000000000000000000000000000073f36514000000000000000000000000000000000000000fae5ff800000000000000f900a000000000000000000007800000000000000000000000000000004e2ffff2ffffffffffff0000000000000000000000f00000000000005c50ffffffffffffffffff53fffffffff35d4ffffffff382530000000000000000000a8a71f6000001c480fffffffffffffffffffffffffffffff6a7fd0000000000000000046b6fbb3fffffb24ffffffffaf4d85f20b7efc00000000000080000000000000903b88fffffffffffffff13bffffffffffffffffffffffffffffffffff5b778f4f293ffffffffffffffffffffffffffddaf3a06d0877e832fffffffffffffffffffffffffffe9719a5e4a8436a7744cfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb90000000000000000000000000001fffffffff7ff01df0000c318ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7b8af60000000000006391ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0e5e0009ffffff76c05534ffffffffffffbc90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094e1911ffffffffffffffffffffffffffc0926000000000e200000000077120000000")
)
rozbb commented 4 years ago

To reproduce

Add the following function to the end of tests/quickcheck.rs

#[test]
fn mult_regression() {
    let a = BigIntStr("-43d3574c6d4008258539060a370000005d000000000000f8fffffffffffffffffffffffffffffff1000000000000000000ad0279c71dffffffffffffffffffffffff06ffffffff2fe29f72f9ffffffffffffffffffffffffffffffffff5681f000000000000000000b512fffffffffffffffffffffffffffdfbbb2a1cb7fffffffffffffffb0f8c000000000a0000000000000000000000000000000000000000000000000000000000000000000000000008d2ffffffffffffffffffffffffffffffffffffff90d6fffffffffffffffffffffffffffffffffffffff4321ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff553bdffffffffffffffffffffffffffffffffffffff55fffedff700000000007e62320000000000000000000643a59fffff87022ca5000000293e204400b8000000000000000000ca6da88d86ffffd2b003b000000001d00000000000000000000000000000000000000000000fe6c000000000000000000645fff064c35000000000001fea2b250000000000000000000000000000000000000f3e1886d811d0a0000000000000fcc54ffffffffffffffffffffffa0000000008f930fff52f7000000000000000000000000000000000000000878f000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000400ffffffffffffffffffffb00000000000000000000000000000000000000000000000b30002bd000000000baf5fff7b650000017d300000000b5193da20edd00000000000000000000000000000000000000000000040000000000000000050000000000000000000000000000000000000371cffffffffffffffffffffffffffffffffffffffceeb214000000000000000000006afffffffffffffffffffffffffffffffff5f2000000000000000000000000000000000000000000000000a300000000000000000000b259bf03ee3f15fffffffffffff8001400cd6cd9480ffffdce3fffffffffffffffff39c0ae000079ffffffff74400000000008514fb2000c135fffffffe68fffffffffffffffffffffffffffc205000008bcf6afffffffffffffffffffffffffffffffffffffffffffffffffffffff9607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd476ffffffffffffffffffffffffff0ffce4ffffffffcdd66ffff1b6f5fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff35ffffffffffffffff04d04f23fffff24ddd15e16f7fffd70000000000000000007a2c0000008feffffffffffffffffffffffffffffffffffffffffffbd26603f51b3db02d45531e00000000000000000000a2500000000000000069fffffffffcfffffffffff8fffffffffffffffffffffffffffffffffffdffffffffff3fffffffffffffff700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b8182ac6929bdffff6a1f0000000000000000000000000006000000000000bfffe748500000000000003ffffffffffffff32f6f780e6000000036d87ffffe47732f93fffffffffff991b2f8ffffffffffff90f79ffffffc000000000000000000000000000d0793d0000000000000000000000000000000f0bc08c8fc04948168628ffffffffffffffffffffffffffffffffffff82ffffff6ba6490000000006800000000000000000000000000000ba101fffffffffffff2bfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd450069219edd080ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb5d8af00000000c0000000000000000000d190e81000000000000000000000000000000000000000004fffffffffffffffffffffffffffffff0e000000000087acaa9000000000000f66000000000000000000000000000000000808f5078d4041a1440000000000004287fffffffffff2800000000000000000000394bd2ab064f0ffffffffffffffffffffff3cc6fffffffffffffffffffffffffff6ed0000000000000000000000000000c0000000000000d7ab00000000000000000000000009c7f3fffffffffffffffffffe66fffffffffffffffffff86b57ffdac1ffffffff75affffffffffffffffffffdfa000000000000000000000000000000000000000000000000000000000005ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0d4c2300002e000087000000000000000000000000a153210000dbc39d155ff9000000000000000000affffffffffffffffffffffffffff46ffffffffffffffff35805cf09bf40be4e41fffffffffffffff1ffffffffffffffffffffffffffffffffffff019e845daffffffffffffffffffffb79ffffffffffffffffffffffffffffffffffffffffffffffffffff9dfff600000000a0e9834cea9f0000000000000000000000000000000000000000000000dfdc32055ffffffffffffffffffffffffffffffffffffffffff5620f65100000000000000000000000000e306eadabffffffffffffe4479460afffb57ffffffff5868fd461cf9bdffffffffffffffffffffffffffffffffffffffffffffff1c155ffffffffffffffffffffa83664fffffffffffff6da1c1ffffffffffffffffffffffffffffffffffffe88a8cb48e1fffffffffffffffffffffffffffffffffffffffffffffffffffff1421c0869b500000000000000000000000000000000000000000000000000000000005000000000000000000000006ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbcf1cbfffffffffee0317397ec3dc50000f46b000446a3e0000000000000000000000000000000860836ba00000000000000000050000789d000000000000000000ffffffe36e000bfaf0000000000000000fffffffffffffffffffffffffffffffffffff334d00000000000000000800000000000000000000000000000000000001fffffffffffffffffffffdfffffffffffffffffffff1727005454ab30fffffffffffffffffff02af2edd6fcefe0e90ffffffffffffffffffffffffffffa00d4992cffffffffffffffffffffffffffffffffffffffffffffffffffffffffff27dea83ea50000083ffffffffffffffffffffffffffffffffffffa09f393fffffffffff6ffffffffffffff75a7ffffffffffffffffbffffffffffffffffffffffffffffffff62000000011c0000000000000070a000000080000000000000b7ffffffffffff807ffffffffffffffffffea35fffbf89fffff39fffffffffffffffffffffffffffffffffffffff10fffffffffffffffffffffffffffd936fffffffffffffffffffffff9424ccc0000000000fd8ff5babf1cdffffffffffffffffffffffe0a28929000000000000000000000dfffffffffffffffffffffffffffffffffffffff800000000000000000000000a000000000006a418361fffffffffffff23b190443657121a84051377b23ffffffffffffff3e08600007e99821affdd00000000000be5fb3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe05ffffffffffffffffff1158dd2e39ffffffffffffffffff6e0d1f3c3c0000000000000000000000000000000570000000000a1c50fffffffffffffffffffffffffffffffff83cde321f373201cfda00000000000264fffffffffffffffffffffffffffffff9ffffffffffffff57da3d542e26a0d9a9d4e61fffffffffff537e682d26f6ddd00000000000000000000000000000000005a9e9d00000000000000e2b9744c815ac4f30b764fffffffffd47336ffffffffffffffffffffffffb5effffffff1800000000000000000c008fffffffffffffffffffb5bcfffffffffffffff56eb1ffffffffffffffffffffff7f3afff610b60151ae0000000000006c0d8c0000008c12709e2101422c8cffffffffffffffffffffffffffffffffffff00000000000000000000000000007effffffffffffffffffffff441fffffbfffffffffffffffffffffc7538000000051ce2cc300000090000078cbaaaffffffffffffffffffff200000000000000000000000000000000000000000000000837fffffff1bfffffffffffffffffffffffffffffffffffffffffffff9c023001fffffffffffffffffffffffffffca8457feda10000000000000000000000000000000000600000000000000000f8af2af7c59ffffe7298ffffff3ffffffffffffffffffffffffffffffffd958100022e41c626100000000000000000000000000000000d4b578bffffffffffffffffffffffff70bfffffffffffffffffffffffffffffffffffffffffffffffc9a67fffffffffffff64b0fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff703fa35dbde611ffffffffffffffffffffffffff19b200000000000000000000000007900000000000000000681000c6e876780000000000000000000000d4744c96fffff3cf9000000000000000000008aa000000030220005dffffffffffffffffffdf09ffffff8bffdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000105fffffffffffff718fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6b7000000000000000000000000d000000000000000000000000000000000000000000000000000000000000cfffffffffffffffffff85a868d3ffffbc00000000000000000000b48ffffffffffffafc70ffffffffffffffffffffffffffffffffffffffffffffffff7ffffffc56ffffffffffff780ffffffffffffffffffffffffffffffffffffffffffffffff0f4c040000000000000000000000000000000000000000000000000000000000000000000000050000000f41449cec73030000000008a0000b54fffffffffffffffffcfe32fffffffffffffffffffcc8fce8ef8bffffffffffffffff9bc7d4e49ffffffffffffffffff1e488d0100000000000000000000000000000000002cffffffffffffffff4c6ffffffffffffffffffffffffff3964ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc4c7af32abfffff77a9afaeb0000000000000bffff327587000000000000000000000000891c94df0f95900000000000000000000800000000000000afffffffffffffffffffffffffffffff39fffffffffffffffffffffdbce3affffffffffffce6c2000000000a0000000021749d27fffffffe000000000000000000004081ffffffff547082db6ffffcbca5241ac4d2f0000000000000000000000027dfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9276fffffffff82cdf74ff1f9bd000000000000000000000000000000008d2fffffffffff794000000000000000faffffffffffffffffffffc000000000000000000000000000000000000000000000000097de00000000000000000000000000000013e0000000000affffffffffffffffffffffffff162ffffffffff30000000000083062afffffffffffffffffd36000000000000019500000000ca068ffffffffffffffffffffffffffffffffff59d0000000000000000008854000000000000000070b71900002d00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007fffffffffffffffffffffffffffffff754e8000000000000cd54afffffffffffdfffffffffffffffffffffffffffffffffffffffffffffffff3df000000000000000000000000000000000000dfffffffffffffffa036fffffffff6fffffffffffffffff280000de64a0f20000000000000000000000009ff92fffffff200000000000000000000000000000000000000000000000000000eb582b96e635a2ffffffffff843dd00000000000d0000024fdcf20ffffffff528000000000000b401694ffffffffffffffffffffffffff36ffffffffffffffffffffffffffffffffffffffae961b95fafffffffffffffffff73de12afffffff5ffffffffffffffff2ffffff8f58120000008ffffffb8a008d3fffffffffffffffcfe59b6cbf6dab035db000000000000000000000000000000000000000000000000000d3000000000000020b4fffffffffff756e8c69ffffffffffffffffffffffffffffffffff0f5a0660000000000000000000ced229d0000000000000000d9ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9800000000000000000a0e700000000a6a603ffff9b05d8ffb25f039b220b41ab595805dfffffffffffff9000000000000000000000000000000000000000000000000000000005ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeb350969b0000000000023f00b1000000000001fc4ffffffffffffffffffffffffffffffffffffff500000000002ffffffff56dc8000001ecff46946000000000000000009a8df6ffffffffff16835f463fff14000000000000000d3ffffffffffff6212aa000000000000000000000009e70a8f000000000000059700000000000000000000007e2fffffffffffffff0000000000a8ffffffffffffffffff25a757ff750000d15608c2f0a000000003ff8c79fd03f7bb3f5e53a000000000df00000000000000000edd0002fffe000062c04851153ffffffffffffffffffffffffffffffffe0661fffffffffffffffffffffff21a1fffd1298130000000000000000000000000000000000000000000000000000000000000008ed88f150000009d25f8500000009855bacffffffffffffffffffffff3ffff000000000000000000000000111000000008a00000000008bfffa76314042c6afffc8fffffffffffffffffffffffffffffffffffffffffffffffcd4fffffffffffffffffffe0014ea86d5d87ffffffffffffffffff0421600000000000000000002000000000000000000000000efca39000000cfc4ffffff5b035ffffffffffffffffffffffffffffffffffffff3b1a735afafffffffffffffffffff0ffffffffffffffffff89600000000000000000f0000000000000000094ffffffffffffffffffffff3fffffffffffffffffffeddfe0e0000008ffffffffffffffffffffffffffffffffff8e4c9c00000000000000000000afffff80000000000000000000000000004fffffffff42a5783595b30000000000000000000000000000000f90593afffffffffffff8e306f9000000000000000000000000000000000045d96e0000000000000000000000000000000000000000000000000000000000000000000000000000000000064000000008bfffffffff76950d984ee145280000000000000000000000000000000000000000000000000000000000000000000000000000000000bb3c988f4d86fffb5f6ffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff79ffffffffffe9c8d64ccefc0000000000000000000000000004217ff700000000000000000000000000000000074004926c28fffffffffff58fffffffffffffffffffffffff40057effffffffffffffffffffffffffffff0000000000061d85d7ceff5ffffffffffffffffffffffffffffffffffffffffffffffff2fffffffffffffffff3a3fffffffffffffffffffff24fffffffffffffffffffffffffffffffff5f19fffffffd3983000000000005fffffffffffffff450000000ddbffffffffff7f3000028474d001f3fffffffffffffffff446ff57ffffffff17fffffffffffff000008ffffffffffffffffff9b1500000000ab25ffffffff2e1769fffffffaa218c0000005e264000000000000000000000e28bccf71f17dfebd7b95b22135000000000ad6fffffffffffffffffffffffff34ac33765700000000000b2c78000000000000000000000000000cffffff800000000000f28c600000000000b697ffffffff9ffffffffffffffffff9c4043aaf00000000000000000000000000000000000c0000000d2b55000000000000000000ec4853735a578b000000000000000000000000000000002a2de200000000004000000000758fffffffffffb8b7deb504fffff3fffffffffffffffffffffffffffffffffffff58fffffffe359dfdfffd0000000000000000000000000000000000007041000000a7d6daf00000000000000000000000000000000cb257f4fffffffddfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73affffffffffffffffffffffffffffffffffffff1ad36e79d8719500000e1fffffffffffffffffffff5be7f60000000000000000f2809000000000000ba70300002fffffffffffffffffcbd00000061e0000000000000000000000000000000000000000000000000800000858e427ffffffffffffffffffffff5f0000000000b00000000000000000000000f0c20000000000000000000000000000000000000000000000000000000f53a9000000000000000000000000000013ffffff8ffffffffffffffffffffffffffffffaffffffffffffffffffffffffeaea28d41581ffffffffffffd4c6f14bfffffffff6700000023cb8fffffffffffffffffffffff65a83eccf44dfaa90000000000000000000000000000000000000000000000000000001ebc1e377775ffffff3691fffffffffffffffffffffffffffff71b5b9c436fff6d000003669bb00000006fffffffffffffffffffffff30000000000000000000000000000000000000000000000000007719c1ffffb1bdc1cd2aba500000000000000d6ffffffffffffffff5bc0fffffffffffffffffff0e5a733ffffffffffffffffffffffffffff24aa00000000000000a7b8e0f3a1a6dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff67cc00000000000000000000000000328288ffffffffffffffffffffffffffffffffffffffff4100000000122fd12aa46d5af1ffffffffffffffffffffffffffffffffffffffffd6ffffffffffffffffffffffff37764072dffffffe16c385cfff0305cc6700000000000004c00000000000000000000000000000000000000000000000000000000000ea8ffffffffffffdf217ffffff22d41748ffffbdfffe5ec7ffffffffffffffffffffffffffffff67efff7ce3d4ad098c567fffffffffffffffffffffab605b00000000000000000008c7cb5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63fc0000000000000000000000000000000000000000000000ac90fffffffffffffffffffffffffffffffffffffffffffc0000000000000000000000000000000000000000000000000000057537affffffffffffffffffffffffa000000dbf457000000000200000bfff4fffffffffffffffffffffffffff7cf2ffff00000000000000487a5fffffffffffffffffffffffffffffffa805dfc00000000000000e11ddff2200009ffffffffff863ab0b14fffff58e6dfffffffffffffffff251aee47690ffffffffffffffffa1fffffffffffffffffffffffffffffffffffff9f6a50000000009f28ad3fffff8209c4fffffffffffffffffffffffffffffffffffffffffff4833fffffffffffffffffffffffffffffffffffffffffffffff10005a7e10006557d41b3eb795ffffffffffffff2fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4ffffffffffffffffffff2caa0000000000000008bd681ab4fffffffffffffffffffffffffffffffffffffffa9ff5783de6d600000000000000ef47ffffffffffffffffffffffffffffffffffffffffff51e0bad0c000000000000000000000000000eeffffffffffffffffffffffffffff8344442affffffe18fffffffffffffffffff40000000000005116236fffff310000031b6fff1f0a3e01272fb437ebffffffffffff74fff017ec000000000000000000000000000000000000000a90000002c49fffffffffffffffffff042cea1ffffffff8ffffffffffff84fff0cffffffffffffffffffffffffffffffffffffd9d000000000000000008d7fffffffffffffffff4c8318b962193384000000000000000098c010da176dc5a3deb18d0b8bffffffa1aa4da36b00000000000000000000000000040080000000002e7330000c0000000000000000000000000000000000000000000000000386bf9d000001e0f0000000000000000000000000000000000005d139cfffffffff9cfffff3da9fffffec2efffffffffffffffffffffffffffffffffffff17b20b9ffffffffff87ffffc577d17f951416ae2000000000000000000000000000000000000000000000000000000800000000034000000000000000000000000000000000000000000000000000000000009dc58ad71effffffffffffffffffffffffffffffffffffffffffff0a53a694cafffffffffffffffffffffffa000000000000000000000000000000000000000000049fffffffffffffffffffffffff8000004800a4000000000009ffffffffffffffffffffffffffffffe4d2fffffffb00000000000000003fffffffffffffb6ca020000000000000000000000000000002d4070edbe3100000000000000000000000005ffffffffffff8ff44b255fffffffffffffffffffffff0b8ddffffffffffffffe3a0ae00000000000000000cdffffffffffffffe7ff49c589ff23ef00000455ce1fffffffffffffffffffff1fffffffffffffffa2800000000e0fefffffffffffffffffffffffff63b5800000000000000000000002300000854b8fd000000000000000000000000000000000000000000000000000000efff0cfffffffffffffeb1c0000000000000691061a7bc3a000000000000000000000008d06d0000000000000000000000000000000000000e251cdba232efffffffffff32000c06a0fd3641baa16ffffffffffffffaf7000000000000000000000000000000000000000000800000000000000000000000000002ffffffffffffffff1811ea0000000000000000000000c4eefffffffffffffffffffffffffffff3ac67e92094ffffffffc9100000000005ffffffffffffffffffffff1a00000000efd2fdffff0410000072080000d17278fffff36351e750000000000000000005acf30000000000043ffff1d11a8ce0e19d7000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005c80000000000000000000000000090fff81000008fbf000000002efffffffffff5f000000000000000000f0cffbfffffffffffffffffffffffffffffffffffffffffffafffffffffb14fffffffffffffffffffffffb9047f4fffffffffffffffff0d9fffffffffff4f7365fffffffffa000085d9a9bfffff2459fffffffffffffffffffffffffffffdc9ae000000000000000000000000000000e5d000000000000001a900000000000009f712e75e1efff31692ba0000afffffffffffffffffffffffffff0ac6eefc6fffffffffffffffffffff570d34000000000000000000000000000000000000000f04450d1eeb000000007966ffffffffff80000000000000000000000000000000000000000000000000000000000000753f130f5d075310000000000000000000000000000000000000000000000000000000000000000000000000f608a03b474efffffffffc000000084ffffffffb1e030b486fffffffff49a816000000000000000000000000000054d8ffffffffffffffffff8000000000000000000000000000000020cf000000000fffffffffffffffffffffffffffea95460700000000000564ffffffffffffffffffffffff6ffffffffffffffffffffffffffffffffffffff000000000000000095cff5ff770000000000000000000000002310000000000001b23c000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000e000000000000000db90a4ae581f100000000000000000000000000000004330000000000000000000000c0207a7af0fffffffffff6000000000000000000000000643ab4c2fffff9c066cf8cf68ffffffff2affffffff9fd5f1007ffffffffffffffffffffff6068fffffefffa059000000000000000000000000000a7a6fffffffffffffffffffffffffffffffaffffffffffffffffffffffff7c99bbdc896a7fffffffffffffffffffff70e5bd8acffffffffffffffffff255f5ed88500000000000007741580000000cb1000000000000000000600000000000000000a5bf9ffffffffffffffffffffffff335e00000000000000000000000ba5a547580e5ccf2fffffffffffffffffdbf9c60000000000000000000000000000000000000000000bfbd00000000000000000000000000000000000000000000000000000000000000000000000000000000fed1f5400000000000000000000000000000000000000000000a7000000000000000000000000000000".to_string());
    let b = BigIntStr("4ffffffff4a500000000000000000003c000000000000000d31a78c000000000000000000000000007311fbbddfa87a00000000000000000181e6413883631d4df0f86eb594efd14291387b2fc188ffffffffffffffffffffffffffd3800088e7bb3ce911000000000000000000000000000000000000000000000000000002387083a66ffffffffffffffffffb790c5a40cfff5ffffffffffffffffff6ff17acffffffffffffffffffffffffff20000000000000000000000007a040000000000000000000dfe50000000000000000c0000000000000000000000000000000000000000000000000000010000000000000000000003c4f330d4cb318c03ae70000000000000000001fffffffffffffffffffffffffffffffffff464188a06424d000000000000000000000000000005bb2d7000ccbbabfa51749003fffffffffffffffffffffffffff6fffffffffffffffffffffffffffffffffffffdbffffd805f8fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1fffff79a1331fff7000000000000000000000000000000000000000a7afffffffffff245aff86ffffffffffffe7d687430f64eb4eea78a0000000000000000000000000000000000f333d9fd20534a3f000000000000000000006e25fffff5abb0000000000000000000fdac21ffffffffff940000e02930b300000000000000001e49661cfffffffffffff1739d0000000000000000000000000000000000000000000000000038cf608400000000000000000000000000000681ffffffffffffffffffffffffffff3d89e118cc08a687000000000000000000000000005700006ffffffffffff01b0dc000000000000000000000000000000000000000000000000000000000000000000000000000000000073f36514000000000000000000000000000000000000000fae5ff800000000000000f900a000000000000000000007800000000000000000000000000000004e2ffff2ffffffffffff0000000000000000000000f00000000000005c50ffffffffffffffffff53fffffffff35d4ffffffff382530000000000000000000a8a71f6000001c480fffffffffffffffffffffffffffffff6a7fd0000000000000000046b6fbb3fffffb24ffffffffaf4d85f20b7efc00000000000080000000000000903b88fffffffffffffff13bffffffffffffffffffffffffffffffffff5b778f4f293ffffffffffffffffffffffffffddaf3a06d0877e832fffffffffffffffffffffffffffe9719a5e4a8436a7744cfdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb90000000000000000000000000001fffffffff7ff01df0000c318ffffffffffffffffffffffffffffffffffffffffffff80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001c7b8af60000000000006391ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa0e5e0009ffffff76c05534ffffffffffffbc90000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000094e1911ffffffffffffffffffffffffffc0926000000000e200000000077120000000".to_string());
    let (ar, ag): (_, RefImpl) = (&a).into();
    let (br, bg): (_, RefImpl) = (&b).into();
    let prodr = &ar * br;
    let prodg = ag * bg;
    assert_eq!(prodr.to_str_radix(16, false), prodg.to_str_radix(16));
}

Then run cargo +nightly test --release -- --test mult_regression.

The output I get is

assertion failed: `(left == right)`
 left: `"-15320b47df21d1ab68c53bc6af2031798569fa5e95900fdabb840b040df92bc111353a5badf7eb129e98691d94b583058b9de6161b0114e6e67083b7bfb6c9063891b03c73986373e01e9ceb8de3543b70be886cc71e99e6cb5f383e27221594008eefb8ef64f78c1e6fc41aa205f608f29bb82aabdb4131f2c6fcbe2b394d045f7d9c5654fd0d11830310e79d4deb454a4428760bce54af58ac34403a967882413dc34cb339d25a19094d1e2c73c7345dd39aa0146bb44f748478cd9fe020b0748783a3766753ea6de582eb17bc1b745c3bb721cb2e5157690d19d9212b1ddaacb5a705d0e62a5f227627787f9f8f80bcb0a044a6010348bf6331ee9194287781b5cbc38dbd1d51e9a8999529f7fd83a4390990cb85358d7a58f4c321321f1daeb332396d3c683aaffa843f368b3b45bb7d0e5f53458d45c96168cb0e544a7ccdd7373530dabd0ba30fc939ab4e4e3f7cee0ae2d6b2ce078cda83044afc3208313085d3bbf9c90431fbceef92793fc38ecdcd72df7d59feb09cf4fd056016d9411b704227d88a0bc9f01b986fa114b77ce4a92563c9b0baa685b6cc2194019bd4fa742955f0e7ffdc08d053a8fccf07593fdc656b4eae50c54378e5fda655095a5a630879e62f1dfd62723daf0cf5bd5fe4420960e180f5da651b5c1a973a948bee5179e2d0bc1ffed8c2015fffab87413b004a9a41a18801bb8e9a415c599badb4fc99639a2bf1aae5b9a552d18dfe10de2bc2474b6e0a4878e3be43bf2040ce0e9112dbdc7b525279bc027fe6f6387f5450a09ab2cb2d39d5875ae7c2df95a3c92c204030866c9e8f9f2b4ee2d205f9c11d8e897fc0a1ebe2c9248228a504872e0886a1b5020a19459080740a4dd3cf59eef5e7239ef98bda3915174a2b7f437884e63eee41f92f35ed89613e39daf4a0c826d55452f98e9bb0fd913d7fb5e562d0c11fe4cb4826f785a018e6d07bd81bb679f6e95f3716b18f721b1fb5e87bb720bfd2968f611c697f53c8e41d7e13b241526fe4c73291d9782cfde94e1602c89a5b9a64dba1c06b8924816c692c947bb35bb9893eeb63b6f5d98f80ea7e802a43140263db8c5704d77534b7546de8d138a160f8a4ffd1d1abd791530a6be0b71bba4932570fff0f6b663fe17689d58b6defc094add4b1b1946f1014aef9612cc869e61dd65d26b2a090815e934dcd8d97348ac8e2660bbd3cce2f949fde3bfa84875d1b7b444649e861ac079fd4fdae723c32dd39d3eb029d3679a6b88f7452640c2d8edf9f18e237d5075a7d265eae2d686df04a813dfe21661511da914de7ab71a434d334dc0d4e60225e261f85e3ef095d8f56ce4e6a9d0d2fab64a670398548a353063f5fad878032638e445ebdf6f0e8616465ef64d44f111c466afaac2d321a6ae84e2fbfa7be1dcd80722c6ea0841ef813678ad9afb3d09cf2c4d3ed393c202c2c4f4ad24cc58f6885580e8d4fb0f77cb6d42709fb98934a4bd845f342ff8bad8a9e124feba59412e159d0a3bebe5b3d9a3d8163ab480a099607a4caaefa649dce61958eff34576078686410d923035fac8b594ebf6f9b8a80e4f691abe3c3e748c61f0c9be73eb25e330648da208b8fc468014565b21b02b85cd2bc446f8ef6c62063cf52a2c82c7600747e040696f59523d4b3bab07c9f6b28991db905aadddf3f8337c5e63fe6703ee232006e781eb00e7bb3bd53a712fed11f8817bd33b0e02024614544064d66c10343df305ecd3c08fa6afdb9f6c33fd15402ccb0570fc4acf2f66c90b276498ec8d226c3c94349a4b653cc924ae5e9d722906b955282a213673f5662bfcb489874ea04a0cb1f286bff258cbcb24fe7bfe34a4eaa48865ffd4a4e6857e3e88a6858da5b78d2538e23a909d5360e7a235dd660cadab52eb295f7d74728302071c3b5b3bbbcd05d3d1e39805444c105f5f7d7bffb7b61f23e2bafff1ec3054024d9007f9948d15c1e98442ae83fd7ac0fd88578ce019111153353f18fe5fb5a8b1d99d0829d9b2f2016b565d6960ca48a33a2ffca896e37f33f49d41e6a7192e413d22cc9a3738cec82a1b061341579850a9dd9fd4adc808a048fb5cab5563ad93b47bb421a41676417bac72e8b045de6527bdaa8406a2264bbc3a35afc73db5020b0bc4a566bf092ab54ced85adf32e3d47b253deb553d12c9773a2ee7e312f38e5fef1b9e32d1667eaffd214d21d0f359371f53f54e732d02fad7884daf35afcf62bd9933d23b2ea7c8d68ee74929903800fef5e0f33364a08ce7928def69a3b7079a6d8b47a190fafcdf0e7bde3ae6841dc055bdb8f57e7aef31524d4c3b6f816a003d29b13cd54b80bb439b8c07eded725e9ccee56f443fd91a07dbf5cdcf8e6553d6ba6e6d0ddddad181b81f8eff60828c49e66231f9e9ede0aa7a22c2d0396d450109a2fe5ad3a1ef468469bb8eadb7e031d18ef9cdae2c087696020ed8a869a4f11368dc7396a12df86520794fd9bb7e7b9b2151f6b94f78f05d90c32098b3d59737f8282da168c4a17483a5d04df6d8bf5b7f3425de52d03991c513ea9056d08b4bacac26a5298f1d95908390efefb617fa108720d58346f21cd77cdcc2b3e3c8a916ddd7937240bcc5243c7c2805c1bcb01d7d135957132fa8d9569831f9b1561d5f2303824d206ac9595ee97b07510c9531038f17d0c1d6a2a68e1303d3bde44a3ff2a01ab9f34242d0a821978569f536784fcb5ebc98336aa807c394399461caf1a77b40c16fc35d32ed613303c44f0812a6a6e7f82723388d53b126ba9cf1b80ec94c688a3da3910fb8b7a8988b4426f00c7f54b57a02e87d9d3ddfc7a2c19a1af29125bd1cafe6982dfa01ed1d8252b8805ba40f3d5ead776ea65fde1624a9e14da27f18610d5816a6b24c05a8d4a64e9a6b93342f3fb134fc8b67d21c9c2f1e6831b39b28d5027c5a4e59020196709c96fc17f9570526b04feb87a1773367490792e8b4084dd1ddd6fbbaf9d4d37bc46c4c8305a5a528b7f7e9289546da85779c82f47691be37cc393dfdc7dd029c684c0c1225c86255443b37ad7b70ec66e9c1f590a40a38677f23e72e04a293ff561f2d83e3bdbeeba24f676b06ea0eb5d719a821d302850da70ae38a61067763218579e48d76592a13ea184983d839e6f539ca3b95480e5e2bff4368e7fec4f5d640f4bf1b4a37c9e80fa157dfebc8bc914355842261dc6805dba3fffcb821b98f58e985d087e8c267b1a5e36a34eb5367cfe8efb0c0ba383b235ad5b7a0dec4a2b3f3c6cdf3455de0ebd3502b25d86328d77e05050c8ff4b785acf55b1a56c17c445d2ac5713766da388246ee1f59b7e8cfa47c6070adada1a01d43c7938ef418f7f07cb17a03baaf8403640ff5efcbffdaa0f093d66f66d427bcf8026d443ac6e30add83922e2c4fbc5e3f6853f25f2941a2f60a5ff974a68965acf7a3e8522355dc7220bbcc568748bacedab1420a533d4495113db123200f6147d427d1df42f80249301a3f1e95728652e59c5c66350e2dc1179cb115acb861505dfc31a3d8b4d7b77ee58d3d356296e2416c21fb2c518d12587a1224fbc5a41efec8ebea14c391160f69c073fd80623af4747a06730b2ea0b6a63a00d5a3819c03a32f4883a1927cdaf38c3f7537074dc0819dd21a68b1c1feb5bf12e813995423d45b9ab360474ee49530d353bdf908279f01731a115fce8cc187a4719c849e9fdf169a1f3574d27f81d482cf0ebe57714418019045567d44f50785ec5d1f1d9cd9148a088fa7431e4e8b1bdfbc792c4cc344d8ee7c83932ab7326d22e434880e7d968eabb29f5b93414a890e3bfe12899759f465fa152de3fe1e7d5e9d31760a73a026e8c3d9256bfa4c3f9f727164363f2c2771248275be9db6d162faf075044abeb0b3df65be21260e820278ba0caeb396eb6cc234a9e07264c4b7aa89e056440317869b7643e62d492f6bc4d510acbb60f05b6fcf1cc488d5a7e5e434c20ed638f8e9124d81419e2ae6154b130988583f3eef103e6f789e39a4bb16005e2daf807b289e4619e4dea71772f243d4c9d81e20ad1c959eba3d5f723c0c4b625331f539ea3bf426b4d89a0ea9eaf86bc4a110dde61cb565ef6c1d9ff591843226ba4d5d641cba103f0b7623df5601dfb0514abc1aaf3412786338b1826d5d57792117670725a315876923b8d9c62a2798bd4cb879f2adc8986ae9e04ec4ee88d9997a1a0d1694615645b8c2420ffb040ba2545caca8adc940efe5ba21a330a0169f350750595afb99c5cf29a5c3c16a113d94cab4f34b677afc6a702de96d1906a3bce98dafc8c2a000debb6097713649a59a99aa170cb1585035471ff8aa3fa69354b721ae265485ca7ffe6ebba26261e07ac7216ff4b1f2857180ba78fdf789173c66f2d554cc92fcccf8f350d4ca36245b7a1bb03f8089dd6f8129446186593f9c275c78ac4849a2485dafb3216051170c5637555ba7e98fa994c706a63b272739438a23d86df145c80b58acb39ea6fe1cc8ace2ec345da1c0aaa2e7c2fa2c8ed3cc6a11693edd327da9c5f576b4ac567b371358af573d3b90ec2ed9da9b2ab9607d3067e1627f9be48aa323c5278bf6e2e8cf4356a8bea2787462f72c4acc68fb7a832c343aeadb2026377c43b6da710592e2c034bbaeec62007b531f895fbae8c6d757218ee2bbc7972923885005fafc8fe8f1c0685b66c9b760879b0d2922eefef5dd585cddf85b915a2b2630232ba037da771436c036defd4ce65a1d6c507cd88bddc3863238a225f0a67661c5b76bdf2c7b962bdc4ae33e3f6387bbff4435a84d7e5daa74619ef70fe4125569b4f33da987e35ba1450ee522d1064eaab9024deaec745cb9cfae92fa5c73008bf04378d55a74dceee66f70a38bc295ec8df351b511712a5ebeb77b5e34d8d53313e48012116b179ef686aa0699b73b8f56efb63a3af2c438d12557aea54bd234af90b03988bb8a5d36a51fe64d9a7340efcd75e232fe1068047a01b1ad59aa125bac67c6ac442b4c8dc5253a55811573efbbed071fc408ffe95a9c1b475a313d3d123a6b1813dc9c29e513ee1953cff3cae3fec8874688b3309efc8930e9073cc53b4ca6ccc4c8aa63e7ff9f8318851108e05f3d643427a87de0fda8be9ed11ce341776e591e16f2b2e2d521da477dcce5f2c123ea24cb4e62a8d9d123f6fe03b9fb5deecf93d5eec78c6d4c346bca8c448f43eeb2a58a91a2c69ab2640eda8a26b07b65ecba3bf9c1ad4367c9d24ce8c2be6925f012eba9d18f68e4dcdc988c5985898c26f2a20f6b80651231e50c75f0b6e7a5081682e136603a95e0bf0fc1f6060c14a629115b47eb3a8b96fecfff69d0e3335105d6956fa08cd717c70e9743cf502fc3908517117433848693657421026cfd1cdf7b4d1a60e0270956166684eba2f7d634454ada71d5b68a77c4e989fdddcf62f9cda69b14cfdb599612549b082d288fbe7a7e1b5f30c344cd1b6c2eec8492e631c85477217206a097364db641befd021617de6a5b4d36202c8502ee0e8353986b6d40c8325060c2af6dbd0abfe1e0f83fc22e08ebeaca2fe75979edc995bfb4534a725d6e117389d053c65a2a3364123ff147f60c05492ae0edb99e1775e784dc24ae4023427953f460a3c81c8b30fcc6644e394822f455ec9b9d57be94b5274cdf2303a0e2570ed5d9557ca1d9b4fc52453db41c7f69d2272b73a4d9832557d4c0bee1ba8505550a3fa5ae00e4a0a7f496bddb39f878f78cd29338df786be63175742a27159bdfd9e92c581103a842f00a5ed5a4ae17dbea5e8c4b7aaa9d1371b3085fbedbd087a403b6a6c060cd970bb61cff88312223ec7e981cf922e5a99e72a4ea7c88dd3c07ae0f01e81fc3af1c6d5d8d0fb2cf1a8dc66494db53774ea05a90d195483268923c3ea38eec9935f7e99fc8f59696c5ddc97d2bfade79eabdef88b6822161ad280dc3c6cc420ed424967e1f243386eccf018d2f5fa006695bb193e36b060502d6d37fa6afeb93139274f0b7ecb6e1374c2d2de3c319c9abc57007ca441f040b51c5d8b60355e1fbf89a4226c8f56a2fe27050095d987f7334d1524030872cf55d26253fe8114d707425a2250be3f169648bf5a81b6fa7ebda8e37d5f85cca4388f0a80e80a68b8df42ced2ef6c7a6ac84f46c595e98c7a35990f24d86f09fc454927de6a4ce2217b47ae0be28baa58e907c728e4c499ba809a75cab423d832e688710bfca1fa653cc5194812132f1523d18775661f7324a60de006455d64ce726abea9ae651422a3414d26e02485cdcf8b4655e13cfc27ceca074504de74e84713bf3eebc78ffcb2cf4a75d88a3bbb5bfb6aa3b77914f6d81019f6a2738f236094ea67b3e80ed5ef444ddf80521a8dfc398486212b37bd3b35d17ae84ee7fdc9c446b875289a5283c12bd4283dd59edc3a9749e750f2e64438beb3ccafcfb566b23e2230fecba4c1071e148865c2f556490c6c3cde5a9224868f01aa8313735ded5c5586251f354cb0a2f5d77bf8ccf6a52d49c79df742bf4906cf6b55d2024e1ffe8f6acf340db430d45c83d43ca182d909408459bcd2ce385c118cec9293ed569c6009fd17d17a1523aeb4c20635d23e36b4ed313ed374891662a720b968d9f681e16d8bad2a995dc0678c5bf16c8a4067d5eb03874109d3bfdb8072c947bd7cc051647e9d1227d081e4fe428e0e3be325e233890a51bb6b9dada42cf414093ad7ac2c5c53c19914e65317378e7a02056a225846d290bdcdef70b3861f3ba4831dd784e85dc2aca006f68b0672bad0e050a6b804fffa8f670b07b5e9ca2eaafe8d1345ff26d3832cfa38bec2670a82b6d805d945820fc33f00286829d9a7537fa7e7ca1b47cbca8696db9d00816f4e207a35346b3c5685d81029b47719078ec2caacca41ba9356fe1f72c16e81836498bd12b5a3a5bffc367f5a9ce255d7648fa33e4cfaf33f2694596cd1b33866d0273f7db118882ec5375dc6cda833098761814842be0f5755cba45029471301e62fc8315b6f2400ae953198274acf484c6befbf79a1eef41e636eb5df8f92388a6d5ac953b754ce8c875bce0aa4b4a0ff34ce71929fa48628b22dc2659735250a7864cb89ced858728d0abf5df64ed9ea6e679d6ca819d73cc0046d8439f202495ecc8b5dbb4b0d99d27e70cd3047ff280b0f34a32fc83cc1a01044219d444d7c48f18798de6843f3278335e81c572a6cbd64f0b87c3ecbe4878c1f8b85d3e279f7640c2dcb05af1210f5d9b57ce411d76ec703b9a5958ce5e729abba59cf49cf49219ba397a0bd122ddbd0f151b6e374d60b9a7884ed8fe2765cc5bf4baeb845abecb92407223f057a66a877639bb5e2492567b760b1e9af59e6d4b9b6070fd86f744f4d04f753c4f3fa4cdb557e88c64c4ea308a79189e9654e91748f73715a3e7fe135588812cbae18eaf8ee69e5a4c4319661afb93e2260a2a34fbf40a94fc577e60d23e9614ded9d228720d15166ebd83d29bb84792903e0e887080fb08f64684b84cdbe4487619e49c89e3b6b91136b827ff20f09bd4c413b01c65208f7705fe30f64fba2622788e34c20ade29e42452055bc5735d746258206ff5f22cca4b8e8b313879aecd87f8eec552da2261146eefd5c71058254af653770554cefda338f600a3f012598e346956a2ade13e0d680ad89532aa8fa23d36cbacec511300f4c89cf2ae8abc80604baf3f0c0d7d97b485dc3554bc35a39a1695f662711a98abb2bdf4f36ec70eacf20cea1589dbae0604e522916ef58e9f2a2ec4cf98c2afcc83b73d0f22f3d1410808c3a1ba6ce1141e258849e4863e51df9b35c9c1b2841248995a5632890f615493f56efbd9f0624ed30c2a9830230d56ce05a47ae30364a4fc4b7a64a605f6c5fdbdc34d7622516ff24ba323a6f0de0bffe16b96fea808f0b178e34cb6d5dba17353aedec8af01e4d561296c8b76c46ab7dfd9769f8d2c601b91295826d8b1688da9d1b0822e0209d88518c6e232992ca45439d013ad1d623feadd0787d38f2755f5d895d03ebb1c66716b4a86270129ad699e9582e236d220b6ec49b44e88905a48ac1dc8a1949562e5412f758fc0add35b1bb949639242ce3c2a7818dd70943e91222d7cbd698c3d4cd7625a24eca84c525c6da7cb6b7b0af083537830839c5f84d9a177a9ac3cefdb26d460e785b51ceeac3ae960900b5b2c859a5577f5c6451576d12a92ba1e33377c7111564dcf0f655f9cbe57b806d0c9f797a15d10cf48f5b1911becc6193e88a8075dc0d6b1d7b04d0a88fc8fd10086c587630e4372b86b01a98a8622b2697ff6e67a609930306534d162f8129c4a1cf6b3c84c867540a6bb7a75147abb390194eac137d81d98078a86eef17d68033759e88edf833f801e88a40503a54514be0e5014cfe1b6600aab2107b43498740f48a07daad72e374bffe0715b557817f5ed84cbee8a2355abe484ffa7c48861f7e892d18b6fd9c15e6f596b3970a9f4adeaa8a32f9f2f940a061e42d38c2dfa6c553aee48d532f5bb998865fe1351e6ff9e947a9a9d40c61bc127eed951472e737f65c754681587223d29020a9d30316311b3c654e1b67b5b2e0a64aae02aece9835adbf286744dc47b1a7d3e0d455f966f9b5205fb57ed684ddfd4c5b7c5ee530958ecc24b77c1f50484eb13fb63e58e9183afe9d4d52c5ef73ebf83b36122ce7e83d6f8bd9bd944a2553c93785679539f487f3a712b2e1bd58c79f8043c5b7e207aa2c7745012034d950d8df770384e56bb126d507a4ce42e37d9d1dc80a349e95deb065c9e7ab614d0ee209498081485a39c5bbf129851723ad8514adbac5d35f25932d258852f3e3443741a6685a6de2308db040ac81ebb47a48f32771cac2d4d81442ea18a1d7c8d5ca7dbc4ea2809b5753ec4e5dda77bd9a76e88f5bc67b061471c2f5b0532440d5bbc36818e8057e3ef2bfb4af974e616fadaaeeaeb18668b8dca6a93cd5dd31b930e90c5e96833e1fd58fd06015b819456ceb8b948c0890ec11e020d9c79ea74fcf687346ec5d7b48f9d5939b885118c028af3d25ec40de20bb46f65321cb286e53875acb2066be8ffb8239881cf646c7e1e6268a4bb49f6a9fee5dca4339ae6feb8c11f73958ffaf77b2cfb39ccd92766b7d637468ad54428c48011c6332df4e2ca505d4aa12c76892d2e42d9dd2a2bb5392ea0230706ec1360d406e329ac2e524d061620722070d78ad44f8a304e7d5843e34d50f9253befed66599c0c798a0a36a9b14c1695356dbe081620772beb0fa69c9f100724d3c86d052657f68ce811b4d930420e978f827a4e03895c3d2de51cc46b4ccf75e44664ac690740117f71671fe9dd465026d34bfbbf9137e784f04cd1eaeb4bc779234880e27edae3abc2095e437d8ac74b52d7e27abfbf2e676244a39a61d1c7d46d36eba9d1b2aef01f64369f8a3356a636eaa57179da0bfaaf3a8d8acbdd1cbbed5ee2eaf82f732f73205d504c80f7a209fd8c9f5dd471a17f7ffcd842a6bb9b11de29e68f6cf040a69981ff6754da6ac5eb04183b124867e04e581ceb916d5cd8cf186bf8d0f4a2d02594d6b0a54f42e5f15c65108f30408b2730af7a02ebb92caa70c9b6b32f5e33e356a0bc59743de85ecbf89f8039c8f6255976e2b71133b0e815cc06510d13f51cdb14b678f0e3beba9094dc34a17b51169db5d479e9f82c101a6c03f6bf7362494833c61c175062193b1519669cb1afb1a4940520a87c1313700c5c33c122c2b7a5b4c09e784ab2288303e802510813c8c15bbafad29b59839745afbeab63fe5ab5afd7d14aaa46a5ee1db59a6a665bd6b3c23d81cc105d63ee5127cbaeb1534a526d9b26ac33be0e5bfea20af927f6d83e905df55d1b569801ac52a6d0c8c4cf8ad6dda0564cd89a6f978878011bcb8dcd0235afbfe78d95e578a85ed00372ec78fea0650501362919acea85cce56df6854bd639b5c35d9d2e810507f4b333c39f4ff175accc931c8154f113999551a21c25b67bf99012a7235ffc7fb66b2ba4ad533b9c82c2824d1498d17ab7d446370ebe07e2f98b740b97a6018e0529efe76f0ca2b782c15dead03b6c2f8ac130d1b4c38e582a0e7e3b6ff0093a1b6d4cf64e07a2b30493e45f9dd9879fdd337ff87c16a2285fc1bafee0647bddb449ec2f0d189204a36483fe881be195b992cdf3a0c73ca53ecbd045081777870c2c66e79ba06dbdb41a2006b7307b59ae99247540a322b641af3365a017d87433bfcc3d692fb7b4b67b8e189ee637736340a6d0fc4ecd3cc5984611a58cca5a6508aa42f20ed8c9e4324e7ce0c9dc02fb293d1503ef77caca96be60d889d9008ff15210791174a3570b9de0d7511bf34383db68ccaef3826e0b4484caa593932509cc4b7ac07a67c66b1240a47b37de72296eefa5f2736290ac32e11cc0a8eca594b2ca3eabbd29d4412ef62ad93baccec8601a33271fb7518a1154d9f588667cf3bcbb063752f2c52b3c7f88fe3fef1f7acf61ce529cbb57ffaade8d93e9d0f0c83b507a03cbfdc4e04e8d6ca990274fb983ccc75609df574d54c7f2c46961533ed3421916cf45c83470b28eb92ae0345363ac4d063ce973fd2fe162de3db314c453683ae75f3c46df7ae9b37afe11316657c62ec3e20fb980676f9cda68e805beb546da9bfb0dee921dc132996811b72349f78608dfa0615327e9cd2cd0e4c4c8d49da1bb48cb2d28b7ec1520210089dd339ca196bfd9339be6c34f28893cff803e64ba0b068300e48ce70e1f7f11f2dd83d47ee1af8b9bc22b7a7e4fa5bdd7c186fc3dc2d9c58cf0d274ee1255d57da6bc5ceb90698276e429e04156f513300077c80cecf09d8e376daac46dcaced9777f5ec1505524a5228edc9024dd414110c82f7ec873d9535906377c234195acbbec24930ff5342d055ed41069de8b8b860c3041ef9afdf6a96b629f9c95d35a817bbb2dd193392f9694c8f6d1bb499e53326f3a4568a45db776cb3a24b338dd79bd6af0ef7065261b5a4d0fa2175473790f6e77f8572a4852d4ef3ed0699d67b1feb566724784ca1da13eba42d1492a41e3471f79ab661cf591d2913ba2737a55ddb164fd57456b44f40c83c70c7b4e1f963f8929111c07d4a58b29e8d443c3c9a7ac1d2ec312d8d39cbdc8fe3d72af0906d81c42f66921ee21d3cdcf82495bc80e75975e050f5d469362a8163aab4a585dc39ce2261e5bfc008fa1b11895b86c6239d6a31c6e9b801cde0a4b53b40c8eb9d60d143f216743b53c11707ec9f34a6600abaea3cead47fd644253aa140c29cb0a5c0842ff12677b8f94414af86c604ed3a41a88a6827b004729774a8173e92a672645f6c18c94c6a22a48731e063d1eae161b68d096a9c9f8cf7e564b163f2f2a9634e2ba075d34cfdafa7f86f61dd86d9baead31b03abf22e37c941af4702f7dae202bf32bce4c3e7a1db565a1a81300c8e046a396c3ac593e21f2c2626ac719a4aa9f0c5b7ae4ce64c4cee62c19c7dc83d935e8b263b43f37f6861f357639f4dba0dd903e3c19541d632e9c3e6ae78588a34ab98b6630bb16170a46536d690f216023021823dce070a2413d502c3b2f3b7171666414d01072a521e65745fa6d03aabea5c30444c004b2315106f66d41e5d4420d6f94920292500eebd1dcfc2d60b04856de50b2590a7fede6d9ac068988940aed00662fa06a52ddefafcec77385d094a3b78de92c11f98b55c145055e81df8018846ac4c082a619b19a30df8371d006021219731acb6cd80e9b0932fe90725288d8853ffb2e44a41f03c9f0b7bd5a99ddede1790cd7c710c1c3b4f2740279ea47029476d6994182cf4abf76e03d2c02b7e4da2602032ac2b48d932d63172e4c747def2cae81f3fb807661604c8aa1068fe7770640ba6958b1f5182df93062eaf38db6d9b29e3853a041b028c0751d5acb6cc38f08590590d92b4d1fd36edec4fbe32446422fe53b4e45c1160e32802d6be2df207b0e461a43d34ec00b6712c9b342213b9f90916656ab2f04a0a8e215c459edab27650a041ae3e00176d8f39ca85a0179086c53662f05831c4f0ea973ae077a58fd4eccef2891f51b63fd1790034127ed30a3aba9c6c0c8be8367f6b062dc42406a3392e7ae3b3d71851947675a55a6363b14308071d9752e6c8ce5c1f6d89bb8809c22f15fa87b0aebeefa21aa4c42325f58958334e8e66fe316dc424cad362c5bdab6a6cd91fce0fbd39c49c36fd6bdedf3ef59e6996e5ffc6b22d3022a042cb61dac202801bc04f91229b6fa8640769e85419ca8b0c86b5c46dde4f1b4d06461b8fb8bcd7aaf0ceacd96aa15131964c54e94081391272011f4361dc670e285cdbb7387a4b46ed40b00eaeda957f53ddba78a54dce17f3e8fdbc7c918fca6327d1d7b47f67559406c15462f773da553f71c95fa020033d00e8ae5dfed80d9ff394c6cb97aee6dee6f350dcff8d485e743f43c6205c347c84b21330e80c2818fbaf25fe6b77b7c6beb53f751f67fa9859bb99a7b8aa43c1a650750093437cf6914857d45cb6932b1cd67ed91e2fedc5bc52c536b0b19669d34eb926a9d6e047b902e3d8a9c027a32e73c1b8812c2d7890d47fffc04d235f235db8bae40be7c224e6b9428b7325e0a1481ace2d9d72868b35d2740d35051b7a5797ba051303823e73bf03c5c0136265bcde889ac6ea915ae2db578c364fb462ba511d277fd94a8109bf2673ddececd32b5c51fc1292065fc4a75a1e859a3a45c5978dbccfc53397cf0788c488d012433d3a1a7e9c713b8c7b591c400ee81658cc0584e6d31013335678b205b3ca75513fd401c9eff7ca94ab1fc556a3e2010b8642e05115abac13c1b1bef13ffd32391f99c0d18459bb9f07448be895ad3e7761a0f6c635a252c8e631065b1d73999e22f9c7d6a9c225735465670235ade69712ef6689bf0db975ac931f0a7708335db93d92a026634dd5696a2192854acc5f61b961dfb174f35ec310d512fba638b9b4e72a107b27be5e6a2edd46b22e18c632ffc4240e23358cbcfff3df0f24d6055e6305f0565f5909bc99b706f864f3ecd0040b92e6f3988250ac18af4a83c511b9eb3cfc112039271f90cd24c4196569d9d51007e4fe468b5867184d9ea9102578dbeb23d447ae51a7872e06de14dcbb209b5b77a3835728e2ed1f5e620a71e92c49d3ff11a65ca95935ff8ebf5ef9dc8937dbbf12b7d63af9ad2332ac392ef3b637a1de2f2bb567a2fbd1e6364ebff93fe27e67eff73e1314494f0166b51cc499f6c5bb56e9f7aff202efafebe7eac78a903bf29fabec48a2d5dad3ca62d5aaf613b661aee04e5fbc5c46eacc88391f9e2260bf2f17c4233ba9440a0808f83a5113900bac39b93d933fa4c0865de58290d56d45864b8ca8f21dac1d44f50c100ea8c210dbd4c01ed073a265ca8ed4dcbdc1670dc85d54d68fd7eb8e1fbf2b4958e47db6e07fdfacb4f1c3e03274b1340c4c660c891fbb9a542765805aafaec6037f518305463eb221cfa5c5968015c5c72304c60a347bf330a2773ca59f56bb4a7701d12f2d25ffc01463168260ea70fb586a5cc197ebee72dd8dc78abbdc1f6e5b570eb267a75d7c36fec1e6ceb6b502dbab9f61af596217440ee4bb5f8287f2c5a58b7d2dfabc649a1fa73e34fd67dab987b150c2b10685b78c2dc4b7094674d613ce65bca0b4f738fb9e299ea2ae300c9d87ccd3dd4e813a01602645a685ac79d4cd44def7be0872ffc7e8a5243432076402a5181101707ada79c94bf7bc796b3383ec805f7a214d02f00d9ea9d38c246dee18d9f0f00ff171b243a36b6d29d6d605d82d994131fa40dc9e06e9ae5b8ba6064d53d9e8f64ad453d77cd7742cb80ca1fcfc4ee0a5c26d5f1fcce92f03ca0eac49f716a5baa2e4367ef2dceb8199bdb7f0f432b80a28879a8ab08a8a75455c635284ce123d6156bdf00291e978b83042d7859764867c66c6287ed6b17fa82e20a05378b0087ca32d899c212b40fc1e77b0816c0f8acafb949426fac5e1c7d4c870699ec1d9b2e1260d6e3a87e7333962f9ef14803114a561019dbf2aa54305337295b38788f310006306dbfc5597520b1088fd2f642ff6f46dec3dd56acdaf9f3c627574fd09a6fb856bb5ea88dd403e55950f7349e6061dc5fa261cb5bae6f424682ddc9da4575eaab5c9fc8ad07ca5d967ffd7e51fa07110a9c1bba3bc3d43f48e27e5b83ab4b7ca8528f07116963edba3b329708d079f153e8f437ab1b0ae350045ae4bb449e3ff8e67d72b2cf5807a0dea842fa02d96a83ec84ce71306a15530a31190b17589286b7b0b929dfc805dcb900e2c9153ecb697c19a489eadeba2aad5d455a7f95ee214c60d5866e1d7fe8e9fc7e0c062dd2a923144fa0f92d7d3243441af723ed6e480f80930b1b5ed3940618c2463005826cf65ca49a1a0d7b1e93b327539877dbfb4c799b9766ef38c58aba6946b50c6b8024bdee001092837974c2583c8d0306836a675e3e3d7d487662a3b0f9742b68e6c03c6d870d3ec4525bb9fc9ee02f0e0f248735825e6a5cc55b34e98b89c202bf16bfc37c964e6c973c163625c2257edf81d1004f73b6326bf8b6abb02973593c5a870230ca164cfa826f70e0a00d6785f9d97a2c53762a0730be466592532b4006cc01861d2252067e3618cf9f03dfffa0308551ac60f01a0c4953f0fa4eaa23ffc97d8b76ee949ffe0a1c4f7c423fc492999277779592ffffffd07e35b2d00000a944da00000592e564a0000000000000000009431e8c65367e7fffffffffffffffffffc0dd35fc9a7800e0f5bba1a5b348583c3fe7fffffffffffffffd69f7ca0000000936e00000004dacbe0000000000000000000000000000000000000"`,
right: `"-15320b47df21d1ab68c53bc6af2031798569fa5e95900fdabb840b040df92bc111353a5badf7eb129e98691d94b583058b9de6161b0114e6e67083b7bfb6c9063891b03c73986373e01e9ceb8de3543b70be886cc71e99e6cb5f383e27221594008eefb8ef64f78c1e6fc41aa205f608f29bb82aabdb4131f2c6fcbe2b394d045f7d9c5654fd0d11830310e79d4deb454a4428760bce54af58ac34403a967882413dc34cb339d25a19094d1e2c73c7345dd39aa0146bb44f748478cd9fe020b0748783a3766753ea6de582eb17bc1b745c3bb721cb2e5157690d19d9212b1ddaacb5a705d0e62a5f227627787f9f8f80bcb0a044a6010348bf6331ee9194287781b5cbc38dbd1d51e9a8999529f7fd83a4390990cb85358d7a58f4c321321f1daeb332396d3c683aaffa843f368b3b45bb7d0e5f53458d45c96168cb0e544a7ccdd7373530dabd0ba30fc939ab4e4e3f7cee0ae2d6b2ce078cda83044afc3208313085d3bbf9c90431fbceef92793fc38ecdcd72df7d59feb09cf4fd056016d9411b704227d88a0bc9f01b986fa114b77ce4a92563c9b0baa685b6cc2194019bd4fa742955f0e7ffdc08d053a8fccf07593fdc656b4eae50c54378e5fda655095a5a630879e62f1dfd62723daf0cf5bd5fe4420960e180f5da651b5c1a973a948bee5179e2d0bc1ffed8c2015fffab87413b004a9a41a18801bb8e9a415c599badb4fc99639a2bf1aae5b9a552d18dfe10de2bc2474b6e0a4878e3be43bf2040ce0e9112dbdc7b525279bc027fe6f6387f5450a09ab2cb2d39d5875ae7c2df95a3c92c204030866c9e8f9f2b4ee2d205f9c11d8e897fc0a1ebe2c9248228a504872e0886a1b5020a19459080740a4dd3cf59eef5e7239ef98bda3915174a2b7f437884e63eee41f92f35ed89613e39daf4a0c826d55452f98e9bb0fd913d7fb5e562d0c11fe4cb4826f785a018e6d07bd81bb679f6e95f3716b18f721b1fb5e87bb720bfd2968f611c697f53c8e41d7e13b241526fe4c73291d9782cfde94e1602c89a5b9a64dba1c06b8924816c692c947bb35bb9893eeb63b6f5d98f80ea7e802a43140263db8c5704d77534b7546de8d138a160f8a4ffd1d1abd791530a6be0b71bba4932570fff0f6b663fe17689d58b6defc094add4b1b1946f1014aef9612cc869e61dd65d26b2a090815e934dcd8d97348ac8e2660bbd3cce2f949fde3bfa84875d1b7b444649e861ac079fd4fdae723c32dd39d3eb029d3679a6b88f7452640c2d8edf9f18e237d5075a7d265eae2d686df04a813dfe21661511da914de7ab71a434d334dc0d4e60225e261f85e3ef095d8f56ce4e6a9d0d2fab64a670398548a353063f5fad878032638e445ebdf6f0e8616465ef64d44f111c466afaac2d321a6ae84e2fbfa7be1dcd80722c6ea0841ef813678ad9afb3d09cf2c4d3ed393c202c2c4f4ad24cc58f6885580e8d4fb0f77cb6d42709fb98934a4bd845f342ff8bad8a9e124feba59412e159d0a3bebe5b3d9a3d8163ab480a099607a4caaefa649dce61958eff34576078686410d923035fac8b594ebf6f9b8a80e4f691abe3c3e748c61f0c9be73eb25e330648da208b8fc468014565b21b02b85cd2bc446f8ef6c62063cf52a2c82c7600747e040696f59523d4b3bab07c9f6b28991db905aadddf3f8337c5e63fe6703ee232006e781eb00e7bb3bd53a712fed11f8817bd33b0e02024614544064d66c10343df305ecd3c08fa6afdb9f6c33fd15402ccb0570fc4acf2f66c90b276498ec8d226c3c94349a4b653cc924ae5e9d722906b955282a213673f5662bfcb489874ea04a0cb1f286bff258cbcb24fe7bfe34a4eaa48865ffd4a4e6857e3e88a6858da5b78d2538e23a909d5360e7a235dd660cadab52eb295f7d74728302071c3b5b3bbbcd05d3d1e39805444c105f5f7d7bffb7b61f23e2bafff1ec3054024d9007f9948d15c1e98442ae83fd7ac0fd88578ce019111153353f18fe5fb5a8b1d99d0829d9b2f2016b565d6960ca48a33a2ffca896e37f33f49d41e6a7192e413d22cc9a3738cec82a1b061341579850a9dd9fd4adc808a048fb5cab5563ad93b47bb421a41676417bac72e8b045de6527bdaa8406a2264bbc3a35afc73db5020b0bc4a566bf092ab54ced85adf32e3d47b253deb553d12c9773a2ee7e312f38e5fef1b9e32d1667eaffd214d21d0f359371f53f54e732d02fad7884daf35afcf62bd9933d23b2ea7c8d68ee74929903800fef5e0f33364a08ce7928def69a3b7079a6d8b47a190fafcdf0e7bde3ae6841dc055bdb8f57e7aef31524d4c3b6f816a003d29b13cd54b80bb439b8c07eded725e9ccee56f443fd91a07dbf5cdcf8e6553d6ba6e6d0ddddad181b81f8eff60828c49e66231f9e9ede0aa7a22c2d0396d450109a2fe5ad3a1ef468469bb8eadb7e031d18ef9cdae2c087696020ed8a869a4f11368dc7396a12df86520794fd9bb7e7b9b2151f6b94f78f05d90c32098b3d59737f8282da168c4a17483a5d04df6d8bf5b7f3425de52d03991c513ea9056d08b4bacac26a5298f1d95908390efefb617fa108720d58346f21cd77cdcc2b3e3c8a916ddd7937240bcc5243c7c2805c1bcb01d7d135957132fa8d9569831f9b1561d5f2303824d206ac9595ee97b07510c9531038f17d0c1d6a2a68e1303d3bde44a3ff2a01ab9f34242d0a821978569f536784fcb5ebc98336aa807c394399461caf1a77b40c16fc35d32ed613303c44f0812a6a6e7f82723388d53b126ba9cf1b80ec94c688a3da3910fb8b7a8988b4426f00c7f54b57a02e87d9d3ddfc7a2c19a1af29125bd1cafe6982dfa01ed1d8252b8805ba40f3d5ead776ea65fde1624a9e14da27f18610d5816a6b24c05a8d4a64e9a6b93342f3fb134fc8b67d21c9c2f1e6831b39b28d5027c5a4e59020196709c96fc17f9570526b04feb87a1773367490792e8b4084dd1ddd6fbbaf9d4d37bc46c4c8305a5a528b7f7e9289546da85779c82f47691be37cc393dfdc7dd029c684c0c1225c86255443b37ad7b70ec66e9c1f590a40a38677f23e72e04a293ff561f2d83e3bdbeeba24f676b06ea0eb5d719a821d302850da70ae38a61067763218579e48d76592a13ea184983d839e6f539ca3b95480e5e2bff4368e7fec4f5d640f4bf1b4a37c9e80fa157dfebc8bc914355842261dc6805dba3fffcb821b98f58e985d087e8c267b1a5e36a34eb5367cfe8efb0c0ba383b235ad5b7a0dec4a2b3f3c6cdf3455de0ebd3502b25d86328d77e05050c8ff4b785acf55b1a56c17c445d2ac5713766da388246ee1f59b7e8cfa47c6070adada1a01d43c7938ef418f7f07cb17a03baaf8403640ff5efcbffdaa0f093d66f66d427bcf8026d443ac6e30add83922e2c4fbc5e3f6853f25f2941a2f60a5ff974a68965acf7a3e8522355dc7220bbcc568748bacedab1420a533d4495113db123200f6147d427d1df42f80249301a3f1e95728652e59c5c66350e2dc1179cb115acb861505dfc31a3d8b4d7b77ee58d3d356296e2416c21fb2c518d12587a1224fbc5a41efec8ebea14c391160f69c073fd80623af4747a06730b2ea0b6a63a00d5a3819c03a32f4883a1927cdaf38c3f7537074dc0819dd21a68b1c1feb5bf12e813995423d45b9ab360474ee49530d353bdf908279f01731a115fce8cc187a4719c849e9fdf169a1f3574d27f81d482cf0ebe57714418019045567d44f50785ec5d1f1d9cd9148a088fa7431e4e8b1bdfbc792c4cc344d8ee7c83932ab7326d22e434880e7d968eabb29f5b93414a890e3bfe12899759f465fa152de3fe1e7d5e9d31760a73a026e8c3d9256bfa4c3f9f727164363f2c2771248275be9db6d162faf075044abeb0b3df65be21260e820278ba0caeb396eb6cc234a9e07264c4b7aa89e056440317869b7643e62d492f6bc4d510acbb60f05b6fcf1cc488d5a7e5e434c20ed638f8e9124d81419e2ae6154b130988583f3eef103e6f789e39a4bb16005e2daf807b289e4619e4dea71772f243d4c9d81e20ad1c959eba3d5f723c0c4b625331f539ea3bf426b4d89a0ea9eaf86bc4a110dde61cb565ef6c1d9ff591843226ba4d5d641cba103f0b7623df5601dfb0514abc1aaf3412786338b1826d5d57792117670725a315876923b8d9c62a2798bd4cb879f2adc8986ae9e04ec4ee88d9997a1a0d1694615645b8c2420ffb040ba2545caca8adc940efe5ba21a330a0169f350750595afb99c5cf29a5c3c16a113d94cab4f34b677afc6a702de96d1906a3bce98dafc8c2a000debb6097713649a59a99aa170cb1585035471ff8aa3fa69354b721ae265485ca7ffe6ebba26261e07ac7216ff4b1f2857180ba78fdf789173c66f2d554cc92fcccf8f350d4ca36245b7a1bb03f8089dd6f8129446186593f9c275c78ac4849a2485dafb3216051170c5637555ba7e98fa994c706a63b272739438a23d86df145c80b58acb39ea6fe1cc8ace2ec345da1c0aaa2e7c2fa2c8ed3cc6a11693edd327da9c5f576b4ac567b371358af573d3b90ec2ed9da9b2ab9607d3067e1627f9be48aa323c5278bf6e2e8cf4356a8bea2787462f72c4acc68fb7a832c343aeadb2026377c43b6da710592e2c034bbaeec62007b531f895fbae8c6d757218ee2bbc7972923885005fafc8fe8f1c0685b66c9b760879b0d2922eefef5dd585cddf85b915a2b2630232ba037da771436c036defd4ce65a1d6c507cd88bddc3863238a225f0a67661c5b76bdf2c7b962bdc4ae33e3f6387bbff4435a84d7e5daa74619ef70fe4125569b4f33da987e35ba1450ee522d1064eaab9024deaec745cb9cfae92fa5c73008bf04378d55a74dceee66f70a38bc295ec8df351b511712a5ebeb77b5e34d8d53313e48012116b179ef686aa0699b73b8f56efb63a3af2c438d12557aea54bd234af90b03988bb8a5d36a51fe64d9a7340efcd75e232fe1068047a01b1ad59aa125bac67c6ac442b4c8dc5253a55811573efbbed071fc408ffe95a9c1b475a313d3d123a6b1813dc9c29e513ee1953cff3cae3fec8874688b3309efc8930e9073cc53b4ca6ccc4c8aa63e7ff9f8318851108e05f3d643427a87de0fda8be9ed11ce341776e591e16f2b2e2d521da477dcce5f2c123ea24cb4e62a8d9d123f6fe03b9fb5deecf93d5eec78c6d4c346bca8c448f43eeb2a58a91a2c69ab2640eda8a26b07b65ecba3bf9c1ad4367c9d24ce8c2be6925f012eba9d18f68e4dcdc988c5985898c26f2a20f6b80651231e50c75f0b6e7a5081682e136603a95e0bf0fc1f6060c14a629115b47eb3a8b96fecfff69d0e3335105d6956fa08cd717c70e9743cf502fc3908517117433848693657421026cfd1cdf7b4d1a60e0270956166684eba2f7d634454ada71d5b68a77c4e989fdddcf62f9cda69b14cfdb599612549b082d288fbe7a7e1b5f30c344cd1b6c2eec8492e631c85477217206a097364db641befd021617de6a5b4d36202c8502ee0e8353986b6d40c8325060c2af6dbd0abfe1e0f83fc22e08ebeaca2fe75979edc995bfb4534a725d6e117389d053c65a2a3364123ff147f60c05492ae0edb99e1775e784dc24ae4023427953f460a3c81c8b30fcc6644e394822f455ec9b9d57be94b5274cdf2303a0e2570ed5d9557ca1d9b4fc52453db41c7f69d2272b73a4d9832557d4c0bee1ba8505550a3fa5ae00e4a0a7f496bddb39f878f78cd29338df786be63175742a27159bdfd9e92c581103a842f00a5ed5a4ae17dbea5e8c4b7aaa9d1371b3085fbedbd087a403b6a6c060cd970bb61cff88312223ec7e981cf922e5a99e72a4ea7c88dd3c07ae0f01e81fc3af1c6d5d8d0fb2cf1a8dc66494db53774ea05a90d195483268923c3ea38eec9935f7e99fc8f59696c5ddc97d2bfade79eabdef88b6822161ad280dc3c6cc420ed424967e1f243386eccf018d2f5fa006695bb193e36b060502d6d37fa6afeb93139274f0b7ecb6e1374c2d2de3c319c9abc57007ca441f040b51c5d8b60355e1fbf89a4226c8f56a2fe27050095d987f7334d1524030872cf55d26253fe8114d707425a2250be3f169648bf5a81b6fa7ebda8e37d5f85cca4388f0a80e80a68b8df42ced2ef6c7a6ac84f46c595e98c7a35990f24d86f09fc454927de6a4ce2217b47ae0be28baa58e907c728e4c499ba809a75cab423d832e688710bfca1fa653cc5194812132f1523d18775661f7324a60de006455d64ce726abea9ae651422a3414d26e02485cdcf8b4655e13cfc27ceca074504de74e84713bf3eebc78ffcb2cf4a75d88a3bbb5bfb6aa3b77914f6d81019f6a2738f236094ea67b3e80ed5ef444ddf80521a8dfc398486212b37bd3b35d17ae84ee7fdc9c446b875289a5283c12bd4283dd59edc3a9749e750f2e64438beb3ccafcfb566b23e2230fecba4c1071e148865c2f556490c6c3cde5a9224868f01aa8313735ded5c5586251f354cb0a2f5d77bf8ccf6a52d49c79df742bf4906cf6b55d2024e1ffe8f6acf340db430d45c83d43ca182d909408459bcd2ce385c118cec9293ed569c6009fd17d17a1523aeb4c20635d23e36b4ed313ed374891662a720b968d9f681e16d8bad2a995dc0678c5bf16c8a4067d5eb03874109d3bfdb8072c947bd7cc051647e9d1227d081e4fe428e0e3be325e233890a51bb6b9dada42cf414093ad7ac2c5c53c19914e65317378e7a02056a225846d290bdcdef70b3861f3ba4831dd784e85dc2aca006f68b0672bad0e050a6b804fffa8f670b07b5e9ca2eaafe8d1345ff26d3832cfa38bec2670a82b6d805d945820fc33f00286829d9a7537fa7e7ca1b47cbca8696db9d00816f4e207a35346b3c5685d81029b47719078ec2caacca41ba9356fe1f72c16e81836498bd12b5a3a5bffc367f5a9ce255d7648fa33e4cfaf33f2694596cd1b33866d0273f7db118882ec5375dc6cda833098761814842be0f5755cba45029471301e62fc8315b6f2400ae953198274acf484c6befbf79a1eef41e636eb5df8f92388a6d5ac953b754ce8c875bce0aa4b4a0ff34ce71929fa48628b22dc2659735250a7864cb89ced858728d0abf5df64ed9ea6e679d6ca819d73cc0046d8439f202495ecc8b5dbb4b0d99d27e70cd3047ff280b0f34a32fc83cc1a01044219d444d7c48f18798de6843f3278335e81c572a6cbd64f0b87c3ecbe4878c1f8b85d3e279f7640c2dcb05af1210f5d9b57ce411d76ec703b9a5958ce5e729abba59cf49cf49219ba397a0bd122ddbd0f151b6e374d60b9a7884ed8fe2765cc5bf4baeb845abecb92407223f057a66a877639bb5e2492567b760b1e9af59e6d4b9b6070fd86f744f4d04f753c4f3fa4cdb557e88c64c4ea308a79189e9654e91748f73715a3e7fe135588812cbae18eaf8ee69e5a4c4319661afb93e2260a2a34fbf40a94fc577e60d23e9614ded9d228720d15166ebd83d29bb84792903e0e887080fb08f64684b84cdbe4487619e49c89e3b6b91136b827ff20f09bd4c413b01c65208f7705fe30f64fba2622788e34c20ade29e42452055bc5735d746258206ff5f22cca4b8e8b313879aecd87f8eec552da2261146eefd5c71058254af653770554cefda338f600a3f012598e346956a2ade13e0d680ad89532aa8fa23d36cbacec511300f4c89cf2ae8abc80604baf3f0c0d7d97b485dc3554bc35a39a1695f662711a98abb2bdf4f36ec70eacf20cea1589dbae0604e522916ef58e9f2a2ec4cf98c2afcc83b73d0f22f3d1410808c3a1ba6ce1141e258849e4863e51df9b35c9c1b2841248995a5632890f615493f56efbd9f0624ed30c2a9830230d56ce05a47ae30364a4fc4b7a64a605f6c5fdbdc34d7622516ff24ba323a6f0de0bffe16b96fea808f0b178e34cb6d5dba17353aedec8af01e4d561296c8b76c46ab7dfd9769f8d2c601b91295826d8b1688da9d1b0822e0209d88518c6e232992ca45439d013ad1d623feadd0787d38f2755f5d895d03ebb1c66716b4a86270129ad699e9582e236d220b6ec49b44e88905a48ac1dc8a1949562e5412f758fc0add35b1bb949639242ce3c2a7818dd70943e91222d7cbd698c3d4cd7625a24eca84c525c6da7cb6b7b0af083537830839c5f84d9a177a9ac3cefdb26d460e785b51ceeac3ae960900b5b2c859a5577f5c6451576d12a92ba1e33377c7111564dcf0f655f9cbe57b806d0c9f797a15d10cf48f5b1911becc6193e88a8075dc0d6b1d7b04d0a88fc8fd10086c587630e4372b86b01a98a8622b2697ff6e67a609930306534d162f8129c4a1cf6b3c84c867540a6bb7a75147abb390194eac137d81d98078a86eef17d68033759e88edf833f801e88a40503a54514be0e5014cfe1b6600aab2107b43498740f48a07daad72e374bffe0715b557817f5ed84cbee8a2355abe484ffa7c48861f7e892d18b6fd9c15e6f596b3970a9f4adeaa8a32f9f2f940a061e42d38c2dfa6c553aee48d532f5bb998865fe1351e6ff9e947a9a9d40c61bc127eed951472e737f65c754681587223d29020a9d30316311b3c654e1b67b5b2e0a64aae02aece9835adbf286744dc47b1a7d3e0d455f966f9b5205fb57ed684ddfd4c5b7c5ee530958ecc24b77c1f50484eb13fb63e58e9183afe9d4d52c5ef73ebf83b36122ce7e83d6f8bd9bd944a2553c93785679539f487f3a712b2e1bd58c79f8043c5b7e207aa2c7745012034d950d8df770384e56bb126d507a4ce42e37d9d1dc80a349e95deb065c9e7ab614d0ee209498081485a39c5bbf129851723ad8514adbac5d35f25932d258852f3e3443741a6685a6de2308db040ac81ebb47a48f32771cac2d4d81442ea18a1d7c8d5ca7dbc4ea2809b5753ec4e5dda77bd9a76e88f5bc67b061471c2f5b0532440d5bbc36818e8057e3ef2bfb4af974e616fadaaeeaeb18668b8dca6a93cd5dd31b930e90c5e96833e1fd58fd06015b819456ceb8b948c0890ec11e020d9c79ea74fcf687346ec5d7b48f9d5939b885118c028af3d25ec40de20bb46f65321cb286e53875acb2066be8ffb8239881cf646c7e1e6268a4bb49f6a9fee5dca4339ae6feb8c11f73958ffaf77b2cfb39ccd92766b7d637468ad54428c48011c6332df4e2ca505d4aa12c76892d2e42d9dd2a2bb5392ea0230706ec1360d406e329ac2e524d061620722070d78ad44f8a304e7d5843e34d50f9253befed66599c0c798a0a36a9b14c1695356dbe081620772beb0fa69c9f100724d3c86d052657f68ce811b4d930420e978f827a4e03895c3d2de51cc46b4ccf75e44664ac690740117f71671fe9dd465026d34bfbbf9137e784f04cd1eaeb4bc779234880e27edae3abc2095e437d8ac74b52d7e27abfbf2e676244a39a61d1c7d46d36eba9d1b2aef01f64369f8a3356a636eaa57179da0bfaaf3a8d8acbdd1cbbed5ee2eaf82f732f73205d504c80f7a209fd8c9f5dd471a17f7ffcd842a6bb9b11de29e68f6cf040a69981ff6754da6ac5eb04183b124867e04e581ceb916d5cd8cf186bf8d0f4a2d02594d6b0a54f42e5f15c65108f30408b2730af7a02ebb92caa70c9b6b32f5e33e356a0bc59743de85ecbf89f8039c8f6255976e2b71133b0e815cc06510d13f51cdb14b678f0e3beba9094dc34a17b51169db5d479e9f82c101a6c03f6bf7362494833c61c175062193b1519669cb1afb1a4940520a87c1313700c5c33c122c2b7a5b4c09e784ab2288303e802510813c8c15bbafad29b59839745afbeab63fe5ab5afd7d14aaa46a5ee1db59a6a665bd6b3c23d81cc105d63ee5127cbaeb1534a526d9b26ac33be0e5bfea20af927f6d83e905df55d1b569801ac52a6d0c8c4cf8ad6dda0564cd89a6f978878011bcb8dcd0235afbfe78d95e578a85ed00372ec78fea0650501362919acea85cce56df6854bd639b5c35d9d2e810507f4b333c39f4ff175accc931c8154f113999551a21c25b67bf99012a7235ffc7fb66b2ba4ad533b9c82c2824d1498d17ab7d446370ebe07e2f98b740b97a6018e0529efe76f0ca2b782c15dead03b6c2f8ac130d1b4c38e582a0e7e3b6ff0093a1b6d4cf64e07a2b30493e45f9dd9879fdd337ff87c16a2285fc1bafee0647bddb449ec2f0d189204a36483fe881be195b992cdf3a0c73ca53ecbd045081777870c2c66e79ba06dbdb41a2006b7307b59ae99247540a322b641af3365a017d87433bfcc3d692fb7b4b67b8e189ee637736340a6d0fc4ecd3cc5984611a58cca5a6508aa42f20ed8c9e4324e7ce0c9dc02fb293d1503ef77caca96be60d889d9008ff15210791174a3570b9de0d7511bf34383db68ccaef3826e0b4484caa593932509cc4b7ac07a67c66b1240a47b37de72296eefa5f2736290ac32e11cc0a8eca594b2ca3eabbd29d4412ef62ad93baccec8601a33271fb7518a1154d9f588667cf3bcbb063752f2c52b3c7f88fe3fef1f7acf61ce529cbb57ffaade8d93e9d0f0c83b507a03cbfdc4e04e8d6ca990274fb983ccc75609df574d54c7f2c46961533ed3421916cf45c83470b28eb92ae0345363ac4d063ce973fd2fe162de3db314c453683ae75f3c46df7ae9b37afe11316657c62ec3e20fb980676f9cda68e805beb546da9bfb0dee921dc132996811b72349f78608dfa0615327e9cd2cd0e4c4c8d49da1bb48cb2d28b7ec1520210089dd339ca196bfd9339be6c34f28893cff803e64ba0b068300e48ce70e1f7f11f2dd83d47ee1af8b9bc22b7a7e4fa5bdd7c186fc3dc2d9c58cf0d274ee1255d57da6bc5ceb90698276e429e04156f513300077c80cecf09d8e376daac46dcaced9777f5ec1505524a5228edc9024dd414110c82f7ec873d9535906377c234195acbbec24930ff5342d055ed41069de8b8b860c3041ef9afdf6a96b629f9c95d35a817bbb2dd193392f9694c8f6d1bb499e53326f3a4568a45db776cb3a24b338dd79bd6af0ef7065261b5a4d0fa2175473790f6e77f8572a4852d4ef3ed0699d67b1feb566724784ca1da13eba42d1492a41e3471f79ab661cf591d2913ba2737a55ddb164fd57456b44f40c83c70c7b4e1f963f8929111c07d4a58b29e8d443c3c9a7ac1d2ec312d8d39cbdc8fe3d72af0906d81c42f66921ee21d3cdcf82495bc80e75975e050f5d469362a8163aab4a585dc39ce2261e5bfc008fa1b11895b86c6239d6a31c6e9b801cde0a4b53b40c8eb9d60d143f216743b53c11707ec9f34a6600abaea3cead47fd644253aa140c29cb0a5c0842ff12677b8f94414af86c604ed3a41a88a6827b004729774a8173e92a672645f6c18c94c6a22a48731e063d1eae161b68d096a9c9f8cf7e564b163f2f2a9634e2ba075d34cfdafa7f86f61dd86d9baead31b03abf22e37c941af4702f7dae202bf32bce4c3e7a1db565a1a81300c8e046a396c3ac593e21f2c2626ac719a4aa9f0c5b7ae4ce64c4cee62c19c7dc83d935e8b263b43f37f6861f357639f4dba0dd903e3c19541d632e9c3e6ae78588a34ab98b6630bb16170a46536d690f216023021823dce070a2413d502c3b2f3b7171666414d01072a521e65745fa6d03aabea5c30444c004b2315106f66d41e5d4420d6f94920292500eebd1dcfc2d60b04856de50b2590a7fede6d9ac068988940aed00662fa06a52ddefafcec77385d094a3b78de92c11f98b55c145055e81df8018846ac4c082a619b19a30df8371d006021219731acb6cd80e9b0932fe90725288d8853ffb2e44a41f03c9f0b7bd5a99ddede1790cd7c710c1c3b4f2740279ea47029476d6994182cf4abf76e03d2c02b7e4da2602032ac2b48d932d63172e4c747def2cae81f3fb807661604c8aa1068fe7770640ba6958b1f5182df93062eaf38db6d9b29e3853a041b028c0751d5acb6cc38f08590590d92b4d1fd36edec4fbe32446422fe53b4e45c1160e32802d6be2df207b0e461a43d34ec00b6712c9b342213b9f90916656ab2f04a0a8e215c459edab27650a041ae3e00176d8f39ca85a0179086c53662f05831c4f0ea973ae077a58fd4eccef2891f51b63fd1790034127ed30a3aba9c6c0c8be8367f6b062dc42406a3392e7ae3b3d71851947675a55a6363b14308071d9752e6c8ce5c1f6d89bb8809c22f15fa87b0aebeefa21aa4c42325f58958334e8e66fe316dc424cad362c5bdab6a6cd91fce0fbd39c49c36fd6bdedf3ef59e6996e5ffc6b22d3022a042cb61dac202801bc04f91229b6fa8640769e85419ca8b0c86b5c46dde4f1b4d06461b8fb8bcd7aaf0ceacd96aa15131964c54e94081391272011f4361dc670e285cdbb7387a4b46ed40b00eaeda957f53ddba78a54dce17f3e8fdbc7c918fca6327d1d7b47f67559406c15462f773da553f71c95fa020033d00e8ae5dfed80d9ff394c6cb97aee6dee6f350dcff8d485e743f43c6205c347c84b21330e80c2818fbaf25fe6b77b7c6beb53f751f67fa9859bb99a7b8aa43c1a650750093437cf6914857d45cb6932b1cd67ed91e2fedc5bc52c536b0b19669d34eb926a9d6e047b902e3d8a9c027a32e73c1b8812c2d7890d47fffc04d235f235db8bae40be7c224e6b9428b7325e0a1481ace2d9d72868b35d2740d35051b7a5797ba051303823e73bf03c5c0136265bcde889ac6ea915ae2db578c364fb462ba511d277fd94a8109bf2673ddececd32b5c51fc1292065fc4a75a1e859a3a45c5978dbccfc53397cf0788c488d012433d3a1a7e9c713b8c7b591c400ee81658cc0584e6d31013335678b205b3ca75513fd401c9eff7ca94ab1fc556a3e2010b8642e05115abac13c1b1bef13ffd32391f99c0d18459bb9f07448be895ad3e7761a0f6c635a252c8e631065b1d73999e22f9c7d6a9c225735465670235ade69712ef6689bf0db975ac931f0a7708335db93d92a026634dd5696a2192854acc5f61b961dfb174f35ec310d512fba638b9b4e72a107b27be5e6a2edd46b22e18c632ffc4240e23358cbcfff3df0f24d6055d6305f0565f5909bc99b706f864f3ecd0040b92e6f3988250ac18af4a83c511b9eb3cfc112039271f90cd24c4196569d9d51007e4fe468b5867184d9ea9102578dbeb23d447ae51a7872e06de14dcbb1f9b5b77a3835728e2ed1f5e620a71e92c49d3ff11a65ca95935ff8ebf5ef9dc8937dbbf12b7d63af9ad2332ac392ef3b637a1de2f2bb567a2fbd1e6364ebff93fe27e67eff73e1314494f0165b51cc499f6c5bb56e9f7aff202efafebe7eac78a903bf29fabec48a2d5dad3ca62d5aaf613b661aee04e5fbc5c46eacc88391f9e2260bf2f17c4233ba9440a0808f83a5113900bac39b93d933fa4c0855de58290d56d45864b8ca8f21dac1d44f50c100ea8c210dbd4c01ed073a265ca8ed4dcbdc1670dc85d54d68fd7eb8e1fbf2b4958e47db6e07fdfacb4f1c3e03274b1340c4c660c891fbb9a532765805aafaec6037f518305463eb221cfa5c5968015c5c72304c60a347bf330a2773ca59f56bb4a7701d12f2d25ffc01463168260ea70fb586a5cc197ebee72dd8dc78abbdc1f6e5b570eb267a75d7b36fec1e6ceb6b502dbab9f61af596217440ee4bb5f8287f2c5a58b7d2dfabc649a1fa73e34fd67dab987b150c2b10685b78c2dc4b7094674d613ce65bca0b4f738fb9e299ea2ae300c9d87cbd3dd4e813a01602645a685ac79d4cd44def7be0872ffc7e8a5243432076402a5181101707ada79c94bf7bc796b3383ec805f7a214d02f00d9ea9d38c246dee18d9f0f00ff171b243a36b6d29d6d605d72d994131fa40dc9e06e9ae5b8ba6064d53d9e8f64ad453d77cd7742cb80ca1fcfc4ee0a5c26d5f1fcce92f03ca0eac49f716a5baa2e4367ef2dceb8199bdb7f0f432b80a28879a89b08a8a75455c635284ce123d6156bdf00291e978b83042d7859764867c66c6287ed6b17fa82e20a05378b0087ca32d899c212b40fc1e77b0816c0f8acafb949426fac5e1c7d4c870699ec1d9b2e1260c6e3a87e7333962f9ef14803114a561019dbf2aa54305337295b38788f310006306dbfc5597520b1088fd2f642ff6f46dec3dd56acdaf9f3c627574fd09a6fb856bb5ea88dd403e55950f7348e6061dc5fa261cb5bae6f424682ddc9da4575eaab5c9fc8ad07ca5d967ffd7e51fa07110a9c1bba3bc3d43f48e27e5b83ab4b7ca8528f07116963edba3b329708d079f153e8f437ab1b0ae350045ae4ab449e3ff8e67d72b2cf5807a0dea842fa02d96a83ec84ce71306a15530a31190b17589286b7b0b929dfc805dcb900e2c9153ecb697c19a489eadeba2aad5d455a7f95ee214c60d5866e1d7fd8e9fc7e0c062dd2a923144fa0f92d7d3243441af723ed6e480f80930b1b5ed3940618c2463005826cf65ca49a1a0d7b1e93b327539877dbfb4c799b9766ef38c58aba6946b50c6b8024bdee001092836974c2583c8d0306836a675e3e3d7d487662a3b0f9742b68e6c03c6d870d3ec4525bb9fc9ee02f0e0f248735825e6a5cc55b34e98b89c202bf16bfc37c964e6c973c163625c2257edf81d1003f73b6326bf8b6abb02973593c5a870230ca164cfa826f70e0a00d6785f9d97a2c53762a0730be466592532b4006cc01861d2252067e3618cf9f03dfffa0308551ac60f01a0c4953f0fa4eaa23ffc97d7b76ee949ffe0a1c4f7c423fc492999277779592ffffffd07e35b2d00000a944da00000592e564a0000000000000000009431e8c65367e7fffffffffffffffffffc0dd35fc9a7800e0f5bba1a5b348583c3fe7fffffffffffffffd69f7ca0000000936e00000004dacbe0000000000000000000000000000000000000"`', tests/quickcheck.rs:951:5

These numbers are mostly the same, except the LHS has a few bytes (towards the least-significant side) which are precisely +1 of the corresponding byte on the RHS:

diff