/* ---------------------------------------------------------------------------------------------------*/ /* Port of the Intel Decimal Floating-Point Math Library decimal128 type to Rust. */ /* decmathlib-rs - Copyright (C) 2023-2024 Carlos Guzmán Álvarez */ /* -------------------------------------------------------------------------------------------------- */ /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */ /* -------------------------------------------------------------------------------------------------- */ /* Intel® Decimal Floating-Point Math Library - Copyright (c) 2018, Intel Corp. */ /* -------------------------------------------------------------------------------------------------- */ mod common; #[test] fn add_binop() { let a = decmathlib_rs::d128::ONE; let b = decmathlib_rs::d128::ONE; let e = decmathlib_rs::d128::d128::from(2); assert_eq!(e, a + b); assert_eq!(e, &a + b); assert_eq!(e, a + &b); assert_eq!(e, &a + &b); } #[test] fn add_assign_op() { let mut a1 = decmathlib_rs::d128::ONE.clone(); let mut a2 = decmathlib_rs::d128::ONE.clone(); let mut a3 = decmathlib_rs::d128::ONE.clone(); let mut a4 = decmathlib_rs::d128::ONE.clone(); let b = decmathlib_rs::d128::ONE.clone(); let e = decmathlib_rs::d128::d128::from(2); a1 += b; assert_eq!(e, a1); a2 += b; assert_eq!(e, a2); a3 += b; assert_eq!(e, a3); a4 += b; assert_eq!(e, a4); } dec_test!(bid128_add_001, bid128_add, 0, 0x00000000000000005dfecf59bad3acaau128 , 0x4014d000d4008a04ffffffddfdfdfeffu128 , 0x4014d000d4008a04ffffffddfdfdfeffu128, 0x20); dec_test!(bid128_add_003, bid128_add, 0, 0x0000000000000000cfefffff1f5fb6ebu128 , 0x4441ca6997b33fa3a1f5f866809b3dc6u128 , 0x4441ca6997b33fa3a1f5f866809b3dc6u128, 0x20); dec_test!(bid128_add_004, bid128_add, 0, 0x0000000000008000004910c400000000u128 , 0x5fe5f9ffd9ebcf7f000404e2000600a0u128 , 0x0000000000008000004910c400000000u128, 0x00); dec_test!(bid128_add_005, bid128_add, 0, 0x00000004000000018000060240234080u128 , 0x0000000000000000f77afdfffb7fefffu128 , 0x0000000400000002777b04023ba3307fu128, 0x00); dec_test!(bid128_add_006, bid128_add, 0, 0x0000000800001000e7f4747527f3fb0au128 , 0x0040010000000028ebffffbeffddbf7fu128 , 0x003c640000000ffc2fffe69bf29ecd9du128, 0x20); dec_test!(bid128_add_007, bid128_add, 0, 0x00000040002001801122b18887a0e944u128 , 0x8001040000000000ffffffffffffffffu128 , 0x800103bfffdffe80eedd4e77785f16bbu128, 0x00); dec_test!(bid128_add_008, bid128_add, 0, 0x00000200040102080010000001000001u128 , 0x800300a0400000000018680082802400u128 , 0x8003006d0c664c98cce39b33b599bd9au128, 0x20); dec_test!(bid128_add_009, bid128_add, 0, 0x0000064408a94080ffffffff7fffffffu128 , 0x8002888000800040a00016a400020010u128 , 0x800287df993be033b999b03da6686676u128, 0x20); dec_test!(bid128_add_010, bid128_add, 0, 0x0000910104000000dffdf7ebffffff9fu128 , 0x00300800002400606093740152912720u128 , 0x002e5000016803c3c5c2881412a9121au128, 0x20); dec_test!(bid128_add_011, bid128_add, 0, 0x0000c108000504000000000000000040u128 , 0x000800080000000079ffffffeffeffdfu128 , 0x0002328d999a1bdc8fffffc17c177f1eu128, 0x20); dec_test!(bid128_add_012, bid128_add, 0, 0x0001000828000002fdfffffefffffdfbu128 , 0x000128c0448002042000200a40000000u128 , 0x000237473e0ccd00b633366753333300u128, 0x20); dec_test!(bid128_add_013, bid128_add, 0, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0002629b8c891b267182b613cccccccdu128, 0x20); dec_test!(bid128_add_014, bid128_add, 0, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_015, bid128_add, 0, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_016, bid128_add, 0, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_017, bid128_add, 0, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_018, bid128_add, 0, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x00000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_019, bid128_add, 0, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_020, bid128_add, 0, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_021, bid128_add, 0, 0x00020000000000004e57c463086d76fcu128 , 0x000000000000000075f7dfbf8b4127ebu128 , 0x000000000000000385658b9ddf87cdc3u128, 0x00); dec_test!(bid128_add_022, bid128_add, 0, 0x00020250388004100100000000100000u128 , 0x8000033800144c1303c68221012c3f5eu128 , 0x000013ea34ebdc8d06397ddeff73c0a2u128, 0x00); dec_test!(bid128_add_023, bid128_add, 0, 0x0002c47000040650fff6fffdffdfffffu128 , 0x0000040000000000ac46ec75e0295a33u128 , 0x0002c4d6666a6cb77797b13cfcb0ef6au128, 0x20); dec_test!(bid128_add_024, bid128_add, 0, 0x0004200080040000dbef7abfffd7bfffu128 , 0x00000000000000007bfffffdfffebf9fu128 , 0x0003400500280008a3c131e631a09320u128, 0x20); dec_test!(bid128_add_025, bid128_add, 0, 0x000470109064802172ad0c485e796963u128 , 0x00000000000000000000020028140000u128 , 0x000470109064802172ad0c4d7d9854e8u128, 0x20); dec_test!(bid128_add_026, bid128_add, 0, 0x0009000002080300415686c8259c1f86u128 , 0x80080814810000009642b65b40a018cau128 , 0x0008f7eb810802ffab13d06ce4fc06bcu128, 0x00); dec_test!(bid128_add_027, bid128_add, 0, 0x0010000000000000fff7fbfeafffffdfu128 , 0x6000c1d51b4e93c909bf3511b5ce6975u128 , 0x00020000009891b8e8ddba77ec549980u128, 0x00); dec_test!(bid128_add_028, bid128_add, 0, 0x0010000008000400c66e5f0e6e4c75e7u128 , 0x80080a0c5017e6160000000000000000u128 , 0x800808d3cf7b87cec89edc4b75427090u128, 0x00); dec_test!(bid128_add_029, bid128_add, 0, 0x00100022001008022008001100ca2010u128 , 0x00200000000000007d0409164401a0f3u128 , 0x0010002202f92eeccda7af8a36ceb310u128, 0x00); dec_test!(bid128_add_030, bid128_add, 0, 0x00102408020420004000001000088004u128 , 0x00108c244812a208fffbdbfeaffdfdffu128 , 0x0010b02c4a16c2093ffbdc0eb0067e03u128, 0x00); dec_test!(bid128_add_031, bid128_add, 0, 0x0018d000104820287ee3f3f9e2f8e01du128 , 0x00600082000084a0c733567c3655897eu128 , 0x005c32c80033cecdd00dc8853969b538u128, 0x20); dec_test!(bid128_add_032, bid128_add, 0, 0x0020828000000010cf88020652208000u128 , 0x00000000000000000010000000220000u128 , 0x0020828000000010cf88020652208000u128, 0x20); dec_test!(bid128_add_033, bid128_add, 0, 0x0022100020000001f000051104440000u128 , 0x00000000000100002d2100c91840cb06u128 , 0x0020a00140000013600032aa31dcadebu128, 0x20); dec_test!(bid128_add_034, bid128_add, 0, 0x0040000000000010e9ff78174c3776f1u128 , 0x000000000000000056f2fcf9ca1139efu128 , 0x002699d51a0ab0775709062b0fa8a001u128, 0x20); dec_test!(bid128_add_035, bid128_add, 0, 0x0042c3060c120840030a000039015120u128 , 0x000204840079605d022a424000209030u128 , 0x0042c3060c120840030a000039015121u128, 0x20); dec_test!(bid128_add_036, bid128_add, 0, 0x00460000000000000000300004000001u128 , 0x0009000080000000a9250288def74442u128 , 0x001f04357757ab0fe6c3bad8135cd874u128, 0x20); dec_test!(bid128_add_037, bid128_add, 0, 0x01090012e000400077d8fde799df72c7u128 , 0x010be56d4769821f269f45de0b5c11b2u128 , 0x010c331a7a056eeea3c7db721ed5ae70u128, 0x20); dec_test!(bid128_add_038, bid128_add, 0, "+0.1E2453" , "-276.64595434738648E2415" , 0x4326314dc6448d9338c15b0a00000000u128, 0x20); dec_test!(bid128_add_039, bid128_add, 0, 0x02180020541408107ddcf0a7626a78b1u128 , 0x1506002a0a00a840bd0ccd70841ed9a5u128 , 0x1500a43712913ce27a027f8418822c88u128, 0x20); dec_test!(bid128_add_040, bid128_add, 0, 0x0fd9fefad9460f22bf188cb59cc2e86fu128 , 0x104200c084a00007d5efd0836b76cfd4u128 , 0x103e4b33ce80030f91ad7355fa692ed0u128, 0x00); dec_test!(bid128_add_041, bid128_add, 0, "0" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_042, bid128_add, 0, "+100000000000.000000000011100000E535" , "-10.E579" , 0xb485ed09bead87c0378d8e63ffffffffu128, 0x20); dec_test!(bid128_add_043, bid128_add, 0, "+100000.00000000E6107" , "+5695567.598669978987E6134" , 0x5ff718d02b771ae1f14f07d33b7906a0u128, 0x00); dec_test!(bid128_add_044, bid128_add, 0, "+1001000000000000000000.00000E3899" , "-0.001E3958" , 0xcee4314dc6448d9338c15b0a00000000u128, 0x20); dec_test!(bid128_add_045, bid128_add, 0, "+1.00101011001100101E6131" , "-98697989675958559.6755E6101" , 0x5fe4315a861bf878b4305be78d569c44u128, 0x20); dec_test!(bid128_add_046, bid128_add, 0, "-1001100.E6103" , "+76675966976599977.8786866E6115" , 0x5fee0000f7c0df92ac3e3aec4c25c4b4u128, 0x00); dec_test!(bid128_add_047, bid128_add, 0, "-1010000000000100.E-6008" , "-8.E-6083" , 0x812c31cbfe02adbb651a045de3100000u128, 0x20); dec_test!(bid128_add_048, bid128_add, 0, "+101001100000101.000000E6138" , "-7695957767658598867966685688.99E6120" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_049, bid128_add, 0, "+101010111000001011101000100100000010.E6111" , "-75.59599E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_050, bid128_add, 0, "-10.11000000110000E6142" , "-1010000.10000000E6100" , 0xdffc31d89d2f61d15c703f2068c00000u128, 0x20); dec_test!(bid128_add_051, bid128_add, 0, "-1011.000011100100000001000110E-6050" , "-899998998989888989988.888898898E-6112" , 0x80c031d89d38790fe039a2b1dfc38780u128, 0x20); dec_test!(bid128_add_052, bid128_add, 0, "+1100111110010000101100.00111E-6148" , "-0.E-6012" , 0x002e0000005affc246f94b02529cdbefu128, 0x00); dec_test!(bid128_add_053, bid128_add, 0, "+11011000100110.0000001001001111E-6070" , "-111100101.001E-6037" , 0x80e436c6cde001d19539cedba43e51e2u128, 0x20); dec_test!(bid128_add_054, bid128_add, 0, "+1.10110010100000011010100000E6117" , "-0.E6139" , 0x5fd60000005b14b39baf21a04e72cb20u128, 0x00); dec_test!(bid128_add_055, bid128_add, 0, "-111110011011.0110000100E6105" , "+11000100110.00000110010010E6121" , 0x5fe4363c140ab6a4209184fd9dc6d2d0u128, 0x20); dec_test!(bid128_add_056, bid128_add, 0, 0x1392280b19d70c0b2041039000096101u128 , 0xf65addcfbf5fa71de3dfffffb7fdfebfu128 , 0x1392280b19d70c0b2041039000096101u128, 0x00); dec_test!(bid128_add_057, bid128_add, 0, 0x1b8960050102708031000a54db202481u128 , 0x200000000000000005001420c300c265u128 , 0x1fe0b1a58745a3eeb187f95659250000u128, 0x20); dec_test!(bid128_add_058, bid128_add, 0, 0x1c4dddec6a7a1c60fb50c15771b095e3u128 , 0x7c000fea63a9224b3d4501def3959458u128 , 0x7c000fea63a9224b3d4501def3959458u128, 0x00); dec_test!(bid128_add_059, bid128_add, 0, 0x1e5fffaa4f778d668638a51f121c7501u128 , 0x2f5143fc06ccef43fe74ffcbfb1bf955u128 , 0x2f5143fc06ccef43fe74ffcbfb1bf955u128, 0x00); dec_test!(bid128_add_060, bid128_add, 0, "1E+6110" , "-1.000000000000000000000000000000000E+6144" , 0xdffded09bead87c0378d8e63ffffffffu128, 0x00); dec_test!(bid128_add_061, bid128_add, 0, 0x2002000108002000fffbfffbfffeffffu128 , 0x9ffddf5a3d0bae3afeeffefff6fba9ecu128 , 0x9ffddb52fc8eaa530e900e9ffae3add4u128, 0x00); dec_test!(bid128_add_062, bid128_add, 0, "-263422633844658.928332597223469897E6134" , "+747.E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_063, bid128_add, 0, 0x28400000000000000000000000000000u128 , 0x59364b22e2d719b8fc26061748ffb476u128 , 0x59364b22e2d719b8fc26061748ffb476u128, 0x00); dec_test!(bid128_add_064, bid128_add, 0, 0x287d9153bfab1034ffffffffffffffffu128 , 0x2838ffa84c36170b48d13d861726ad32u128 , 0x287d9153bfab10350000000000000000u128, 0x20); dec_test!(bid128_add_065, bid128_add, 0, "+2997.653489948889292735459468782643377E6108" , "+9278673824.6482453738329E6133" , 0x5ffbc9795419f3c89a4a228d118ea92cu128, 0x20); dec_test!(bid128_add_066, bid128_add, 0, 0x2ad6d9d6d46be91ca79f9078ce846e2au128 , 0x5a231792da18902dfa74ba0bb2f2a9d2u128 , 0x5a231792da18902dfa74ba0bb2f2a9d2u128, 0x20); dec_test!(bid128_add_067, bid128_add, 0, 0x2b4ed27250ae592981da062276e0d757u128 , 0xfe000aca05f2778b5f0172fb73aa63b4u128 , 0xfc000aca05f2778b5f0172fb73aa63b4u128, 0x01); dec_test!(bid128_add_068, bid128_add, 0, "+3624659768534336587.96423867374255653E6150" , "-10010001111100011101010101110.0110000011E6141" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_069, bid128_add, 0, 0x38a80000000000000000000000000000u128 , 0x5489c7f28d0c759c797749662afbfd8cu128 , 0x5489c7f28d0c759c797749662afbfd8cu128, 0x00); dec_test!(bid128_add_070, bid128_add, 0, "-394.678E6139" , "+55.3696E6105" , 0xdff8c2975dfa0314f5a1f65160000000u128, 0x20); dec_test!(bid128_add_071, bid128_add, 0, 0x3995cbcb047d4fa7ba8b599a2b9a29b0u128 , 0xb954de8830f75de315dba9afc74d2e9du128 , 0x3995cbcb047d4fa7ba8b599a2b9a2983u128, 0x20); dec_test!(bid128_add_072, bid128_add, 0, 0x3ace37c3c58167a3deeb321af15fa934u128 , 0xfbbfc1edffbfaed3156f000680a4da4du128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_073, bid128_add, 0, 0x40000000000000000000000400880000u128 , 0xbcfd37a9d788c8740000000000000000u128 , 0x3fd254bf4b08ff5b89d2f40000000000u128, 0x20); dec_test!(bid128_add_074, bid128_add, 0, 0x4010010181c34860fdff7fffff6fbffdu128 , 0xbfefdffffffef9df47110206edc04446u128 , 0x400c6496b04845e2b0b25ad84a69a9a1u128, 0x20); dec_test!(bid128_add_075, bid128_add, 0, 0x440240000b453910ba32b0a371116c10u128 , 0xc41956990f59b903d01704083ce3e1d7u128 , 0xc41956990f59b6441f9ee97f259182d9u128, 0x20); dec_test!(bid128_add_076, bid128_add, 0, 0x5427fa3453dd57e02d7637578567237bu128 , 0x753212496f15732fb7c2f13c3f832325u128 , 0x54260000000000000000000000000000u128, 0x00); dec_test!(bid128_add_077, bid128_add, 0, "+55689855855588879577565566.7587E6118" , "+9988989988.888898899999E6135" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_078, bid128_add, 0, "-5.995688758689789876988877865667857E6127" , "-8989899999.E6126" , 0xdfedbb3c7dbd8ef718864a2b3a96360bu128, 0x20); dec_test!(bid128_add_079, bid128_add, 0, 0x5bd3458aeeff67525c9f9a12f343e352u128 , 0xd00e0000000000000000000000000000u128 , 0x5bd3458aeeff67525c9f9a12f343e352u128, 0x00); dec_test!(bid128_add_080, bid128_add, 0, 0x5bfa8cbdca7fcb87648dc41959d132d0u128 , 0x0000000000000000ff39bfddedf3ee57u128 , 0x5bfa8cbdca7fcb87648dc41959d132d0u128, 0x20); dec_test!(bid128_add_081, bid128_add, 0, 0x5d96fd0743f21d05b7a1ffdfb7773fefu128 , 0x00000000000000000001041400020049u128 , 0x5d96fd0743f21d05b7a1ffdfb7773fefu128, 0x20); dec_test!(bid128_add_082, bid128_add, 0, 0x5f1e0000000000000000000000000000u128 , 0xd74b90398df0d2800b222a8e8514f3eeu128 , 0xd74b90398df0d2800b222a8e8514f3eeu128, 0x00); dec_test!(bid128_add_083, bid128_add, 0, 0x60c576c216be289c96014a8de04ea49cu128 , 0xaa2405ca2fd85dcbfe1240c113db4074u128 , 0xaa2239e5de73a9f7ecb6878ac6908488u128, 0x00); dec_test!(bid128_add_084, bid128_add, 0, 0x60cdd8bdc022ddebf3d7fffb6ffdddbfu128 , 0x18000000000000000201080000000240u128 , 0x17e047328809853f57efa17b72400000u128, 0x00); dec_test!(bid128_add_085, bid128_add, 0, "+6667779.8796559657568566E6121" , "-1.E6129" , 0xdff200000000c5a37f76f1936e1a76cau128, 0x00); dec_test!(bid128_add_086, bid128_add, 0, "-67742893945653349875463748543548.9E-6184" , "+1100.0100110001101010E-6045" , 0x00ca363c140ab6aa266b6f4aea488000u128, 0x20); dec_test!(bid128_add_087, bid128_add, 0, "-68488695427246.927E6129" , "-999899889999998899988988988888.9E6115" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_088, bid128_add, 0, "+6875897.879876979566658996675E6133" , "+8.464777979989329969757976492E6138" , 0x5ffe0000f985fe9359e4745fb3d1594au128, 0x00); dec_test!(bid128_add_089, bid128_add, 0, 0x6db0895fbd218a59479097715441cb4bu128 , 0xf7efffdffffffff6c6a9b3d5b6ebfba9u128 , 0x36c20000000000000000000000000000u128, 0x00); dec_test!(bid128_add_090, bid128_add, 0, 0x73f27f9b3729b02142cfe66b6de3fd07u128 , 0x1b7b8a5727f02fa8e5a78e7d04a3355cu128 , 0x1b7b8a5727f02fa8e5a78e7d04a3355cu128, 0x00); dec_test!(bid128_add_091, bid128_add, 0, "+7597756576.869587795965598779879969E-6070" , "-8.E-6021" , 0x80f58a6e32246c99c60ad85000000000u128, 0x20); dec_test!(bid128_add_092, bid128_add, 0, 0x796032cbd6307a4af0cf042fc41e34c2u128 , 0xfb7bdb7ffbe77ffbd5fdff9afcdfaa4du128 , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_093, bid128_add, 0, 0x7c003fffffffffff38c15b08ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_094, bid128_add, 0, 0x7c003fffffffffff38c15b08ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_095, bid128_add, 0, 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_096, bid128_add, 0, 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_097, bid128_add, 0, 0x7c003fffffffffff38c15b0affffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_098, bid128_add, 0, 0x7c003fffffffffff38c15b0affffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_099, bid128_add, 0, 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c003fffffffffff38c15b08ffffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_100, bid128_add, 0, 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c003fffffffffff38c15b0affffffffu128 , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_101, bid128_add, 0, 0x7c36d997f8b0b0597ae13e777a16f050u128 , 0x8bb6f1a6e3a3bd1ae424521a46fdc6d1u128 , 0x7c001997f8b0b0597ae13e777a16f050u128, 0x00); dec_test!(bid128_add_102, bid128_add, 0, 0x7d10b0e971a5f4614d85007ab72ecfebu128 , 0xfffbfffffedacced7ffcfbfffbffebddu128 , 0x7c0030e971a5f4614d85007ab72ecfebu128, 0x01); dec_test!(bid128_add_103, bid128_add, 0, 0x7e0006dd5267cd437cd23844b6d6a4eau128 , 0x9f65abe576e0df8e4506a13d63599947u128 , 0x7c0006dd5267cd437cd23844b6d6a4eau128, 0x01); dec_test!(bid128_add_104, bid128_add, 0, 0x7e00149c7f5e6b773ff5188ebbb4795au128 , 0x37fe0000000000000000000000000000u128 , 0x7c00149c7f5e6b773ff5188ebbb4795au128, 0x01); dec_test!(bid128_add_105, bid128_add, 0, 0x7e002cf4e6e4ac9dab55920b2c709cecu128 , 0x78000000000000000000000000000000u128 , 0x7c002cf4e6e4ac9dab55920b2c709cecu128, 0x01); dec_test!(bid128_add_106, bid128_add, 0, 0x7ffff7ffffffffff9de20851b887be40u128 , 0x960f4d1c81ebee82a07b5e241da76150u128 , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_107, bid128_add, 0, 0x8000015004000002ffffffffffffcfffu128 , 0x0040830502000080553debe2f9cc3fd5u128 , 0x0040830502000080553debe2f9cc3fd5u128, 0x20); dec_test!(bid128_add_108, bid128_add, 0, 0x8000400080402000ffe7fffffffbffffu128 , 0x0000110a210840010840000200000800u128 , 0x80002ef65f37dffff7a7fffdfffbf7ffu128, 0x00); dec_test!(bid128_add_109, bid128_add, 0, 0x80022000095c01900410200010660020u128 , 0x000001000800800905a7b07ad6480e74u128 , 0x80013f0055978f9722f98f85cdb3f2ccu128, 0x00); dec_test!(bid128_add_110, bid128_add, 0, 0x80100000008001118498563480440020u128 , 0x00004891000401209a1b9d433d9f9e78u128 , 0x8002450a2fd3ed30480a760e2082d9c1u128, 0x20); dec_test!(bid128_add_111, bid128_add, 0, 0x80c4406dc0588060b2fdbf3bdb5ff6ddu128 , 0x00c00898001a2c83840d29ad07020d26u128 , 0x80c44057c0583d5f624f890e9b4e0618u128, 0x20); dec_test!(bid128_add_112, bid128_add, 0, 0x8120010573c46493016006c040d09002u128 , 0xe047ff59432e7f32ff7ff7bfdffaafb6u128 , 0x811e0a3685abedbe0dc043828825a014u128, 0x00); dec_test!(bid128_add_113, bid128_add, 0, 0x84848448bb86cdea47a3f05555554266u128 , 0xfe0016d3cfe15dc13ab1a1ea168bccd5u128 , 0xfc0016d3cfe15dc13ab1a1ea168bccd5u128, 0x01); dec_test!(bid128_add_114, bid128_add, 0, "-86.96E-6051" , "+6262839768259358968798.482E-6125" , 0x80bbacbef36ec2d953f1ad2e00000000u128, 0x20); dec_test!(bid128_add_115, bid128_add, 0, "-88.E6128" , "+1001100110110.E6131" , 0x5ffe04ef90e43b1338b16e0304700000u128, 0x00); dec_test!(bid128_add_116, bid128_add, 0, "-89.689988889E-6076" , "-9899.98898989888988898E-6079" , 0x80a000000000021be0dbab0ddddd0ee2u128, 0x00); dec_test!(bid128_add_117, bid128_add, 0, "+89797785599559975.97E6141" , "-10011100011110110.1111010001E6132" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_118, bid128_add, 0, "-8989899.889889998E6139" , "+1010010011101.001000010E6140" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_119, bid128_add, 0, "+8999.88999E4401" , "-10.0E4437" , 0xd2a9ed09bead87c0378d8e63fffffff7u128, 0x20); dec_test!(bid128_add_120, bid128_add, 0, "+8999898889.898889988998988899899988E-6113" , "-98.E-6015" , 0x8103e32d63d305092c33af6200000000u128, 0x20); dec_test!(bid128_add_121, bid128_add, 0, "+899999.899988899889999988888E3058" , "-0.001000000000000E3101" , 0xc831ed09bead87c0378d8e63ffffffffu128, 0x20); dec_test!(bid128_add_122, bid128_add, 0, 0x8b71ea085f35078380db0ca76e5b0d32u128 , 0xf8000000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_123, bid128_add, 0, 0x8cc2400a6777e47df08a14c25761bb67u128 , 0xff6bfffffff7fffe3ddfbdf9bbfd7fe7u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_124, bid128_add, 0, 0x90223048060280408a92a2103e3c0106u128 , 0x106411e5c230c10c0221008000010020u128 , 0x1062b2f995e78a78154a0500000a0136u128, 0x20); dec_test!(bid128_add_125, bid128_add, 0, "-911011001111110.01111E-6035" , "+7757.85756877599677796689977E-6050" , 0x80f5c129c10b6a95e248c238835bfeb0u128, 0x20); dec_test!(bid128_add_126, bid128_add, 0, 0x94560000000000000000000000000000u128 , 0xfe000000000000000000000000000000u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_127, bid128_add, 0, "-9596859585978896957666.8999678658685898E6123", "-855789958.556566566858E6136" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_128, bid128_add, 0, "-986.7998E6137" , "-28399226863623.4336534472E6122" , 0xdffe00013edc83f35bce6e5a0186fdd0u128, 0x00); dec_test!(bid128_add_129, bid128_add, 0, "-9888988988.8899888988E6150" , "+88887766666797.9757555E6150" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_130, bid128_add, 0, 0x988b7659e5f6fef5bbefd56f4df6eadfu128 , 0x18d094c77aae85e6097015184038a053u128 , 0x18d094c77aae85e6097015184038a053u128, 0x20); dec_test!(bid128_add_131, bid128_add, 0, "+98988.E6140" , "+5758859.7585E6137" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_132, bid128_add, 0, "+989.89E6147" , "-11011101001010.001110000001E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_133, bid128_add, 0, "+98998899988998.899898899998999E6141" , "-99898899999898899998999998988899.E6130" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_134, bid128_add, 0, "+9976878.E6138" , "+688895688756979657657.6957987659886589697E6123", 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_135, bid128_add, 0, "+99888989988898888988999.989998988E-5834" , "-10000.000E-5782" , 0x82d9ed09bead87c0378d8e63fffffff6u128, 0x20); dec_test!(bid128_add_136, bid128_add, 0, "-99898888.8899899989989999988898989888E6106" , "-58975778987588776588859.6877656E6124" , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_137, bid128_add, 0, "+9989989898899.999889E6132" , "+10100000010000110100111011.1010101101E6119" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_138, bid128_add, 0, "+9.9E6144" , "+1100010.111001111011011101010E6138" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_139, bid128_add, 0, 0x9cd80000000000000000000000000000u128 , 0x16909df1f48b315f9e82e8740fb93bfdu128 , 0x16909df1f48b315f9e82e8740fb93bfdu128, 0x00); dec_test!(bid128_add_140, bid128_add, 0, "-9.E-6155" , "-958896965.958776968777978E-6196" , 0x80000000000001e7e4171bf4d3a00000u128, 0x00); dec_test!(bid128_add_141, bid128_add, 0, 0xa1c40000000000000000000000000000u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128, 0x00); dec_test!(bid128_add_142, bid128_add, 0, 0xa5675120625b0a3552d5eeecb6df98dfu128 , 0xdf69ff7fefbbff770440008082050202u128 , 0xa5675120625b0a3552d5eeecb6df98dfu128, 0x00); dec_test!(bid128_add_143, bid128_add, 0, 0xa9481e81f1ac7df596dcd9baa6738f4au128 , 0xfe000ded30995e2c2a18fde4c3b4c242u128 , 0xfc000ded30995e2c2a18fde4c3b4c242u128, 0x01); dec_test!(bid128_add_144, bid128_add, 0, 0xab5b7f8969162c5f9951aecf3b28ba61u128 , 0xfe001538549b96bcd8bac0361145a524u128 , 0xfc001538549b96bcd8bac0361145a524u128, 0x01); dec_test!(bid128_add_145, bid128_add, 0, 0xbee1c676f1afe3cf09f61de91e262588u128 , 0x561ceab945062f0a24c48dc78dbedb6au128 , 0x561ceab945062f0a24c48dc78dbedb6au128, 0x20); dec_test!(bid128_add_146, bid128_add, 0, 0xbffffffffffffff7f08986080004d1cdu128 , 0x40000042000800027ffffdffffffffffu128 , 0x3ffe029400500018ffffebfffffffff6u128, 0x00); dec_test!(bid128_add_147, bid128_add, 0, 0xc00000000000440038468869f58dd715u128 , 0x6dd892ebafa7e61efbfffff7fefffffeu128 , 0xbfec9e53ab96d2bd5dba24877575b400u128, 0x00); dec_test!(bid128_add_148, bid128_add, 0, 0xc0c47de8bb8a81caa1571e2bdc47b401u128 , 0x40810000040200000000205500000000u128 , 0xc0c47de8bb8a81caa1571e2bdc47b400u128, 0x20); dec_test!(bid128_add_149, bid128_add, 0, 0xc22c376ce5daf960bd3e3776d9e9504au128 , 0x0006110100018010efdf793269fddbd4u128 , 0xc22c376ce5daf960bd3e3776d9e9504au128, 0x20); dec_test!(bid128_add_150, bid128_add, 0, 0xd75c0000000000000000000000000000u128 , 0x132efa1ddf2a72991ec77faa102b45cau128 , 0x132efa1ddf2a72991ec77faa102b45cau128, 0x00); dec_test!(bid128_add_151, bid128_add, 0, 0xdb38f659937507f252e4eff58d12043fu128 , 0x7e7116ffb6ec8cf709108044000080c5u128 , 0x7c0016ffb6ec8cf709108044000080c5u128, 0x01); dec_test!(bid128_add_152, bid128_add, 0, 0xdcafa178675629f3f3c9d62ab84aa7c4u128 , 0x5cd45cf7c92aae7d48c5a096fa24e498u128 , 0x5cd45cf7c92aae7d48c29e7e3072303bu128, 0x20); dec_test!(bid128_add_153, bid128_add, 0, 0xdfff7ffef7f2ffff8008020011020080u128 , 0xdfff6f5eae73ffef8040001401410208u128 , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_154, bid128_add, 0, 0xe7f4dfff7b6e9c42ff7dfffd2fff7fffu128 , 0x48000000000000000000043484020008u128 , 0x47d6e3f607d6ce8ac923ab6ef5000000u128, 0x00); dec_test!(bid128_add_155, bid128_add, 0, 0xf5ef6c66d631163c68f56fcf4f7dad4du128 , 0xb623ff3fb2fbfd745b07b2a2f292df1eu128 , 0xb6220000000000000000000000000000u128, 0x00); dec_test!(bid128_add_156, bid128_add, 0, 0xf8000000000000000000000000000000u128 , 0x2ca1915e9c65355f6a9dd26fcb0633aeu128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_157, bid128_add, 0, 0xfbffff7dfdfffff5bfecfa9fff6ef7feu128 , 0xfa8cecc783de4f64f014aefd02ac1108u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_158, bid128_add, 0, 0xfe000000000000000000000000000000u128 , 0x1f0cabc46692f05e44e49d8f9551660cu128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_159, bid128_add, 0, "Infinity" , "-0" , 0x78000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_160, bid128_add, 0, "-Infinity" , "Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_161, bid128_add, 0, "-Infinity" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_162, bid128_add, 0, "Infinity" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_163, bid128_add, 0, "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_164, bid128_add, 0, "SNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_165, bid128_add, 0, "SNaN" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_166, bid128_add, 1, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0002629b8c891b267182b613ccccccccu128, 0x20); dec_test!(bid128_add_167, bid128_add, 1, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_168, bid128_add, 1, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_169, bid128_add, 1, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x00000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_170, bid128_add, 1, "0" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_171, bid128_add, 1, "+100000.00000000E6107" , "+5695567.598669978987E6134" , 0x5ff718d02b771ae1f14f07d33b7906a0u128, 0x00); dec_test!(bid128_add_172, bid128_add, 1, "+1.00101011001100101E6131" , "-98697989675958559.6755E6101" , 0x5fe4315a861bf878b4305be78d569c44u128, 0x20); dec_test!(bid128_add_173, bid128_add, 1, "-1001100.E6103" , "+76675966976599977.8786866E6115" , 0x5fee0000f7c0df92ac3e3aec4c25c4b4u128, 0x00); dec_test!(bid128_add_174, bid128_add, 1, "-1010000000000100.E-6008" , "-8.E-6083" , 0x812c31cbfe02adbb651a045de3100001u128, 0x20); dec_test!(bid128_add_175, bid128_add, 1, "+101001100000101.000000E6138" , "-7695957767658598867966685688.99E6120" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_176, bid128_add, 1, "+101010111000001011101000100100000010.E6111" , "-75.59599E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_177, bid128_add, 1, "-10.11000000110000E6142" , "-1010000.10000000E6100" , 0xdffc31d89d2f61d15c703f2068c00001u128, 0x20); dec_test!(bid128_add_178, bid128_add, 1, "-1011.000011100100000001000110E-6050" , "-899998998989888989988.888898898E-6112" , 0x80c031d89d38790fe039a2b1dfc38781u128, 0x20); dec_test!(bid128_add_179, bid128_add, 1, "+1100111110010000101100.00111E-6148" , "-0.E-6012" , 0x002e0000005affc246f94b02529cdbefu128, 0x00); dec_test!(bid128_add_180, bid128_add, 1, "+11011000100110.0000001001001111E-6070" , "-111100101.001E-6037" , 0x80e436c6cde001d19539cedba43e51e2u128, 0x20); dec_test!(bid128_add_181, bid128_add, 1, "+1.10110010100000011010100000E6117" , "-0.E6139" , 0x5fd60000005b14b39baf21a04e72cb20u128, 0x00); dec_test!(bid128_add_182, bid128_add, 1, "-111110011011.0110000100E6105" , "+11000100110.00000110010010E6121" , 0x5fe4363c140ab6a4209184fd9dc6d2cfu128, 0x20); dec_test!(bid128_add_183, bid128_add, 1, 0x1c4dddec6a7a1c60fb50c15771b095e3u128 , 0x7c000fea63a9224b3d4501def3959458u128 , 0x7c000fea63a9224b3d4501def3959458u128, 0x00); dec_test!(bid128_add_184, bid128_add, 1, "-263422633844658.928332597223469897E6134" , "+747.E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_185, bid128_add, 1, 0x28400000000000000000000000000000u128 , 0x59364b22e2d719b8fc26061748ffb476u128 , 0x59364b22e2d719b8fc26061748ffb476u128, 0x00); dec_test!(bid128_add_186, bid128_add, 1, "+2997.653489948889292735459468782643377E6108" , "+9278673824.6482453738329E6133" , 0x5ffbc9795419f3c89a4a228d118ea92bu128, 0x20); dec_test!(bid128_add_187, bid128_add, 1, 0x2b4ed27250ae592981da062276e0d757u128 , 0xfe000aca05f2778b5f0172fb73aa63b4u128 , 0xfc000aca05f2778b5f0172fb73aa63b4u128, 0x01); dec_test!(bid128_add_188, bid128_add, 1, "+3624659768534336587.96423867374255653E6150" , "-10010001111100011101010101110.0110000011E6141" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_189, bid128_add, 1, 0x38a80000000000000000000000000000u128 , 0x5489c7f28d0c759c797749662afbfd8cu128 , 0x5489c7f28d0c759c797749662afbfd8cu128, 0x00); dec_test!(bid128_add_190, bid128_add, 1, "-394.678E6139" , "+55.3696E6105" , 0xdff8c2975dfa0314f5a1f65160000000u128, 0x20); dec_test!(bid128_add_191, bid128_add, 1, "+55689855855588879577565566.7587E6118" , "+9988989988.888898899999E6135" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_192, bid128_add, 1, "-5.995688758689789876988877865667857E6127" , "-8989899999.E6126" , 0xdfedbb3c7dbd8ef718864a2b3a96360bu128, 0x20); dec_test!(bid128_add_193, bid128_add, 1, 0x5bd3458aeeff67525c9f9a12f343e352u128 , 0xd00e0000000000000000000000000000u128 , 0x5bd3458aeeff67525c9f9a12f343e352u128, 0x00); dec_test!(bid128_add_194, bid128_add, 1, 0x5f1e0000000000000000000000000000u128 , 0xd74b90398df0d2800b222a8e8514f3eeu128 , 0xd74b90398df0d2800b222a8e8514f3eeu128, 0x00); dec_test!(bid128_add_195, bid128_add, 1, "+6667779.8796559657568566E6121" , "-1.E6129" , 0xdff200000000c5a37f76f1936e1a76cau128, 0x00); dec_test!(bid128_add_196, bid128_add, 1, "-67742893945653349875463748543548.9E-6184" , "+1100.0100110001101010E-6045" , 0x00ca363c140ab6aa266b6f4aea487fffu128, 0x20); dec_test!(bid128_add_197, bid128_add, 1, "-68488695427246.927E6129" , "-999899889999998899988988988888.9E6115" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_198, bid128_add, 1, "+6875897.879876979566658996675E6133" , "+8.464777979989329969757976492E6138" , 0x5ffe0000f985fe9359e4745fb3d1594au128, 0x00); dec_test!(bid128_add_199, bid128_add, 1, 0x6db0895fbd218a59479097715441cb4bu128 , 0xf7efffdffffffff6c6a9b3d5b6ebfba9u128 , 0xb6c20000000000000000000000000000u128, 0x00); dec_test!(bid128_add_200, bid128_add, 1, "+7597756576.869587795965598779879969E-6070" , "-8.E-6021" , 0x80f58a6e32246c99c60ad85000000000u128, 0x20); dec_test!(bid128_add_201, bid128_add, 1, 0x7e0006dd5267cd437cd23844b6d6a4eau128 , 0x9f65abe576e0df8e4506a13d63599947u128 , 0x7c0006dd5267cd437cd23844b6d6a4eau128, 0x01); dec_test!(bid128_add_202, bid128_add, 1, 0x7e00149c7f5e6b773ff5188ebbb4795au128 , 0x37fe0000000000000000000000000000u128 , 0x7c00149c7f5e6b773ff5188ebbb4795au128, 0x01); dec_test!(bid128_add_203, bid128_add, 1, 0x7e002cf4e6e4ac9dab55920b2c709cecu128 , 0x78000000000000000000000000000000u128 , 0x7c002cf4e6e4ac9dab55920b2c709cecu128, 0x01); dec_test!(bid128_add_204, bid128_add, 1, 0x84848448bb86cdea47a3f05555554266u128 , 0xfe0016d3cfe15dc13ab1a1ea168bccd5u128 , 0xfc0016d3cfe15dc13ab1a1ea168bccd5u128, 0x01); dec_test!(bid128_add_205, bid128_add, 1, "-86.96E-6051" , "+6262839768259358968798.482E-6125" , 0x80bbacbef36ec2d953f1ad2e00000000u128, 0x20); dec_test!(bid128_add_206, bid128_add, 1, "-88.E6128" , "+1001100110110.E6131" , 0x5ffe04ef90e43b1338b16e0304700000u128, 0x00); dec_test!(bid128_add_207, bid128_add, 1, "-89.689988889E-6076" , "-9899.98898989888988898E-6079" , 0x80a000000000021be0dbab0ddddd0ee2u128, 0x00); dec_test!(bid128_add_208, bid128_add, 1, "+89797785599559975.97E6141" , "-10011100011110110.1111010001E6132" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_209, bid128_add, 1, "-8989899.889889998E6139" , "+1010010011101.001000010E6140" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_210, bid128_add, 1, "+8999898889.898889988998988899899988E-6113" , "-98.E-6015" , 0x8103e32d63d305092c33af6200000000u128, 0x20); dec_test!(bid128_add_211, bid128_add, 1, "+899999.899988899889999988888E3058" , "-0.001000000000000E3101" , 0xc832314dc6448d9338c15b0a00000000u128, 0x20); dec_test!(bid128_add_212, bid128_add, 1, 0x8b71ea085f35078380db0ca76e5b0d32u128 , 0xf8000000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_213, bid128_add, 1, "-911011001111110.01111E-6035" , "+7757.85756877599677796689977E-6050" , 0x80f5c129c10b6a95e248c238835bfeb1u128, 0x20); dec_test!(bid128_add_214, bid128_add, 1, 0x94560000000000000000000000000000u128 , 0xfe000000000000000000000000000000u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_215, bid128_add, 1, "-9596859585978896957666.8999678658685898E6123", "-855789958.556566566858E6136" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_216, bid128_add, 1, "-986.7998E6137" , "-28399226863623.4336534472E6122" , 0xdffe00013edc83f35bce6e5a0186fdd0u128, 0x00); dec_test!(bid128_add_217, bid128_add, 1, "-9888988988.8899888988E6150" , "+88887766666797.9757555E6150" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_218, bid128_add, 1, "+98988.E6140" , "+5758859.7585E6137" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_219, bid128_add, 1, "+989.89E6147" , "-11011101001010.001110000001E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_220, bid128_add, 1, "+98998899988998.899898899998999E6141" , "-99898899999898899998999998988899.E6130" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_221, bid128_add, 1, "+9976878.E6138" , "+688895688756979657657.6957987659886589697E6123" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_222, bid128_add, 1, "-99898888.8899899989989999988898989888E6106" , "-58975778987588776588859.6877656E6124" , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_223, bid128_add, 1, "+9989989898899.999889E6132" , "+10100000010000110100111011.1010101101E6119" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_224, bid128_add, 1, "+9.9E6144" , "+1100010.111001111011011101010E6138" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_225, bid128_add, 1, 0x9cd80000000000000000000000000000u128 , 0x16909df1f48b315f9e82e8740fb93bfdu128 , 0x16909df1f48b315f9e82e8740fb93bfdu128, 0x00); dec_test!(bid128_add_226, bid128_add, 1, 0xa1c40000000000000000000000000000u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128, 0x00); dec_test!(bid128_add_227, bid128_add, 1, 0xa9481e81f1ac7df596dcd9baa6738f4au128 , 0xfe000ded30995e2c2a18fde4c3b4c242u128 , 0xfc000ded30995e2c2a18fde4c3b4c242u128, 0x01); dec_test!(bid128_add_228, bid128_add, 1, 0xab5b7f8969162c5f9951aecf3b28ba61u128 , 0xfe001538549b96bcd8bac0361145a524u128 , 0xfc001538549b96bcd8bac0361145a524u128, 0x01); dec_test!(bid128_add_229, bid128_add, 1, 0xb4aa76100d8209a41e2b14bb6e5f767fu128 , 0x3c471d89c66add613f08dd78ee62f56fu128 , 0x3c471d89c66add613f08dd78ee62f56eu128, 0x20); dec_test!(bid128_add_230, bid128_add, 1, 0xbee1c676f1afe3cf09f61de91e262588u128 , 0x561ceab945062f0a24c48dc78dbedb6au128 , 0x561ceab945062f0a24c48dc78dbedb69u128, 0x20); dec_test!(bid128_add_231, bid128_add, 1, 0xc884367ed0de6951ffffffffffffffffu128 , 0x8c811be268d6f9a05916aa0ba9e7dc22u128 , 0xc884367ed0de69520000000000000000u128, 0x20); dec_test!(bid128_add_232, bid128_add, 1, 0xd75c0000000000000000000000000000u128 , 0x132efa1ddf2a72991ec77faa102b45cau128 , 0x132efa1ddf2a72991ec77faa102b45cau128, 0x00); dec_test!(bid128_add_233, bid128_add, 1, 0xf8000000000000000000000000000000u128 , 0x2ca1915e9c65355f6a9dd26fcb0633aeu128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_234, bid128_add, 1, 0xfe000000000000000000000000000000u128 , 0x1f0cabc46692f05e44e49d8f9551660cu128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_235, bid128_add, 1, "Infinity" , "-0" , 0x78000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_236, bid128_add, 1, "-Infinity" , "Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_237, bid128_add, 1, "-Infinity" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_238, bid128_add, 1, "Infinity" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_239, bid128_add, 1, "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_240, bid128_add, 1, "SNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_241, bid128_add, 1, "SNaN" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_242, bid128_add, 2, 0x00008420a00002000a80008002a35040u128 , 0x8045c945a31d6f328cb7a8b66cfac3fdu128 , 0x8045c945a31d6f328cb7a8b66cfac3fcu128, 0x20); dec_test!(bid128_add_243, bid128_add, 2, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0002629b8c891b267182b613cccccccdu128, 0x20); dec_test!(bid128_add_244, bid128_add, 2, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_245, bid128_add, 2, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_246, bid128_add, 2, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x00000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_247, bid128_add, 2, 0x0018d000104820287ee3f3f9e2f8e01du128 , 0x00600082000084a0c733567c3655897eu128 , 0x005c32c80033cecdd00dc8853969b539u128, 0x20); dec_test!(bid128_add_248, bid128_add, 2, "0" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_249, bid128_add, 2, "+100000.00000000E6107" , "+5695567.598669978987E6134" , 0x5ff718d02b771ae1f14f07d33b7906a0u128, 0x00); dec_test!(bid128_add_250, bid128_add, 2, "+1.00101011001100101E6131" , "-98697989675958559.6755E6101" , 0x5fe4315a861bf878b4305be78d569c45u128, 0x20); dec_test!(bid128_add_251, bid128_add, 2, "-1001100.E6103" , "+76675966976599977.8786866E6115" , 0x5fee0000f7c0df92ac3e3aec4c25c4b4u128, 0x00); dec_test!(bid128_add_252, bid128_add, 2, "-1010000000000100.E-6008" , "-8.E-6083" , 0x812c31cbfe02adbb651a045de3100000u128, 0x20); dec_test!(bid128_add_253, bid128_add, 2, "+101001100000101.000000E6138" , "-7695957767658598867966685688.99E6120" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_254, bid128_add, 2, "+101010111000001011101000100100000010.E6111" , "-75.59599E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_255, bid128_add, 2, "-10.11000000110000E6142" , "-1010000.10000000E6100" , 0xdffc31d89d2f61d15c703f2068c00000u128, 0x20); dec_test!(bid128_add_256, bid128_add, 2, "-1011.000011100100000001000110E-6050" , "-899998998989888989988.888898898E-6112" , 0x80c031d89d38790fe039a2b1dfc38780u128, 0x20); dec_test!(bid128_add_257, bid128_add, 2, "+1100111110010000101100.00111E-6148" , "-0.E-6012" , 0x002e0000005affc246f94b02529cdbefu128, 0x00); dec_test!(bid128_add_258, bid128_add, 2, "+11011000100110.0000001001001111E-6070" , "-111100101.001E-6037" , 0x80e436c6cde001d19539cedba43e51e1u128, 0x20); dec_test!(bid128_add_259, bid128_add, 2, "+1.10110010100000011010100000E6117" , "-0.E6139" , 0x5fd60000005b14b39baf21a04e72cb20u128, 0x00); dec_test!(bid128_add_260, bid128_add, 2, "-111110011011.0110000100E6105" , "+11000100110.00000110010010E6121" , 0x5fe4363c140ab6a4209184fd9dc6d2d0u128, 0x20); dec_test!(bid128_add_261, bid128_add, 2, 0x1c4dddec6a7a1c60fb50c15771b095e3u128 , 0x7c000fea63a9224b3d4501def3959458u128 , 0x7c000fea63a9224b3d4501def3959458u128, 0x00); dec_test!(bid128_add_262, bid128_add, 2, "1E+367" , "9.999999999999999999999999999999999E+6144" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_263, bid128_add, 2, "1E+6110" , "9.999999999999999999999999999999999E+6144" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_264, bid128_add, 2, "-263422633844658.928332597223469897E6134" , "+747.E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_265, bid128_add, 2, 0x28400000000000000000000000000000u128 , 0x59364b22e2d719b8fc26061748ffb476u128 , 0x59364b22e2d719b8fc26061748ffb476u128, 0x00); dec_test!(bid128_add_266, bid128_add, 2, "+2997.653489948889292735459468782643377E6108" , "+9278673824.6482453738329E6133" , 0x5ffbc9795419f3c89a4a228d118ea92cu128, 0x20); dec_test!(bid128_add_267, bid128_add, 2, 0x2ad6d9d6d46be91ca79f9078ce846e2au128 , 0x5a231792da18902dfa74ba0bb2f2a9d2u128 , 0x5a231792da18902dfa74ba0bb2f2a9d3u128, 0x20); dec_test!(bid128_add_268, bid128_add, 2, 0x2b4ed27250ae592981da062276e0d757u128 , 0xfe000aca05f2778b5f0172fb73aa63b4u128 , 0xfc000aca05f2778b5f0172fb73aa63b4u128, 0x01); dec_test!(bid128_add_269, bid128_add, 2, "+3624659768534336587.96423867374255653E6150" , "-10010001111100011101010101110.0110000011E6141" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_270, bid128_add, 2, 0x38a80000000000000000000000000000u128 , 0x5489c7f28d0c759c797749662afbfd8cu128 , 0x5489c7f28d0c759c797749662afbfd8cu128, 0x00); dec_test!(bid128_add_271, bid128_add, 2, "-394.678E6139" , "+55.3696E6105" , 0xdff8c2975dfa0314f5a1f6515fffffffu128, 0x20); dec_test!(bid128_add_272, bid128_add, 2, 0x42425fc86bc4410360dac4d2074b5f1eu128 , 0x4286719aa03a2cb2ffffffffffffffffu128 , 0x4286719aa03a2cb30000000000000000u128, 0x20); dec_test!(bid128_add_273, bid128_add, 2, "+55689855855588879577565566.7587E6118" , "+9988989988.888898899999E6135" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_274, bid128_add, 2, "-5.995688758689789876988877865667857E6127" , "-8989899999.E6126" , 0xdfedbb3c7dbd8ef718864a2b3a96360au128, 0x20); dec_test!(bid128_add_275, bid128_add, 2, 0x5bd3458aeeff67525c9f9a12f343e352u128 , 0xd00e0000000000000000000000000000u128 , 0x5bd3458aeeff67525c9f9a12f343e352u128, 0x00); dec_test!(bid128_add_276, bid128_add, 2, 0x5f1e0000000000000000000000000000u128 , 0xd74b90398df0d2800b222a8e8514f3eeu128 , 0xd74b90398df0d2800b222a8e8514f3eeu128, 0x00); dec_test!(bid128_add_277, bid128_add, 2, "+6667779.8796559657568566E6121" , "-1.E6129" , 0xdff200000000c5a37f76f1936e1a76cau128, 0x00); dec_test!(bid128_add_278, bid128_add, 2, "-67742893945653349875463748543548.9E-6184" , "+1100.0100110001101010E-6045" , 0x00ca363c140ab6aa266b6f4aea488000u128, 0x20); dec_test!(bid128_add_279, bid128_add, 2, "-68488695427246.927E6129" , "-999899889999998899988988988888.9E6115" , 0xdfffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_280, bid128_add, 2, "+6875897.879876979566658996675E6133" , "+8.464777979989329969757976492E6138" , 0x5ffe0000f985fe9359e4745fb3d1594au128, 0x00); dec_test!(bid128_add_281, bid128_add, 2, "+7597756576.869587795965598779879969E-6070" , "-8.E-6021" , 0x80f58a6e32246c99c60ad84fffffffffu128, 0x20); dec_test!(bid128_add_282, bid128_add, 2, 0x7e0006dd5267cd437cd23844b6d6a4eau128 , 0x9f65abe576e0df8e4506a13d63599947u128 , 0x7c0006dd5267cd437cd23844b6d6a4eau128, 0x01); dec_test!(bid128_add_283, bid128_add, 2, 0x7e00149c7f5e6b773ff5188ebbb4795au128 , 0x37fe0000000000000000000000000000u128 , 0x7c00149c7f5e6b773ff5188ebbb4795au128, 0x01); dec_test!(bid128_add_284, bid128_add, 2, 0x7e002cf4e6e4ac9dab55920b2c709cecu128 , 0x78000000000000000000000000000000u128 , 0x7c002cf4e6e4ac9dab55920b2c709cecu128, 0x01); dec_test!(bid128_add_285, bid128_add, 2, 0x80236f1181464c675f86f5a3d472ea30u128 , 0x0000000000000000008c865000000001u128 , 0x80236f1181464c675f86f5a3d472ea2fu128, 0x20); dec_test!(bid128_add_286, bid128_add, 2, 0x84848448bb86cdea47a3f05555554266u128 , 0xfe0016d3cfe15dc13ab1a1ea168bccd5u128 , 0xfc0016d3cfe15dc13ab1a1ea168bccd5u128, 0x01); dec_test!(bid128_add_287, bid128_add, 2, "-86.96E-6051" , "+6262839768259358968798.482E-6125" , 0x80bbacbef36ec2d953f1ad2dffffffffu128, 0x20); dec_test!(bid128_add_288, bid128_add, 2, "-88.E6128" , "+1001100110110.E6131" , 0x5ffe04ef90e43b1338b16e0304700000u128, 0x00); dec_test!(bid128_add_289, bid128_add, 2, "-89.689988889E-6076" , "-9899.98898989888988898E-6079" , 0x80a000000000021be0dbab0ddddd0ee2u128, 0x00); dec_test!(bid128_add_290, bid128_add, 2, "+89797785599559975.97E6141" , "-10011100011110110.1111010001E6132" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_291, bid128_add, 2, "-8989899.889889998E6139" , "+1010010011101.001000010E6140" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_292, bid128_add, 2, "+8999898889.898889988998988899899988E-6113" , "-98.E-6015" , 0x8103e32d63d305092c33af61ffffffffu128, 0x20); dec_test!(bid128_add_293, bid128_add, 2, 0x8b71ea085f35078380db0ca76e5b0d32u128 , 0xf8000000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_294, bid128_add, 2, "-911011001111110.01111E-6035" , "+7757.85756877599677796689977E-6050" , 0x80f5c129c10b6a95e248c238835bfeb0u128, 0x20); dec_test!(bid128_add_295, bid128_add, 2, 0x94560000000000000000000000000000u128 , 0xfe000000000000000000000000000000u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_296, bid128_add, 2, "-9596859585978896957666.8999678658685898E6123", "-855789958.556566566858E6136" , 0xdfffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_297, bid128_add, 2, "-986.7998E6137" , "-28399226863623.4336534472E6122" , 0xdffe00013edc83f35bce6e5a0186fdd0u128, 0x00); dec_test!(bid128_add_298, bid128_add, 2, "-9888988988.8899888988E6150" , "+88887766666797.9757555E6150" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_299, bid128_add, 2, "+98988.E6140" , "+5758859.7585E6137" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_300, bid128_add, 2, "+989.89E6147" , "-11011101001010.001110000001E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_301, bid128_add, 2, "+98998899988998.899898899998999E6141" , "-99898899999898899998999998988899.E6130" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_302, bid128_add, 2, "+9976878.E6138" , "+688895688756979657657.6957987659886589697E6123" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_303, bid128_add, 2, "-99898888.8899899989989999988898989888E6106" , "-58975778987588776588859.6877656E6124" , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_304, bid128_add, 2, "+9989989898899.999889E6132" , "+10100000010000110100111011.1010101101E6119" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_305, bid128_add, 2, "+9.9E6144" , "+1100010.111001111011011101010E6138" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_306, bid128_add, 2, 0x9cd80000000000000000000000000000u128 , 0x16909df1f48b315f9e82e8740fb93bfdu128 , 0x16909df1f48b315f9e82e8740fb93bfdu128, 0x00); dec_test!(bid128_add_307, bid128_add, 2, 0xa1c40000000000000000000000000000u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128, 0x00); dec_test!(bid128_add_308, bid128_add, 2, 0xa9481e81f1ac7df596dcd9baa6738f4au128 , 0xfe000ded30995e2c2a18fde4c3b4c242u128 , 0xfc000ded30995e2c2a18fde4c3b4c242u128, 0x01); dec_test!(bid128_add_309, bid128_add, 2, 0xab5b7f8969162c5f9951aecf3b28ba61u128 , 0xfe001538549b96bcd8bac0361145a524u128 , 0xfc001538549b96bcd8bac0361145a524u128, 0x01); dec_test!(bid128_add_310, bid128_add, 2, 0xbee1c676f1afe3cf09f61de91e262588u128 , 0x561ceab945062f0a24c48dc78dbedb6au128 , 0x561ceab945062f0a24c48dc78dbedb6au128, 0x20); dec_test!(bid128_add_311, bid128_add, 2, 0xc8508282088604800000000000000000u128 , 0x100018000200000070b7486738c0cf39u128 , 0xc85082820886047fffffffffffffffffu128, 0x20); dec_test!(bid128_add_312, bid128_add, 2, 0xd75c0000000000000000000000000000u128 , 0x132efa1ddf2a72991ec77faa102b45cau128 , 0x132efa1ddf2a72991ec77faa102b45cau128, 0x00); dec_test!(bid128_add_313, bid128_add, 2, 0xf8000000000000000000000000000000u128 , 0x2ca1915e9c65355f6a9dd26fcb0633aeu128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_314, bid128_add, 2, 0xfe000000000000000000000000000000u128 , 0x1f0cabc46692f05e44e49d8f9551660cu128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_315, bid128_add, 2, "Infinity" , "-0" , 0x78000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_316, bid128_add, 2, "-Infinity" , "Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_317, bid128_add, 2, "-Infinity" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_318, bid128_add, 2, "Infinity" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_319, bid128_add, 2, "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_320, bid128_add, 2, "SNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_321, bid128_add, 2, "SNaN" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_322, bid128_add, 3, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0002629b8c891b267182b613ccccccccu128, 0x20); dec_test!(bid128_add_323, bid128_add, 3, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_324, bid128_add, 3, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_325, bid128_add, 3, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x00000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_326, bid128_add, 3, "0" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_327, bid128_add, 3, "+100000.00000000E6107" , "+5695567.598669978987E6134" , 0x5ff718d02b771ae1f14f07d33b7906a0u128, 0x00); dec_test!(bid128_add_328, bid128_add, 3, "+1.00101011001100101E6131" , "-98697989675958559.6755E6101" , 0x5fe4315a861bf878b4305be78d569c44u128, 0x20); dec_test!(bid128_add_329, bid128_add, 3, "-1001100.E6103" , "+76675966976599977.8786866E6115" , 0x5fee0000f7c0df92ac3e3aec4c25c4b4u128, 0x00); dec_test!(bid128_add_330, bid128_add, 3, "-1010000000000100.E-6008" , "-8.E-6083" , 0x812c31cbfe02adbb651a045de3100000u128, 0x20); dec_test!(bid128_add_331, bid128_add, 3, "+101001100000101.000000E6138" , "-7695957767658598867966685688.99E6120" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_332, bid128_add, 3, "+101010111000001011101000100100000010.E6111" , "-75.59599E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_333, bid128_add, 3, "-10.11000000110000E6142" , "-1010000.10000000E6100" , 0xdffc31d89d2f61d15c703f2068c00000u128, 0x20); dec_test!(bid128_add_334, bid128_add, 3, "-1011.000011100100000001000110E-6050" , "-899998998989888989988.888898898E-6112" , 0x80c031d89d38790fe039a2b1dfc38780u128, 0x20); dec_test!(bid128_add_335, bid128_add, 3, "+1100111110010000101100.00111E-6148" , "-0.E-6012" , 0x002e0000005affc246f94b02529cdbefu128, 0x00); dec_test!(bid128_add_336, bid128_add, 3, "+11011000100110.0000001001001111E-6070" , "-111100101.001E-6037" , 0x80e436c6cde001d19539cedba43e51e1u128, 0x20); dec_test!(bid128_add_337, bid128_add, 3, "+1.10110010100000011010100000E6117" , "-0.E6139" , 0x5fd60000005b14b39baf21a04e72cb20u128, 0x00); dec_test!(bid128_add_338, bid128_add, 3, "-111110011011.0110000100E6105" , "+11000100110.00000110010010E6121" , 0x5fe4363c140ab6a4209184fd9dc6d2cfu128, 0x20); dec_test!(bid128_add_339, bid128_add, 3, 0x1c4dddec6a7a1c60fb50c15771b095e3u128 , 0x7c000fea63a9224b3d4501def3959458u128 , 0x7c000fea63a9224b3d4501def3959458u128, 0x00); dec_test!(bid128_add_340, bid128_add, 3, "-263422633844658.928332597223469897E6134" , "+747.E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_341, bid128_add, 3, 0x28400000000000000000000000000000u128 , 0x59364b22e2d719b8fc26061748ffb476u128 , 0x59364b22e2d719b8fc26061748ffb476u128, 0x00); dec_test!(bid128_add_342, bid128_add, 3, "+2997.653489948889292735459468782643377E6108" , "+9278673824.6482453738329E6133" , 0x5ffbc9795419f3c89a4a228d118ea92bu128, 0x20); dec_test!(bid128_add_343, bid128_add, 3, 0x2b4ed27250ae592981da062276e0d757u128 , 0xfe000aca05f2778b5f0172fb73aa63b4u128 , 0xfc000aca05f2778b5f0172fb73aa63b4u128, 0x01); dec_test!(bid128_add_344, bid128_add, 3, "+3624659768534336587.96423867374255653E6150" , "-10010001111100011101010101110.0110000011E6141" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_345, bid128_add, 3, 0x38a80000000000000000000000000000u128 , 0x5489c7f28d0c759c797749662afbfd8cu128 , 0x5489c7f28d0c759c797749662afbfd8cu128, 0x00); dec_test!(bid128_add_346, bid128_add, 3, "-394.678E6139" , "+55.3696E6105" , 0xdff8c2975dfa0314f5a1f6515fffffffu128, 0x20); dec_test!(bid128_add_347, bid128_add, 3, "+55689855855588879577565566.7587E6118" , "+9988989988.888898899999E6135" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_348, bid128_add, 3, "-5.995688758689789876988877865667857E6127" , "-8989899999.E6126" , 0xdfedbb3c7dbd8ef718864a2b3a96360au128, 0x20); dec_test!(bid128_add_349, bid128_add, 3, 0x5bd3458aeeff67525c9f9a12f343e352u128 , 0xd00e0000000000000000000000000000u128 , 0x5bd3458aeeff67525c9f9a12f343e352u128, 0x00); dec_test!(bid128_add_350, bid128_add, 3, 0x5f1e0000000000000000000000000000u128 , 0xd74b90398df0d2800b222a8e8514f3eeu128 , 0xd74b90398df0d2800b222a8e8514f3eeu128, 0x00); dec_test!(bid128_add_351, bid128_add, 3, "+6667779.8796559657568566E6121" , "-1.E6129" , 0xdff200000000c5a37f76f1936e1a76cau128, 0x00); dec_test!(bid128_add_352, bid128_add, 3, "-67742893945653349875463748543548.9E-6184" , "+1100.0100110001101010E-6045" , 0x00ca363c140ab6aa266b6f4aea487fffu128, 0x20); dec_test!(bid128_add_353, bid128_add, 3, "-68488695427246.927E6129" , "-999899889999998899988988988888.9E6115" , 0xdfffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_354, bid128_add, 3, "+6875897.879876979566658996675E6133" , "+8.464777979989329969757976492E6138" , 0x5ffe0000f985fe9359e4745fb3d1594au128, 0x00); dec_test!(bid128_add_355, bid128_add, 3, "+7597756576.869587795965598779879969E-6070" , "-8.E-6021" , 0x80f58a6e32246c99c60ad84fffffffffu128, 0x20); dec_test!(bid128_add_356, bid128_add, 3, 0x7e0006dd5267cd437cd23844b6d6a4eau128 , 0x9f65abe576e0df8e4506a13d63599947u128 , 0x7c0006dd5267cd437cd23844b6d6a4eau128, 0x01); dec_test!(bid128_add_357, bid128_add, 3, 0x7e00149c7f5e6b773ff5188ebbb4795au128 , 0x37fe0000000000000000000000000000u128 , 0x7c00149c7f5e6b773ff5188ebbb4795au128, 0x01); dec_test!(bid128_add_358, bid128_add, 3, 0x7e002cf4e6e4ac9dab55920b2c709cecu128 , 0x78000000000000000000000000000000u128 , 0x7c002cf4e6e4ac9dab55920b2c709cecu128, 0x01); dec_test!(bid128_add_359, bid128_add, 3, 0x84848448bb86cdea47a3f05555554266u128 , 0xfe0016d3cfe15dc13ab1a1ea168bccd5u128 , 0xfc0016d3cfe15dc13ab1a1ea168bccd5u128, 0x01); dec_test!(bid128_add_360, bid128_add, 3, "-86.96E-6051" , "+6262839768259358968798.482E-6125" , 0x80bbacbef36ec2d953f1ad2dffffffffu128, 0x20); dec_test!(bid128_add_361, bid128_add, 3, "-88.E6128" , "+1001100110110.E6131" , 0x5ffe04ef90e43b1338b16e0304700000u128, 0x00); dec_test!(bid128_add_362, bid128_add, 3, "-89.689988889E-6076" , "-9899.98898989888988898E-6079" , 0x80a000000000021be0dbab0ddddd0ee2u128, 0x00); dec_test!(bid128_add_363, bid128_add, 3, "+89797785599559975.97E6141" , "-10011100011110110.1111010001E6132" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_364, bid128_add, 3, "-8989899.889889998E6139" , "+1010010011101.001000010E6140" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_365, bid128_add, 3, "+8999898889.898889988998988899899988E-6113" , "-98.E-6015" , 0x8103e32d63d305092c33af61ffffffffu128, 0x20); dec_test!(bid128_add_366, bid128_add, 3, 0x8b71ea085f35078380db0ca76e5b0d32u128 , 0xf8000000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_367, bid128_add, 3, "-911011001111110.01111E-6035" , "+7757.85756877599677796689977E-6050" , 0x80f5c129c10b6a95e248c238835bfeb0u128, 0x20); dec_test!(bid128_add_368, bid128_add, 3, 0x94560000000000000000000000000000u128 , 0xfe000000000000000000000000000000u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_369, bid128_add, 3, "-9596859585978896957666.8999678658685898E6123", "-855789958.556566566858E6136" , 0xdfffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_370, bid128_add, 3, "-986.7998E6137" , "-28399226863623.4336534472E6122" , 0xdffe00013edc83f35bce6e5a0186fdd0u128, 0x00); dec_test!(bid128_add_371, bid128_add, 3, "-9888988988.8899888988E6150" , "+88887766666797.9757555E6150" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_372, bid128_add, 3, "+98988.E6140" , "+5758859.7585E6137" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_373, bid128_add, 3, "+989.89E6147" , "-11011101001010.001110000001E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_374, bid128_add, 3, "+98998899988998.899898899998999E6141" , "-99898899999898899998999998988899.E6130" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_375, bid128_add, 3, "+9976878.E6138" , "+688895688756979657657.6957987659886589697E6123" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_376, bid128_add, 3, "-99898888.8899899989989999988898989888E6106" , "-58975778987588776588859.6877656E6124" , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_377, bid128_add, 3, "+9989989898899.999889E6132" , "+10100000010000110100111011.1010101101E6119" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_378, bid128_add, 3, "+9.9E6144" , "+1100010.111001111011011101010E6138" , 0x5fffed09bead87c0378d8e63ffffffffu128, 0x28); dec_test!(bid128_add_379, bid128_add, 3, 0x9cd80000000000000000000000000000u128 , 0x16909df1f48b315f9e82e8740fb93bfdu128 , 0x16909df1f48b315f9e82e8740fb93bfdu128, 0x00); dec_test!(bid128_add_380, bid128_add, 3, 0xa1c40000000000000000000000000000u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128, 0x00); dec_test!(bid128_add_381, bid128_add, 3, 0xa9481e81f1ac7df596dcd9baa6738f4au128 , 0xfe000ded30995e2c2a18fde4c3b4c242u128 , 0xfc000ded30995e2c2a18fde4c3b4c242u128, 0x01); dec_test!(bid128_add_382, bid128_add, 3, 0xab5b7f8969162c5f9951aecf3b28ba61u128 , 0xfe001538549b96bcd8bac0361145a524u128 , 0xfc001538549b96bcd8bac0361145a524u128, 0x01); dec_test!(bid128_add_383, bid128_add, 3, 0xbee1c676f1afe3cf09f61de91e262588u128 , 0x561ceab945062f0a24c48dc78dbedb6au128 , 0x561ceab945062f0a24c48dc78dbedb69u128, 0x20); dec_test!(bid128_add_384, bid128_add, 3, 0xd75c0000000000000000000000000000u128 , 0x132efa1ddf2a72991ec77faa102b45cau128 , 0x132efa1ddf2a72991ec77faa102b45cau128, 0x00); dec_test!(bid128_add_385, bid128_add, 3, 0xf8000000000000000000000000000000u128 , 0x2ca1915e9c65355f6a9dd26fcb0633aeu128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_386, bid128_add, 3, 0xfe000000000000000000000000000000u128 , 0x1f0cabc46692f05e44e49d8f9551660cu128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_387, bid128_add, 3, "Infinity" , "-0" , 0x78000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_388, bid128_add, 3, "-Infinity" , "Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_389, bid128_add, 3, "-Infinity" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_390, bid128_add, 3, "Infinity" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_391, bid128_add, 3, "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_392, bid128_add, 3, "SNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_393, bid128_add, 3, "SNaN" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_394, bid128_add, 4, 0x0000000000008000004910c400000000u128 , 0x5fe5f9ffd9ebcf7f000404e2000600a0u128 , 0x0000000000008000004910c400000000u128, 0x00); dec_test!(bid128_add_395, bid128_add, 4, 0x00008420a00002000a80008002a35040u128 , 0x8045c945a31d6f328cb7a8b66cfac3fdu128 , 0x8045c945a31d6f328cb7a8b66cfac3fdu128, 0x20); dec_test!(bid128_add_396, bid128_add, 4, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0002629b8c891b267182b613cccccccdu128, 0x20); dec_test!(bid128_add_397, bid128_add, 4, 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_398, bid128_add, 4, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128 , 0x0001ed09bead87c0378d8e62ffffffffu128, 0x00); dec_test!(bid128_add_399, bid128_add, 4, 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x0001ed09bead87c0378d8e64ffffffffu128 , 0x00000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_400, bid128_add, 4, 0x0020828000000010cf88020652208000u128 , 0x00000000000000000010000000220000u128 , 0x0020828000000010cf88020652208000u128, 0x20); dec_test!(bid128_add_401, bid128_add, 4, 0x0022100020000001f000051104440000u128 , 0x00000000000100002d2100c91840cb06u128 , 0x0020a00140000013600032aa31dcadebu128, 0x20); dec_test!(bid128_add_402, bid128_add, 4, "0" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_403, bid128_add, 4, "+100000.00000000E6107" , "+5695567.598669978987E6134" , 0x5ff718d02b771ae1f14f07d33b7906a0u128, 0x00); dec_test!(bid128_add_404, bid128_add, 4, "+1.00101011001100101E6131" , "-98697989675958559.6755E6101" , 0x5fe4315a861bf878b4305be78d569c45u128, 0x20); dec_test!(bid128_add_405, bid128_add, 4, "-1001100.E6103" , "+76675966976599977.8786866E6115" , 0x5fee0000f7c0df92ac3e3aec4c25c4b4u128, 0x00); dec_test!(bid128_add_406, bid128_add, 4, "-1010000000000100.E-6008" , "-8.E-6083" , 0x812c31cbfe02adbb651a045de3100000u128, 0x20); dec_test!(bid128_add_407, bid128_add, 4, "+101001100000101.000000E6138" , "-7695957767658598867966685688.99E6120" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_408, bid128_add, 4, "+101010111000001011101000100100000010.E6111" , "-75.59599E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_409, bid128_add, 4, "-10.11000000110000E6142" , "-1010000.10000000E6100" , 0xdffc31d89d2f61d15c703f2068c00000u128, 0x20); dec_test!(bid128_add_410, bid128_add, 4, "-1011.000011100100000001000110E-6050" , "-899998998989888989988.888898898E-6112" , 0x80c031d89d38790fe039a2b1dfc38780u128, 0x20); dec_test!(bid128_add_411, bid128_add, 4, "+1100111110010000101100.00111E-6148" , "-0.E-6012" , 0x002e0000005affc246f94b02529cdbefu128, 0x00); dec_test!(bid128_add_412, bid128_add, 4, "+11011000100110.0000001001001111E-6070" , "-111100101.001E-6037" , 0x80e436c6cde001d19539cedba43e51e2u128, 0x20); dec_test!(bid128_add_413, bid128_add, 4, "+1.10110010100000011010100000E6117" , "-0.E6139" , 0x5fd60000005b14b39baf21a04e72cb20u128, 0x00); dec_test!(bid128_add_414, bid128_add, 4, "-111110011011.0110000100E6105" , "+11000100110.00000110010010E6121" , 0x5fe4363c140ab6a4209184fd9dc6d2d0u128, 0x20); dec_test!(bid128_add_415, bid128_add, 4, 0x1392280b19d70c0b2041039000096101u128 , 0xf65addcfbf5fa71de3dfffffb7fdfebfu128 , 0x1392280b19d70c0b2041039000096101u128, 0x00); dec_test!(bid128_add_416, bid128_add, 4, 0x1c4dddec6a7a1c60fb50c15771b095e3u128 , 0x7c000fea63a9224b3d4501def3959458u128 , 0x7c000fea63a9224b3d4501def3959458u128, 0x00); dec_test!(bid128_add_417, bid128_add, 4, "-263422633844658.928332597223469897E6134" , "+747.E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_418, bid128_add, 4, 0x28400000000000000000000000000000u128 , 0x59364b22e2d719b8fc26061748ffb476u128 , 0x59364b22e2d719b8fc26061748ffb476u128, 0x00); dec_test!(bid128_add_419, bid128_add, 4, "+2997.653489948889292735459468782643377E6108" , "+9278673824.6482453738329E6133" , 0x5ffbc9795419f3c89a4a228d118ea92cu128, 0x20); dec_test!(bid128_add_420, bid128_add, 4, 0x2ad6d9d6d46be91ca79f9078ce846e2au128 , 0x5a231792da18902dfa74ba0bb2f2a9d2u128 , 0x5a231792da18902dfa74ba0bb2f2a9d2u128, 0x20); dec_test!(bid128_add_421, bid128_add, 4, 0x2b4ed27250ae592981da062276e0d757u128 , 0xfe000aca05f2778b5f0172fb73aa63b4u128 , 0xfc000aca05f2778b5f0172fb73aa63b4u128, 0x01); dec_test!(bid128_add_422, bid128_add, 4, "+3624659768534336587.96423867374255653E6150" , "-10010001111100011101010101110.0110000011E6141" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_423, bid128_add, 4, 0x38a80000000000000000000000000000u128 , 0x5489c7f28d0c759c797749662afbfd8cu128 , 0x5489c7f28d0c759c797749662afbfd8cu128, 0x00); dec_test!(bid128_add_424, bid128_add, 4, "-394.678E6139" , "+55.3696E6105" , 0xdff8c2975dfa0314f5a1f65160000000u128, 0x20); dec_test!(bid128_add_425, bid128_add, 4, "+55689855855588879577565566.7587E6118" , "+9988989988.888898899999E6135" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_426, bid128_add, 4, "-5.995688758689789876988877865667857E6127" , "-8989899999.E6126" , 0xdfedbb3c7dbd8ef718864a2b3a96360bu128, 0x20); dec_test!(bid128_add_427, bid128_add, 4, 0x5bd3458aeeff67525c9f9a12f343e352u128 , 0xd00e0000000000000000000000000000u128 , 0x5bd3458aeeff67525c9f9a12f343e352u128, 0x00); dec_test!(bid128_add_428, bid128_add, 4, 0x5f1e0000000000000000000000000000u128 , 0xd74b90398df0d2800b222a8e8514f3eeu128 , 0xd74b90398df0d2800b222a8e8514f3eeu128, 0x00); dec_test!(bid128_add_429, bid128_add, 4, "+6667779.8796559657568566E6121" , "-1.E6129" , 0xdff200000000c5a37f76f1936e1a76cau128, 0x00); dec_test!(bid128_add_430, bid128_add, 4, "-67742893945653349875463748543548.9E-6184" , "+1100.0100110001101010E-6045" , 0x00ca363c140ab6aa266b6f4aea488000u128, 0x20); dec_test!(bid128_add_431, bid128_add, 4, "-68488695427246.927E6129" , "-999899889999998899988988988888.9E6115" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_432, bid128_add, 4, "+6875897.879876979566658996675E6133" , "+8.464777979989329969757976492E6138" , 0x5ffe0000f985fe9359e4745fb3d1594au128, 0x00); dec_test!(bid128_add_433, bid128_add, 4, "+7597756576.869587795965598779879969E-6070" , "-8.E-6021" , 0x80f58a6e32246c99c60ad85000000000u128, 0x20); dec_test!(bid128_add_434, bid128_add, 4, 0x7e0006dd5267cd437cd23844b6d6a4eau128 , 0x9f65abe576e0df8e4506a13d63599947u128 , 0x7c0006dd5267cd437cd23844b6d6a4eau128, 0x01); dec_test!(bid128_add_435, bid128_add, 4, 0x7e00149c7f5e6b773ff5188ebbb4795au128 , 0x37fe0000000000000000000000000000u128 , 0x7c00149c7f5e6b773ff5188ebbb4795au128, 0x01); dec_test!(bid128_add_436, bid128_add, 4, 0x7e002cf4e6e4ac9dab55920b2c709cecu128 , 0x78000000000000000000000000000000u128 , 0x7c002cf4e6e4ac9dab55920b2c709cecu128, 0x01); dec_test!(bid128_add_437, bid128_add, 4, 0x8000400080402000ffe7fffffffbffffu128 , 0x0000110a210840010840000200000800u128 , 0x80002ef65f37dffff7a7fffdfffbf7ffu128, 0x00); dec_test!(bid128_add_438, bid128_add, 4, 0x80100000008001118498563480440020u128 , 0x00004891000401209a1b9d433d9f9e78u128 , 0x8002450a2fd3ed30480a760e2082d9c1u128, 0x20); dec_test!(bid128_add_439, bid128_add, 4, 0x84848448bb86cdea47a3f05555554266u128 , 0xfe0016d3cfe15dc13ab1a1ea168bccd5u128 , 0xfc0016d3cfe15dc13ab1a1ea168bccd5u128, 0x01); dec_test!(bid128_add_440, bid128_add, 4, "-86.96E-6051" , "+6262839768259358968798.482E-6125" , 0x80bbacbef36ec2d953f1ad2e00000000u128, 0x20); dec_test!(bid128_add_441, bid128_add, 4, "-88.E6128" , "+1001100110110.E6131" , 0x5ffe04ef90e43b1338b16e0304700000u128, 0x00); dec_test!(bid128_add_442, bid128_add, 4, "-89.689988889E-6076" , "-9899.98898989888988898E-6079" , 0x80a000000000021be0dbab0ddddd0ee2u128, 0x00); dec_test!(bid128_add_443, bid128_add, 4, "+89797785599559975.97E6141" , "-10011100011110110.1111010001E6132" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_444, bid128_add, 4, "-8989899.889889998E6139" , "+1010010011101.001000010E6140" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_445, bid128_add, 4, "+8999.88999E4401" , "-10.0E4437" , 0xd2a9ed09bead87c0378d8e63fffffff7u128, 0x20); dec_test!(bid128_add_446, bid128_add, 4, "+8999898889.898889988998988899899988E-6113" , "-98.E-6015" , 0x8103e32d63d305092c33af6200000000u128, 0x20); dec_test!(bid128_add_447, bid128_add, 4, 0x8b71ea085f35078380db0ca76e5b0d32u128 , 0xf8000000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_448, bid128_add, 4, "-911011001111110.01111E-6035" , "+7757.85756877599677796689977E-6050" , 0x80f5c129c10b6a95e248c238835bfeb0u128, 0x20); dec_test!(bid128_add_449, bid128_add, 4, 0x94560000000000000000000000000000u128 , 0xfe000000000000000000000000000000u128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_450, bid128_add, 4, "-9596859585978896957666.8999678658685898E6123", "-855789958.556566566858E6136" , 0xf8000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_451, bid128_add, 4, "-986.7998E6137" , "-28399226863623.4336534472E6122" , 0xdffe00013edc83f35bce6e5a0186fdd0u128, 0x00); dec_test!(bid128_add_452, bid128_add, 4, "-9888988988.8899888988E6150" , "+88887766666797.9757555E6150" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_453, bid128_add, 4, "+98988.E6140" , "+5758859.7585E6137" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_454, bid128_add, 4, "+989.89E6147" , "-11011101001010.001110000001E6145" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_455, bid128_add, 4, "+98998899988998.899898899998999E6141" , "-99898899999898899998999998988899.E6130" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_456, bid128_add, 4, "+9976878.E6138" , "+688895688756979657657.6957987659886589697E6123" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_457, bid128_add, 4, "-99898888.8899899989989999988898989888E6106" , "-58975778987588776588859.6877656E6124" , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_458, bid128_add, 4, "+9989989898899.999889E6132" , "+10100000010000110100111011.1010101101E6119" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_459, bid128_add, 4, "+9.9E6144" , "+1100010.111001111011011101010E6138" , 0x78000000000000000000000000000000u128, 0x28); dec_test!(bid128_add_460, bid128_add, 4, 0x9cd80000000000000000000000000000u128 , 0x16909df1f48b315f9e82e8740fb93bfdu128 , 0x16909df1f48b315f9e82e8740fb93bfdu128, 0x00); dec_test!(bid128_add_461, bid128_add, 4, 0xa1c40000000000000000000000000000u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128 , 0x5522c0c11492e428f7d822a92f1a5ef3u128, 0x00); dec_test!(bid128_add_462, bid128_add, 4, 0xa9481e81f1ac7df596dcd9baa6738f4au128 , 0xfe000ded30995e2c2a18fde4c3b4c242u128 , 0xfc000ded30995e2c2a18fde4c3b4c242u128, 0x01); dec_test!(bid128_add_463, bid128_add, 4, 0xab5b7f8969162c5f9951aecf3b28ba61u128 , 0xfe001538549b96bcd8bac0361145a524u128 , 0xfc001538549b96bcd8bac0361145a524u128, 0x01); dec_test!(bid128_add_464, bid128_add, 4, 0xbee1c676f1afe3cf09f61de91e262588u128 , 0x561ceab945062f0a24c48dc78dbedb6au128 , 0x561ceab945062f0a24c48dc78dbedb6au128, 0x20); dec_test!(bid128_add_465, bid128_add, 4, 0xc0c47de8bb8a81caa1571e2bdc47b401u128 , 0x40810000040200000000205500000000u128 , 0xc0c47de8bb8a81caa1571e2bdc47b400u128, 0x20); dec_test!(bid128_add_466, bid128_add, 4, 0xd75c0000000000000000000000000000u128 , 0x132efa1ddf2a72991ec77faa102b45cau128 , 0x132efa1ddf2a72991ec77faa102b45cau128, 0x00); dec_test!(bid128_add_467, bid128_add, 4, 0xf8000000000000000000000000000000u128 , 0x2ca1915e9c65355f6a9dd26fcb0633aeu128 , 0xf8000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_468, bid128_add, 4, 0xfe000000000000000000000000000000u128 , 0x1f0cabc46692f05e44e49d8f9551660cu128 , 0xfc000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_469, bid128_add, 4, "Infinity" , "-0" , 0x78000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_470, bid128_add, 4, "-Infinity" , "Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_471, bid128_add, 4, "-Infinity" , "QNaN" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_472, bid128_add, 4, "Infinity" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_473, bid128_add, 4, "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x00); dec_test!(bid128_add_474, bid128_add, 4, "SNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_475, bid128_add, 4, "SNaN" , "SNaN" , 0x7c000000000000000000000000000000u128, 0x01); dec_test!(bid128_add_476, bid128_add, 1, 0x00423078000200100000000000000000u128 , 0x800001da00040000405041d2e901ac1du128 , 0x0041e4b00014009fffffffffffffffffu128 , 0x20); dec_test!(bid128_add_477, bid128_add, 0, 0xccffbf795fb694b1ffffffffffffffffu128 , 0xccfdec79b21ac98c67c2f889c1d4cd74u128 , 0xcd0031ac130849347beae8e2a8569ba7u128 , 0x20); dec_test!(bid128_add_478, bid128_add, 0, 0xd6dfdf2fbfffffbf8b8462ca02889cb1u128 , 0xd6ddcbfe7bd605badfcfe9fd777f3a77u128 , 0xd6e03484c284b33b6c598ec7602b17efu128 , 0x20); dec_test!(bid128_add_479, bid128_add, 0, 0x0fa9801fe9ac372017875158ded9d859u128 , 0x0fabec95ded802102a002751ded92216u128 , 0x0fac35198bd233f52327c4bed5f40d41u128 , 0x20); dec_test!(bid128_add_480, bid128_add, 1, 0x00423078000200100000000000000000u128 , 0x800001da00040000405041d2e901ac1du128 , 0x0041e4b00014009fffffffffffffffffu128 , 0x20); dec_test!(bid128_add_481, bid128_add, 0, 0xccffbf795fb694b1ffffffffffffffffu128 , 0xccfdec79b21ac98c67c2f889c1d4cd74u128 , 0xcd0031ac130849347beae8e2a8569ba7u128 , 0x20); dec_test!(bid128_add_482, bid128_add, 1, 0x20000806022000019ff75fa3776fde4fu128 , 0xa04082a57e10d5740000000000000001u128 , 0xa04082a57e10d5740000000000000000u128 , 0x20); dec_test!(bid128_add_483, bid128_add, 0, 0x7c00314dc6448d9338c15b1000000000u128 , "1" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_add_484, bid128_add, 0, "1" , 0x7c00314dc6448d9338c15b1000000000u128 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_add_485, bid128_add, 0, "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66", 0x20); dec_test!(bid128_add_486, bid128_add, 1, "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66", 0x20); dec_test!(bid128_add_487, bid128_add, 2, "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1499999999999999999999999999999999E-66", 0x20); dec_test!(bid128_add_488, bid128_add, 3, "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1499999999999999999999999999999999E-66", 0x20); dec_test!(bid128_add_489, bid128_add, 4, "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66", 0x20);