/* ---------------------------------------------------------------------------------------------------*/ /* ---------------------------------------------------------------------------------------------------*/ /* 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; dec_test!(bid128_fma_001, bid128_fma, 0, 0x0000000000000000220000a480610200u128 , 0xa08000209c004320ffffffff2ffeffffu128 , 0x7192831a08d0ead75e4dab7f4f3b760du128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_002, bid128_fma, 0, 0x000000000000000025abea48f47fe490u128 , 0x4c493a7c969bad2b76a1b56533e260a8u128 , 0x8ccd463902069400525c91ee7cbe925du128 , 0x1c2e555e3947c2cb3aa3c216a272ab41u128 , 0x20); dec_test!(bid128_fma_003, bid128_fma, 0, 0x00000000000000007a3bbf3b7ffdff35u128 , 0xb4c6038b34628801202de043e0a17141u128 , 0x044c85c8418a08a1d023e78301809c08u128 , 0x84a938212a8f117840e57cf17f8ae7f5u128 , 0x20); dec_test!(bid128_fma_004, bid128_fma, 0, 0x000000000000000099668468cd5c98f0u128 , 0x000000000000000049f7e1fa6bc500e3u128 , 0xbb54f9792e19d0891adbc73c3ee90671u128 , 0xbb54f9792e19d0891adbc73c3ee90671u128 , 0x20); dec_test!(bid128_fma_005, bid128_fma, 0, 0x00000000401000000914807100168068u128 , 0x42388d980a0d182ffdf7fb9fffb77fbfu128 , 0x120e0840804c20009795fef6efbf5da3u128 , 0x123118bac0a6c56c28427200d14258e4u128 , 0x20); dec_test!(bid128_fma_006, bid128_fma, 0, "+0.000000101000000000000000000000000E-4535" , "+576965797975755539.592559457375275E3867" , "-9889.8889899889E-5217" , 0x2adb1f4f8e1a22f123ed587be9653ee5u128 , 0x20); dec_test!(bid128_fma_007, bid128_fma, 0, 0x0000080000200000fb77fff7ebaffe77u128 , 0x344000260314504d9ff6ef7e7effffefu128 , 0x83efae20f633be8359dcdc469300c40eu128 , 0x043af0ee0ebefd545fbe344c03f90b93u128 , 0x20); dec_test!(bid128_fma_008, bid128_fma, 0, 0x000040102081200075984b28706bfc2cu128 , 0x0004100010001400fffffff5ffbff7dfu128 , 0x00000000000000005989600342128d40u128 , 0x00000000000000005989600342128d40u128 , 0x30); dec_test!(bid128_fma_009, bid128_fma, 0, "+0.001100000000000000000000000000000E4244" , "-55795556875596897.79877787878755655E2565" , "-11010.0111101E-2213" , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_010, bid128_fma, 0, 0x00022000040010008dcff22cd7b7cc64u128 , 0xafcefb9772509edf100000a010c00028u128 , 0x80001302220000086ecdbe911690cb5du128 , 0x80001302220000086ecdbe98cca6e05eu128 , 0x30); // TODO: bid128_fma_011 -> goto delta_ge_zero; // dec_test!(bid128_fma_011, bid128_fma, 0, "+0.01100E-1478" , "-1000.000E-4692" , "-795978769977867786895765698.9675988E-6199" , 0x80000000000000000000000000a7f7d8u128 , 0x00); dec_test!(bid128_fma_012, bid128_fma, 0, 0x0040000000000000d7ff7e5fc7ffafebu128 , 0xa7fa213d8e6dc4bbffffff7fffffffffu128 , 0x75ed386a07c300fff60dac4c6b68a087u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_013, bid128_fma, 0, 0x0080000000000000888a48a201dd2400u128 , 0x000000000000000000180102804618b0u128 , 0xbffffdffffffffff9220f4331f637e3du128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_014, bid128_fma, 0, 0x0080000000004001215b954e09a0b40du128 , 0xdd7d8ff5ff6fbcf895bdb9ad66407ed3u128 , 0x2e31e8b329d06f83709bac119d4088b6u128 , 0x2e31e8b329d06f83709bac119d4088b6u128 , 0x20); dec_test!(bid128_fma_015, bid128_fma, 0, 0x011c2e380536f031465bbaf1ba3084fdu128 , 0x30fde49094274b7bd9462a2e21676b35u128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0x20); dec_test!(bid128_fma_016, bid128_fma, 0, 0x023ee0350f61c530af68e419164e427fu128 , 0x2b8188689b483b77adefb812c46ebbabu128 , 0x1dd80000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_017, bid128_fma, 0, 0x0264836a011bfb20e2bb99925ff56d43u128 , 0x1761e368e28ecb57b50f9319de6bff51u128 , 0x93ee0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_018, bid128_fma, 0, 0x04000000000100406d7a72e7789fe9bdu128 , 0x00000000000000000000010000200048u128 , 0x000000000000020029684c8cb658368bu128 , 0x000000000000020029684c8cb658368bu128 , 0x30); dec_test!(bid128_fma_019, bid128_fma, 0, 0x07587000f0d76149acf8789122da23e2u128 , 0x7e0002fae97029cbb43750add58239a3u128 , 0x92bf6da1794a81ea6d4fdc10cf7dbb50u128 , 0x7c0002fae97029cbb43750add58239a3u128 , 0x01); dec_test!(bid128_fma_020, bid128_fma, 0, 0x08000040100002000080100000000000u128 , 0x00000000000530005fef5fffd7f7ebb7u128 , 0xc360e34dfbfc835e11af409d669f0570u128 , 0xc360e34dfbfc835e11af409d669f0570u128 , 0x20); dec_test!(bid128_fma_021, bid128_fma, 0, 0x088d9e17db4260877679fbaeeeedfae9u128 , 0x0001010270000080efffffffdfffffffu128 , 0x32d882284508c86c0000000000000000u128 , 0x32d882284508c86c0000000000000000u128 , 0x20); dec_test!(bid128_fma_022, bid128_fma, 0, 0x0c0280001728229effffffffdfffffffu128 , 0xceb42f3d4c1b801dd643c645f168910bu128 , 0x2b0000c03aa0000cffffff7fffffffffu128 , 0x2afc4b16e6800513ffffcdffffffff9cu128 , 0x20); dec_test!(bid128_fma_023, bid128_fma, 0, 0x0da8fa89ea07e703d61966756ccbae8cu128 , 0x99ecf2da4f3e1ae4f88bbf3c86362aacu128 , 0x81180000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_024, bid128_fma, 0, 0x0fa285fc05be99dfdfffbffffffffffeu128 , 0x201860622000394d2018359b50204a10u128 , 0x00000808002020000000000000000000u128 , 0x00000808002020000000000000000001u128 , 0x30); dec_test!(bid128_fma_025, bid128_fma, 0, 0 , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_026, bid128_fma, 0, "-0" , "QNaN" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_027, bid128_fma, 0, "-0" , "QNaN" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_028, bid128_fma, 0, 0 , "QNaN" , "Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_029, bid128_fma, 0, "-100000000000000000000.00000000E2167" , "+10.000000E3773" , "+6678687.855785968795988795878658777E-749" , 0xde90314dc6448d9338c15b0a00000000u128 , 0x20); dec_test!(bid128_fma_030, bid128_fma, 0, "+10000010.00000E-5366" , "+100110000001.11110101100111111000110E4155" , "-1000000000.E-1168" , 0xa6efed09bead87c0378d8e63ffffffffu128 , 0x20); dec_test!(bid128_fma_031, bid128_fma, 0, 0x1004b480741c9c084aee821f26256ca3u128 , 0x2004000005200004ffeff7fbcfefff7fu128 , 0x77aa31dbe0102f8114c356fff7b77741u128 , 0x00001ca12c2dda105e0fcfdb9bd744c2u128 , 0x30); // TODO: bid128_fma_032 -> goto delta_ge_zero; // dec_test!(bid128_fma_032, bid128_fma, 0, "+10.0E-1" , "+1.1E1" , "-20.E-1" , 0x303c0000000000000000000000000384u128 , 0x00); dec_test!(bid128_fma_033, bid128_fma, 0, 0x10388820b0a008000464098490c04800u128 , 0x8cdc81bc2be3b23e1aa48bf8404d0b9au128 , 0x100410000040000019c71021241c89e5u128 , 0x1002a0000280000101c6a14b691d62f2u128 , 0x20); dec_test!(bid128_fma_034, bid128_fma, 0, 0x1040000000000000011202c00c804084u128 , 0x00000000000000002040261404280a10u128 , 0xbcbb3b9e98630b10d6a3e6a102814081u128 , 0xbcbb3b9e98630b10d6a3e6a102814081u128 , 0x20); dec_test!(bid128_fma_035, bid128_fma, 0, 0x104a00045a100800c042526032000000u128 , 0x9f86f051cca9ce08fc8291475dc13210u128 , 0x000008004001800856183e30152990d9u128 , 0x000008004001800856183e3014292165u128 , 0x30); dec_test!(bid128_fma_036, bid128_fma, 0, "+11000000000000000000000000000.000E5271" , "-4943746.727789239794842E-1749" , "-9988988989988889889989989888.899888888E-2596" , 0xcbc70c1ebdef427bdccf7f0dcaf33000u128 , 0x20); dec_test!(bid128_fma_037, bid128_fma, 0, 0x1218040ca862a0a00008026902009009u128 , 0x00000000000000000000000000800000u128 , 0x6f4b337fbfdfddfcbfdbb7ffbfbfedfdu128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_038, bid128_fma, 0, 0x1349b121abe70d2eb7df5ffb7058df8au128 , 0x14ed579819a76ee1107a1635ff64fe38u128 , 0xc1f41ae4bfed178362d31b4f411fb77fu128 , 0xc1f30cef7f42eb21dc3f11188b3d2af6u128 , 0x20); dec_test!(bid128_fma_039, bid128_fma, 0, "+1E-6176" , "-1E-6176" , "+1E-6143" , 0x0000314dc6448d9338c15b0a00000000u128 , 0x30); // undefrlow_before_only dec_test!(bid128_fma_040, bid128_fma, 0, 0x20007458818bf9acffffffffffffffffu128 , 0x102000000000406102c0109140000004u128 , 0x0000000100000080ad8921e30a37c621u128 , 0x000f61b72639bbe0cc3d29c992ba941fu128 , 0x20); dec_test!(bid128_fma_041, bid128_fma, 0, 0x203aba8c5a6ee974bfeff7dfff7bdfffu128 , 0xb0040811a40888240005000000000000u128 , 0x1fbddefbd73b3ef6dfdfddb757ed7fbfu128 , 0xa03f314c93d92f156df64b42c0a54577u128 , 0x20); dec_test!(bid128_fma_042, bid128_fma, 0, 0x206b194fdf736ae4d4e00ad4b67d2e3au128 , 0x20094055049340020000000100080000u128 , 0x9050f56ce5c2cc1f4e7aeac90b7d3734u128 , 0x1076b6c57b795d21918b96ed0568fde7u128 , 0x20); dec_test!(bid128_fma_043, bid128_fma, 0, 0x24cf6abfe3bc6b9dc835980765032032u128 , 0x0b05adc6042401030200111000009000u128 , 0x114ff7e5d6a975564fc9d1a37811250du128 , 0x0000000000000000000005d53a0f7af9u128 , 0x30); dec_test!(bid128_fma_044, bid128_fma, 0, 0x24f36694072c1d7a4447a8b238c24b9fu128 , 0x0930d2fb85019e18455c6db9c669581cu128 , 0x95440000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_045, bid128_fma, 0, 0x25be0000000000000000000000000000u128 , 0xb79d4e2334682abd4371058eb371c01au128 , 0xfe0026e6bb7d55ff3f5b897fc59c6678u128 , 0xfc0026e6bb7d55ff3f5b897fc59c6678u128 , 0x01); dec_test!(bid128_fma_046, bid128_fma, 0, 0x25c20d0d39a936dc438e988854c72fdfu128 , 0xfe000ededd967152bd551922ab686931u128 , 0xd1adba17f45a07c7323a547ae8e9a798u128 , 0xfc000ededd967152bd551922ab686931u128 , 0x01); dec_test!(bid128_fma_047, bid128_fma, 0, 0x2728d1aea6511cb3bafc2dafdfd1fbb7u128 , 0x8678327ca23873e1405f50961d5d8f80u128 , 0x8a720000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_048, bid128_fma, 0, 0x280b09d60c0b13920000100600000100u128 , 0x02900009600020012138008050c201c4u128 , 0x662c51ef43a7638039261be7597e894cu128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_049, bid128_fma, 0, 0x2910000000008080b25b9eade6abab45u128 , 0x2d06488fc020bd06e7992dd24b55fd6bu128 , 0x57ecd5b9f7f5fb7b01c093ca4c31b4c2u128 , 0x57ecd5b9f7f5fb7b01c093ca4c31b4c2u128 , 0x20); dec_test!(bid128_fma_050, bid128_fma, 0, 0x2f540000000000000000000000000000u128 , 0x78000000000000000000000000000000u128 , 0x98efae3d556790f7505f623790b90633u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_051, bid128_fma, 0, 0x30cb4e8d6dcbe8a90000840510200032u128 , 0x8000080000c4022240a0122048253016u128 , 0x80bda55a4a8bc4edc4ee8f26e756e102u128 , 0x80cc3648c967129840027d75dfd2332du128 , 0x20); dec_test!(bid128_fma_052, bid128_fma, 0, 0x320a2ab1e0a11645aff744967dfbe84eu128 , 0x30b05583a6085d72126c5cd4e39d51e6u128 , 0xb2c30b72fdd3a83768b6fd0da7d57d80u128 , 0xb2c30b6008cb05e6faa9ff663fc90346u128 , 0x20); dec_test!(bid128_fma_053, bid128_fma, 0, 0x33200000000000000000000000000005u128 , 0x2ffc000000000000000000000000000au128 , 0xb322000000000000000000000000000au128 , 0xb2e2314dc6448d9338c15b0a00000000u128 , 0x20); dec_test!(bid128_fma_054, bid128_fma, 0, 0x3b808456804a83750010000085000000u128 , 0x01146d5b83848339ffdfedafffbdffdfu128 , 0x0cda343b9ca56bfd3dc98475f258233bu128 , 0x0cda343b9ca56bfd3dc98475f258233cu128 , 0x20); dec_test!(bid128_fma_055, bid128_fma, 0, 0x3bbd5fbfd0e58d5b2815dce19cc4e872u128 , 0xd444dffde1cf1e70c05240004800c088u128 , 0xdfe76db3caee69f5e5ffdfbff75ade16u128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_056, bid128_fma, 0, 0x400000000000000000080d8220131004u128 , 0x00a0000000000000b247a0c78546f03bu128 , 0x02807080008004040400091004404034u128 , 0x10628f908736046317ab92ab92733e7eu128 , 0x20); dec_test!(bid128_fma_057, bid128_fma, 0, 0x4808000c21040138021a308421000b20u128 , 0xaa1d4ef2ed41c213cd2b5c54d8942679u128 , 0x42212024000400018993f85ed5cfbe5du128 , 0xc21f514e10232ae7e620f81dfb793f97u128 , 0x20); dec_test!(bid128_fma_058, bid128_fma, 0, 0x5120002c01000408ff7775908ebb0dddu128 , 0x00c00000000000001ececb0ed3a9ca3cu128 , 0xabaf099322b3452e9442d19a96a78ce1u128 , 0xabaf099322b3452e9442d19a96a78ce1u128 , 0x20); dec_test!(bid128_fma_059, bid128_fma, 0, 0x521466c7594ec3442fa18e99f765a11du128 , 0x00000000000040000048d450201a0808u128 , 0x2206b5204994202a000002480002001cu128 , 0x2206b83b7fcb3e2ed601d7ac666497acu128 , 0x20); dec_test!(bid128_fma_060, bid128_fma, 0, "-567599796678575.79666E0" , "+392.7947253589822E0" , "-0" , 0xb0206dec45b1bf99af192e3d5568b4dbu128 , 0x20); dec_test!(bid128_fma_061, bid128_fma, 0, "-65667597795869578895.E4697" , "+10000000110.0001100000000E-1197" , "-797685.59758578985997596576596959E-417" , 0xcb9143c42974b7dee2e0884b6cd76df1u128 , 0x20); dec_test!(bid128_fma_062, bid128_fma, 0, 0x6cb03862d2de13ce0c9296b43238de70u128 , 0xf2e3cf43f34cf3383164bb2ecd8e707du128 , 0xaec77ef8cb71bc3e76e1e18f65703224u128 , 0xaec77ef8cb71bc3e76e1e18f65703224u128 , 0x00); dec_test!(bid128_fma_063, bid128_fma, 0, "+78979.98959E2234" , "-100.001E3889" , "+0.0E-2318" , 0xdfe18567c23390a170eee5750a980000u128 , 0x00); dec_test!(bid128_fma_064, bid128_fma, 0, 0x7b3adfc036c746865e892b3388cfb488u128 , 0xfbd0f9955efefdffffffffffff77ffffu128 , 0xfbeeff7fef7fffbfefffffffffdfffffu128 , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_065, bid128_fma, 0, 0x7f06536efdedf3efa00d0c0a84122060u128 , 0x00081010000000008c6de2c3707e636cu128 , 0xfd1f7eefdffff377023b4c28d1de82a0u128 , 0xfc000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_066, bid128_fma, 0, 0x82000802200200400404000401002010u128 , 0xadbbbffd7bdd3aff900af9a200a3b400u128 , 0xf7fdff9fffffefffb68bd40ea2c4474eu128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_067, bid128_fma, 0, 0x87b6dfcc7a5ab7bea522677e4ab1668cu128 , 0x9bc9417a84186a90ad9120f71b542aa9u128 , 0x160e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_068, bid128_fma, 0, "+8888.8998998998E-2235" , "-1.10E-3931" , "-0.000000E-6132" , 0x8000000000000000000058edb0ee45d2u128 , 0x30); dec_test!(bid128_fma_069, bid128_fma, 0, "-888889999.8E5727" , "-6.68E407" , "+0.0000000000000E-366" , 0x5ffd24c162bdd6d51128095d9d000000u128 , 0x00); dec_test!(bid128_fma_070, bid128_fma, 0, "-8965987698956675.78656555E4539" , "-1.000000000010000E3821" , "-110010011100011.010110110001111101011E2821" , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_071, bid128_fma, 0, "+8986696985789675.56557795678657567758978E-5901", "-8.E2812" , "+969866.55766779558876696986978678768E-3084" , 0x97fd627653e77aa19a3a418d30850075u128 , 0x20); dec_test!(bid128_fma_072, bid128_fma, 0, "-89988899988998.898989999988898899888E2320" , "-8.E-1226" , "+933948225566767374852856.47E1058" , 0x38a762f19171451591c353e839655c91u128 , 0x20); dec_test!(bid128_fma_073, bid128_fma, 0, 0x8aabe6c73b7f72dd8d4c38f2543b8fd8u128 , 0xb89b8951e940fe90a2bf73fbf713f220u128 , 0x8fe60000000000000000000000000000u128 , 0x1349845382b7174c0250d072c749f709u128 , 0x20); dec_test!(bid128_fma_074, bid128_fma, 0, 0x8d76c8ff6073591e4ea62c39f4a16b91u128 , 0x22849088080000808d20400201465a08u128 , 0x00000001000000006676f7f4f677c7cau128 , 0x800005e362c4334fb471d1ebc2a0aee6u128 , 0x30); dec_test!(bid128_fma_075, bid128_fma, 0, 0x8fdf13f67c7cdcf70000004000800000u128 , 0x9fdbb991e1fbc49417960991d803e935u128 , 0xda6ff7fd75fffe770000000000080040u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_076, bid128_fma, 0, 0x90091b37072242aac068cf75fbe76df7u128 , 0x0000000000004000d16da245a419a5e8u128 , 0x0000400000000080fefbfff9effddff7u128 , 0x0000400000000080fefbfff9effddff7u128 , 0x20); dec_test!(bid128_fma_077, bid128_fma, 0, 0x908004200021a0200020000002004020u128 , 0x9f7f5d5fffe9feff164494884e3e3299u128 , 0x00000004000402001018782a006831d8u128 , 0x00001d3efef13522df9eb8340d30796du128 , 0x30); dec_test!(bid128_fma_078, bid128_fma, 0, 0x921e5c5d6e51ce1c85362f63605fabbcu128 , 0xd1b7931c81504ef60020008400800ac5u128 , 0x338c840fc8f18a12080826a8c3910200u128 , 0x33d84b84ab2ab2dcb6df3784a4e7be67u128 , 0x20); dec_test!(bid128_fma_079, bid128_fma, 0, 0x940ea6ce1bb0babbe358a2ea8a3794f5u128 , 0x8ab6ef64d6b7638beac8a3d8f63b93f0u128 , 0x8f120000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); // TODO: bid128_fma_080 -> goto delta_ge_zero; // dec_test!(bid128_fma_080, bid128_fma, 0, "+96558957998.5567E4207" , "-110011101101111101.01011000000100101001E-6193", "+88898888998899898989988889998999889888.99E-2959", 0xa0b1dc128a0a790abf0c6656f7180000u128 , 0x20); dec_test!(bid128_fma_081, bid128_fma, 0, 0x974b45d9220fb1628c1ff71d1a44d956u128 , 0x7e000dbeb7afd3437629e0c7b7cce431u128 , 0xf8000000000000000000000000000000u128 , 0x7c000dbeb7afd3437629e0c7b7cce431u128 , 0x01); dec_test!(bid128_fma_082, bid128_fma, 0, "-9.888889999998889998889899998988888899E-6176" , "-988.E-688" , "-0.E-5743" , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_083, bid128_fma, 0, 0x9d697e38848d99c31476240e2c312c44u128 , 0x92857ccc4d332c4133a8330cbdd2fa40u128 , 0x00000000000000000001000080020000u128 , 0x0000000000318719835177086dbc43a3u128 , 0x30); dec_test!(bid128_fma_084, bid128_fma, 0, 0xa1de023203305ca22c2333cdcccd6174u128 , 0x8c113f1c1519804b63499c934364022eu128 , 0x398e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_085, bid128_fma, 0, 0xa239a05cb57f471a822eaf7adcb33834u128 , 0xa4f10f7d2372ede262f84f8ebecf2de2u128 , 0xa89203f658d1d000ffffffffffffffffu128 , 0xa88f8c3ab1f54063ffffffffffffff9cu128 , 0x20); dec_test!(bid128_fma_086, bid128_fma, 0, 0xafff35977ed62e263d57de395afcdbcdu128 , 0x0000001000000000ef7dfb4efd46744fu128 , 0x8000102420800291fffffffffcfffebeu128 , 0x800010889860f8aa04adbfca04ad3922u128 , 0x30); dec_test!(bid128_fma_087, bid128_fma, 0, 0xafff7f8dddf3eb0e0040000000004042u128 , 0x00000100008000001bbb0166edaba774u128 , 0xefbfffdf7dbff7ff2000000002402400u128 , 0x800007c78ad3e2f47a2e418addfd98b2u128 , 0x30); dec_test!(bid128_fma_088, bid128_fma, 0, 0xb0467027873098200019002c58108800u128 , 0x00000800800408000404b38005c04000u128 , 0x00000000000000000040000208080800u128 , 0x8046b6067e38332e590a5ce83e9fceecu128 , 0x20); dec_test!(bid128_fma_089, bid128_fma, 0, 0xb26d133cc2f13a0d08352fa313b75236u128 , 0x00000000000000000000000000000002u128 , 0x000010000000200058ae1d46c390c472u128 , 0x822e370c26fd0b9c34d76fed6a57dd3eu128 , 0x20); dec_test!(bid128_fma_090, bid128_fma, 0, 0xb4f4017e848cc4b14d9666c0dbdc8d17u128 , 0x55a8d80fd057e4840010b00808221048u128 , 0xb3b3e06015f0c266b7533eb939cf5069u128 , 0xda9c417ae5e491ea694787c13a1e3894u128 , 0x20); dec_test!(bid128_fma_091, bid128_fma, 0, 0xb85e84be77cf60a12bf7ab8d507f8925u128 , 0x2404a009a0002480ffeffff7fbffffffu128 , 0x718d015ce73f5ff1ccf0cb6495d3872bu128 , 0xac65aee153e61b6dc0953e144e195e78u128 , 0x20); dec_test!(bid128_fma_092, bid128_fma, 0, 0xbd45f1613a3b066fd3f2bd0cc0ab54e1u128 , 0x8a13d1006086088dffffffffffffffffu128 , 0x0050011200128986f9fe8ffffbfffff7u128 , 0x0050011200128986f9fe8ffffbfffff7u128 , 0x00); dec_test!(bid128_fma_093, bid128_fma, 0, 0xbfffbfffdffdffff2098334482806221u128 , 0x4b27dd14dd41009ed0f761ff8f2232dcu128 , 0x5abd1fe3248ca8d31b67f1c9b661579du128 , 0xdb29b18024f29576f8c27aa882e97043u128 , 0x20); dec_test!(bid128_fma_094, bid128_fma, 0, 0xc0593cfc80c72ae02b95cd109a0d3d9fu128 , 0x0d63e5a54d1b0b8c179ac8272cf1bfbfu128 , 0x33022fdb8eedaa6187bfa1e67ac51980u128 , 0x3301de939548a7cf4d7c5300cbb2ff00u128 , 0x20); dec_test!(bid128_fma_095, bid128_fma, 0, 0xc455b23f804f241ccf7c7abfebfc5ac5u128 , 0x4c24412154988d88b80ce42042544dd8u128 , 0x5ffc8a4301474e19fbfffceb357ce9f6u128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_096, bid128_fma, 0, 0xc857dd443bc45b5146b5bad2fc9dcde3u128 , 0x4a701eb4dcc93b31c2628078263200cau128 , 0xa6920000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_097, bid128_fma, 0, 0xc8a1aa2a121eddbee7e518e33059bf37u128 , 0x26e285b27c92b33c2cf53bed83c8fc98u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x00); dec_test!(bid128_fma_098, bid128_fma, 0, 0xc9536305e2a3c290b4685165c494854fu128 , 0xd3e71355d5881525aab21ff84e015deeu128 , 0x74bb8930c8b2a6e715b3fe9a820019a5u128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_099, bid128_fma, 0, 0xd40867b86edb7f5094a697639522963fu128 , 0x0000000001000000d0da500018004009u128 , 0x2400080409000700b3aeafaab0bc7d7eu128 , 0x23fde093b6309a4436a21480979ad16cu128 , 0x20); dec_test!(bid128_fma_100, bid128_fma, 0, 0xd55615e19227dc60b3c379f997cfb974u128 , 0xd631b242b4c9827ab2fe330e854c7514u128 , 0x9d1e3d8fd79bf2312e076889cf2d6cebu128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_101, bid128_fma, 0, 0xdee055ad47047acac30443750ee9b191u128 , 0xb788816975ffd6237e9fcfd3b41122afu128 , 0x4208004006120804ffffffffffffffffu128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_102, bid128_fma, 0, 0xf5effbfeffedffe7fffffedbccffbff9u128 , 0xfbf7fbfffbd5fffafb719bbdedc2b74eu128 , 0x64a4a22c20f00f80fbbbebca6fcd6bdfu128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_103, bid128_fma, 0, 0xf80710f038edcc94ef7befbffe57eebfu128 , 0x0030400100000220effffdf7ffbf7fefu128 , 0x5c97a17608cb251f27a5e427e2251693u128 , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_104, bid128_fma, 0, 0xf97e9ca2428b69e92c9857212fadacd3u128 , 0xc85b55222f34bdb9c144ee8a247690f3u128 , 0x7877c36966fd2e2f40d8b2242e861e28u128 , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_105, bid128_fma, 0, 0xf9af5c782be8a88b87b89e945c7ca2cbu128 , 0xfadefffbdc8a6df2ff7fffffffeff7fdu128 , 0x471299a6af9d13b370d7cb7f89fbbbe7u128 , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_106, bid128_fma, 0, 0xfb7fff78dfbffdb7ffbdfffffbffffffu128 , 0x5941abb66e7762faff4424e30299b1ceu128 , 0x79d93d96ce7fbd001b37d26eeb5c1695u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_107, bid128_fma, 0, 0xfbad56bdeffed1be96777dfff1fbfdfeu128 , 0x5751fdfbe14f1ea94454410a92a0c109u128 , 0x722aecd714446ba2d4c0c04fa6ed9788u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_108, bid128_fma, 0, 0xfbf69c3097bddfa8fdfde7ffffffbffcu128 , 0xf888e8609c62d930fd965bdad1bfdbbau128 , 0xfafdffbfbfbfd9f7c01434c00de8e5d0u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_109, bid128_fma, 0, 0xfdffdfffffffffffa7bef49c752ffd97u128 , 0xf2caa5a1b3f1f64ae688915bc85b9c69u128 , 0x2e82bdaf814c3911b65b110a2c217198u128 , 0xfc001fffffffffffa7bef49c752ffd97u128 , 0x00); dec_test!(bid128_fma_110, bid128_fma, 0, 0xfff7fe7c9dde567b0000000000000000u128 , 0x9a794a42db3ef1941000000020010000u128 , 0x328ee0a456f0a240fffff37f7bfbffdbu128 , 0xfc000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_111, bid128_fma, 0, "Infinity" , "Infinity" , "Infinity" , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_112, bid128_fma, 0, "Infinity" , "-Infinity" , "-Infinity" , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_113, bid128_fma, 0, "QNaN" , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_114, bid128_fma, 0, "QNaN" , "Infinity" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_115, bid128_fma, 0, "QNaN" , "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_116, bid128_fma, 1, 0x011c2e380536f031465bbaf1ba3084fdu128 , 0x30fde49094274b7bd9462a2e21676b35u128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0x20); dec_test!(bid128_fma_117, bid128_fma, 1, 0x023ee0350f61c530af68e419164e427fu128 , 0x2b8188689b483b77adefb812c46ebbabu128 , 0x1dd80000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_118, bid128_fma, 1, 0x0264836a011bfb20e2bb99925ff56d43u128 , 0x1761e368e28ecb57b50f9319de6bff51u128 , 0x93ee0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_119, bid128_fma, 1, 0x07587000f0d76149acf8789122da23e2u128 , 0x7e0002fae97029cbb43750add58239a3u128 , 0x92bf6da1794a81ea6d4fdc10cf7dbb50u128 , 0x7c0002fae97029cbb43750add58239a3u128 , 0x01); dec_test!(bid128_fma_120, bid128_fma, 1, 0x0da8fa89ea07e703d61966756ccbae8cu128 , 0x99ecf2da4f3e1ae4f88bbf3c86362aacu128 , 0x81180000000000000000000000000000u128 , 0x80000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_121, bid128_fma, 1, 0 , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_122, bid128_fma, 1, "-0" , "QNaN" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_123, bid128_fma, 1, "-0" , "QNaN" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_124, bid128_fma, 1, 0 , "QNaN" , "Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_125, bid128_fma, 1, 0x1349b121abe70d2eb7df5ffb7058df8au128 , 0x14ed579819a76ee1107a1635ff64fe38u128 , 0xc1f41ae4bfed178362d31b4f411fb77fu128 , 0xc1f30cef7f42eb21dc3f11188b3d2af6u128 , 0x20); dec_test!(bid128_fma_126, bid128_fma, 1, 0x24f36694072c1d7a4447a8b238c24b9fu128 , 0x0930d2fb85019e18455c6db9c669581cu128 , 0x95440000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_127, bid128_fma, 1, 0x25be0000000000000000000000000000u128 , 0xb79d4e2334682abd4371058eb371c01au128 , 0xfe0026e6bb7d55ff3f5b897fc59c6678u128 , 0xfc0026e6bb7d55ff3f5b897fc59c6678u128 , 0x01); dec_test!(bid128_fma_128, bid128_fma, 1, 0x25c20d0d39a936dc438e988854c72fdfu128 , 0xfe000ededd967152bd551922ab686931u128 , 0xd1adba17f45a07c7323a547ae8e9a798u128 , 0xfc000ededd967152bd551922ab686931u128 , 0x01); dec_test!(bid128_fma_129, bid128_fma, 1, 0x2728d1aea6511cb3bafc2dafdfd1fbb7u128 , 0x8678327ca23873e1405f50961d5d8f80u128 , 0x8a720000000000000000000000000000u128 , 0x80000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_130, bid128_fma, 1, 0x2f540000000000000000000000000000u128 , 0x78000000000000000000000000000000u128 , 0x98efae3d556790f7505f623790b90633u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_131, bid128_fma, 1, 0x33200000000000000000000000000005u128 , 0x2ffc000000000000000000000000000au128 , 0xb322000000000000000000000000000au128 , 0xb2e2314dc6448d9338c15b0a00000000u128 , 0x20); dec_test!(bid128_fma_132, bid128_fma, 1, "-567599796678575.79666E0" , "+392.7947253589822E0" , "-0" , 0xb0206dec45b1bf99af192e3d5568b4dbu128 , 0x20); dec_test!(bid128_fma_133, bid128_fma, 1, 0x87b6dfcc7a5ab7bea522677e4ab1668cu128 , 0x9bc9417a84186a90ad9120f71b542aa9u128 , 0x160e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_134, bid128_fma, 1, 0x8aabe6c73b7f72dd8d4c38f2543b8fd8u128 , 0xb89b8951e940fe90a2bf73fbf713f220u128 , 0x8fe60000000000000000000000000000u128 , 0x1349845382b7174c0250d072c749f709u128 , 0x20); dec_test!(bid128_fma_135, bid128_fma, 1, 0x940ea6ce1bb0babbe358a2ea8a3794f5u128 , 0x8ab6ef64d6b7638beac8a3d8f63b93f0u128 , 0x8f120000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_136, bid128_fma, 1, 0x974b45d9220fb1628c1ff71d1a44d956u128 , 0x7e000dbeb7afd3437629e0c7b7cce431u128 , 0xf8000000000000000000000000000000u128 , 0x7c000dbeb7afd3437629e0c7b7cce431u128 , 0x01); dec_test!(bid128_fma_137, bid128_fma, 1, 0xa1de023203305ca22c2333cdcccd6174u128 , 0x8c113f1c1519804b63499c934364022eu128 , 0x398e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_138, bid128_fma, 1, 0xb01e000000000000000462d53c8abac0u128 , 0x80000000000000000000000000000001u128 , 0x8000000000000000000000000000000au128 , 0x8000000000000000000000000000000au128 , 0x30); dec_test!(bid128_fma_139, bid128_fma, 1, 0xc0593cfc80c72ae02b95cd109a0d3d9fu128 , 0x0d63e5a54d1b0b8c179ac8272cf1bfbfu128 , 0x33022fdb8eedaa6187bfa1e67ac51980u128 , 0x3301de939548a7cf4d7c5300cbb2feffu128 , 0x20); dec_test!(bid128_fma_140, bid128_fma, 1, 0xc857dd443bc45b5146b5bad2fc9dcde3u128 , 0x4a701eb4dcc93b31c2628078263200cau128 , 0xa6920000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_141, bid128_fma, 1, 0xc8a1aa2a121eddbee7e518e33059bf37u128 , 0x26e285b27c92b33c2cf53bed83c8fc98u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x00); dec_test!(bid128_fma_142, bid128_fma, 1, 0xc9536305e2a3c290b4685165c494854fu128 , 0xd3e71355d5881525aab21ff84e015deeu128 , 0x74bb8930c8b2a6e715b3fe9a820019a5u128 , 0x5fffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_143, bid128_fma, 1, 0xd55615e19227dc60b3c379f997cfb974u128 , 0xd631b242b4c9827ab2fe330e854c7514u128 , 0x9d1e3d8fd79bf2312e076889cf2d6cebu128 , 0x5fffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_144, bid128_fma, 1, "Infinity" , "Infinity" , "Infinity" , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_145, bid128_fma, 1, "Infinity" , "-Infinity" , "-Infinity" , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_146, bid128_fma, 1, "QNaN" , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_147, bid128_fma, 1, "QNaN" , "Infinity" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_148, bid128_fma, 1, "QNaN" , "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_149, bid128_fma, 2, 0x011c2e380536f031465bbaf1ba3084fdu128 , 0x30fde49094274b7bd9462a2e21676b35u128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0xdd5637abd709b8c855623880c2539dbeu128 , 0x20); dec_test!(bid128_fma_150, bid128_fma, 2, 0x023ee0350f61c530af68e419164e427fu128 , 0x2b8188689b483b77adefb812c46ebbabu128 , 0x1dd80000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_151, bid128_fma, 2, 0x0264836a011bfb20e2bb99925ff56d43u128 , 0x1761e368e28ecb57b50f9319de6bff51u128 , 0x93ee0000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_152, bid128_fma, 2, 0x07587000f0d76149acf8789122da23e2u128 , 0x7e0002fae97029cbb43750add58239a3u128 , 0x92bf6da1794a81ea6d4fdc10cf7dbb50u128 , 0x7c0002fae97029cbb43750add58239a3u128 , 0x01); dec_test!(bid128_fma_153, bid128_fma, 2, 0x0da8fa89ea07e703d61966756ccbae8cu128 , 0x99ecf2da4f3e1ae4f88bbf3c86362aacu128 , 0x81180000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_154, bid128_fma, 2, 0 , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_155, bid128_fma, 2, "-0" , "QNaN" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_156, bid128_fma, 2, "-0" , "QNaN" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_157, bid128_fma, 2, 0 , "QNaN" , "Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_158, bid128_fma, 2, 0x1349b121abe70d2eb7df5ffb7058df8au128 , 0x14ed579819a76ee1107a1635ff64fe38u128 , 0xc1f41ae4bfed178362d31b4f411fb77fu128 , 0xc1f30cef7f42eb21dc3f11188b3d2af5u128 , 0x20); dec_test!(bid128_fma_159, bid128_fma, 2, 0x24f36694072c1d7a4447a8b238c24b9fu128 , 0x0930d2fb85019e18455c6db9c669581cu128 , 0x95440000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_160, bid128_fma, 2, 0x25be0000000000000000000000000000u128 , 0xb79d4e2334682abd4371058eb371c01au128 , 0xfe0026e6bb7d55ff3f5b897fc59c6678u128 , 0xfc0026e6bb7d55ff3f5b897fc59c6678u128 , 0x01); dec_test!(bid128_fma_161, bid128_fma, 2, 0x25c20d0d39a936dc438e988854c72fdfu128 , 0xfe000ededd967152bd551922ab686931u128 , 0xd1adba17f45a07c7323a547ae8e9a798u128 , 0xfc000ededd967152bd551922ab686931u128 , 0x01); dec_test!(bid128_fma_162, bid128_fma, 2, 0x2728d1aea6511cb3bafc2dafdfd1fbb7u128 , 0x8678327ca23873e1405f50961d5d8f80u128 , 0x8a720000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_163, bid128_fma, 2, 0x2f540000000000000000000000000000u128 , 0x78000000000000000000000000000000u128 , 0x98efae3d556790f7505f623790b90633u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_164, bid128_fma, 2, 0x33200000000000000000000000000005u128 , 0x2ffc000000000000000000000000000au128 , 0xb322000000000000000000000000000au128 , 0xb2e1ed09bead87c0378d8e63ffffffffu128 , 0x20); dec_test!(bid128_fma_165, bid128_fma, 2, "-567599796678575.79666E0" , "+392.7947253589822E0" , "-0" , 0xb0206dec45b1bf99af192e3d5568b4dau128 , 0x20); dec_test!(bid128_fma_166, bid128_fma, 2, 0x87b6dfcc7a5ab7bea522677e4ab1668cu128 , 0x9bc9417a84186a90ad9120f71b542aa9u128 , 0x160e0000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_167, bid128_fma, 2, 0x8aabe6c73b7f72dd8d4c38f2543b8fd8u128 , 0xb89b8951e940fe90a2bf73fbf713f220u128 , 0x8fe60000000000000000000000000000u128 , 0x1349845382b7174c0250d072c749f70au128 , 0x20); dec_test!(bid128_fma_168, bid128_fma, 2, 0x940ea6ce1bb0babbe358a2ea8a3794f5u128 , 0x8ab6ef64d6b7638beac8a3d8f63b93f0u128 , 0x8f120000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_169, bid128_fma, 2, 0x974b45d9220fb1628c1ff71d1a44d956u128 , 0x7e000dbeb7afd3437629e0c7b7cce431u128 , 0xf8000000000000000000000000000000u128 , 0x7c000dbeb7afd3437629e0c7b7cce431u128 , 0x01); dec_test!(bid128_fma_170, bid128_fma, 2, 0xa1de023203305ca22c2333cdcccd6174u128 , 0x8c113f1c1519804b63499c934364022eu128 , 0x398e0000000000000000000000000000u128 , 0x00000000000000000000000000000001u128 , 0x30); dec_test!(bid128_fma_171, bid128_fma, 2, 0xb01e000000000000000462d53c8abac0u128 , 0x80000000000000000000000000000001u128 , 0x8000000000000000000000000000000au128 , 0x80000000000000000000000000000009u128 , 0x30); dec_test!(bid128_fma_172, bid128_fma, 2, 0xc0593cfc80c72ae02b95cd109a0d3d9fu128 , 0x0d63e5a54d1b0b8c179ac8272cf1bfbfu128 , 0x33022fdb8eedaa6187bfa1e67ac51980u128 , 0x3301de939548a7cf4d7c5300cbb2ff00u128 , 0x20); dec_test!(bid128_fma_173, bid128_fma, 2, 0xc857dd443bc45b5146b5bad2fc9dcde3u128 , 0x4a701eb4dcc93b31c2628078263200cau128 , 0xa6920000000000000000000000000000u128 , 0xdfffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_174, bid128_fma, 2, 0xc8a1aa2a121eddbee7e518e33059bf37u128 , 0x26e285b27c92b33c2cf53bed83c8fc98u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x00); dec_test!(bid128_fma_175, bid128_fma, 2, 0xd55615e19227dc60b3c379f997cfb974u128 , 0xd631b242b4c9827ab2fe330e854c7514u128 , 0x9d1e3d8fd79bf2312e076889cf2d6cebu128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_176, bid128_fma, 2, 0xdbf77cf61bbadf7f405981baeb2cc536u128 , 0x42505b0209000c100050140602011520u128 , 0x000000000800000008bd4468929e708au128 , 0xdfffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_177, bid128_fma, 2, "Infinity" , "Infinity" , "Infinity" , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_178, bid128_fma, 2, "Infinity" , "-Infinity" , "-Infinity" , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_179, bid128_fma, 2, "QNaN" , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_180, bid128_fma, 2, "QNaN" , "Infinity" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_181, bid128_fma, 2, "QNaN" , "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_182, bid128_fma, 3, 0x011c2e380536f031465bbaf1ba3084fdu128 , 0x30fde49094274b7bd9462a2e21676b35u128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0xdd5637abd709b8c855623880c2539dbeu128 , 0x20); dec_test!(bid128_fma_183, bid128_fma, 3, 0x023ee0350f61c530af68e419164e427fu128 , 0x2b8188689b483b77adefb812c46ebbabu128 , 0x1dd80000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_184, bid128_fma, 3, 0x0264836a011bfb20e2bb99925ff56d43u128 , 0x1761e368e28ecb57b50f9319de6bff51u128 , 0x93ee0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_185, bid128_fma, 3, 0x07587000f0d76149acf8789122da23e2u128 , 0x7e0002fae97029cbb43750add58239a3u128 , 0x92bf6da1794a81ea6d4fdc10cf7dbb50u128 , 0x7c0002fae97029cbb43750add58239a3u128 , 0x01); dec_test!(bid128_fma_186, bid128_fma, 3, 0x0da8fa89ea07e703d61966756ccbae8cu128 , 0x99ecf2da4f3e1ae4f88bbf3c86362aacu128 , 0x81180000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_187, bid128_fma, 3, 0 , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_188, bid128_fma, 3, "-0" , "QNaN" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_189, bid128_fma, 3, "-0" , "QNaN" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_190, bid128_fma, 3, 0 , "QNaN" , "Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_191, bid128_fma, 3, 0x1349b121abe70d2eb7df5ffb7058df8au128 , 0x14ed579819a76ee1107a1635ff64fe38u128 , 0xc1f41ae4bfed178362d31b4f411fb77fu128 , 0xc1f30cef7f42eb21dc3f11188b3d2af5u128 , 0x20); dec_test!(bid128_fma_192, bid128_fma, 3, 0x24f36694072c1d7a4447a8b238c24b9fu128 , 0x0930d2fb85019e18455c6db9c669581cu128 , 0x95440000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_193, bid128_fma, 3, 0x25be0000000000000000000000000000u128 , 0xb79d4e2334682abd4371058eb371c01au128 , 0xfe0026e6bb7d55ff3f5b897fc59c6678u128 , 0xfc0026e6bb7d55ff3f5b897fc59c6678u128 , 0x01); dec_test!(bid128_fma_194, bid128_fma, 3, 0x25c20d0d39a936dc438e988854c72fdfu128 , 0xfe000ededd967152bd551922ab686931u128 , 0xd1adba17f45a07c7323a547ae8e9a798u128 , 0xfc000ededd967152bd551922ab686931u128 , 0x01); dec_test!(bid128_fma_195, bid128_fma, 3, 0x2728d1aea6511cb3bafc2dafdfd1fbb7u128 , 0x8678327ca23873e1405f50961d5d8f80u128 , 0x8a720000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_196, bid128_fma, 3, 0x2f540000000000000000000000000000u128 , 0x78000000000000000000000000000000u128 , 0x98efae3d556790f7505f623790b90633u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_197, bid128_fma, 3, 0x33200000000000000000000000000005u128 , 0x2ffc000000000000000000000000000au128 , 0xb322000000000000000000000000000au128 , 0xb2e1ed09bead87c0378d8e63ffffffffu128 , 0x20); dec_test!(bid128_fma_198, bid128_fma, 3, "-567599796678575.79666E0" , "+392.7947253589822E0" , "-0" , 0xb0206dec45b1bf99af192e3d5568b4dau128 , 0x20); dec_test!(bid128_fma_199, bid128_fma, 3, 0x87b6dfcc7a5ab7bea522677e4ab1668cu128 , 0x9bc9417a84186a90ad9120f71b542aa9u128 , 0x160e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_200, bid128_fma, 3, 0x8aabe6c73b7f72dd8d4c38f2543b8fd8u128 , 0xb89b8951e940fe90a2bf73fbf713f220u128 , 0x8fe60000000000000000000000000000u128 , 0x1349845382b7174c0250d072c749f709u128 , 0x20); dec_test!(bid128_fma_201, bid128_fma, 3, 0x940ea6ce1bb0babbe358a2ea8a3794f5u128 , 0x8ab6ef64d6b7638beac8a3d8f63b93f0u128 , 0x8f120000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_202, bid128_fma, 3, 0x974b45d9220fb1628c1ff71d1a44d956u128 , 0x7e000dbeb7afd3437629e0c7b7cce431u128 , 0xf8000000000000000000000000000000u128 , 0x7c000dbeb7afd3437629e0c7b7cce431u128 , 0x01); dec_test!(bid128_fma_203, bid128_fma, 3, 0xa1de023203305ca22c2333cdcccd6174u128 , 0x8c113f1c1519804b63499c934364022eu128 , 0x398e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_204, bid128_fma, 3, 0xc0593cfc80c72ae02b95cd109a0d3d9fu128 , 0x0d63e5a54d1b0b8c179ac8272cf1bfbfu128 , 0x33022fdb8eedaa6187bfa1e67ac51980u128 , 0x3301de939548a7cf4d7c5300cbb2feffu128 , 0x20); dec_test!(bid128_fma_205, bid128_fma, 3, 0xc857dd443bc45b5146b5bad2fc9dcde3u128 , 0x4a701eb4dcc93b31c2628078263200cau128 , 0xa6920000000000000000000000000000u128 , 0xdfffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_206, bid128_fma, 3, 0xc8a1aa2a121eddbee7e518e33059bf37u128 , 0x26e285b27c92b33c2cf53bed83c8fc98u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x00); dec_test!(bid128_fma_207, bid128_fma, 3, 0xd55615e19227dc60b3c379f997cfb974u128 , 0xd631b242b4c9827ab2fe330e854c7514u128 , 0x9d1e3d8fd79bf2312e076889cf2d6cebu128 , 0x5fffed09bead87c0378d8e63ffffffffu128 , 0x28); dec_test!(bid128_fma_208, bid128_fma, 3, "Infinity" , "Infinity" , "Infinity" , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_209, bid128_fma, 3, "Infinity" , "-Infinity" , "-Infinity" , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_210, bid128_fma, 3, "QNaN" , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_211, bid128_fma, 3, "QNaN" , "Infinity" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_212, bid128_fma, 3, "QNaN" , "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); // TODO: bid128_fma_213 -> goto case2_repeat // dec_test!(bid128_fma_213, bid128_fma, 3, "+181E5421" , "-5E-3046" , "+100000000000000000000000000000009E2377" , "+9999999999999999999999999999999995E+2375" , 0x00); dec_test!(bid128_fma_214, bid128_fma, 4, 0x011c2e380536f031465bbaf1ba3084fdu128 , 0x30fde49094274b7bd9462a2e21676b35u128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0xdd5637abd709b8c855623880c2539dbfu128 , 0x20); dec_test!(bid128_fma_215, bid128_fma, 4, 0x023ee0350f61c530af68e419164e427fu128 , 0x2b8188689b483b77adefb812c46ebbabu128 , 0x1dd80000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_216, bid128_fma, 4, 0x0264836a011bfb20e2bb99925ff56d43u128 , 0x1761e368e28ecb57b50f9319de6bff51u128 , 0x93ee0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_217, bid128_fma, 4, 0x07587000f0d76149acf8789122da23e2u128 , 0x7e0002fae97029cbb43750add58239a3u128 , 0x92bf6da1794a81ea6d4fdc10cf7dbb50u128 , 0x7c0002fae97029cbb43750add58239a3u128 , 0x01); dec_test!(bid128_fma_218, bid128_fma, 4, 0x0da8fa89ea07e703d61966756ccbae8cu128 , 0x99ecf2da4f3e1ae4f88bbf3c86362aacu128 , 0x81180000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_219, bid128_fma, 4, 0 , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_220, bid128_fma, 4, "-0" , "QNaN" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_221, bid128_fma, 4, "-0" , "QNaN" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_222, bid128_fma, 4, 0 , "QNaN" , "Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_223, bid128_fma, 4, 0x1349b121abe70d2eb7df5ffb7058df8au128 , 0x14ed579819a76ee1107a1635ff64fe38u128 , 0xc1f41ae4bfed178362d31b4f411fb77fu128 , 0xc1f30cef7f42eb21dc3f11188b3d2af6u128 , 0x20); dec_test!(bid128_fma_224, bid128_fma, 4, 0x24f36694072c1d7a4447a8b238c24b9fu128 , 0x0930d2fb85019e18455c6db9c669581cu128 , 0x95440000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_225, bid128_fma, 4, 0x25be0000000000000000000000000000u128 , 0xb79d4e2334682abd4371058eb371c01au128 , 0xfe0026e6bb7d55ff3f5b897fc59c6678u128 , 0xfc0026e6bb7d55ff3f5b897fc59c6678u128 , 0x01); dec_test!(bid128_fma_226, bid128_fma, 4, 0x25c20d0d39a936dc438e988854c72fdfu128 , 0xfe000ededd967152bd551922ab686931u128 , 0xd1adba17f45a07c7323a547ae8e9a798u128 , 0xfc000ededd967152bd551922ab686931u128 , 0x01); dec_test!(bid128_fma_227, bid128_fma, 4, 0x2728d1aea6511cb3bafc2dafdfd1fbb7u128 , 0x8678327ca23873e1405f50961d5d8f80u128 , 0x8a720000000000000000000000000000u128 , 0x80000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_228, bid128_fma, 4, 0x2f540000000000000000000000000000u128 , 0x78000000000000000000000000000000u128 , 0x98efae3d556790f7505f623790b90633u128 , 0x7c000000000000000000000000000000u128 , 0x01); dec_test!(bid128_fma_229, bid128_fma, 4, 0x33200000000000000000000000000005u128 , 0x2ffc000000000000000000000000000au128 , 0xb322000000000000000000000000000au128 , 0xb2e2314dc6448d9338c15b0a00000000u128 , 0x20); dec_test!(bid128_fma_230, bid128_fma, 4, "-567599796678575.79666E0" , "+392.7947253589822E0" , "-0" , 0xb0206dec45b1bf99af192e3d5568b4dbu128 , 0x20); // TODO: bid128_fma_231 -> goto delta_ge_zero // dec_test!(bid128_fma_231, bid128_fma, 4, "+5689655.8E5001" , "+11111011.100111E3859" , "-10111.E4813" , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_232, bid128_fma, 4, 0x87b6dfcc7a5ab7bea522677e4ab1668cu128 , 0x9bc9417a84186a90ad9120f71b542aa9u128 , 0x160e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); // TODO: bid128_fma_233 -> goto delta_ge_zero // dec_test!(bid128_fma_233, bid128_fma, 4, "-8.97E5706" , "+76595776858988.85E3094" , "+11100001011.01000011110011E3855" , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_234, bid128_fma, 4, 0x8aabe6c73b7f72dd8d4c38f2543b8fd8u128 , 0xb89b8951e940fe90a2bf73fbf713f220u128 , 0x8fe60000000000000000000000000000u128 , 0x1349845382b7174c0250d072c749f709u128 , 0x20); dec_test!(bid128_fma_235, bid128_fma, 4, 0x921e5c5d6e51ce1c85362f63605fabbcu128 , 0xd1b7931c81504ef60020008400800ac5u128 , 0x338c840fc8f18a12080826a8c3910200u128 , 0x33d84b84ab2ab2dcb6df3784a4e7be67u128 , 0x20); dec_test!(bid128_fma_236, bid128_fma, 4, 0x940ea6ce1bb0babbe358a2ea8a3794f5u128 , 0x8ab6ef64d6b7638beac8a3d8f63b93f0u128 , 0x8f120000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_237, bid128_fma, 4, 0x974b45d9220fb1628c1ff71d1a44d956u128 , 0x7e000dbeb7afd3437629e0c7b7cce431u128 , 0xf8000000000000000000000000000000u128 , 0x7c000dbeb7afd3437629e0c7b7cce431u128 , 0x01); // TODO: bid128_fma_238 -> goto delta_ge_zero // dec_test!(bid128_fma_238, bid128_fma, 4, "-988889.9899E4623" , "+0.001E1797" , "+9868876655866695.75669757E1847" , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_239, bid128_fma, 4, 0x9d697e38848d99c31476240e2c312c44u128 , 0x92857ccc4d332c4133a8330cbdd2fa40u128 , 0x00000000000000000001000080020000u128 , 0x0000000000318719835177086dbc43a3u128 , 0x30); dec_test!(bid128_fma_240, bid128_fma, 4, 0xa1de023203305ca22c2333cdcccd6174u128 , 0x8c113f1c1519804b63499c934364022eu128 , 0x398e0000000000000000000000000000u128 , 0x00000000000000000000000000000000u128 , 0x30); dec_test!(bid128_fma_241, bid128_fma, 4, 0xb4f4017e848cc4b14d9666c0dbdc8d17u128 , 0x55a8d80fd057e4840010b00808221048u128 , 0xb3b3e06015f0c266b7533eb939cf5069u128 , 0xda9c417ae5e491ea694787c13a1e3894u128 , 0x20); dec_test!(bid128_fma_242, bid128_fma, 4, 0xc0593cfc80c72ae02b95cd109a0d3d9fu128 , 0x0d63e5a54d1b0b8c179ac8272cf1bfbfu128 , 0x33022fdb8eedaa6187bfa1e67ac51980u128 , 0x3301de939548a7cf4d7c5300cbb2ff00u128 , 0x20); dec_test!(bid128_fma_243, bid128_fma, 4, 0xc857dd443bc45b5146b5bad2fc9dcde3u128 , 0x4a701eb4dcc93b31c2628078263200cau128 , 0xa6920000000000000000000000000000u128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_244, bid128_fma, 4, 0xc8a1aa2a121eddbee7e518e33059bf37u128 , 0x26e285b27c92b33c2cf53bed83c8fc98u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x7c002a2dd2f64c6cfb29cb591cc3d1e0u128 , 0x00); dec_test!(bid128_fma_245, bid128_fma, 4, 0xc9536305e2a3c290b4685165c494854fu128 , 0xd3e71355d5881525aab21ff84e015deeu128 , 0x74bb8930c8b2a6e715b3fe9a820019a5u128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_246, bid128_fma, 4, 0xd55615e19227dc60b3c379f997cfb974u128 , 0xd631b242b4c9827ab2fe330e854c7514u128 , 0x9d1e3d8fd79bf2312e076889cf2d6cebu128 , 0x78000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_247, bid128_fma, 4, 0xdbf77cf61bbadf7f405981baeb2cc536u128 , 0x42505b0209000c100050140602011520u128 , 0x000000000800000008bd4468929e708au128 , 0xf8000000000000000000000000000000u128 , 0x28); dec_test!(bid128_fma_249, bid128_fma, 4, "Infinity" , "Infinity" , "Infinity" , 0x78000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_250, bid128_fma, 4, "Infinity" , "-Infinity" , "-Infinity" , 0xf8000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_251, bid128_fma, 4, "QNaN" , "-Infinity" , 0 , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_252, bid128_fma, 4, "QNaN" , "Infinity" , "-0" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_253, bid128_fma, 4, "QNaN" , "QNaN" , "-Infinity" , 0x7c000000000000000000000000000000u128 , 0x00); dec_test!(bid128_fma_254, bid128_fma, 0, "+1E-6176" , "-1E-6176" , "+1E-6143" , "+1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_255, bid128_fma, 1, "+1E-6176" , "-1E-6176" , "+1E-6143" , "+999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_256, bid128_fma, 2, "+1E-6176" , "-1E-6176" , "+1E-6143" , "+1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_257, bid128_fma, 3, "+1E-6176" , "-1E-6176" , "+1E-6143" , "+999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_258, bid128_fma, 4, "+1E-6176" , "-1E-6176" , "+1E-6143" , "+1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_259, bid128_fma, 0, "1001001001001001001001001001001001E-6143" , "999E-36" , 0 , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_260, bid128_fma, 1, "1001001001001001001001001001001001E-6143" , "999E-36" , "-0" , "999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_261, bid128_fma, 2, "1001001001001001001001001001001001E-6143" , "999E-36" , "-0" , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_262, bid128_fma, 3, "1001001001001001001001001001001001E-6143" , "999E-36" , 0 , "999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_263, bid128_fma, 4, "1001001001001001001001001001001001E-6143" , "999E-36" , 0 , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_264, bid128_fma, 0, "5e-1001" , "-1e-5177" , "1e-6143" , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_265, bid128_fma, 1, "5e-1001" , "-1e-5177" , "1e-6143" , "999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_266, bid128_fma, 2, "5e-1001" , "-1e-5177" , "1e-6143" , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_267, bid128_fma, 3, "5e-1001" , "-1e-5177" , "1e-6143" , "999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_268, bid128_fma, 4, "5e-1001" , "-1e-5177" , "1e-6143" , "1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_269, bid128_fma, 0, "5e-1001" , "1e-5177" , "-1e-6143" , "-1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_270, bid128_fma, 1, "5e-1001" , "1e-5177" , "-1e-6143" , "-1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_271, bid128_fma, 2, "5e-1001" , "1e-5177" , "-1e-6143" , "-999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_272, bid128_fma, 3, "5e-1001" , "1e-5177" , "-1e-6143" , "-999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_273, bid128_fma, 4, "5e-1001" , "1e-5177" , "-1e-6143" , "-1000000000000000000000000000000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_274, bid128_fma, 0, 0x0840000900000280fffffffefbdffeffu128 , 0x27abe8b86b5768a66fb7eece7f7ddffdu128 , 0x80006c0313412f263f3a2efd3d3dceefu128 , 0x80006c0313412effee47f9ed5742db1bu128 , 0x20); dec_test!(bid128_fma_275, bid128_fma, 0, 0x8000000000001010bdc0d4579fcef167u128 , 0x3003c61a2cbabe5f7c6fe27eefdfb62fu128 , 0x00020880502c698f0004040001000000u128 , 0x00005503218252e4fedd61bfac5cd2d4u128 , 0x20); dec_test!(bid128_fma_276, bid128_fma, 0, 1 , 0x7c00314dc6448d9338c15b19ffffffffu128 , "1.0" , "Nan" , 0x00); dec_test!(bid128_fma_277, bid128_fma, 0, 0x7c00314dc6448d9338c15b19ffffffffu128 , 1 , "1.0" , "Nan" , 0x00); dec_test!(bid128_fma_278, bid128_fma, 0, 1 , 1 , 0x7c00314dc6448d9338c15b19ffffffffu128 , "Nan" , 0x00); dec_test!(bid128_fma_279, bid128_fma, 0, 5421010862427522170u64 , "18446744073709551616" , -312600448599326720i64 , "9999999999999999999900000000000000E+4" , 0x00); dec_test!(bid128_fma_280, bid128_fma, 0, "99999999999999999999" , "9999999999999999999" , "-890000000000000000001" , "9999999999999999990000000000000000E+5" , 0x00); dec_test!(bid128_fma_281, bid128_fma, 0, "54210108624275221700" , "18446744073709551616" , -3126004485993267200i64 , "9999999999999999999900000000000000E+5" , 0x00); dec_test!(bid128_fma_282, bid128_fma, 0, "5421010862427522170037264004349708" , "184467440737095516160000" , 1 , "9999999999999999999999999999999999E+23" , 0x20); dec_test!(bid128_fma_283, bid128_fma, 0, "1000000000000000E+1" , "100000000000000E+6111" , 0 , "1000000000000000000000000000000000E+6108" , 0x00); dec_test!(bid128_fma_284, bid128_fma, 0, 5 , "18446744073709551616" , 0 , "92233720368547758080" , 0x00); dec_test!(bid128_fma_285, bid128_fma, 0, "1e-10" , "99999999999999999E-6176" , 0 , "10000000E-6176" , 0x30); // underflow_before_on0xly); dec_test!(bid128_fma_286, bid128_fma, 0, "999999999999999999999999999999999" , 1000000 , "-9999999999000000" , "9999999999999999999999900000000000E+5" , 0x00); dec_test!(bid128_fma_287, bid128_fma, 0, "9999999999999999999999999999999999" , "18446744073709551615" , 1 , "1844674407370955161500000000000000E+20" , 0x20); dec_test!(bid128_fma_288, bid128_fma, 0, "50000000000000000000e-20" , "1E-6176" , 0 , "0E-6176" , 0x30); dec_test!(bid128_fma_289, bid128_fma, 0, "2593925811412816019587072" , "385516037351637580807246919245163" , 0 , "1000000000000000000000000000000000E+24" , 0x20); dec_test!(bid128_fma_290, bid128_fma, 0, "1506773898878058061137280976037787" , "6636695795862927642198016" , 0 , "1000000000000000000000000000000000E+25" , 0x20); dec_test!(bid128_fma_291, bid128_fma, 0, "1010101010101010101010101010101E-3000" , "99E-3177" , "99E-6145" , "+1000000000000000000000000000000000E-6176" , 0x30); dec_test!(bid128_fma_292, bid128_fma, 1, "1010101010101010101010101010101E-3000" , "99E-3177" , "99E-6145" , "+999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_293, bid128_fma, 2, "1010101010101010101010101010101E-3000" , "99E-3177" , "99E-6145" , "+1000000000000000000000000000000000E-6176" , 0x30); dec_test!(bid128_fma_294, bid128_fma, 3, "1010101010101010101010101010101E-3000" , "99E-3177" , "99E-6145" , "+999999999999999999999999999999999E-6176" , 0x30); dec_test!(bid128_fma_295, bid128_fma, 4, "1010101010101010101010101010101E-3000" , "99E-3177" , "99E-6145" , "+1000000000000000000000000000000000E-6176" , 0x30); dec_test!(bid128_fma_296, bid128_fma, 0, "1.0" , "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66" , 0x20); dec_test!(bid128_fma_297, bid128_fma, 1, "1.0" , "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66" , 0x20); dec_test!(bid128_fma_298, bid128_fma, 2, "1.0" , "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1499999999999999999999999999999999E-66" , 0x20); dec_test!(bid128_fma_299, bid128_fma, 3, "1.0" , "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1499999999999999999999999999999999E-66" , 0x20); dec_test!(bid128_fma_300, bid128_fma, 4, "1.0" , "-1500000000000000000000000000000000E-66" , "+5000000000000000000000000000000000E-100" , "-1500000000000000000000000000000000E-66" , 0x20);