diff -urN glibc-2.17-c758a686/benchtests/acosh-inputs glibc-2.17-c758a686/benchtests/acosh-inputs
--- glibc-2.17-c758a686/benchtests/acosh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/acosh-inputs 2015-06-20 21:22:16.295458166 -0400
@@ -0,0 +1,303 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.6d46e7252da2fp388
+0x1.c18cc3982093ep775
+0x1.2e9a406645b9bp609
+0x1.006d075b935c9p0
+0x1.4d49f6cda4ceap0
+0x1.e0ba4580ef871p21
+0x1.ffab14f637eaap733
+0x1.f0a22293c4ecbp852
+0x1.24baf479f025cp0
+0x1.91bc310a7648ep243
+0x1.93d4c19692fbfp80
+0x1.9eb0b40303dcap843
+0x1.945a20aa092e2p4
+0x1.ac2677a0ed292p0
+0x1.64c6a3d5a0867p304
+0x1.e0d6324c882e9p0
+0x1.7e0ba7c987b9ep7
+0x1.3975f02686229p10
+0x1.cc4916f089070p25
+0x1.729be339c67b2p0
+0x1.c64b8297569c4p207
+0x1.2c1544d816155p340
+0x1.ad443265c6b4ap845
+0x1.f53624533eb2cp0
+0x1.92e4800542f83p108
+0x1.f873e456e1975p0
+0x1.84a7b4b80f227p4
+0x1.46dd43031fe1fp0
+0x1.e28b805a73a97p0
+0x1.9e11325b1c3c4p22
+0x1.5c76b43d66941p15
+0x1.98109155dd7bfp21
+0x1.3d88b121650aap8
+0x1.adff01fab2117p0
+0x1.5e76d52c7f729p15
+0x1.0a46e3262c2b8p20
+0x1.52f9a11ad6e66p0
+0x1.96f8f26a41c3bp122
+0x1.161fd6fd320d5p745
+0x1.c5fb927d2cb09p8
+0x1.265a61a0bb1d4p0
+0x1.09a5d681397d0p0
+0x1.ebef22f6aa8aap0
+0x1.3ac9b75c613bdp160
+0x1.b77615a1e2a3ap0
+0x1.68f9d755d5eadp0
+0x1.ed2c9188571d9p0
+0x1.e8f886346b284p15
+0x1.f65bd2ce4416ap0
+0x1.4574341b05968p656
+0x1.5c2cb3414299cp154
+0x1.c4ea7682d0661p832
+0x1.b221562a61af2p0
+0x1.d7f9c739e0b26p561
+0x1.eb28429726661p423
+0x1.e7a5f5b2cc9e8p902
+0x1.9fd093db922f4p0
+0x1.c1cb5159d4e46p0
+0x1.a0bed3234b8cdp0
+0x1.bc8ff7e59e82ep18
+0x1.de8f25287ff7cp0
+0x1.a1ab66b8f9098p0
+0x1.c36c11c290063p20
+0x1.72e9e736d6e41p0
+0x1.38b134391f71ep21
+0x1.a500e5cf1a2cfp246
+0x1.253da08c9c318p144
+0x1.f5efb379e3b3fp952
+0x1.07c767a225a7bp21
+0x1.f82770adf361dp19
+0x1.39e42524c048ep894
+0x1.a4ae84e202a44p0
+0x1.e17e23b598415p925
+0x1.08fa931bd21f5p10
+0x1.b52541759872ep0
+0x1.91bf33cdb6804p710
+0x1.5c18505e522d6p0
+0x1.9fe7c5ca15212p9
+0x1.62c360b992b13p10
+0x1.57a000ceee049p800
+0x1.da296671c3e5cp0
+0x1.ff43325a40608p0
+0x1.295d65809666fp111
+0x1.2781e3f5d0e0fp249
+0x1.875d5703776fcp0
+0x1.0f8045a313158p26
+0x1.bd30a3b638a67p11
+0x1.0a3184db8d287p0
+0x1.c6d33006f978ep0
+0x1.8c6476a610245p0
+0x1.aa7fc36f3cea9p461
+0x1.afb5c0c4f933ap6
+0x1.20b75365bd50fp16
+0x1.69c8245c09535p19
+0x1.30dcf0414c561p292
+0x1.c2323455e5501p0
+0x1.c2e3d08f78fb2p0
+0x1.f479457ec8f4fp25
+0x1.4c1e32e79005dp7
+0x1.86b9a4aed3300p26
+0x1.ee654167b045bp0
+0x1.a339c796ccd9fp0
+0x1.75f6f32348765p4
+0x1.6120d7e4e5d9ep498
+0x1.01c843ae8b440p20
+0x1.034a67c534113p0
+0x1.94d6d681be7e6p0
+0x1.2576745f4cca6p22
+0x1.813994f759a60p171
+0x1.0308a4c5b820dp0
+0x1.d073e0e895907p580
+0x1.6094d2dc7af3bp0
+0x1.3348d7ba303bep0
+0x1.a0830483382afp2
+0x1.e3558408e36dep0
+0x1.d55db05590c97p0
+0x1.95680648261ecp0
+0x1.d54c401b55bd9p18
+0x1.584be75027a11p872
+0x1.594273cdd339dp4
+0x1.85d9676b1ae49p752
+0x1.38f122e7f7be0p220
+0x1.75c3a575deb13p251
+0x1.2c85f1a74ac0fp0
+0x1.0dc9e789128acp947
+0x1.51dbf3461a224p0
+0x1.61c9644526617p809
+0x1.89494217ed887p204
+0x1.2a57014d8c24bp317
+0x1.c4d527df0d553p762
+0x1.ad2717638f0adp986
+0x1.63352752d72c5p847
+0x1.d124a052e9410p0
+0x1.373d228ee6061p505
+0x1.0bbe63d8b48d2p0
+0x1.0b5115dd5774dp4
+0x1.f50d62ef77ac6p3
+0x1.4cb6110ea61e4p1
+0x1.b056b690aef8ap0
+0x1.a32cd47340669p2
+0x1.f917868895288p872
+0x1.332a86c10c0e1p14
+0x1.07f7c34023735p881
+0x1.7935f21efcfadp24
+0x1.644ad1a392b18p0
+0x1.f930b772bba49p0
+0x1.019a86d2e2300p18
+0x1.a25af297e68fep194
+0x1.80ab316f210c8p0
+0x1.f73a3049f9d76p16
+0x1.8b1a0407ae636p7
+0x1.9bdf23a917930p2
+0x1.d139574e3913ep168
+0x1.caf9468b5f459p0
+0x1.c3b5f0096df0dp24
+0x1.d3451096baf1ep0
+0x1.7bb5671e2bfcap719
+0x1.64b7e3621a6ddp0
+0x1.08b544290bb37p0
+0x1.2b65c78ec87a4p0
+0x1.993a6363227e2p12
+0x1.a09d26d2a558fp216
+0x1.daff104bb08a5p25
+0x1.7d77308fd73cap655
+0x1.8946b691ecf5ap10
+0x1.8ec222d562aa9p25
+0x1.b7da17cd3268ap0
+0x1.250500a0b4266p831
+0x1.8e6f071075758p0
+0x1.984146d8a6c69p20
+0x1.558480e0da8bdp15
+0x1.b6bea5e996fdbp11
+0x1.f289853c632ddp11
+0x1.8fbe179f273aap0
+0x1.6b4382f669e8dp0
+0x1.a966a17972ca9p601
+0x1.dbd635362ec6bp6
+0x1.899e75c43e065p675
+0x1.f11c07e219bafp7
+0x1.3ab637a02ed36p0
+0x1.36b913a68fe70p901
+0x1.049fe294eb450p0
+0x1.0547247e7518ap677
+0x1.9e07054aa7309p743
+0x1.aff281fbb3a6ap874
+0x1.6c1b6312efacfp783
+0x1.a38c639c0df57p243
+0x1.f07b95fd415ccp9
+0x1.ca1c23fd6ce37p7
+0x1.9ed9906a6f029p18
+0x1.f1a483c62adecp74
+0x1.617df662bbf02p0
+0x1.22e1608c31f55p13
+0x1.d840853d46285p15
+0x1.023fd69d438dep12
+0x1.8184a3fcc1ac3p942
+0x1.25c5071d2dc6ep8
+0x1.0eec25d2a59ccp27
+0x1.d55b11ee07cc4p0
+0x1.175347bf29152p23
+0x1.546624c66c38bp0
+0x1.212fc4abebddep723
+0x1.75f1269063e4dp5
+0x1.3b51233fed0a5p381
+0x1.486e24ad660e1p686
+0x1.7788055510c4dp23
+0x1.55bf96fcf9458p905
+0x1.0a5aa2d61be59p0
+0x1.5da757c1a95c6p895
+0x1.d596e1ea9dcefp0
+0x1.e91b460893372p0
+0x1.d934d6ea17649p728
+0x1.cd74423b4c4aep15
+0x1.dc3151a1b4289p0
+0x1.5799c072442dep0
+0x1.97ae606371057p22
+0x1.7369c3195238ap0
+0x1.43a1d0e6eae29p109
+0x1.7fd922252a24ep425
+0x1.bf01d7e826d2cp0
+0x1.a397b7c711fcfp14
+0x1.7b40809d9f6b5p0
+0x1.58098134bf6afp0
+0x1.567e92bdee806p3
+0x1.641866cfab5e7p382
+0x1.11d483657f659p0
+0x1.f0b1d4cd82236p18
+0x1.a18365ad84301p6
+0x1.4f749259eb02dp140
+0x1.4b1d721633901p747
+0x1.fa9e9543d1dfbp5
+0x1.ae33e3ae5e0ecp0
+0x1.29c444207fa90p0
+0x1.b55e708600082p19
+0x1.bb1464c1f136fp0
+0x1.d36f165b63b8fp880
+0x1.c1a0d0ee96f75p27
+0x1.9b1376e7377a3p0
+0x1.6e88361aa13bbp619
+0x1.d109f410d341bp822
+0x1.654255768c727p0
+0x1.c938959e450d6p0
+0x1.26fd92ae3e170p356
+0x1.157c240adb715p982
+0x1.749735f182597p15
+0x1.2291e3ab7501cp0
+0x1.96d320a0153bap383
+0x1.b569919b79b6fp214
+0x1.0872c2cff972dp276
+0x1.bd98342544357p0
+0x1.853327d0e2f4dp11
+0x1.23438314fb10bp0
+0x1.342f35eabf622p707
+0x1.d19f05a5a1fe4p13
+0x1.67c566bcf73aap0
+0x1.2ce065238fb73p27
+0x1.5219d2e05f184p0
+0x1.4a163440f7c98p4
+0x1.d780c4711b212p0
+0x1.395461c5f96a6p5
+0x1.21efa25110e19p12
+0x1.c9ddf4f375933p17
+0x1.3da0800fe1f5ep0
+0x1.90f147b3d0164p829
+0x1.001d955d8a436p344
+0x1.c6b2115b84675p319
+0x1.650441a7059bdp554
+0x1.3a49216bbe75ep0
+0x1.fdd3c3404c763p750
+0x1.0b97d555f912cp1
+0x1.95c32605e6c59p20
+0x1.6acfa746531b2p0
+0x1.13f4d3bbd6417p8
+0x1.ac31b628eaa2cp0
+0x1.4293b3d3169d2p8
+0x1.6e8a94f758a02p802
+0x1.701604374d526p0
+0x1.bec162f84a16cp13
+0x1.2015764e98ea6p481
+0x1.b9d12441e91a7p11
+0x1.55a4c648ebcc2p378
+0x1.65b6e4f33cc66p0
+0x1.b12c01289b0c4p15
+0x1.ce91f580c5091p228
+0x1.719ec056f57fep1
+0x1.0b2c87979b28cp23
+0x1.218c0592aa7fcp95
+0x1.ec1e878f29cf8p97
+0x1.adc8d213f43b1p0
+0x1.e788f6152fe51p0
+0x1.a026b0485c0e8p12
+0x1.f181e3ec38f77p3
+0x1.dafd9764a705fp13
+0x1.a292f29dfe6c4p0
+0x1.661d765a50087p13
+0x1.f619932e8e376p1010
+0x1.4a1600b2e95dbp880
+0x1.f5b95104bb64dp320
+0x1.a7a935f93958ap22
+0x1.5fe3a6a58526dp20
diff -urN glibc-2.17-c758a686/benchtests/acos-inputs glibc-2.17-c758a686/benchtests/acos-inputs
--- glibc-2.17-c758a686/benchtests/acos-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/acos-inputs 2015-06-20 21:22:16.295458166 -0400
@@ -0,0 +1,2712 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.e9ba80c1b0cc6p-1
+0x1.0c06540e252bdp-3
+0x1.eda8e7c0a34bfp-1
+-0x1.fe8e777376d24p-1
+0x1.cb1673c92f0c9p-1
+0x1.e9ec316d0de94p-1
+0x1.7307e45a9bfb6p-5
+0x1.c16b847c92f30p-3
+0x1.cf0d270e371f6p-1
+0x1.129af5729ef19p-1
+0x1.bce5d0689ab4ep-1
+0x1.2952217220937p-1
+0x1.1c76822aee340p-1
+0x1.e24a2187c1a7ap-1
+0x1.f952508426fa4p-1
+-0x1.e800444223cecp-1
+0x1.edbc56657e3b4p-1
+0x1.5bcc935e4afc7p-1
+-0x1.e008619377db7p-1
+0x1.e7ca21e5cb233p-1
+0x1.c426411a0bd0ep-1
+-0x1.54b193e5a6106p-1
+0x1.ef45d30d3aaeap-1
+-0x1.0a7fa1bbcb68ep-18
+0x1.7b4f05763d852p-1
+0x1.dbc0233bcbacdp-1
+-0x1.f9ecd08896017p-1
+0x1.933a30bb5aecbp-1
+0x1.d87450bf54160p-2
+0x1.e74342dc955f8p-1
+0x1.e46ab59e4b1eep-1
+0x1.fde01341b468cp-1
+-0x1.989e4472a3f0cp-1
+0x1.e098a4166e777p-1
+0x1.566335c979611p-1
+0x1.596d3268f925ap-1
+0x1.219017042f1fep-1
+0x1.ecc867fb960bfp-1
+0x1.b60655bef4f13p-3
+0x1.f4a57127c7a0cp-1
+-0x1.f62ee5fe0cadfp-1
+0x1.3cd7211d9ad3dp-1
+0x1.9df0943df0ed7p-1
+0x1.ea161524e7d47p-1
+0x1.e55a50493b1a9p-1
+0x1.ec8561690ba28p-1
+0x1.f16282757d76ap-1
+0x1.51e1f7c96d12bp-1
+-0x1.9e34b40c77bdbp-1
+0x1.1703345163fc4p-1
+0x1.4bc66758655fap-1
+0x1.b153d53781d7dp-1
+-0x1.f9ad04c73d758p-6
+0x1.ee83a64fcc712p-1
+-0x1.26b3228cfdb15p-1
+0x1.a2c1325da062fp-1
+0x1.eacf918428269p-1
+0x1.210c161c12427p-1
+0x1.8f4653c521ef3p-1
+-0x1.3d666235ebc4dp-1
+0x1.fbf321159facbp-1
+0x1.fb0ae69837b58p-1
+0x1.e7add59a28c21p-1
+-0x1.b3931490e5c15p-22
+-0x1.62bb903865b73p-7
+0x1.d8d4c3d683cd2p-1
+-0x1.f414e43e31308p-1
+0x1.e85ef4b7677afp-1
+0x1.8e5c2284c58ebp-1
+0x1.350fc6069df8ap-1
+0x1.b156a051f0bd8p-1
+-0x1.cd2350b2a476cp-3
+0x1.f2cd66a92c33ap-1
+-0x1.e9d4a5abc7463p-1
+0x1.edf3474fdf1bfp-1
+0x1.ded3e00b45be7p-1
+0x1.ecca5018f3375p-1
+-0x1.f784a20ae007ep-1
+0x1.79cd244068e29p-3
+0x1.0520d4698e9c4p-1
+0x1.df7633193349fp-1
+0x1.eeacc7895ee01p-1
+-0x1.cbddd66bebde8p-1
+0x1.eaaab5eed4d48p-1
+-0x1.b786c6d51b98dp-1
+-0x1.61c366c7c79fap-3
+0x1.f6f55566f3c9dp-1
+-0x1.8455d26a48743p-1
+-0x1.f027619f4ec1cp-1
+0x1.4de6d77cd7b97p-2
+-0x1.2d45e43d1b629p-1
+0x1.dd061720e456ap-1
+0x1.3bfb31bd7ed4ep-3
+0x1.f35563c6fc9e1p-1
+-0x1.da4995d5cee72p-1
+0x1.a96983d9102b9p-1
+0x1.e004440ae8f05p-1
+0x1.e53b304fb4d06p-3
+-0x1.f03185a1019d1p-1
+0x1.8676b01d07ce0p-1
+0x1.ea1916d533f0dp-1
+0x1.03a04519c4e1fp-1
+-0x1.e8ac5756ef915p-1
+0x1.4d6bf1a203446p-4
+0x1.d981a70cd845bp-1
+0x1.1c125719eaaf8p-3
+0x1.e85fb3990f27ap-1
+0x1.e8e035a26d083p-1
+0x1.cbfe848a09c42p-3
+-0x1.e06e527c5ae19p-14
+-0x1.bbd103472cef1p-25
+-0x1.feed81508a469p-1
+-0x1.dab671cd03097p-2
+0x1.ea30578b17269p-1
+0x1.6d0684ce3aa60p-8
+0x1.66d50185eedb5p-2
+0x1.e74243adbcc15p-1
+-0x1.f64db1b1939aap-1
+-0x1.ebd6465bc4b63p-1
+0x1.e006e50dea620p-3
+-0x1.c2fcf77c4861dp-1
+-0x1.e632b5939513cp-1
+-0x1.9ab8b4c3cb0b4p-1
+-0x1.3a3bc41b1b0fcp-2
+0x1.3372c7d8d3206p-25
+-0x1.fd74373268dbbp-1
+0x1.f4e100915be05p-1
+0x1.9bc0232dfa0efp-1
+-0x1.cc03e1478de39p-4
+0x1.e93d0775eb299p-1
+-0x1.a2bb4749faabep-3
+-0x1.f052a40d8e48bp-1
+0x1.c07334b1aac33p-26
+-0x1.13463673ea539p-3
+0x1.d66e5598d3262p-25
+0x1.0dae423f0189ep-2
+0x1.df1a0195dfca4p-1
+-0x1.598e9260d11fdp-1
+0x1.67c773c2070cep-1
+-0x1.ed1f510c9ce11p-1
+0x1.dae297d5d3bafp-2
+-0x1.39af35b44da1fp-2
+-0x1.c679d76fc2b15p-3
+0x1.88f507621e546p-2
+0x1.f702c7007d0f8p-1
+0x1.f2ef13107c805p-1
+0x1.e4bcf61e9db8ep-1
+0x1.3bbb12f88beeap-1
+-0x1.fdb1502db4889p-1
+0x1.3318578e20bc0p-1
+0x1.e9de7563a7493p-1
+0x1.6188f44707072p-1
+0x1.f8903254e120cp-1
+-0x1.f38db4b985d52p-1
+-0x1.cbccf0e19cc7fp-3
+-0x1.be12773f273cdp-10
+-0x1.2b3e149bb0426p-2
+0x1.ad69976c033a1p-1
+0x1.edd13194f87aep-1
+-0x1.18a974fd7bbebp-1
+0x1.9f1fc231a2241p-1
+0x1.10e56678c706ap-25
+-0x1.da0f94397e1efp-1
+-0x1.76c026d8ec2b4p-1
+0x1.0a089692fa9d6p-1
+-0x1.da1ff0b273cd7p-3
+-0x1.f97015d611b73p-1
+0x1.dbe9c72d38923p-1
+0x1.bad6c26512dbcp-1
+-0x1.fb6fb5159af3ep-1
+-0x1.9198b69ff20eep-3
+-0x1.fe0c97242979ap-1
+0x1.2287403404baep-1
+-0x1.f3f5449170a5dp-1
+0x1.f3a6840c57d33p-1
+-0x1.03c0045400546p-1
+0x1.f838e0db37795p-1
+-0x1.7accc66f1a867p-1
+0x1.e82562eb8444fp-1
+0x1.df27b76e86704p-1
+0x1.f4da573b55ec2p-1
+0x1.efe5a6e5fbe8bp-1
+0x1.0659847830f85p-1
+0x1.e32184673d6a3p-1
+-0x1.fea5968e2edf9p-1
+0x1.466c21bdb53d6p-1
+0x1.e7078679d9affp-1
+0x1.befbe4ecbe8cbp-1
+-0x1.e2d534c706c26p-18
+0x1.32616231a62c1p-26
+0x1.54edc38ae367fp-1
+-0x1.3007019386da4p-5
+-0x1.a336f67af7129p-1
+-0x1.8c2257c536d60p-2
+-0x1.84d896f47ecd4p-1
+0x1.977af609a6d12p-18
+0x1.e932a72cac166p-2
+0x1.2945179c842bap-1
+0x1.4a5182138dbd3p-3
+0x1.dbe2458d35539p-1
+0x1.1f1092dd29f91p-1
+0x1.dc693710eb9b2p-1
+0x1.ecb8b2274a503p-1
+0x1.412eb424708fap-1
+0x1.93ca610ea7b0cp-1
+0x1.563fa238b86bfp-3
+0x1.6cc3c369c6079p-1
+0x1.f783b429dc0f3p-1
+0x1.9b875417727f6p-1
+-0x1.a03c44361af74p-1
+0x1.f577461815545p-1
+-0x1.1b83d2880ad3bp-1
+-0x1.2850a5ece60c7p-22
+0x1.03ce907b337a2p-7
+0x1.e13907a8a623bp-1
+0x1.ea3a84b97d192p-1
+-0x1.a41072eb8d471p-1
+0x1.eb4c15b45d01ep-1
+-0x1.101d32f8c74c8p-1
+0x1.0193b3f4d9074p-3
+-0x1.537154d5f6ae7p-3
+0x1.bfaf90a91ac01p-1
+-0x1.0c10917ddebb8p-1
+-0x1.8eadf732729dcp-21
+0x1.e86b603c02c7fp-1
+-0x1.e1d732a3d845ep-1
+0x1.f11cd0a6f6f03p-13
+0x1.8d26805424934p-3
+0x1.f145109d6bdccp-1
+0x1.c543a6761e121p-1
+-0x1.c25a322cf34eap-2
+-0x1.865940819f5fcp-1
+0x1.dc04807986da6p-1
+0x1.ed429667932c9p-1
+-0x1.76fd636ed6498p-2
+-0x1.e53ac26588b25p-1
+-0x1.8f5d4684f487ap-1
+0x1.e09a34d1ff29bp-1
+-0x1.fa9d102a95505p-1
+0x1.1b05e56138440p-3
+0x1.1bc9a7f1d79eap-3
+-0x1.6811368ab0abbp-1
+0x1.ed98e0214a336p-1
+0x1.e7e686da575a0p-1
+-0x1.965f75ff798a9p-1
+0x1.80eaa23a91ec2p-1
+-0x1.d36fb043f6300p-5
+0x1.7018a38a05ffdp-2
+0x1.fae070244fb19p-1
+0x1.d0dd401b30198p-1
+0x1.42f142dadfa1dp-1
+0x1.ec68818823d1dp-1
+0x1.85f3e7bec93a0p-1
+0x1.af29d1ff6c1dap-2
+0x1.35c4a6805cca0p-1
+0x1.df0b063501081p-1
+0x1.5bcd000b70207p-2
+0x1.a24de48ee748dp-1
+-0x1.6a318265b0ce0p-1
+0x1.c534f40a7def8p-3
+-0x1.9f4e543169174p-1
+0x1.f2de70648aed5p-1
+0x1.fe8ab52a90cb0p-1
+-0x1.f680253c19250p-1
+-0x1.fc63569b7f833p-1
+-0x1.6b2935d76744bp-1
+0x1.ea5f006b8edcep-1
+-0x1.5342e394b5397p-1
+0x1.ec4706c41bd83p-16
+-0x1.b7a5b13013786p-3
+0x1.efc8b1d13cab4p-1
+0x1.f524140aa4f9fp-1
+-0x1.8d59b2246d1b5p-2
+-0x1.e10a8025fd5c2p-1
+0x1.ffe555d68b776p-1
+0x1.5ccb0133fca6ep-2
+0x1.47b60350a0542p-1
+0x1.f3d4414a57242p-1
+-0x1.4c94d139f13e8p-1
+-0x1.f598238e275f3p-1
+0x1.818fb41d76b85p-1
+-0x1.fa14d2d9c0775p-11
+0x1.f16ec2400aebap-1
+-0x1.eac587507894dp-1
+0x1.f20e64bfc7419p-1
+-0x1.85ce9765938ccp-3
+0x1.92bff695a5d90p-1
+-0x1.8d0a2047280efp-2
+-0x1.2559e3d4e777dp-22
+0x1.e8390104997a7p-1
+0x1.e99044f21a5c8p-1
+-0x1.ea12258aac145p-1
+0x1.f68a246001b3cp-1
+0x1.db5b870d933e5p-1
+0x1.a140f339c5bdep-20
+0x1.8193402b5c8ecp-1
+-0x1.04d5676a38199p-12
+0x1.a455655209ff8p-1
+-0x1.e63ba4f3d8c3ep-1
+-0x1.6a28d15928650p-1
+-0x1.64b6d0a25c33dp-9
+0x1.46915799cfaccp-1
+-0x1.fbd157a2c23b1p-3
+0x1.ffa3663aba6d5p-1
+0x1.411d129126d0dp-1
+0x1.7063d30f52d4dp-1
+0x1.8201c2f453059p-1
+-0x1.f27a071cddd3bp-15
+0x1.7aca32522bbf5p-6
+0x1.c9846775a72c1p-3
+0x1.6d082285276a9p-15
+0x1.c6a6b4f8f837ep-24
+0x1.ee27e42a2b26bp-1
+0x1.e191c47dea938p-1
+0x1.44b0e7864ee92p-2
+0x1.9c4882b7b62cap-1
+0x1.20b6f0f17af05p-3
+0x1.0301e36c00af6p-1
+0x1.dfe705d59ecb0p-1
+-0x1.dbead5cf594d7p-1
+0x1.f12b06bbb4e7bp-3
+0x1.efe8c7612f386p-1
+-0x1.eb9e2463b8a3ap-1
+-0x1.faf13348b1a37p-1
+0x1.cd50167950c5ep-1
+0x1.dba5c79d7a05ep-1
+-0x1.a334d05fa6dd2p-1
+0x1.8cb1a630bb9c2p-1
+-0x1.9681e2cf54b70p-1
+0x1.39aca667fcf3fp-1
+-0x1.e8bd029d083e4p-2
+-0x1.50e857e4f8090p-1
+0x1.dc16134a07952p-1
+0x1.2c4bb22847712p-1
+0x1.e7b0645e8a0abp-9
+-0x1.8fc066ee56befp-11
+0x1.edbf80f8c492cp-1
+0x1.e3d6a1c24d10cp-1
+-0x1.fbd4f63a7219dp-1
+0x1.f6fd10b1bdf09p-3
+-0x1.6530f1b557057p-1
+0x1.b88262a6e1331p-1
+-0x1.eb0e3015adc06p-1
+-0x1.26cfc26e19c43p-3
+0x1.59bc70a355e7fp-2
+0x1.5fee801ec378cp-1
+0x1.154984a08fb2ap-1
+-0x1.75a356a8a9292p-5
+0x1.ea9314dc90613p-1
+0x1.ea2107288cf84p-1
+-0x1.ebe7414198207p-1
+0x1.65aee12e3ceffp-1
+-0x1.51ba6636b9f2fp-15
+-0x1.c626d4507f69ap-1
+-0x1.e2e3f55bb23a1p-1
+0x1.98b000eb73a71p-1
+0x1.43af03a6b9b8dp-3
+-0x1.7f2ab3a80ac43p-1
+0x1.d9d2a5d6d0097p-1
+0x1.e3f984fc9c133p-1
+-0x1.afeb916e3177fp-21
+0x1.4e04b4277b006p-1
+0x1.efe0107fb5684p-1
+-0x1.4515b4c2b21dap-1
+0x1.11a6b0c515920p-1
+0x1.6164a6618d12ep-21
+0x1.dae745520e0c5p-1
+-0x1.dd2d72e85c929p-1
+0x1.6d9ef5d5611fbp-1
+-0x1.f0f797fed0a55p-1
+0x1.2eab0154ef308p-1
+0x1.ed1fd3af0b556p-1
+-0x1.e71b754c98246p-2
+-0x1.2590214dd2a24p-3
+0x1.fdd1961109848p-1
+0x1.7eb1071ff2770p-1
+-0x1.15bd45916de1ep-2
+-0x1.44d715ad68f89p-1
+-0x1.7641422787614p-1
+0x1.eefe328d3d881p-1
+-0x1.eca8704b551c7p-1
+0x1.2ee67226d5529p-1
+0x1.e8ac53c1395d3p-1
+-0x1.64646108e67cbp-1
+0x1.db91c36140425p-1
+0x1.4605c5134237bp-1
+0x1.f903e462cc94dp-1
+-0x1.73f4c75c9d5f2p-1
+-0x1.dac8a6d776479p-1
+-0x1.2b4492bd73b64p-15
+-0x1.373103fbf2dbbp-26
+0x1.851581e8ee5f8p-8
+0x1.ebca3047b32cfp-1
+-0x1.07c16329a6368p-1
+0x1.fccc50d54ff1fp-1
+0x1.fe9de2486d607p-1
+0x1.ef48b46c9b643p-1
+0x1.e8ef618c8024bp-1
+0x1.993fe684e622bp-1
+0x1.460b45e598a8cp-12
+-0x1.d9e786749e8b9p-3
+-0x1.559071a09ac62p-1
+0x1.ef7432ff2df38p-1
+0x1.e45a36a5fb72fp-3
+0x1.b3d5275cfb554p-1
+-0x1.98e8e522e4a82p-23
+-0x1.02aed44057b67p-2
+0x1.2197f1f7c6e26p-1
+0x1.0837b5e1cec38p-1
+-0x1.ca8a4237c9e0cp-17
+0x1.6006c4b0268aap-1
+-0x1.7208a0ee99588p-18
+0x1.b4b1e471a5f5fp-26
+0x1.8fe1f13a9702cp-1
+0x1.f02b227033d9ap-1
+0x1.d97ec10440781p-1
+0x1.f76fb1e91d5b2p-1
+0x1.deb247936f19fp-1
+0x1.8af0f66d4b0dcp-12
+-0x1.b64be0350cfd6p-1
+-0x1.f932f26d539d5p-1
+0x1.e82a219e74d13p-1
+-0x1.7e09139513a33p-26
+0x1.18f8069a74b77p-1
+0x1.dc6726bfa7475p-1
+0x1.08c813e4436a5p-2
+-0x1.d8320749306c8p-16
+0x1.9472944ec390dp-1
+-0x1.a99987154cea1p-1
+0x1.c882368b557a4p-1
+-0x1.1aa794570d691p-3
+0x1.5c77249e4aea0p-1
+0x1.eb9813be6a2b6p-1
+0x1.f431a44ef4d40p-1
+0x1.eea5d7d2221dap-1
+0x1.2c6291d7f2ad7p-2
+0x1.ac443697d70fdp-1
+0x1.e20ca7c2912a5p-1
+0x1.7ab1d7104d182p-18
+0x1.339513d5d0ee8p-1
+0x1.f589b5ee62b16p-1
+-0x1.fad8f2a47e9f4p-1
+-0x1.1dd663fac6b4fp-1
+-0x1.0f9652222f8e9p-1
+0x1.f35714209b7bdp-1
+0x1.6834569b7a1fap-1
+0x1.00dd565cc9ccfp-15
+0x1.65da25ab2220cp-1
+0x1.d84fa7357d48fp-1
+-0x1.c51a11571e3e9p-1
+0x1.f381b3df02583p-1
+0x1.fbf8c33676a44p-1
+0x1.82bc413c6aff0p-1
+0x1.0dca9008fbcebp-2
+0x1.235506540c7b9p-1
+-0x1.3e3c739c48dc4p-1
+-0x1.f73153b059fbap-1
+0x1.cc56d349d03bap-2
+-0x1.53099013f8190p-2
+0x1.e53de61c37f3ap-1
+0x1.a6a246bf1a535p-22
+0x1.91d3b66fca3a2p-1
+0x1.0f5d16ce3edabp-12
+-0x1.9a7b92e12b5f7p-1
+-0x1.76ca124cf6f47p-3
+-0x1.c41b9411e2424p-1
+-0x1.34c885f2eb328p-1
+0x1.ec1e45f6f7b9dp-1
+0x1.0a4775720ed55p-1
+-0x1.31efb599b0c90p-1
+0x1.edbe60062d7a3p-1
+0x1.2319304ed36b5p-1
+-0x1.cb6aa416f444fp-4
+0x1.504f676650b1ep-1
+0x1.3d1aa4401c058p-3
+-0x1.f60c37def0ad1p-1
+0x1.f9792648513f5p-1
+0x1.94a7e574d0288p-1
+0x1.94f7926ce6fbcp-18
+-0x1.f6fad097104e4p-1
+0x1.3088005339ad3p-1
+0x1.f03355e0191c2p-1
+0x1.dcd3d17610280p-1
+0x1.e05d2667abb1fp-1
+0x1.e82525f9fbf01p-1
+-0x1.de3ca0ef987b7p-1
+0x1.f59943ba80acep-1
+-0x1.e960c36a66790p-1
+0x1.9d26903f5cd50p-10
+-0x1.89bec5921086fp-1
+-0x1.f4e8b5ec98f6cp-20
+-0x1.711982a677be4p-3
+0x1.f46112d3fe843p-1
+0x1.083e13f8fffefp-1
+-0x1.baf382671db8ap-1
+0x1.e0d881ff65497p-1
+-0x1.45bc320aa4dfep-2
+0x1.40e3e60b110dcp-1
+-0x1.f4e3046089560p-1
+-0x1.ea56c46279081p-1
+0x1.e9e48261cb26ep-1
+0x1.4d48f2887cd66p-2
+0x1.e51d745ef2138p-1
+0x1.ae3d476739166p-1
+-0x1.3b19c402e1ab5p-1
+0x1.93db32ee991c6p-1
+0x1.159cd3c2eac06p-2
+0x1.f2196713b8de3p-3
+0x1.c3c4d2e87e40cp-5
+0x1.546b31afe7b81p-3
+0x1.1cd7423631f45p-23
+-0x1.f98921eb79da8p-1
+0x1.da4473bb667adp-1
+0x1.f6d1c21979168p-1
+-0x1.f83452138ebc1p-1
+-0x1.77e2149e4a15bp-1
+-0x1.e374023473851p-1
+0x1.6135557835b0ep-1
+0x1.116497cc82db6p-1
+-0x1.d604e43246f1ap-1
+0x1.e03ba16e3b2d0p-1
+-0x1.fbcc51c3d0adap-1
+-0x1.230833754cbadp-1
+-0x1.e859b3f551706p-1
+0x1.8ed6352b2279fp-1
+0x1.e833c05936a7ep-1
+-0x1.f45f124fb19f4p-1
+-0x1.bcc7e5fa33d67p-1
+0x1.cb5bf39c4168fp-1
+0x1.d913109c549a2p-6
+-0x1.5df3a69b09a81p-3
+0x1.e92f739ce65adp-1
+0x1.eddff4fa793e3p-1
+0x1.fd0d826c5a1d9p-1
+0x1.f01142b6404c5p-2
+0x1.ed3e7235fb716p-1
+-0x1.3f08a31b67052p-6
+0x1.6c6bd2dd525cdp-1
+0x1.e42d42ade6dd4p-2
+-0x1.7c4f407d91487p-8
+-0x1.1441528bd2bc9p-8
+0x1.e5db61dfac951p-1
+-0x1.cf52b5c3c6b19p-1
+0x1.e83f57fd71bfcp-1
+0x1.ae8f91695d74cp-1
+0x1.545021fa9de9cp-1
+-0x1.45c9266ea4970p-1
+0x1.eafea77c551aep-1
+0x1.eba4171524f40p-1
+-0x1.425187f18c762p-18
+-0x1.485fe6e78b76fp-1
+-0x1.db6f1755478ccp-1
+0x1.f8e25686998acp-1
+0x1.ccbba7e740751p-1
+0x1.7816a0d6522cep-1
+-0x1.0cad003c37274p-22
+-0x1.4249d37181745p-3
+-0x1.1aea32c571f90p-2
+0x1.eff2c75d80ec9p-1
+0x1.dedbb5aa065c5p-1
+0x1.022c15ed03102p-2
+0x1.e28cc0a25217ep-1
+-0x1.e75507711de7bp-1
+0x1.6994d6b07313bp-1
+-0x1.93938552d7672p-3
+0x1.e9f062935639ep-1
+0x1.efc9111829a30p-1
+0x1.e82d352bd52d4p-1
+0x1.8aefc30a2949bp-1
+0x1.e829e785fe6bcp-1
+0x1.906de67167cd7p-1
+0x1.3cf7801ab3ddcp-1
+-0x1.d674412d314f7p-1
+0x1.b8f3652b4e782p-8
+0x1.0797f77b05b64p-1
+0x1.fa845330ec5ebp-1
+-0x1.513a3093d637fp-1
+-0x1.a0ae922b44732p-1
+0x1.eb5b41b522564p-1
+0x1.e9e54719a6384p-1
+0x1.dc6a025cdf557p-1
+0x1.8e2720ee32c68p-1
+-0x1.08a965eef1feep-1
+-0x1.fa6306dd46e3fp-1
+0x1.155615f73dc49p-1
+-0x1.ad5ce2c9a061dp-2
+0x1.3a6b650c8bc49p-1
+0x1.1d1f86d1e1e30p-1
+0x1.cc1b051550465p-1
+-0x1.eb9871c6f4d8dp-11
+-0x1.9da0d78b9cbe4p-2
+0x1.e6cb460ebeeebp-1
+-0x1.ebcbb7d352b98p-1
+0x1.f10602c31c4ffp-1
+0x1.f83d00511f1a6p-1
+0x1.e70ef18e894dcp-1
+0x1.f42747759511dp-1
+-0x1.e210555e48210p-1
+0x1.e8be424104e58p-1
+0x1.e269c29bcef60p-1
+0x1.f85ef0fd21f0bp-1
+0x1.937141f2672e0p-1
+0x1.38ec61bd517ccp-1
+-0x1.d6e9722dc24fcp-1
+0x1.f8d1b326b2ed1p-1
+0x1.d86da58fba185p-1
+0x1.65efb1356114ap-3
+0x1.f72791c9cf436p-1
+0x1.0ae4753a5c894p-13
+0x1.f7415347bb40bp-1
+0x1.dc65a4f6e740cp-1
+0x1.d88607a3797e0p-1
+0x1.eed61776e402fp-1
+0x1.ee0df44fb77d0p-1
+-0x1.f450159e992b8p-1
+0x1.e29cb14cdbcd0p-1
+0x1.f653a3375d51dp-1
+-0x1.f57f5552ab569p-1
+0x1.6480d3d0c5efep-20
+0x1.38e266cf4e67bp-23
+0x1.d51cd22b5b6cap-1
+0x1.dc3de7d2fc8d2p-1
+-0x1.312a5566cde3fp-1
+-0x1.fab1d3aa238acp-1
+-0x1.95bac47704824p-3
+-0x1.891b43164f852p-2
+-0x1.80e9f033f4793p-2
+0x1.df255385153fbp-1
+0x1.de67748161291p-1
+-0x1.777e66869b5a2p-2
+0x1.95b610da4b767p-1
+-0x1.0eaeb02390875p-24
+0x1.ed4d9348c4329p-1
+-0x1.96df34af5a088p-21
+0x1.f2d162c70d8b5p-1
+-0x1.deb665e66d761p-1
+-0x1.0f044763f2eaap-3
+-0x1.9c3784de626cbp-3
+0x1.ad40b341217cep-1
+0x1.a3d8456656f09p-1
+-0x1.30688704ba934p-13
+-0x1.f3cf5294a6a88p-1
+0x1.e906911183a95p-1
+0x1.d875b2a4cfad9p-1
+0x1.e9ecd5820a5eap-1
+-0x1.948a52ed5c31bp-5
+0x1.f9c6e1a503f35p-1
+-0x1.ec4f82e92c41cp-1
+-0x1.2ee365574b66ap-6
+-0x1.cf7594c4759eep-19
+-0x1.a0d5f18128988p-2
+-0x1.806c918e71aeep-1
+0x1.df5d715846162p-1
+0x1.f67f859e5cfe0p-1
+0x1.ecc2b558d729fp-1
+0x1.ff9fd0805bf30p-2
+0x1.432fe2eead4f4p-1
+-0x1.8366e3d1a2b7cp-1
+0x1.e3f070eec2596p-1
+0x1.30ba2715f8514p-1
+0x1.e977633ddb6c8p-1
+0x1.ecfff5d1ed4fcp-1
+0x1.6e88143883032p-1
+-0x1.e95fa37e7e7bbp-1
+-0x1.b83c53c09f546p-1
+0x1.517d53ed1b833p-1
+0x1.db8f51d5f71aep-1
+-0x1.1678154436606p-2
+-0x1.fc21417ad3694p-1
+0x1.1c843518d2e94p-25
+0x1.e8eee13ebc573p-1
+0x1.fee6721632c37p-23
+-0x1.f6a87247c9154p-1
+0x1.fe6af4fb98692p-1
+0x1.e7c390a9bbc3dp-2
+-0x1.e0f877f179d56p-1
+0x1.d96bf428df776p-1
+0x1.fc1c23962674cp-1
+0x1.b198a6962238ep-1
+0x1.033e6517daa6fp-5
+-0x1.2d2db09cc6e86p-21
+-0x1.1ed1f46145a42p-1
+-0x1.aceee1f163bb0p-1
+0x1.e775b65834bfap-1
+0x1.b59893a929786p-1
+-0x1.0e4bb0b067b5bp-1
+-0x1.ff1285390535cp-1
+-0x1.f8d0963809a50p-1
+-0x1.e5a865ab089bcp-1
+0x1.c6d112328b280p-1
+0x1.f013574be1027p-1
+-0x1.e0a691caa2943p-1
+0x1.2506d6a72e424p-15
+0x1.0e385386801e9p-1
+-0x1.2c8ac0b1cee68p-6
+-0x1.e44cf154f7837p-3
+-0x1.9c7c24975ad82p-1
+0x1.0d8d44f6a38b9p-1
+-0x1.fb5c33ee7ffa5p-2
+0x1.4ce97693eab63p-1
+0x1.2d57b32c61adep-1
+-0x1.ddc8c1bd6b2f6p-1
+-0x1.60a8174ee182cp-2
+-0x1.fe3ab0326a9ebp-1
+0x1.c99672ad8233dp-1
+-0x1.a05f0442a1f89p-11
+0x1.f4efa58696ba2p-1
+0x1.e8f0874ac9593p-1
+0x1.697a477d1fbd3p-2
+0x1.66b7a3a5f4bbcp-2
+0x1.ec3a1130d87e6p-1
+-0x1.5faae7d3bcf38p-1
+0x1.be54761e95348p-1
+0x1.d053b71612732p-1
+0x1.f13a35b68c59ap-1
+-0x1.ffd2875be2cf2p-1
+0x1.e62df4c494b61p-1
+-0x1.3471231cca442p-6
+-0x1.a7b9e784d9434p-16
+0x1.ece3f29820bdfp-1
+0x1.ef6b47f54b2d8p-1
+-0x1.df2c8655fc70dp-1
+0x1.eda0969bec905p-1
+0x1.488f14cfb8987p-1
+0x1.feb910bbdd186p-1
+-0x1.ed55067dcc2e0p-2
+0x1.dee9b5b493f34p-1
+0x1.37f0201120141p-2
+0x1.bcf1c52c54526p-1
+0x1.e2e2e4afd49aep-1
+-0x1.a828f2fd070e9p-1
+0x1.0995c67dde325p-2
+-0x1.b9cee2442f243p-11
+0x1.b5ffd6affbe68p-1
+-0x1.898db08ff9e7ep-3
+-0x1.eea7123455743p-1
+0x1.e22364d8d2ffbp-25
+0x1.9bc512637b567p-1
+0x1.908f41ab382c6p-1
+0x1.daa6242404908p-3
+0x1.354d96ce0c1f1p-3
+0x1.e4909407d6b04p-1
+-0x1.ae60e50c81658p-1
+0x1.d83d9616cffd1p-1
+0x1.68d57679fbad0p-1
+0x1.ee2a61e036810p-1
+0x1.ff2523154e342p-1
+0x1.e80a234204ccep-1
+0x1.ee12e03c07731p-3
+-0x1.f53bb6a0244b9p-1
+0x1.a7d1d4d25fc9bp-15
+-0x1.0d5e226bae52dp-3
+-0x1.f7553430f26b9p-1
+0x1.561a2200e4797p-1
+0x1.dda171643a8f8p-3
+-0x1.e9a0822672116p-1
+0x1.9c8ad39c801dep-1
+0x1.50fe36a2e907bp-1
+-0x1.f5cb55c5f89b0p-1
+0x1.e55b90ffc4db3p-1
+-0x1.f580e64339dfbp-1
+-0x1.c786d16c31b03p-1
+0x1.ab3d818097c47p-1
+0x1.f628956df2bddp-1
+0x1.3c1983a14fe08p-1
+0x1.ea6977319eac4p-26
+-0x1.a2b2a3cf330a0p-2
+0x1.e06d66507bd76p-1
+0x1.ed4aa34d83d9dp-1
+0x1.adbf4089e4bf0p-1
+0x1.169462af69653p-1
+0x1.7cdae69e34be4p-23
+-0x1.f476a5d67b80dp-3
+0x1.e4f9a4e8edcabp-1
+0x1.fcb451b72ca3ap-1
+0x1.bbee334a41744p-2
+-0x1.e669334dbdbb2p-1
+0x1.e1ef409647a27p-3
+0x1.e2f3d0f200912p-1
+-0x1.0ee0376cb5980p-1
+-0x1.cd90d53a85604p-24
+0x1.da2ee339cc169p-1
+-0x1.91bee2eec93ebp-1
+-0x1.db27252020025p-3
+-0x1.ac0763a2833a8p-1
+0x1.ed7de7964d7b7p-1
+0x1.387816b7132c2p-15
+0x1.bde1b11fb418ep-14
+-0x1.f4b0e44a782a9p-1
+0x1.c85742cc49d4ep-1
+-0x1.2ae4206794c97p-2
+0x1.e8ede2eca6ebcp-1
+0x1.e83ec2bd612adp-1
+0x1.cec725af1011dp-1
+-0x1.f3f110dc11f36p-3
+-0x1.82c441472b814p-1
+0x1.12aee0aad581cp-1
+0x1.d843d56f7661dp-1
+-0x1.0fa9100cde2b7p-1
+0x1.fbb577823c6b2p-1
+-0x1.e7e0f30c7c41bp-1
+0x1.ead455b35dcfcp-1
+-0x1.af50723be988fp-1
+-0x1.c6df54f302009p-2
+-0x1.f69220aac2bb2p-1
+0x1.db2795c5314edp-1
+0x1.f0e804039007cp-1
+0x1.16e3c0bc73e90p-1
+0x1.56f925b7342efp-2
+0x1.2b1a40efca711p-1
+-0x1.c95572af1befbp-1
+-0x1.ea363656402fcp-1
+0x1.9fcea6314eb53p-3
+0x1.c384447b8f44dp-2
+0x1.d9cb8501968aep-1
+0x1.d213669b363a3p-1
+0x1.dbbce7d0130a1p-1
+0x1.ef1b07c170256p-1
+0x1.e5d87723e3720p-1
+-0x1.dc9450089dc1dp-1
+-0x1.a400e154e4d4ep-22
+0x1.f0b8639dae8c0p-1
+-0x1.c0d7a6d0e58c3p-22
+0x1.ebe277900a6d5p-1
+0x1.ddc883853f7b1p-1
+-0x1.f26d718326d24p-1
+0x1.b444f4ecea2d4p-1
+0x1.db5285f43880ap-1
+0x1.ec2a704fa7ba7p-1
+0x1.d9d38554f4ae7p-1
+0x1.40a287e0245c7p-1
+-0x1.bb5997a01dc09p-1
+0x1.dbfe825428361p-1
+0x1.eab9e61d0bb13p-1
+0x1.dbf8477b40f85p-1
+0x1.5977a5e9562d5p-2
+-0x1.6d6582d27a94ep-3
+0x1.ef98c62116f6bp-1
+0x1.b195e01c1649fp-1
+0x1.ed47e34ba7118p-1
+-0x1.2e1b55053587cp-1
+0x1.f46e72b797c76p-1
+0x1.e58d17977d4c7p-1
+-0x1.78044314faf55p-12
+0x1.e67de4828d079p-1
+-0x1.f72481a2b0f3ap-1
+0x1.ef6de28920541p-1
+0x1.81a907ff59256p-1
+0x1.121bf667b781ap-1
+0x1.e41ba30cd763ap-1
+0x1.1e76d67046217p-1
+-0x1.1250820739879p-1
+-0x1.d15f33646b553p-2
+0x1.e90c01d074c50p-1
+-0x1.dc98c564661f8p-2
+0x1.aab3b79abd652p-22
+-0x1.12c3e674c7017p-3
+0x1.207186d6329bap-23
+-0x1.e9de504c45574p-1
+-0x1.87494270ac164p-1
+-0x1.e88cd321ec1dap-1
+-0x1.9317565e1a195p-19
+-0x1.350c40dd7d78ep-1
+0x1.75b8a20113b5ap-3
+0x1.ae0882e067102p-3
+-0x1.313bb034e4980p-1
+0x1.944cd3352094fp-1
+0x1.e845447d64568p-1
+0x1.fe614045bdde4p-5
+0x1.c23a220bff5cfp-5
+0x1.e4e1454ecf85dp-1
+-0x1.fcf1e7da10e5ep-1
+0x1.ee9f80c3fe210p-1
+-0x1.dae080dc56bf7p-1
+0x1.f8b43563a02aep-1
+-0x1.debb0319481e9p-1
+-0x1.f1d9c2f758defp-1
+0x1.deb7334be5d7ep-1
+0x1.e24ac198b2950p-1
+-0x1.4b4613f445564p-13
+-0x1.faf37271307aep-1
+0x1.6a02646fd3199p-1
+-0x1.e520507f83ff0p-1
+0x1.974227fac5c71p-1
+0x1.fe97f4454153cp-1
+0x1.64cc47f51d1ebp-1
+0x1.e0aeb2661bc7ep-1
+0x1.865c7062df26ep-1
+0x1.2b9d94fd96933p-1
+0x1.dc43445d9d6c0p-1
+-0x1.0bcd5161b4780p-1
+0x1.e8eba118b0a26p-1
+0x1.c838228508974p-1
+-0x1.712d5001098d3p-14
+0x1.eaafe5872fba9p-1
+0x1.badc0660a7f51p-1
+0x1.e66ca4a1fdcf4p-1
+-0x1.ed40630f17ef4p-19
+-0x1.eab7a154b753bp-1
+0x1.8610d1e8e6c64p-3
+-0x1.fd61a56639941p-1
+0x1.26cb23fb114cep-3
+-0x1.bf3de5d1277c8p-3
+0x1.eda2c028553a7p-1
+0x1.e0be233591f18p-1
+0x1.fa64112d9b7bdp-1
+-0x1.f5e2246ae2dd4p-1
+-0x1.57b0e23b39e09p-1
+0x1.d97671e65ea90p-1
+-0x1.e6be223004611p-1
+0x1.d56357592f5acp-2
+0x1.6475907a120e3p-1
+-0x1.f47e6381c6551p-1
+-0x1.f2b9635cc6607p-1
+-0x1.5277123e133e3p-1
+0x1.47e5a403ff975p-15
+-0x1.3b47975249d03p-1
+-0x1.2d4395c82f1adp-2
+0x1.1450373bbdbf4p-1
+-0x1.f3f605106ccd2p-1
+0x1.e4fb505afc536p-1
+-0x1.c45f37ee28f93p-1
+-0x1.ea50f192e21edp-1
+0x1.eb0711bcb2188p-1
+0x1.b7a016b696338p-1
+0x1.623046e714274p-3
+0x1.43e5923d7c3c7p-1
+0x1.2fa122f6646a9p-1
+0x1.f4f6b5de34b5ep-23
+0x1.f469264200881p-1
+0x1.655d872a08e7bp-1
+-0x1.efbc035d5241cp-1
+0x1.eecee67cb7c37p-1
+0x1.ef23215f6de12p-1
+-0x1.9157d3c02c3b2p-1
+0x1.c15691eeda91ap-3
+0x1.f39d271893c42p-1
+-0x1.e4f743d28a786p-1
+-0x1.e3439360d1751p-2
+-0x1.e307d799961afp-1
+0x1.e25a6469a523ep-1
+0x1.f220a525222a6p-1
+-0x1.e47060fdcc071p-1
+0x1.36f464d433610p-1
+0x1.d2182142a2d5cp-1
+0x1.eeae3359ec957p-1
+0x1.9af5d2ec8ebd9p-1
+0x1.e11a171b22e03p-1
+0x1.b610305edff4ep-19
+0x1.ed7ab363b3447p-1
+-0x1.e41a54d8498d1p-1
+0x1.51de25b587b24p-1
+-0x1.c0e965c3967f1p-24
+-0x1.c773d52b04af3p-3
+0x1.d986851c611b7p-1
+0x1.c82c83eaf14c7p-3
+0x1.f7cc714398d27p-1
+0x1.cb56a41743a82p-1
+-0x1.c101b1037e3f5p-1
+0x1.70704180d156ap-1
+0x1.f2d9a4e18b93ep-1
+-0x1.70f794d622807p-3
+0x1.ea0c748947c48p-1
+-0x1.a1436628d7964p-2
+0x1.e577a48f03d8cp-1
+0x1.fb333192c3fd8p-1
+-0x1.849bb070f27dcp-3
+0x1.ef97766ebf4d8p-1
+0x1.bba5845fd0c44p-1
+0x1.cc35e07310ee9p-1
+0x1.bbf8c7bb9c20fp-1
+0x1.e52107bcb90ccp-1
+-0x1.53078258ff064p-6
+-0x1.1d3673a2a8700p-8
+0x1.eb3ae6f949eb2p-1
+-0x1.8a2f305b13ed1p-2
+-0x1.30fbb21b54296p-12
+-0x1.448976b9db4f3p-4
+-0x1.fba6c7b54d231p-1
+-0x1.1f9010499bc15p-19
+0x1.bf8d6212e3c0dp-1
+-0x1.c3658532b752dp-17
+-0x1.e40de71a02d0dp-1
+-0x1.c7ef32e8414f7p-3
+0x1.ecf661eaa759fp-1
+0x1.5030f4f39c66fp-1
+-0x1.a724314a500bcp-2
+0x1.9999d51105133p-1
+0x1.d9f6e4d727d70p-1
+0x1.ed1fc550f095ap-1
+0x1.503b14d81b366p-1
+0x1.34b7d05a78c28p-1
+-0x1.2cba67b857796p-1
+-0x1.d77251ee3df8ap-1
+0x1.59f032ff510d6p-2
+0x1.4f88d744710e7p-1
+0x1.d9e8209b73ea1p-1
+-0x1.ffb86378c6e93p-1
+0x1.ea73f543c07f7p-1
+-0x1.87a6e44eaf473p-14
+0x1.8db074f7cba71p-1
+0x1.38b80586e18e2p-5
+0x1.f8be8469e0f90p-1
+0x1.821ca4290f63bp-1
+-0x1.0dd78014ef1a2p-3
+-0x1.149aa666c3c46p-2
+0x1.eeb59431123bfp-1
+-0x1.c253e67cccb47p-23
+-0x1.1721b193cb808p-1
+-0x1.f29d328022c9bp-1
+0x1.dd6ca355705abp-1
+0x1.d7e5a3e80c978p-1
+-0x1.ff693303d6a1bp-1
+-0x1.9792d040f6098p-1
+0x1.e1bf0284f90b9p-15
+-0x1.f841c459354cfp-1
+-0x1.ea326681d6327p-1
+0x1.ec41879c45965p-1
+0x1.fa2d97e552ed9p-1
+0x1.5522431c3f1d5p-1
+0x1.f52c75ff3d843p-3
+0x1.df7ff289d597ep-1
+0x1.89e6d140f4474p-1
+-0x1.f5e8400a879eep-1
+0x1.d0ee108472a16p-1
+0x1.22c9e3d23737bp-2
+-0x1.f180d30e2ee8fp-1
+0x1.dc4355da08d39p-1
+0x1.83cc96505115ep-1
+0x1.df1a927ae2d49p-1
+0x1.f7cb87ac643cbp-24
+-0x1.b5b5e40f69460p-1
+0x1.b768756962650p-1
+0x1.385d044ddae6ep-1
+-0x1.20b4a1a53c3d5p-1
+0x1.7a97a05587a0dp-1
+0x1.f298d21034624p-17
+0x1.0f4422ec03b3ap-1
+0x1.8c67965cd0051p-1
+0x1.cee130d0b5a2bp-3
+0x1.3dc4e295f1f30p-1
+0x1.808b2220ea364p-1
+-0x1.fd05a69ce67b4p-22
+0x1.c6af341fa003ap-1
+0x1.ecd747e9c09c1p-1
+-0x1.551e1792426dap-1
+-0x1.fdc4b78598f6dp-1
+0x1.e705a3952cb55p-1
+-0x1.e302b444c2d4ap-1
+0x1.6079b20e499ddp-1
+0x1.9deca443255dap-1
+0x1.6c4eb3d0781b2p-1
+0x1.ea66d20e1b503p-1
+0x1.eaed6246abfe5p-1
+0x1.e9b823bbcfc07p-1
+-0x1.ce30a300a911ap-3
+0x1.a87ec3c5f01d2p-2
+0x1.bb25e46a7f518p-1
+0x1.edf7166512c36p-1
+-0x1.efe7a1f38e957p-14
+0x1.ea9ef4d1cf987p-1
+0x1.8eba239546037p-13
+0x1.4e7173f8c3108p-25
+0x1.e87141103b5edp-1
+0x1.fe1db59696078p-1
+0x1.f81a9367f49ecp-1
+-0x1.1c8ca3340ee9ep-2
+0x1.f4be90d6a08a2p-1
+0x1.a57e54c302ffcp-1
+0x1.3f689114ae747p-1
+0x1.ba3652b8cb6e8p-25
+0x1.d83d808a7f332p-1
+0x1.dfd2264b6c472p-1
+-0x1.e800e2c46ef54p-1
+0x1.df8f111ae2866p-1
+-0x1.6d6c5532e2cd9p-21
+-0x1.1e2c81ace6c11p-22
+0x1.e953222af7df2p-1
+0x1.e925616ce5429p-1
+-0x1.b26906bfadf37p-1
+0x1.dbe1f423f0122p-1
+0x1.8610709c83c3ep-5
+-0x1.e659010e4489dp-7
+-0x1.e69494ce3841fp-20
+0x1.d8ff513fd08dfp-1
+-0x1.fe6e319c28462p-1
+-0x1.9d64d47733225p-3
+0x1.c32282721051fp-2
+0x1.eb3df7f6d191dp-1
+0x1.8a44534c5fa47p-1
+-0x1.4f6d93821061bp-2
+-0x1.f52714fc5d094p-1
+0x1.9de7e1e0dc8cbp-1
+0x1.eeed020905613p-1
+0x1.ec28d5dadfc7dp-2
+0x1.aa36c26dcd467p-1
+-0x1.8e87e6677fbfbp-2
+0x1.ff84d1966abbdp-1
+-0x1.f63e406386a93p-1
+-0x1.f6203420a49e8p-1
+-0x1.a48a93694dd80p-1
+-0x1.61a7645eb7ec4p-1
+0x1.e090c1a2c9b9fp-1
+0x1.9b45d32c1533ap-1
+-0x1.b11a761584f00p-1
+0x1.9ad421a6de914p-1
+0x1.79dbd61da7b2fp-3
+-0x1.fc26a4aba22d2p-1
+0x1.64105318b86d4p-1
+-0x1.e9789541ac5d2p-1
+0x1.fd9ec29f78db6p-1
+-0x1.f14366570d3b6p-1
+0x1.4b13d01bf21b3p-1
+-0x1.f4eaf42e7ec78p-1
+-0x1.339060228fa99p-5
+-0x1.e744b298a1822p-1
+0x1.deb6d20e46c2dp-1
+0x1.292d24ec19bafp-3
+-0x1.1e8a967a738a4p-1
+0x1.dc10c61f240a2p-1
+0x1.de2966eee1343p-1
+0x1.e19d91e1c7907p-1
+0x1.79c3b49ea70d1p-1
+0x1.16e6f6035c12cp-2
+0x1.decaf4a1bae55p-1
+0x1.ab70f734c29e0p-1
+-0x1.efe2c7ae66583p-1
+-0x1.8bbb01f526908p-1
+-0x1.aaac637a729e4p-21
+-0x1.d8db236a8dc8dp-9
+0x1.e36122ce4d0a1p-1
+0x1.ea4005dd159f9p-1
+0x1.b6a77767d4c9dp-1
+0x1.e40c047e086a2p-1
+-0x1.5dba61bbcf1dep-1
+0x1.e5bc071b94585p-1
+-0x1.f9215050b4d45p-1
+0x1.fdafc34a31724p-1
+0x1.869e353529f40p-1
+-0x1.e2eda692286a9p-1
+0x1.31642078c9c6dp-2
+0x1.97e501e8fe7cfp-1
+0x1.eb18e737043a5p-1
+-0x1.e18a12334f770p-1
+-0x1.d507b06c3df31p-18
+-0x1.d0ec3013892e4p-3
+-0x1.26c875185533dp-15
+0x1.efbe6148f56fdp-1
+0x1.c16d712b4bb1fp-3
+0x1.8b04c70b3ddcap-1
+-0x1.ab136560e555dp-22
+0x1.f7af22a6b572dp-1
+-0x1.d85926848cf29p-1
+-0x1.ec59c307396f8p-1
+0x1.e83fc488dacd6p-1
+0x1.de8b34bf410c9p-1
+-0x1.0d4466176e9fcp-1
+0x1.29c0d4ecd2366p-2
+-0x1.7c821349cb30fp-23
+-0x1.f21cf62567c8ap-1
+0x1.9475e0bee269cp-1
+-0x1.360155ce19621p-1
+-0x1.ab61b161880c5p-3
+-0x1.687a92d61065ap-16
+0x1.a07a83ec307b4p-3
+-0x1.ced6825d25e04p-1
+-0x1.3fd4120c4bf01p-3
+-0x1.98615085cae70p-1
+-0x1.565f25ad39799p-1
+0x1.ff04d61b0df50p-1
+0x1.3b887244ca6ebp-1
+-0x1.faf3f337442b8p-1
+0x1.c2857627f9c6ap-1
+0x1.414391eae82a7p-2
+0x1.ed4c041a3ead6p-1
+-0x1.7720c11df55fep-3
+-0x1.20dd07160306ap-3
+0x1.eb79153ce9fddp-1
+-0x1.0b7c366b28640p-1
+0x1.0c37b2dba00aep-19
+0x1.df2997df1e98ap-1
+-0x1.db81e304bef8ep-2
+0x1.d061109803210p-1
+-0x1.f29f3377fe46bp-1
+-0x1.9d69119b79677p-17
+-0x1.fe18e3a9ee189p-1
+-0x1.2ba7052c8bd80p-1
+0x1.e241853578931p-1
+-0x1.fb0854c5d75f0p-1
+0x1.ee3cd20ce4f5ap-1
+0x1.ee40d08bb49e3p-1
+-0x1.cc9fa732730b4p-1
+0x1.070692620b71cp-1
+0x1.e0d2859d0d97dp-1
+-0x1.82f763fdb686ep-1
+-0x1.763cb2cf0a32dp-3
+0x1.e43b37d8f0ddfp-1
+0x1.a3880141b2dd3p-3
+0x1.3befe215a78c6p-1
+0x1.9d6604d4efeddp-2
+0x1.b5a3d7eddda00p-1
+0x1.cc7993074c20bp-1
+0x1.aac5e5dc62767p-24
+0x1.bed3226c9cf5ap-2
+-0x1.efd3965c7e5acp-1
+0x1.fe2aa46b77528p-1
+0x1.e098e320da0bap-1
+0x1.67e7248b818b3p-3
+-0x1.6ad6002662fadp-2
+0x1.decaa3bcdaa08p-1
+-0x1.d58d16202023dp-10
+0x1.ff00b5fcb622fp-1
+0x1.32ef66d1351e1p-1
+-0x1.f16585e5f84ebp-1
+0x1.1f8845720550bp-3
+-0x1.597ae70396752p-24
+0x1.29d207dd78ad9p-3
+-0x1.c50354e1919fdp-1
+-0x1.f33b17f4530b4p-1
+-0x1.01ede4cf1745cp-1
+0x1.ca3f36b0aa65cp-1
+0x1.40e9902e7c79ap-3
+-0x1.59f3c5b673712p-1
+0x1.916dc64eee2aap-1
+-0x1.ef8c343a179b1p-1
+-0x1.4a43014a489a2p-18
+0x1.ea9994a3eea40p-1
+0x1.7c24d44e7ad13p-1
+0x1.f81f66a100c06p-1
+-0x1.e7cb21c3e16e5p-1
+-0x1.660cf02b53207p-1
+0x1.9d1775b1ea06fp-2
+-0x1.fb6e3107f4ab7p-1
+0x1.ec9ed646b54a4p-1
+0x1.eb877429ca44ep-1
+0x1.57f90558e0cd2p-1
+0x1.ee6127d9b9cd3p-1
+0x1.eeace5528bcaep-1
+0x1.abfa31533bf17p-1
+0x1.af6d31714c4fap-3
+0x1.1b88e568085eep-3
+0x1.27d0012eda11fp-1
+0x1.e4c3a00a353dcp-1
+-0x1.a4d2513d6da08p-3
+0x1.eac9041cf24d0p-1
+0x1.eba880a52b2a0p-1
+0x1.fc9815cf6cf07p-1
+0x1.e9306397ac8d9p-1
+0x1.b43cd65692d19p-1
+0x1.ffed705f1a4ecp-22
+-0x1.758b46be117efp-23
+0x1.32f4b633ba0e9p-1
+0x1.ebf364bf44defp-1
+0x1.eb2c318fe1fd1p-1
+-0x1.c4f6f0a35fd4cp-1
+0x1.f94de7e900a23p-1
+0x1.e040d6464605fp-1
+-0x1.219fc52102aa7p-1
+-0x1.453271b5e1e0cp-1
+0x1.269653d6653a0p-10
+0x1.a48e700ea9b1fp-1
+-0x1.f41ec1c712c7fp-1
+0x1.c96de70665e99p-2
+0x1.ff20b67f593dcp-1
+0x1.e13e27d7f0352p-1
+0x1.e81bf743c0369p-1
+0x1.c50ba323bc984p-5
+0x1.2109349c356f8p-2
+-0x1.8bdbe0b9e2d2bp-10
+0x1.f668a1d8022d9p-1
+-0x1.3e06e4a0baeedp-1
+0x1.fb63f1e25d668p-1
+-0x1.b8e1e27336860p-1
+-0x1.f2700673bb386p-1
+-0x1.b2daa6e18bec1p-1
+0x1.8e8b67f0920cap-3
+0x1.fdeba0a282ee5p-1
+0x1.ed9061cac7a5fp-1
+0x1.e697822f3ef41p-2
+-0x1.a073961b21017p-3
+0x1.eae16553c8c57p-1
+-0x1.ef11308a723a0p-3
+0x1.4db6f0d5fc8b1p-1
+0x1.9db7a4e909c22p-1
+0x1.d963f3e2377acp-1
+-0x1.f4b2a27475355p-1
+0x1.5ceea7934431fp-1
+0x1.e006175a5233bp-1
+0x1.db398369c7f83p-1
+-0x1.6da6930d66d07p-1
+0x1.6cc7155575699p-2
+0x1.8958a513b1a3dp-16
+0x1.e4d423f8e48d5p-1
+0x1.f61e572c416f1p-1
+-0x1.dce6b232fc21ep-1
+-0x1.f76ac4a2a56ebp-1
+-0x1.effa02c2a5b57p-1
+-0x1.3277074adeefap-2
+-0x1.f820b07829307p-1
+-0x1.9ce743a0e44b1p-22
+0x1.5a60c5b18ae7ep-1
+-0x1.627064608ff5ep-1
+-0x1.f18541418b0c8p-1
+0x1.df5a362b58df6p-1
+0x1.5a1c12189882bp-1
+0x1.042eb250936bep-1
+-0x1.1cb73699e8924p-1
+0x1.bd81501f6c6dbp-1
+0x1.ea461047bbbaap-1
+-0x1.987e70cb208c9p-1
+0x1.ebb7b667c93a9p-1
+-0x1.e64087ec5398bp-1
+-0x1.da4060f493507p-10
+0x1.edf6c4bdb283ap-1
+0x1.e56aa246ff0e4p-2
+-0x1.5ee2870e9e6e3p-1
+0x1.890c70d8e4854p-15
+-0x1.9d713407fd722p-1
+0x1.d81051269ec58p-1
+-0x1.21a6c4b3b5c44p-1
+-0x1.ff1743cc5a35ap-1
+-0x1.bdd804759a629p-1
+0x1.ecabd624ed76bp-1
+0x1.f4fc4755c5257p-20
+0x1.ef9f51187fe83p-1
+-0x1.bcfe530a93051p-3
+-0x1.04437668e59f9p-22
+0x1.f9deb62170ec6p-1
+-0x1.f95ff4e30111cp-1
+0x1.b9bcd47a04014p-1
+0x1.e986346f71ee7p-1
+0x1.e870a1536e60dp-1
+-0x1.f45142b039fd9p-1
+-0x1.f9a361114e127p-1
+0x1.a39e45adb3fcbp-1
+0x1.eedee6a9faf61p-1
+-0x1.2d7dd63289e16p-3
+-0x1.ea1224bded243p-1
+-0x1.4bdd4503c4c63p-1
+0x1.6c88456adc480p-3
+0x1.e2b3a4b24383cp-1
+0x1.e5fc97f64aecbp-1
+-0x1.1b6bb0f6cd48dp-1
+-0x1.b303858a80ca8p-1
+0x1.e7ab923c42554p-1
+0x1.0a9275a4041e2p-1
+-0x1.f8c00391024e6p-1
+0x1.e35757a76e130p-1
+0x1.e79240313e889p-1
+0x1.65b7c5e770a90p-1
+-0x1.c932d35cb0882p-1
+0x1.6bdae68159ee5p-2
+-0x1.a10396bb69be7p-1
+0x1.385d508691b4ap-1
+-0x1.879d741b2c118p-23
+0x1.44ecc2c03843ap-1
+-0x1.ff8f3716b5256p-3
+-0x1.595040318030ep-3
+-0x1.bcfdf5e4c6970p-1
+0x1.0f3c92514126ep-1
+0x1.3dc123067ed3fp-1
+-0x1.ecbe16bf69bfbp-1
+0x1.9ee9220c8f948p-2
+0x1.dda1a2c40b3a6p-1
+0x1.c24c85e28024fp-1
+0x1.28b060d622339p-1
+0x1.ef1b944c9f858p-1
+-0x1.f476a1ba386d0p-1
+0x1.83edf16dfff50p-1
+0x1.e7ee358e79562p-1
+0x1.e31ec6e0b4fc4p-1
+0x1.dd98613b70372p-1
+0x1.da5505c9b5082p-1
+0x1.24f756f5e8490p-22
+0x1.2c5d704de00e2p-3
+0x1.e8faf051d09cbp-1
+-0x1.ff78b2a719f69p-1
+0x1.db133789d06a7p-1
+0x1.66c0e08344febp-1
+0x1.406506bfcfb11p-1
+-0x1.55ac10a3a8641p-3
+0x1.fce4f63c2836bp-11
+0x1.a49c5484fe1ecp-1
+0x1.ec7bc658a8951p-1
+0x1.e84b3736a7b34p-1
+0x1.ac8f6552a58dep-1
+0x1.f42ee4d7dac9dp-1
+0x1.3951052bb8e1fp-1
+0x1.bec8b0e3edbb6p-1
+0x1.33855463baf99p-1
+-0x1.177641b2f5da9p-2
+0x1.df40141a3b57dp-1
+0x1.e92b22c10a9ddp-1
+-0x1.f0bf840efa02bp-1
+0x1.19a5c7f4ac19ap-1
+-0x1.f06581e9738c7p-22
+0x1.fa84d6fc1bfb4p-1
+-0x1.ff5cc72dade88p-1
+0x1.e0942271d057fp-1
+0x1.02338781af33bp-3
+0x1.696c8704c0adep-1
+-0x1.f1687635d3527p-1
+0x1.8fd781a156526p-1
+0x1.fe1874b71dffap-1
+0x1.8651325797215p-3
+0x1.bc3c71925e5b6p-1
+-0x1.1e9543b9189ebp-4
+0x1.e4e8c2f4a4892p-1
+0x1.9cec761d69c12p-1
+0x1.b823a13640780p-1
+0x1.1340e0318b586p-1
+0x1.ecea93cc4e282p-1
+0x1.381af30c8bbacp-3
+0x1.269575fbaa2a4p-1
+-0x1.806dd0823096dp-1
+-0x1.e052374d36a4bp-1
+0x1.fea3254b1eafap-3
+0x1.2d5970ca26f6cp-1
+-0x1.f4dea4866c50bp-1
+0x1.f69344c9b9904p-1
+-0x1.a3903178cc914p-1
+0x1.ef5191f3a5593p-1
+0x1.f5f3548da6996p-1
+-0x1.f643440d6b06cp-1
+-0x1.f002c7269a37ep-1
+-0x1.fa75252a58e2dp-1
+0x1.d9f9e3d739f44p-1
+0x1.634732e2952fap-10
+0x1.f218003f765f8p-1
+0x1.606f8100c1742p-2
+-0x1.e755f3286db4ap-1
+0x1.a51346ad161ffp-1
+-0x1.fb568187a36cdp-1
+-0x1.e9fb506e00816p-1
+0x1.ef4ba09903242p-1
+0x1.decac67825caep-1
+0x1.e87f025e48684p-1
+0x1.e3f8778ca9756p-1
+0x1.def1462172dfbp-1
+0x1.311253501f3f2p-3
+0x1.b47cd28626b01p-1
+0x1.ea01327b06539p-1
+0x1.f29325d22a5b5p-1
+-0x1.63cce0ecc9f3fp-2
+-0x1.cbec261c8745fp-2
+0x1.839f62344ed35p-1
+0x1.db5e820db1f0dp-1
+0x1.eb10463897a41p-1
+-0x1.01a9b60073fd1p-2
+0x1.820c4727f0297p-1
+0x1.defe9157b25b9p-1
+0x1.95acf5bfa2f77p-3
+-0x1.f829a7cd489c0p-1
+-0x1.f78f2515a0c93p-1
+0x1.e40934a3f3e57p-1
+-0x1.fb0a94ad8c18dp-1
+-0x1.8f0b53139648dp-20
+0x1.d801c522cfcf4p-1
+0x1.d91a30bb3e15dp-1
+0x1.e41a80baf531bp-1
+0x1.e96113c21b2e6p-1
+0x1.cbb5955832906p-1
+-0x1.faaf461b00258p-1
+0x1.2c7b264df7e18p-2
+0x1.cdf68750f625fp-1
+-0x1.ab062115542b8p-2
+0x1.cd73a32168810p-2
+-0x1.f3f1411a81959p-1
+0x1.57c7a2ace0a72p-1
+0x1.efb2212f852c5p-1
+0x1.8e0f47ea636f7p-1
+0x1.ea6d312855164p-1
+0x1.31a3e53d9d779p-1
+0x1.bc55404efb12dp-19
+-0x1.b6f9a6276a135p-1
+-0x1.c3e361caeb9f1p-1
+-0x1.e0eca0ecd7cb7p-1
+0x1.f847f61015d15p-1
+0x1.ed36e1f48a48ap-1
+0x1.f41ca43bda5ffp-1
+-0x1.ad50f432557fap-1
+-0x1.114fa24a19444p-2
+0x1.36def65bab425p-1
+0x1.fe05623afcc36p-1
+-0x1.ef66a308f97d2p-1
+0x1.8d4b844dd2993p-1
+-0x1.d6cff1d46ff9bp-9
+-0x1.ee29a33d89217p-1
+-0x1.f132f2992494fp-1
+-0x1.de7153b5aad60p-3
+0x1.d915353edaa25p-1
+0x1.ea64823156f61p-1
+0x1.4d3ba3c4d2e24p-1
+0x1.ba92542786897p-1
+-0x1.fffed63ad096dp-1
+0x1.e97f8083149abp-1
+0x1.b79ba1d3be769p-1
+-0x1.eab325c5fbbe8p-1
+-0x1.c3e3470150bafp-1
+0x1.e3b610f2a9a12p-1
+0x1.091a864ba6574p-3
+-0x1.462ed634d347cp-2
+0x1.ed90006d31696p-1
+-0x1.c62a454b8d40bp-1
+0x1.371a12446cb76p-2
+0x1.eb63b3e34705ep-1
+0x1.edf750cfdec5ap-1
+-0x1.308fe73061dc7p-1
+-0x1.ee05e10877512p-1
+-0x1.d67e0577a6507p-1
+-0x1.ed2eb7554cecap-2
+0x1.dca2a028e0226p-1
+0x1.d30c963d41488p-1
+0x1.7530e7c8620bfp-1
+0x1.d417a562c0d61p-1
+0x1.e20e43f399e37p-1
+0x1.ea15f4adca008p-1
+-0x1.f3b7c47cb6dc6p-1
+-0x1.154f81f240248p-7
+-0x1.151356f0736d8p-1
+0x1.f6ee472b8805fp-1
+0x1.92518330d7f45p-1
+-0x1.dc476211ce07dp-1
+0x1.e848464011e2bp-1
+-0x1.46a8919520b17p-1
+-0x1.77fe90512eacfp-1
+-0x1.9acbd0bea7745p-2
+-0x1.443961a482f0fp-2
+0x1.dc9150d6da395p-1
+0x1.8f0b30b8722ebp-11
+-0x1.ec2db037a82dcp-1
+0x1.e3e7f06de29f4p-1
+-0x1.f321806888b14p-1
+0x1.bcc2d238d4ddbp-25
+-0x1.b5d02551d5671p-10
+0x1.5b65c47382c9ap-3
+-0x1.fcbdd2b050f64p-1
+0x1.ea5c13904e3b2p-1
+0x1.ef36a448b7555p-1
+0x1.dfdfd6c700acfp-1
+0x1.4236c13576e0ep-2
+0x1.8df8a16525f39p-3
+0x1.e0ad97d2cf238p-1
+-0x1.38f0542ca311ap-1
+0x1.d87891d37859cp-1
+0x1.e10e138b446a6p-1
+0x1.0f92764f7b2e4p-1
+0x1.aade166075ea0p-1
+-0x1.902df59995e2fp-15
+0x1.de7c758e0561ep-1
+-0x1.bbcb739c535d8p-3
+0x1.750fa027faf9ep-1
+0x1.af8d62c66fb2cp-1
+0x1.ea9ec240b76fap-1
+0x1.ef92f02323e66p-1
+0x1.410642b877d0fp-1
+0x1.ecec322ab031cp-1
+0x1.88a7042cf26e3p-1
+0x1.d91c147875780p-1
+-0x1.891bb78017f41p-3
+0x1.ecbf764fb7f74p-1
+0x1.8ae814193f661p-1
+-0x1.9ab562e85a368p-1
+0x1.eafad3737c504p-1
+0x1.f172b00025f8dp-1
+0x1.9625e4660a46ep-1
+0x1.ff2847663862cp-23
+-0x1.f876845608312p-1
+0x1.f988f6376ddcep-1
+-0x1.32096643967c8p-24
+0x1.862f469d3b6b5p-1
+0x1.e409002dbe096p-1
+0x1.ebae12a190827p-1
+-0x1.c73c104933177p-3
+-0x1.e67b111d9643ap-1
+0x1.e14005d42553cp-1
+0x1.6bcdd5585b74ep-1
+0x1.d01df07e10013p-1
+-0x1.aa01a6ca96ca1p-1
+0x1.9adaa0b3675d2p-1
+0x1.abf414448c2c7p-1
+0x1.e5c940ebf6cffp-1
+0x1.5cf30257670ddp-1
+-0x1.c572d1625cc9ap-1
+0x1.c46f07973a003p-1
+-0x1.e9edf7eef925cp-1
+0x1.e2db71253b231p-1
+-0x1.f18a81c759b6ep-1
+-0x1.0484943b8972bp-14
+0x1.e8ba541de4c3dp-1
+0x1.e86031182f48ap-1
+0x1.edf485b87d989p-1
+0x1.ed7b63e2ae6e5p-1
+0x1.441ba0eeee084p-1
+-0x1.f157124313805p-7
+-0x1.592b96408f745p-15
+-0x1.aa9f35bb8710cp-3
+0x1.dd79933eb4823p-1
+0x1.8105f3b2d415bp-1
+0x1.e959042778f64p-1
+0x1.eb1923875839bp-1
+0x1.f0f3621f3d303p-1
+-0x1.fb9d116c1740ap-15
+0x1.ee3e232a76cbdp-1
+0x1.a720e17021d30p-1
+0x1.4496d3d77e50dp-3
+0x1.29b2708c3a747p-1
+0x1.49f6619c13dd0p-2
+0x1.01593434a17a8p-2
+0x1.0c56546e3c83ep-2
+-0x1.fd7591cf4e231p-1
+0x1.f28e37cddaa63p-1
+-0x1.21c025a637570p-2
+0x1.e47fc5993f6c7p-1
+0x1.85a2015249f9ap-1
+0x1.ccac70b0bde88p-1
+-0x1.b0c634676faacp-4
+-0x1.f91d34193e0cap-1
+0x1.ea81015237620p-1
+0x1.e0f6a48d7e9c9p-1
+0x1.fae08655a51a3p-1
+0x1.4f28f1201b762p-3
+0x1.e8e030f4ea7e4p-1
+0x1.e1db95f200e1bp-1
+0x1.f425e3cced4c7p-3
+0x1.bdc8679163915p-18
+0x1.febcf6c28536ap-1
+0x1.92f204914b1bap-1
+0x1.ecd8933b172edp-1
+0x1.f0bb0482d6c17p-1
+-0x1.1011a24690b17p-1
+0x1.6597b5c278c94p-1
+0x1.c03a92b120e58p-1
+-0x1.0eed14bd5c463p-1
+0x1.e84d0157c4875p-1
+0x1.e0fa54716960fp-1
+-0x1.e70102ffd26f4p-2
+-0x1.a5029085d091bp-1
+-0x1.ff504589e4c56p-1
+0x1.cd7171df2e295p-3
+-0x1.c2e6249c7296ap-21
+0x1.96c5c059d54afp-1
+-0x1.e6f51087203f2p-9
+-0x1.515e3214390b1p-2
+-0x1.e0a141c4f0b16p-1
+0x1.eb7451be325a0p-1
+0x1.e0d083fcb5089p-1
+-0x1.fee190f2fc2b8p-2
+0x1.fe9b45e910698p-1
+0x1.a1bb4745dadf5p-1
+-0x1.f652e1fdb6a40p-1
+0x1.ddcf1291a5226p-1
+-0x1.43cbc08a959f6p-3
+0x1.dbf877fb563dcp-3
+0x1.ca0a70766ed38p-1
+-0x1.fb8063fd22722p-1
+-0x1.fa4ed780ebffap-1
+0x1.ef75b5fbc2038p-1
+0x1.d8fad2d484f9cp-1
+0x1.eb8ca278a8b79p-1
+0x1.0fde2500275a5p-2
+0x1.e71ef4f74efa5p-1
+0x1.df0c61f2a0f01p-1
+-0x1.bb5c7578b90a7p-1
+-0x1.2e84858cbd9e2p-1
+0x1.096bd4970cd0dp-22
+-0x1.f41217509723dp-1
+-0x1.32d10136b1f12p-1
+0x1.4c6af75e75c32p-1
+0x1.3fe9d75c1f312p-1
+0x1.9ef980d30524ap-1
+0x1.828b0390e301ap-3
+0x1.f62692b289857p-1
+0x1.5cb4743cbb81ep-13
+0x1.ef86868247137p-1
+-0x1.da44b5b4e6c6fp-1
+0x1.dbcd94da0d8b8p-1
+0x1.ec9c878cfb5f0p-1
+-0x1.5f64a17e9500dp-2
+0x1.5c75e768472b4p-2
+-0x1.a787c4bfd3b9dp-1
+-0x1.cca7367cafebcp-1
+-0x1.11bc51c1a6b71p-1
+-0x1.f6df90b887fc3p-1
+0x1.7a9fb439b7a47p-1
+0x1.e33c401410e8dp-1
+0x1.fb4ee1a050156p-1
+0x1.e89fb349c715bp-9
+0x1.9b1db0483a855p-20
+0x1.a913b3a187ee1p-17
+-0x1.ef7701b74636cp-1
+0x1.828184fbbeaa0p-2
+0x1.f4d8e628050abp-1
+0x1.133d81d6ae23cp-3
+0x1.f013f7c35659bp-1
+0x1.efd682aa7da6dp-1
+0x1.f1dc00f5ef3a9p-1
+0x1.96072389d627dp-1
+0x1.ea1691abf195ep-1
+-0x1.cca2538d384bap-5
+0x1.e92007ba8df2ap-1
+-0x1.e141a1fc347e7p-1
+0x1.ed08437e94ea2p-1
+0x1.4445e5b18f130p-1
+0x1.f66bb10cf125cp-1
+0x1.704f576926a3ep-1
+-0x1.1e2b763ff1c1bp-16
+0x1.a257b5f59a887p-1
+0x1.ee0771d865c59p-1
+0x1.debf16684ec06p-1
+0x1.dbdf762ec9500p-1
+0x1.e60b71ca4175bp-1
+0x1.30f9a5a27b4a8p-1
+-0x1.f34ff26c85784p-1
+-0x1.d1b2d7ceae413p-1
+0x1.fdcf071e072d3p-1
+-0x1.a3f255af4ee16p-1
+-0x1.ea5db637383c4p-20
+0x1.e23fd346a1c24p-1
+0x1.398d4660919b3p-1
+-0x1.2341b61c4a232p-6
+0x1.e7ddc42b3a4a8p-1
+-0x1.ff0942c4470a9p-1
+0x1.fa0f0780123aap-1
+-0x1.56f2e58d53fc9p-1
+0x1.37fd262f2ef5ap-1
+0x1.e9de764260ee7p-1
+0x1.3b0da25eac967p-18
+0x1.e4394344a153bp-1
+0x1.ee5d6207f7775p-1
+0x1.e1241012fada1p-1
+0x1.e2e61171c55e6p-1
+-0x1.fa0e3517f47f8p-1
+0x1.e811955ba544ap-1
+0x1.4003e18e34c12p-23
+0x1.f4f195748771bp-1
+-0x1.ef0f34f9f356fp-1
+0x1.391e008ea4619p-3
+-0x1.bb0300053577dp-2
+0x1.612ec16edaa00p-1
+-0x1.53edf5aa8e452p-1
+0x1.267ce71264f70p-1
+-0x1.b0c102e4ded61p-1
+0x1.b7b2671933257p-1
+0x1.ea53f7e49d1fep-1
+-0x1.ea6bc6967c364p-1
+0x1.95d8a522476fap-1
+0x1.f99470c182bf6p-1
+-0x1.ef0df4884c963p-3
+0x1.e6157493cd764p-1
+-0x1.12b6e5b410e7fp-1
+0x1.f67435d502e6dp-1
+-0x1.f4ec823b0125dp-1
+-0x1.f638561f1eccbp-1
+-0x1.b967b16c72982p-21
+-0x1.842b3414ac978p-1
+0x1.ef15c079cf311p-1
+0x1.1d6fb030321d5p-2
+0x1.ea147124ef4abp-1
+0x1.e342f70874ef2p-1
+0x1.e7afc67c34250p-1
+0x1.19db65ff74336p-1
+0x1.df80158c55f1bp-1
+0x1.542a0182909a7p-1
+0x1.057365e07e692p-2
+-0x1.fb0d257f569cdp-1
+-0x1.de3c10fe462f9p-1
+-0x1.ecf8e686be7cep-1
+0x1.55e863f86981dp-1
+-0x1.eb05376e22db1p-1
+-0x1.e83e578b67404p-1
+0x1.1d7bf26bcd34ep-2
+-0x1.ec5af0c2ccbc9p-1
+0x1.ddd3d27a5b4aep-1
+-0x1.eaf4048fe077cp-1
+0x1.00801354b719ap-21
+0x1.3e3a6224576bap-3
+0x1.ed89f7096981cp-1
+-0x1.daf4c6895a475p-2
+-0x1.27b5065556c47p-1
+-0x1.62e816a332a1ep-1
+0x1.c38e7517dd45fp-12
+0x1.915a220e086dfp-1
+0x1.dd5754e2b6f70p-1
+0x1.d84720817bef5p-1
+-0x1.04b965445d524p-1
+-0x1.e882f75e4f37fp-1
+0x1.d8e1258d3e967p-1
+-0x1.f4ad6308371a8p-1
+0x1.0924a114faa3bp-1
+-0x1.ee8ea3f68169fp-1
+-0x1.db6440c16c293p-1
+0x1.a260a5cf0493bp-1
+0x1.ead6a5782d24dp-1
+0x1.e049c5ecc67fcp-1
+-0x1.480570f907c0ap-25
+-0x1.e6a7c54bbfa5ap-1
+0x1.fe6ad355328e4p-1
+0x1.e2d7666a25355p-1
+0x1.eec3b242762cep-1
+0x1.c85773ca329d7p-1
+-0x1.f163118d145f0p-1
+-0x1.f79036a3f4459p-1
+-0x1.204f96baed60dp-3
+0x1.f9dc71e534411p-1
+0x1.67b372a69cd0bp-3
+0x1.eaa614d2c63c8p-1
+0x1.bb01a3a90cd08p-3
+-0x1.0bc192dba3daep-1
+0x1.a7184731a11b4p-1
+-0x1.bfb485fa7f5f4p-16
+-0x1.3688a0346cbf4p-2
+-0x1.f153e2327fc20p-1
+0x1.658b516343b5ap-1
+0x1.edd205a535cf6p-1
+0x1.e2e360aa13064p-1
+-0x1.c24710eb7be22p-3
+0x1.041a67e3e8f28p-1
+-0x1.eb8aa64a05087p-1
+0x1.e30cf7c07f903p-1
+-0x1.b9c3a3088d677p-1
+0x1.713eb1ab5e4c9p-1
+-0x1.6ad805c841fcap-1
+-0x1.f885a3f0e8ba8p-1
+0x1.f46dc196d78d6p-1
+0x1.fc84242c90e1fp-1
+-0x1.03cb72be8da0fp-1
+0x1.876157be34442p-1
+0x1.df7a00f91ede0p-1
+-0x1.7aadc22f765e8p-1
+0x1.c49f353c0eea6p-2
+-0x1.6942e78790b68p-1
+0x1.f09820d53213dp-1
+0x1.f0d7d51f16eafp-1
+0x1.dd09f317d4844p-1
+0x1.c37884de423eep-2
+-0x1.d888e3c9b6736p-2
+-0x1.0f9db3fc68bccp-5
+0x1.b6a6c3eebea0cp-1
+0x1.45f1f16329902p-1
+0x1.ea8ca34a12e96p-1
+0x1.e301b33695f69p-1
+0x1.68a5b3e8dc41fp-1
+-0x1.31ff6639336e0p-1
+0x1.5a9b126abc66ap-1
+0x1.1973b36468d97p-1
+0x1.efe1f56bd3534p-1
+0x1.e5ab36d2f2409p-1
+-0x1.45d6537260c70p-3
+-0x1.56f5410b90154p-15
+-0x1.7d8cb3c9cb5d8p-1
+0x1.c96a64375fd43p-1
+0x1.deb991e8ad26ep-1
+0x1.f2cdb2dedca59p-1
+-0x1.aca5d6e0cebc8p-1
+0x1.eb42940a8517bp-1
+0x1.ae1b403368423p-1
+0x1.ade411f3da571p-1
+0x1.3e1116e4de263p-1
+0x1.8973c30a0bb9cp-1
+-0x1.156c062335d7dp-1
+-0x1.9acbe0ee1240fp-3
+0x1.ec00c6a3e141ep-1
+0x1.dc4b32a234a23p-1
+0x1.e6c20026a69cfp-1
+-0x1.8fa041d702f22p-3
+0x1.c5f6f61e0882cp-1
+0x1.ca32d645bd50ap-1
+-0x1.eebfe7785b810p-1
+0x1.d855e4e635750p-23
+-0x1.c4f8e0df2acbdp-3
+-0x1.7f7681cf8b0a8p-2
+0x1.834e43d519f57p-20
+-0x1.e6c711f8a07a2p-1
+0x1.37e074e9bd23fp-3
+0x1.e07616c72f309p-1
+0x1.eb6786e4bb963p-1
+0x1.19099015cd289p-1
+0x1.e1a391292b6e3p-1
+0x1.e2db651834387p-13
+-0x1.fe98b265f6c23p-1
+0x1.e2bfd7dc71f91p-1
+0x1.ee47140384e38p-1
+-0x1.001567470f803p-2
+0x1.05bdf1d57b74ap-3
+-0x1.9f9bb738e7354p-2
+-0x1.e2b5a72fffc26p-1
+0x1.e33c52a03a341p-1
+0x1.c210e6a7521b4p-1
+-0x1.89280419666a0p-3
+0x1.ef4386066c43ap-1
+0x1.617cf4e80da72p-2
+0x1.ca67862290507p-1
+0x1.d2db6598cfaf0p-1
+0x1.4c52d70f696f4p-3
+0x1.fd31e495b8cd4p-1
+0x1.97d8c7b4c9114p-1
+-0x1.f0fc72689286ep-1
+0x1.93a7216be0c5dp-2
+0x1.d3115794c28e9p-1
+0x1.e285e72ab6c83p-1
+0x1.e318d24b8b39ep-1
+-0x1.eef6d32a0b85fp-1
+0x1.8d1c623935f00p-2
+0x1.69f611e882192p-3
+-0x1.815743a3562efp-1
+-0x1.eb08c0c39511ep-1
+0x1.c59db4bbac95fp-1
+0x1.7d0722deb44afp-1
+-0x1.8315d64e9546ep-1
+0x1.9dd1600231fb9p-1
+0x1.e2e2e02cfc885p-1
+-0x1.10e173bc56bedp-1
+-0x1.fef5368baa990p-1
+-0x1.ffa8a2b9fe667p-2
+0x1.dffc77beb4240p-1
+0x1.eeb121fd09f87p-1
+-0x1.e90be055f4bc5p-1
+-0x1.f41e016289c7cp-1
+0x1.af5152f1a61dap-26
+-0x1.fd48f58baaff1p-1
+-0x1.4b0f8437f1bc3p-1
+0x1.d4cc178e13728p-1
+0x1.ce7265a719e49p-1
+0x1.e9eff57262b39p-1
+-0x1.f13f718045fb6p-1
+0x1.e6bb77d8971e1p-1
+0x1.b551834380757p-1
+0x1.da0f873b6aa41p-1
+0x1.f142b0d6cd227p-1
+0x1.e9ab41fff09b7p-1
+0x1.942ed2f7475d2p-2
+-0x1.bb5fe6c2388bcp-20
+-0x1.a2e262533502fp-4
+0x1.dd9583ec5db42p-1
+0x1.90fad5e8a6031p-1
+-0x1.0373e4dddeb2ap-2
+0x1.fd2901f3c9671p-1
+-0x1.b260a79be9a1bp-6
+-0x1.984e45ef80148p-1
+0x1.5356962ebfc1cp-1
+0x1.571e352fdd0f0p-2
+0x1.f89e41aa2fad5p-1
+-0x1.e6a1f419a0176p-1
+0x1.e2d58615983eap-1
+0x1.ded7b522b64c3p-1
+0x1.db41972b5b7e1p-1
+0x1.1b0912987dcf2p-3
+0x1.e1d26340eb5b3p-1
+0x1.209d16e918bdfp-1
+0x1.9d1bd742b6cd9p-1
+0x1.d8ce209dfe849p-1
+-0x1.d12fc215483dfp-9
+-0x1.a4c0d4697fa72p-1
+0x1.617954103f059p-2
+0x1.3137f5baf9af4p-1
+-0x1.507947ccbeeb1p-1
+0x1.b292e4143ab7fp-1
+0x1.d82640b61d4f4p-1
+-0x1.5fe5b15734ccdp-16
+0x1.f2d0e2931043bp-1
+0x1.2fd917731a612p-22
+0x1.f48e103407199p-2
+0x1.7e2db343d2518p-6
+0x1.49aec36586d2dp-1
+-0x1.06ef250e87d2dp-9
+-0x1.dce7e25ee3f06p-1
+-0x1.f9667561ea716p-1
+0x1.ef305027835abp-1
+0x1.fda044b85c0c4p-1
+0x1.e184b71badf21p-1
+-0x1.8f7ec3e278b93p-3
+0x1.f09ed78d95c96p-1
+0x1.db5114278e29ap-1
+-0x1.a56dd3341013ep-3
+0x1.dc3843f1a56fep-1
+0x1.2038f78b9bcc0p-2
+-0x1.acd041b591f89p-1
+0x1.e739901525d14p-1
+0x1.e6ab002c0fd58p-1
+0x1.ea88c7564fe3cp-1
+0x1.fc9c210385ec5p-1
+0x1.300c178b2707bp-2
+0x1.64adc3a6fd19ap-1
+-0x1.fd26d46627291p-1
+-0x1.50b1823ecd041p-1
+-0x1.0460742bc8cdbp-1
+0x1.ee1d52dfb4db7p-1
+-0x1.f8df26ac867ecp-1
+-0x1.101697bd3de35p-3
+-0x1.f08df75686ba5p-1
+-0x1.ace67097f9affp-2
+0x1.e8d044bdd2df4p-1
+0x1.f567c745b44b1p-1
+-0x1.293da15462edcp-3
+-0x1.ff6a619be98e6p-1
+0x1.870715d5a6b13p-3
+-0x1.0c6132d48b23ap-1
+0x1.bfcac730c5b46p-20
+-0x1.eede64d01dd85p-1
+0x1.4a0014931f1a7p-1
+0x1.c04bc2fc8d9a7p-1
+0x1.2ab9e2f378d0ap-3
+0x1.5fd3677becabcp-2
+-0x1.28cef33a72793p-1
+-0x1.b17535ce5f5e3p-1
+0x1.126fb704975d2p-2
+0x1.f5e136218d473p-1
+0x1.922b42c5e0ed7p-19
+0x1.ace8606018cd4p-1
+0x1.2b74811bfc23dp-2
+-0x1.ef2a370ffe51ep-1
+0x1.f9f6a148adee0p-1
+0x1.f4021476db864p-1
+0x1.95f375fe34bb5p-23
+0x1.eca2876cca9d0p-1
+0x1.d7351318c57d6p-20
+-0x1.c5b4f73fa50c8p-25
+-0x1.c94d46e4a466ap-1
+0x1.901222b3eb03fp-1
+-0x1.f2f094f1075f9p-1
+-0x1.f86a7137c57dcp-1
+-0x1.8e3c37a819136p-3
+0x1.4ec1702690f49p-1
+0x1.7af330368dd58p-11
+0x1.84a1865b3e5f0p-1
+-0x1.e4e0305c7b1bbp-1
+0x1.ff49a7d7f6d62p-3
+0x1.f2bad6b8e3ad9p-1
+0x1.ff22f34c30d58p-1
+0x1.eff9a7f819fecp-1
+0x1.c32c91193429cp-13
+0x1.5d40255ad5479p-2
+-0x1.841801a2f578cp-1
+-0x1.dbd584ff2c565p-1
+0x1.a291c450afde5p-1
+0x1.eae6f79c5a22bp-1
+0x1.e6a5815c8e911p-1
+0x1.effbb6d1ea58dp-1
+-0x1.7b2d0222d18edp-1
+-0x1.629942502fa18p-2
+0x1.4d83c5fd055fap-1
+0x1.878e4270d439cp-1
+0x1.e9d9730db6039p-1
+-0x1.1e06e6cea4258p-2
+0x1.f65ff39e90426p-1
+-0x1.cdb98479835c6p-9
+0x1.d768f6851ecbcp-1
+0x1.f69e2232d6a42p-1
+0x1.ec53932232948p-1
+0x1.f67aa7a0b8826p-1
+-0x1.fabca4ba5ef23p-1
+0x1.ee69c2e52baf8p-1
+0x1.26f0054eb2e0ep-2
+0x1.0713f52f5375ep-2
+-0x1.cbe100e36ed62p-1
+-0x1.40a8260114e62p-1
+0x1.f3063795bb159p-1
+0x1.c716b64d97f72p-1
+0x1.8981a41813d96p-3
+0x1.d7c1209925c7ap-1
+-0x1.ff581104611a1p-1
+0x1.0c85d2b6d6e9dp-1
+-0x1.8e8714dc38c74p-20
+-0x1.b03cb5319aa16p-1
+0x1.d72834d33b477p-1
+-0x1.f01b11376becdp-1
+-0x1.415a16a005c76p-20
+-0x1.fe90e5f9be415p-1
+0x1.dde612d789020p-1
+0x1.d9f3738b76c1fp-1
+0x1.db5327bba31b5p-1
+0x1.adc4400d2246cp-22
+-0x1.ff88333427dbap-1
+0x1.eb26276420df2p-1
+-0x1.b6c7247c84ca1p-2
+0x1.e02a848a05a70p-1
+0x1.043b03cb8172fp-3
+-0x1.33d676f26127ep-3
+-0x1.7608255d04435p-3
+0x1.04f80268e9ce1p-1
+0x1.464bc0a199508p-1
+0x1.29ef60c6d1649p-2
+0x1.ee97e455401a2p-1
+-0x1.fd9ed1b43f715p-1
+0x1.eb715394fd91dp-1
+0x1.d7233283a8bd9p-3
+-0x1.1df410fa478c5p-1
+0x1.d594f6ab26103p-3
+0x1.a08f83fd80dc8p-1
+-0x1.de90b76d413e4p-3
+-0x1.6084126e687f0p-8
+-0x1.ff9375ff924dap-1
+0x1.eaef2277ad27bp-1
+-0x1.567a6656d28acp-1
+0x1.db239524e4064p-1
+0x1.ea15917f3ccbdp-1
+-0x1.aecd11f1ad305p-1
+-0x1.3f3391d575ab0p-1
+0x1.2065b112d45b7p-1
+0x1.eefeb58f716edp-1
+-0x1.752456499480ap-2
+0x1.f628431ac8afbp-1
+-0x1.d4f5807797fcdp-3
+0x1.52b317a0f2bb4p-2
+-0x1.36be46b7fbb08p-2
+0x1.e57282515307ap-1
+0x1.8cb3963d2de1dp-1
+0x1.f86d8777ff85dp-1
+0x1.dbec93d39559cp-1
+0x1.ef15079437d86p-1
+0x1.9912915e0e9d2p-1
+0x1.eddfa64b338bcp-1
+-0x1.05d235555bca1p-1
+-0x1.fb398088adb40p-1
+-0x1.8529e4f0cd31ap-6
+-0x1.daf8854d3e5e7p-1
+0x1.562e8760fd24dp-1
+-0x1.2bb627405320cp-3
+-0x1.dbbe424b49782p-1
+0x1.db7c6724b9b5cp-1
+-0x1.86c5e771c6e89p-1
+0x1.eb6cc05b2299fp-1
+0x1.cbdfe416b513ap-16
+0x1.e80bd7a912478p-1
+0x1.e20654791ee42p-1
+0x1.e7c99604f72c5p-13
+0x1.e384454b782e3p-1
+-0x1.2f821736b5783p-1
+0x1.ec2dc7a3f7b9ap-1
+-0x1.f58cb69431ff8p-1
+0x1.291eb281d5031p-2
+-0x1.22d8d0d689c58p-2
+0x1.edae94523b924p-1
+-0x1.dc31f75dbd8bap-1
+-0x1.f41750df779c1p-1
+0x1.1dbe97dccb13ap-24
+0x1.fb352364b9b84p-1
+-0x1.2f5617c2cdd47p-1
+0x1.69d035f7a7ee7p-8
+0x1.72e2e6f704395p-8
+0x1.f86e40ec67bd7p-1
+-0x1.d74544791ed55p-3
+0x1.ee79c2eaca96bp-1
+-0x1.97f484b97f423p-1
+0x1.ecca71ea821fbp-1
+0x1.cb2254385c652p-1
+-0x1.e83561b46f5e8p-1
+0x1.bd9f3198d30dep-25
+0x1.e9e7b30a7666fp-1
+0x1.b768a1d09af67p-3
+0x1.0345e3f133efep-2
+0x1.b45fb3fc48819p-1
+0x1.426bd7fd10932p-1
+-0x1.57e6c01243fa0p-1
+0x1.1f4821c5d7096p-1
+-0x1.de19b73619e5dp-1
+0x1.53cb05c92ecbfp-1
+0x1.90754146fad63p-1
+0x1.4973979c27e9cp-2
+0x1.ae33e7c0fbf30p-4
+0x1.e032e42a2040ep-1
+-0x1.ea40a3cab079fp-1
+-0x1.6907e6c0916a9p-1
+-0x1.1c59c6555ce1ep-3
+-0x1.12fce6ee5e120p-3
+0x1.747724780a0a7p-1
+-0x1.3c6f734ef61e6p-1
+0x1.dcd584c6d27cbp-1
+-0x1.c27d81c83efabp-1
+0x1.d990c3dac50c1p-20
+0x1.a3c463d5b6e67p-1
+-0x1.0820a1102e865p-1
+-0x1.ab2a1549ea8ebp-3
+0x1.dcde36cbc878bp-1
+-0x1.42374083a3e0fp-4
+0x1.ef0c857a36fa3p-1
+0x1.e9e3a68ecccb7p-1
+0x1.7f05d2127fea2p-1
+0x1.e87935312ca1ap-1
+-0x1.eb7110ff0f66ap-1
+-0x1.c15fb366cfcf9p-1
+0x1.f08de63d6483ep-1
+-0x1.c72931d050543p-6
+0x1.1cb62361bff83p-2
+0x1.22db1186e6583p-10
+0x1.e862d28475fb9p-1
+-0x1.727515872cde2p-25
+0x1.1a80e5cb79b32p-14
+-0x1.c48fc05bc06adp-1
+0x1.ef6a04b724d4ap-1
+-0x1.70ba1780348d9p-1
+0x1.e68fd1d34efdcp-1
+-0x1.edbeb6d147be3p-1
+-0x1.ffb8054bd5bb2p-1
+-0x1.205784cd6e44ap-1
+0x1.b9eea1cf61152p-8
+0x1.ead9f4facbad9p-1
+0x1.41f1177f3aa4dp-3
+0x1.1cb3c7898c6c5p-21
+0x1.3b9562043baf3p-2
+0x1.9a03f093bbf71p-1
+0x1.22d245b843dc6p-1
+0x1.fe6b7655a7c27p-1
+-0x1.f53d46b53474cp-1
+0x1.edc8174da0475p-1
+0x1.453ef06515377p-1
+-0x1.cf39e3a140966p-3
+0x1.b3870738c9a7fp-1
+0x1.c03ff7b9aa3ccp-1
+0x1.d88de462de411p-1
+0x1.907531b1ec30bp-1
+0x1.e807c59e08986p-1
+0x1.d01ee7e80196dp-1
+0x1.eb29729cac7d4p-1
+-0x1.9b6ff25e8b37bp-1
+0x1.06cb55e19f50bp-1
+-0x1.c969c47d61594p-2
+0x1.2f8fd229e5a28p-1
+0x1.ec5d65428be39p-1
+0x1.e3f1f13dd3842p-1
+-0x1.6fdf45f0448e4p-1
+0x1.c693d3e0c3d93p-1
+0x1.ec2b351c3d553p-1
+-0x1.023bb65902175p-2
+-0x1.e41b13bb1ae98p-1
+0x1.ed5233df8f1b0p-1
+0x1.d3745523a5b72p-3
+0x1.b11183467f9f4p-1
+0x1.f96977e343f28p-1
+0x1.647e07d72c3ccp-1
+-0x1.dd7b40d163147p-1
+0x1.a955c3158f95ap-3
+0x1.ddbbe2e244b52p-1
+-0x1.dd9476201ab1ep-1
+-0x1.c173b1455120cp-10
+-0x1.4849770c21219p-1
+-0x1.e9c224c0132f3p-1
+-0x1.9c7115f5fa7edp-23
+-0x1.ededb18a270f5p-1
+-0x1.dc41f5d54e145p-1
+0x1.f260631aa28c5p-1
+0x1.dd80538515b09p-1
+0x1.e45ea178c9b30p-1
+0x1.d98ee1fe8fa72p-1
+0x1.ec3b7502ba31bp-1
+0x1.9202f7b61b23cp-1
+-0x1.e90160c48172dp-1
+0x1.029cb182129c5p-1
+-0x1.ecf921278c665p-1
+0x1.f1df6352de955p-19
+0x1.e820a1d008c40p-1
+0x1.cf1bc071e7b1dp-13
+-0x1.a7f9c47f84b4bp-11
+-0x1.91d2b301a130ep-6
+0x1.eb7e233b26b9cp-1
+0x1.5285126c10af6p-11
+-0x1.413ff2f91c7e0p-1
+-0x1.909622a8afce0p-9
+0x1.91f83092eaa5bp-1
+0x1.e9f0072632510p-1
+-0x1.4291a2d3c6a6ep-1
+-0x1.91a7814a1afe7p-2
+-0x1.f2e5c1ddfca4dp-1
+0x1.4ed7f0ccb3beap-1
+-0x1.56758387f3eb7p-1
+0x1.0817c57f66fd7p-1
+0x1.92ba54b90cb1fp-1
+0x1.8393d0a315e11p-1
+-0x1.ebf5435363845p-1
+-0x1.182971e71f1c4p-25
+0x1.30bad35036ebep-1
+0x1.e6a7c48aae965p-1
+0x1.5c09f0643688cp-1
+0x1.bdb701415b22ap-1
+-0x1.80b045165e5bep-1
+0x1.ec2a609f9c95bp-1
+0x1.fdf1358d71fa7p-1
+0x1.f38ae51ef650dp-1
+0x1.c3b5220ba05abp-2
+0x1.64e7b7d518cdap-16
+0x1.e3172710f85acp-1
+0x1.c3d957db61cd0p-16
+-0x1.76789202c62c6p-10
+0x1.b9314508fdd23p-1
+0x1.fbc7e244da846p-1
+-0x1.feea04702b990p-1
+0x1.c77664b2ebec3p-1
+0x1.eb18f40a3c0a1p-1
+0x1.f3d57719d5a66p-1
+0x1.a1b9e5f02c25fp-1
+0x1.d9db75669d2e1p-1
+0x1.85d832f631a51p-2
+0x1.9485a38e25cb3p-1
+-0x1.1afd8636d88a6p-4
+0x1.05798672f5ea3p-2
+0x1.ffe9232e1641fp-1
+0x1.f578d77058051p-1
+0x1.32f086b72fc47p-3
+-0x1.f80cc6c503e0bp-1
+0x1.f28b64ae14d36p-1
+0x1.db3f10c932ea3p-1
+-0x1.fcdff69481c76p-1
+0x1.b0b1822e2d791p-1
+0x1.e47cf5ea94794p-1
+-0x1.edbb01a598c24p-1
+-0x1.f2d2c4f587093p-1
+0x1.d810f191b7661p-1
+0x1.f93393613674ap-1
+0x1.be82e4ac9bddbp-1
+-0x1.0579e7d148859p-8
+-0x1.c7f3c1fdcabf4p-3
+0x1.efad546ed467cp-1
+0x1.fd6a251b4821ep-1
+0x1.0315f5c097414p-3
+-0x1.7db404e004dd9p-1
+-0x1.fdabb5f507142p-1
+0x1.c64fd560d1b67p-2
+0x1.ca0d01c21706dp-1
+0x1.e45216887ff71p-1
+0x1.df2ec764ef6adp-1
+-0x1.8e65606bed199p-3
+0x1.dbc053fc0855cp-1
+0x1.6b8ba297a525cp-1
+-0x1.00882585a29eep-1
+0x1.d353f591637b8p-1
+-0x1.79f546d33544bp-3
+0x1.efa4e409fde87p-1
+0x1.ee1163afd0a03p-1
+-0x1.fad96389524bfp-1
+0x1.e85bb560bc75dp-1
+-0x1.f069332e76f6dp-1
+-0x1.6fb4348faf5c4p-3
+-0x1.ce9367ceb44dap-9
+-0x1.f0a930040729ap-1
+-0x1.505075bc12d92p-16
+0x1.947d6278f2ca8p-1
+-0x1.f086970443d28p-1
+0x1.d025216b99be2p-5
+0x1.dcfa56e705532p-1
+-0x1.f30504c59eceep-1
+0x1.dd52d7e19870ap-1
+0x1.02ddf0359bf9fp-1
+-0x1.4f4065a22973ap-23
+0x1.f40f75a7770a1p-1
+0x1.59ae8671b31e8p-26
+-0x1.536450991d17cp-2
+-0x1.ae0193af9d6a2p-3
+-0x1.27ba2598fa425p-1
+-0x1.77f897e89fff8p-5
+0x1.eff8918d7a81cp-1
+0x1.e8f05228d4ca1p-1
+-0x1.7c509777a588ep-1
+0x1.2176d0b801649p-3
+-0x1.e69f374a699d8p-1
+-0x1.bed374f104cadp-3
+0x1.f3a922a74a827p-1
+0x1.762275548f202p-1
+-0x1.f566226c407c7p-1
+0x1.4cdae1fead7dbp-1
+-0x1.eb4487592a9adp-1
+0x1.edeeb5688f291p-1
+0x1.e99891b04ddafp-1
+0x1.f86cf3b9e83a7p-1
+0x1.c3f7a686c78b0p-2
+-0x1.6150a09268c74p-1
+-0x1.dcee02e875157p-1
+0x1.eb1bf69818892p-1
+-0x1.e5a480f554f3dp-16
+0x1.84afb5f1ed3adp-1
+-0x1.df31c5eae509fp-3
+0x1.ff99528e27db8p-1
+-0x1.e1a5a6243d05dp-3
+-0x1.85fce11104791p-21
+-0x1.fb51005dfdc02p-1
+0x1.dcb463175cfcep-2
+0x1.82519454bb349p-1
+-0x1.fdcdf349a6f25p-1
+0x1.602547dc6ecefp-24
+0x1.bec560986a04ap-1
+0x1.2011857db1424p-26
+0x1.e1eec570b4a79p-1
+-0x1.e77cb3d6aba48p-1
+-0x1.8836556db32e5p-11
+-0x1.e73505baf1ce0p-1
+-0x1.e9d165420d859p-1
+-0x1.ea73d35821c98p-1
+-0x1.fc7083dcfce44p-1
+0x1.4eaa72b0ad80bp-3
+0x1.ee9b055b272f4p-1
+-0x1.fc77850c869d8p-1
+0x1.df2253bc59523p-23
+0x1.ea0197e40cc09p-1
+-0x1.e12937d9b5de6p-1
+0x1.b78007f752b47p-1
+-0x1.caf0a20a2e374p-3
+0x1.403b25eaecdebp-3
+-0x1.f09981083beb5p-1
+0x1.1dfac77800264p-1
+-0x1.f968b772c835fp-1
+0x1.4183f2511d03ep-1
+0x1.14fe334ed4841p-13
+-0x1.ef68700ccd1ddp-1
+0x1.495424a43a336p-1
+0x1.f9f556f848f73p-1
+0x1.e700764aa6a73p-1
+0x1.c65e964229e7ap-1
+-0x1.e91f7469d5670p-1
+0x1.8d72537de0726p-1
+0x1.d77df54bf42f3p-3
+-0x1.e3f4e3f7cff28p-1
+-0x1.980ec5ab0c67bp-1
+0x1.82b481c2cab01p-1
+0x1.e92fc79dc3af8p-1
+-0x1.84edb030c6673p-1
+0x1.134ed3adb9b89p-1
+-0x1.5b0384147576ap-1
+0x1.ec38f12ad09b0p-1
+-0x1.9d3d5705b61bfp-1
+0x1.e9a5111dca87fp-1
+0x1.5ec077d61d074p-1
+-0x1.8bb177f1b45d0p-1
+0x1.026085634ea4fp-1
+0x1.5dece01fa73aap-1
+-0x1.f282f0325a811p-1
+0x1.4e17a4a822867p-2
+0x1.b710142936fc4p-1
+-0x1.ea74f086de3c2p-1
+-0x1.b5bb322363d88p-1
+0x1.e01382ce9664ap-1
+0x1.ec9d46fe101abp-1
+0x1.e080f6a0dd5a1p-17
+-0x1.dc4d67b50cadcp-1
+0x1.bb0924c1b5c65p-1
+-0x1.e4d98477aac5ep-4
+0x1.ed52a73ea36ddp-1
+0x1.d20927aa97a9bp-3
+0x1.b1865059b9e39p-1
+-0x1.b0caf4d4e58fap-22
+0x1.f1a1076fec8e1p-13
+0x1.6c6f93492c70fp-3
+0x1.adf6648fd1042p-1
+0x1.eff466a400727p-1
+0x1.8e77870756612p-4
+0x1.e4c511850f25dp-1
+0x1.cced71fd52d9ap-1
+0x1.ebb466b23c3bep-2
+0x1.6669639648fa3p-1
+0x1.7302146a6f168p-8
+0x1.350056b6cb901p-2
+-0x1.eede45da2f03ap-2
+0x1.ac0623cd70a73p-1
+0x1.87b2d4dcffaf9p-1
+0x1.edaf06121f8e1p-1
+0x1.e825a4e96f86cp-1
+0x1.168a051460dc0p-1
+0x1.eaa75704957d3p-1
+-0x1.e142463188648p-1
+0x1.d81356fe7e9b0p-1
+0x1.e99b85f839547p-1
+-0x1.f1296188d7fd8p-1
+-0x1.a3b6f7aed0ad8p-1
+0x1.6b0c23fcd3f91p-3
+0x1.dab904f709a95p-1
+-0x1.841256a82781ep-1
+0x1.d26af3ab7517ep-1
+0x1.e325a078e329bp-1
+0x1.8aa5a22125090p-1
+-0x1.b0fb607111e72p-3
+0x1.e45197e7efcdbp-1
+0x1.d9c6b1b971945p-1
+-0x1.5fb6e7f514f55p-16
+0x1.fa1f54af3ad94p-1
+0x1.e8e045abf094fp-1
+-0x1.5b9f05ea1adb3p-3
+0x1.eee721d6726d1p-1
+0x1.f1df37430f58ap-1
+0x1.e58f617f2d384p-1
+0x1.eb68943e2deb4p-1
+0x1.dba9c1307a5c6p-1
+-0x1.edb676b500699p-1
+0x1.cb6e21730fca5p-8
+-0x1.a314d11caa5dfp-1
+-0x1.58d865bce598fp-22
+-0x1.9da4077805769p-1
+0x1.bca24367daca5p-3
+0x1.408035d6251e7p-2
+0x1.8e30509588bc3p-1
+0x1.dac374698d877p-1
+0x1.dc95570330076p-1
+0x1.ed72961c6499fp-1
+0x1.e267d33665809p-1
+-0x1.1fd1b6af697a5p-1
+0x1.b199976061c55p-1
+0x1.640c203fbc506p-1
+0x1.e67287d997f06p-2
+-0x1.e8092359ccf4ap-1
+0x1.479fe3a388580p-3
+-0x1.1c9d850480123p-1
+0x1.f6b3e32b9007ep-1
+0x1.ee40207bb6d7ap-1
+-0x1.3e0fd5ef49ea8p-1
+0x1.48352432fcd1ep-5
+-0x1.488b1538a5682p-2
+0x1.70fc57b129bcfp-18
+-0x1.ee0460d9eea8dp-1
+0x1.262c4237b3aa2p-4
+0x1.24f1f0887a167p-1
+0x1.bc7813a548ecbp-1
+0x1.dd3682e648173p-1
+0x1.1a8247328b1eep-3
+-0x1.461fb55f0c643p-1
+0x1.e89a03c027e50p-1
+-0x1.6445d488fb56fp-1
+-0x1.f30720b9f9272p-1
+0x1.10fef55d9e170p-1
+-0x1.7e6e516a67284p-2
+0x1.803b652c34127p-4
+0x1.23e746d6a07b5p-1
+-0x1.9b0893a2dbf31p-1
+0x1.df6b52d932cacp-1
+0x1.eba142e0d30f9p-1
+0x1.e207a62a59fcfp-1
+-0x1.f59ff5ac905bep-1
+-0x1.2252f1f145275p-1
+0x1.e99bb7a320afdp-1
+0x1.528a81b8c8b43p-25
+0x1.66e7a5c93cffdp-9
+0x1.d8a270540bc22p-1
+-0x1.8d0303f6f1f62p-3
+-0x1.032112989c73fp-1
+0x1.edd9f404d15d9p-1
+-0x1.d8e2928b59a29p-1
+0x1.e9fbd325bdd05p-1
+-0x1.f6c115f45ea83p-1
+0x1.9dbc024e5215bp-1
+0x1.ea052157d8d3dp-1
+0x1.e97b1034a0d7cp-1
+-0x1.3868c3fb4119cp-3
+-0x1.6547c3be6a0acp-3
+-0x1.f0f7210f0ebc5p-1
+0x1.dbd1b3d836677p-1
+-0x1.87ba7548c0c70p-1
+0x1.f32ba685b010ap-2
+-0x1.5707a4571ae80p-19
+-0x1.190106b7f25c8p-3
+0x1.b1b2b37a33650p-6
+0x1.b7da5623c2a54p-1
+0x1.a12f204462a9dp-1
+-0x1.8e33904e6f50ep-3
+0x1.bac7d494af41dp-1
+-0x1.5bd7769cc02b9p-6
+0x1.e2549512a7f87p-1
+0x1.a34fb7f76f669p-1
+-0x1.fc4f82b958521p-3
+0x1.f03885d69275dp-1
+0x1.93c937306bc8dp-1
+0x1.ef66f0124ea6fp-1
+0x1.8683e2fd856ebp-1
+-0x1.00e2e49d1662bp-1
+-0x1.240eb5bacc34ap-15
+0x1.f782b34dadcd6p-1
+0x1.685494fdc570dp-16
+0x1.f6f324645f159p-2
+0x1.f1fc5526b9729p-1
+0x1.941db204468a9p-1
+-0x1.fb8797543c4b1p-1
+-0x1.f19ce1482169bp-1
+-0x1.e83cf6df11013p-1
+0x1.ec0474051022dp-1
+0x1.9b0074ea40e80p-1
+-0x1.b110618fb5339p-1
+0x1.e310d4b197c1dp-1
+0x1.3e4a143f9f023p-1
+-0x1.c3dc834396667p-24
+0x1.72d485fe0970ap-2
+-0x1.4792b4bea367fp-3
+-0x1.fb6f90001c47fp-1
+-0x1.563f503456ca4p-6
+0x1.f49c77ef6eec4p-1
+-0x1.f3f604ec44843p-1
+0x1.e5b073ba13507p-1
+0x1.dfcd37b56a082p-1
+-0x1.ec7c15c1bc9b7p-1
+-0x1.f3e33346bb4dfp-1
+-0x1.70bea3753575bp-1
+0x1.0ad654e7bcdb2p-1
+0x1.d84772ae3d0c8p-1
+0x1.db9382f54f801p-1
+-0x1.3a0d506141a45p-5
+0x1.decef09b22fd6p-1
+0x1.e990941dd115ap-1
+-0x1.4ac55461df70ep-1
+0x1.caba758c29af2p-1
+0x1.e8b807c00d6bcp-1
+0x1.fadb16bea03d0p-1
+0x1.7b8f62c69b8a2p-13
+0x1.db1814c6b7c5cp-1
+0x1.d8a437361ed5ep-1
+0x1.f044936247105p-1
+-0x1.f29923dbc3facp-1
+0x1.ede3135347315p-1
+0x1.ecb6a131593d5p-1
+0x1.69be27f5085c2p-2
+0x1.d87e91b7e07b7p-1
+0x1.3e1573b76d74cp-13
+-0x1.7110638b16bc4p-1
+-0x1.2b60914429455p-2
+-0x1.45e0c3984738ap-3
+0x1.042141ca2ed6cp-18
+0x1.384f45b294648p-1
+0x1.feba34573e769p-1
+-0x1.ea047532c3043p-1
+0x1.fbe731d9f7db8p-1
+0x1.b7b916674f33fp-1
+0x1.fb43d2c826ee8p-1
+0x1.df7c8777dba5ap-1
+0x1.ed5ea12bfef39p-1
+-0x1.638ad761f476ap-1
+0x1.fc4bf5179e5d6p-1
+0x1.e3b6708ecfee8p-1
+0x1.dbce065bbf8a3p-1
+0x1.7ce703c2bf2a6p-1
+-0x1.ea19b32b1c2dfp-1
+-0x1.fa1886281c79bp-1
+0x1.40057632df635p-3
+0x1.be3342c4dacb3p-1
+0x1.e20274fe208a9p-1
+-0x1.e15a87fb65354p-1
+0x1.f9c7e2ecd680bp-13
+0x1.e3c93361c3a97p-1
+0x1.f0aa055bc4ec5p-1
+0x1.1d7f011b0caa7p-1
+0x1.27ef5716d9743p-1
+0x1.0109b001e0b16p-1
+0x1.06fcb4f915884p-1
+0x1.d912e662c11fdp-1
+0x1.f459c0e5d6307p-1
+0x1.33b182a9dd437p-7
+0x1.f050a642bbd28p-1
+0x1.67dd05510a128p-1
+0x1.f508c0df81a84p-1
+0x1.dc24f6d5d88e9p-1
+-0x1.1de410116c6abp-3
+-0x1.ce8021cd33ff0p-20
+-0x1.df8e14d8335ccp-1
+-0x1.d944534af1d02p-1
+-0x1.7a7641865ee08p-1
+0x1.0a79566e358dcp-2
+0x1.e1ddb24870183p-1
+0x1.0be5106302396p-1
+0x1.e84a706f6d265p-1
+-0x1.fb54f05a586f3p-1
+0x1.d7f7810bbad7cp-1
+-0x1.e911418959876p-1
+-0x1.eef2e7388b0b8p-1
+-0x1.096cd55dea973p-2
+0x1.e3edc46730656p-1
+0x1.1f999553c9965p-1
+0x1.53bff03662b79p-1
+0x1.cc4591ffd8c8fp-1
+0x1.32edf494b513fp-1
+0x1.f92963d71b0a5p-1
+0x1.ca73a41b238a2p-1
+0x1.a08fc5e1724bfp-1
+0x1.3e603689d203ap-1
+-0x1.995221a7cd650p-1
+0x1.dee8b256137cdp-1
+-0x1.053fb553b89f8p-1
+-0x1.496161b184764p-1
+0x1.eb38128f82439p-1
+-0x1.f613a094bcd5bp-1
+0x1.d97577265ac94p-1
+0x1.b2613742a87f2p-1
+-0x1.9ae634697f924p-2
+-0x1.fc2075806621dp-1
+0x1.e0a975f696bc8p-2
+0x1.f6f6b7b5834b8p-1
+-0x1.fe1f228d0b462p-1
+0x1.f70a91841af44p-1
+0x1.e2f9c07852f70p-1
+0x1.7273722e70f48p-2
+0x1.db9c019d4ecbbp-11
+-0x1.59ab151c1482cp-1
+-0x1.c2a3b1d7f7890p-1
+0x1.e700830d53942p-1
+0x1.6324a18a48715p-1
+-0x1.f8d06493cf734p-1
+0x1.f80b9422bce4ap-6
+-0x1.23b475322f69dp-9
+0x1.25489233b69fep-3
+0x1.a305e63ca5b92p-1
+-0x1.ff6614d7db93dp-1
+0x1.52b3468ba247fp-19
+0x1.f631f6454296ap-1
+-0x1.0ccec227b1aa8p-1
+0x1.1c0a50f58ee7ep-1
+0x1.eb1881275a5fap-1
+0x1.e5a3c6b686c17p-1
+-0x1.5abd34f01cc55p-25
+# acos multiple precision fallback.
+# Implemented in __cos32 in sysdeps/ieee754/dbl-64/sincos32.c
+## name: slow
+0x1.91744378d312fp-25
+0x1.e31933dfcae5ep-6
+0x1.560a94c69898dp-28
+0x1.4ede34c4c5b9cp-39
+-0x1.b5caf13967673p-28
+-0x1.d242039676722p-32
diff -urN glibc-2.17-c758a686/benchtests/asinh-inputs glibc-2.17-c758a686/benchtests/asinh-inputs
--- glibc-2.17-c758a686/benchtests/asinh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/asinh-inputs 2015-06-20 21:22:16.295458166 -0400
@@ -0,0 +1,303 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.408fb643484cep-11
+0x1.f0763423f1d52p-23
+-0x1.681573418e494p4
+-0x1.87cc25833f74bp16
+-0x1.ad3df5eb7db54p24
+0x1.90f147b3d0164p829
+-0x1.60b1066c6712ep71
+-0x1.5997c27aac9ccp332
+-0x1.2cb3142c669a0p15
+-0x1.ec882168157e6p191
+0x1.43a1d0e6eae29p109
+-0x1.2b43c388e1857p672
+0x1.f11c07e219bafp7
+0x1.f5efb379e3b3fp952
+-0x1.405cf322b684cp-13
+-0x1.fa64c4090d337p43
+0x1.a98724f016a93p-13
+-0x1.5743f3604a7fbp10
+0x1.042971d37879bp-17
+0x1.d4cda5814c00fp-2
+0x1.ec1e878f29cf8p97
+-0x1.6a4cd37896c5fp-24
+0x1.da85d34b19160p-10
+0x1.c068c277d171fp-17
+-0x1.b3e2d1ead4160p-1
+-0x1.ac8a62deb27c3p521
+-0x1.e28e32ce20a25p-1
+-0x1.e70635022c5fdp315
+0x1.984146d8a6c69p20
+-0x1.67cf155405aadp747
+-0x1.a852444a7de0ep-23
+0x1.92e4800542f83p108
+-0x1.564ba0e9ad540p-7
+0x1.c36c11c290063p20
+0x1.4723d5459434cp-26
+-0x1.43c1535cd024bp-11
+0x1.6d46e7252da2fp388
+0x1.756f2685e9ca9p-26
+-0x1.72268726f4141p22
+0x1.558480e0da8bdp15
+0x1.ef0970332ed6fp-3
+0x1.2015764e98ea6p481
+-0x1.3a0f66a229b60p871
+-0x1.c833f28187420p-25
+-0x1.a0ea74513cffbp778
+-0x1.d2dde734625d1p13
+-0x1.996507c01ea97p25
+0x1.d36f165b63b8fp880
+0x1.445234d59e32bp-2
+0x1.cd74423b4c4aep15
+-0x1.c0b6631621425p-1
+0x1.a2e0f00779702p-25
+-0x1.fcf5c0266c2f2p-22
+-0x1.af38a56120728p-21
+-0x1.9ec217ea497dap1
+0x1.57a000ceee049p800
+0x1.6c1b6312efacfp783
+0x1.afb5c0c4f933ap6
+-0x1.f9267499e3327p16
+-0x1.9b5ba5b496ae5p10
+0x1.3975f02686229p10
+0x1.36b913a68fe70p901
+0x1.8946b691ecf5ap10
+-0x1.efbb62a588bccp24
+0x1.f3de8628048d9p-8
+0x1.8ec222d562aa9p25
+-0x1.ac03e6a0d863cp22
+-0x1.6d9d94c1e0b6fp23
+0x1.9807337060f87p-10
+0x1.0f8045a313158p26
+0x1.fe8cd64528951p-16
+-0x1.51c184460cfafp-26
+-0x1.74b0f442763c7p20
+-0x1.d30da53c93e10p18
+0x1.749735f182597p15
+0x1.253da08c9c318p144
+-0x1.2714417156ae3p693
+-0x1.189320570f30bp26
+-0x1.a2e120ac12626p756
+0x1.ce724582eabcfp-24
+0x1.30dcf0414c561p292
+-0x1.1a1790d8a72d1p452
+0x1.3242254b631b3p-26
+-0x1.b5890305f1b78p11
+0x1.019a86d2e2300p18
+0x1.0e9cc39a3bff8p-14
+0x1.bc8ff7e59e82ep18
+-0x1.235a45afa3842p25
+0x1.0b2c87979b28cp23
+0x1.c717951ecf869p-9
+0x1.daff104bb08a5p25
+-0x1.b14b119b47d4ep5
+0x1.6e8a94f758a02p802
+0x1.7788055510c4dp23
+0x1.6120d7e4e5d9ep498
+0x1.1154e15c2c284p-24
+0x1.eb28429726661p423
+-0x1.b9faa23669003p9
+-0x1.a615746664b00p339
+-0x1.835384e92d59cp56
+0x1.1fb4b0fe36aacp-3
+-0x1.e440c3183f046p-19
+-0x1.1e714012cae50p22
+-0x1.1821b0014d9cep-16
+-0x1.5de4c1e0a1bfep-24
+-0x1.c1e5c78840e91p25
+0x1.f0b1d4cd82236p18
+-0x1.450ff3ad26e5bp984
+0x1.23438314fb10bp0
+-0x1.82be43e413126p14
+-0x1.5c70206fd22f7p628
+0x1.7e213160ec541p-15
+0x1.5487358228cedp-14
+0x1.4a163440f7c98p4
+0x1.ad443265c6b4ap845
+-0x1.732c509382338p-2
+0x1.929ba224e2240p-17
+0x1.a026b0485c0e8p12
+-0x1.fa4e77f1b2343p-12
+-0x1.3a2ac1c73ae50p5
+0x1.0c4a80d41a2f7p-20
+-0x1.1c57b37023dcep150
+-0x1.2c1b509030e5dp26
+-0x1.c7cdd089827cdp-26
+0x1.3d88b121650aap8
+-0x1.1583f2a9d2d5dp618
+0x1.295d65809666fp111
+-0x1.3dc8c1a73f146p-3
+-0x1.4dc715a6ae290p999
+-0x1.3808360307701p464
+-0x1.adf4158880f7bp2
+-0x1.3913104f0eea6p-16
+0x1.8c91558dbd886p-2
+-0x1.d67f73ef2736ap11
+0x1.218c0592aa7fcp95
+0x1.4c1e32e79005dp7
+0x1.395461c5f96a6p5
+-0x1.a311a7fbb5afap-12
+0x1.f07b95fd415ccp9
+-0x1.08745233a4ce8p-13
+0x1.38f122e7f7be0p220
+0x1.8c9c967e8e99ap-5
+-0x1.3353e4fc6b002p987
+0x1.945a20aa092e2p4
+0x1.a7a935f93958ap22
+-0x1.946865aa1c43cp-20
+0x1.001d955d8a436p344
+-0x1.5146c4a1225eep-22
+0x1.ffab14f637eaap733
+-0x1.3d50819d9de92p-8
+0x1.84a7b4b80f227p4
+0x1.73af93193478dp-6
+0x1.3ac9b75c613bdp160
+0x1.dafd9764a705fp13
+0x1.91bc310a7648ep243
+-0x1.531fa4a4bac3ap713
+0x1.95c32605e6c59p20
+-0x1.012141d71b636p-2
+-0x1.eb4540a49b927p20
+0x1.9c4716594b306p-24
+-0x1.242df1aa8bf7ep642
+-0x1.2d1fc7cf19d2ap-27
+0x1.161fd6fd320d5p745
+-0x1.3aaa34f975620p811
+0x1.9e11325b1c3c4p22
+-0x1.a838b07a6641ap5
+0x1.8b1a0407ae636p7
+-0x1.eb717004808e1p469
+-0x1.d166757807df4p-6
+0x1.2a57014d8c24bp317
+-0x1.5ea093bc15910p468
+-0x1.2545b7ec8b35fp-3
+-0x1.e47ca00d1f14ep929
+0x1.af09542db1b29p-18
+-0x1.8d4bc4f005536p6
+-0x1.8d564435d4d3fp-9
+0x1.993a6363227e2p12
+0x1.bec162f84a16cp13
+0x1.f0a22293c4ecbp852
+0x1.9eb0b40303dcap843
+-0x1.0cdae1dc93ed0p22
+0x1.21efa25110e19p12
+-0x1.cf1531a43c397p144
+-0x1.a043f6a911bdep-16
+0x1.816c4063e718ap-15
+0x1.e23b95950e47dp-21
+0x1.a0830483382afp2
+-0x1.52e49239a95d4p957
+0x1.f73a3049f9d76p16
+-0x1.1304063a4fbe5p316
+0x1.f5b95104bb64dp320
+0x1.661d765a50087p13
+0x1.7bb5671e2bfcap719
+0x1.3e14e736580b3p-20
+-0x1.11340035e5609p-25
+0x1.c4d527df0d553p762
+-0x1.731bc7cf3026ap7
+-0x1.079c1776f403fp965
+0x1.e6879000598aep-28
+-0x1.d3bee1e831937p25
+0x1.c3b5f0096df0dp24
+0x1.667d70b10ce7ep-6
+0x1.c780d2406b7d1p-26
+-0x1.df8fd3fe95d12p27
+0x1.89494217ed887p204
+-0x1.ea94d70c825d3p764
+-0x1.04366739a80cbp11
+0x1.75f1269063e4dp5
+0x1.0a46e3262c2b8p20
+-0x1.92c337d25b414p-4
+0x1.5c2cb3414299cp154
+0x1.07f7c34023735p881
+0x1.c64b8297569c4p207
+0x1.13f4d3bbd6417p8
+0x1.bde9c42ffd9ecp-15
+0x1.9e07054aa7309p743
+-0x1.dd8c11c0073a4p-16
+-0x1.e04d9283ac8d4p20
+-0x1.c0f2e29b30840p10
+0x1.55a4c648ebcc2p378
+-0x1.7b0c92c6d8687p658
+-0x1.ed8bb5ef46109p24
+0x1.5cc2904baa4d2p-18
+-0x1.b688c6944fa1dp-3
+-0x1.2330768204f78p754
+0x1.650441a7059bdp554
+-0x1.0d1c66b57d36bp493
+-0x1.54e35714807acp368
+-0x1.6165d7bebf894p776
+0x1.7e0ba7c987b9ep7
+0x1.d139574e3913ep168
+-0x1.40cc4145ea64ep19
+0x1.0db7e5339af44p-8
+-0x1.87410240fe22cp-9
+-0x1.d0f46605d4a27p18
+0x1.d1e8b19cca04dp-19
+0x1.979981827668ap-21
+0x1.2576745f4cca6p22
+-0x1.1f02e2c0c288dp14
+-0x1.77bab17202acap-13
+0x1.25c5071d2dc6ep8
+-0x1.306185b351fdap26
+-0x1.ad6e853661ee0p587
+0x1.f389b34d6b10fp-13
+0x1.08fa931bd21f5p10
+-0x1.b65bf00b921e8p-24
+-0x1.cbb5f173385aep82
+0x1.a32cd47340669p2
+-0x1.a83fd05f605e6p-25
+0x1.8184a3fcc1ac3p942
+0x1.61c9644526617p809
+0x1.b12c01289b0c4p15
+-0x1.16a4a50f1192bp-17
+-0x1.5658b26bd2888p-9
+-0x1.8c5563528e33bp-14
+-0x1.fd7e32bd8a9adp-23
+-0x1.1106a6a425747p-18
+0x1.98109155dd7bfp21
+0x1.dbd635362ec6bp6
+0x1.4a1600b2e95dbp880
+-0x1.2fd6819d3d81cp361
+-0x1.28f5b629029b5p12
+0x1.64c6a3d5a0867p304
+0x1.97ae606371057p22
+-0x1.d61a76409f8f9p-25
+0x1.a4c67223582ffp-27
+0x1.b569919b79b6fp214
+0x1.1bf0416ef51a4p-28
+-0x1.1b9502079e873p-25
+-0x1.a94006dd19303p355
+-0x1.78bd67abffa91p20
+0x1.96d320a0153bap383
+0x1.f82770adf361dp19
+0x1.ee0725a2dbe84p-28
+0x1.93d4c19692fbfp80
+0x1.d69c251aa0003p-3
+-0x1.36c310f2a5894p-26
+-0x1.7bbce527b5784p19
+0x1.5a90f2032fb5ap-14
+-0x1.194fe079c05eep1002
+0x1.2e9a406645b9bp609
+-0x1.c566e4a419660p-14
+0x1.f917868895288p872
+0x1.a966a17972ca9p601
+-0x1.6d5eb4970b882p-20
+0x1.c1a0d0ee96f75p27
+0x1.958fd1185d839p-24
+-0x1.c738b5fffeeb2p4
+0x1.91bf33cdb6804p710
+-0x1.66e0a7e4034dbp224
+-0x1.dd6e42f5992c4p667
+-0x1.6e17000848200p951
+-0x1.f625958e05264p-1
+-0x1.63e025fbcdcacp442
+0x1.c5fb927d2cb09p8
+-0x1.d7e514672b2ddp987
+0x1.0eec25d2a59ccp27
+0x1.342f35eabf622p707
+-0x1.6ffad140301c8p609
+-0x1.5b10b0ca4ea9dp-21
diff -urN glibc-2.17-c758a686/benchtests/asin-inputs glibc-2.17-c758a686/benchtests/asin-inputs
--- glibc-2.17-c758a686/benchtests/asin-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/asin-inputs 2015-06-20 21:22:16.296458135 -0400
@@ -0,0 +1,2511 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.350fc6069df8ap-1
+-0x1.eee2112c4876bp-1
+-0x1.236b62ec50852p-1
+0x1.edc5c63489e51p-1
+-0x1.fd62800520adfp-1
+0x1.d475f0f7403afp-1
+0x1.e90832724b53cp-1
+0x1.f609c0391a573p-14
+-0x1.feea04702b990p-1
+0x1.e8d6535b0d1c2p-1
+-0x1.9c7115f5fa7edp-23
+0x1.08d826c7ee854p-1
+0x1.e8e045abf094fp-1
+-0x1.5278029b07e33p-3
+-0x1.ea9383079d41fp-1
+-0x1.f4e3046089560p-1
+-0x1.fb398088adb40p-1
+-0x1.3e3c739c48dc4p-1
+0x1.7817337fddb7bp-3
+0x1.7dd391d9fc392p-3
+0x1.41afe6440736cp-1
+0x1.bfb881b8085a3p-1
+-0x1.e6707556b55cdp-1
+0x1.db3e67625fe65p-1
+-0x1.1bbd53433ed31p-1
+0x1.6188f44707072p-1
+-0x1.75a356a8a9292p-5
+-0x1.ddb0166dd02a0p-1
+0x1.e50b5048cb701p-1
+-0x1.f8ad822c7b0e3p-1
+0x1.9800b2fed7f04p-1
+0x1.b1dc245081b6cp-1
+-0x1.f72481a2b0f3ap-1
+0x1.597d37e0d6f70p-21
+0x1.ef40e79b3e65ap-1
+-0x1.5ba123fb3ff91p-1
+0x1.45bfc165da8f7p-1
+0x1.ccac70b0bde88p-1
+-0x1.f41a414f7827cp-1
+0x1.9b875417727f6p-1
+-0x1.c62a454b8d40bp-1
+-0x1.e0a141c4f0b16p-1
+0x1.4264601195208p-2
+-0x1.46119179eb783p-1
+-0x1.dfc3024659454p-1
+-0x1.e14ee796afcc8p-1
+-0x1.e99e96ab82107p-1
+0x1.e234b67ec84f9p-1
+0x1.d53303c005425p-16
+0x1.ed5b0764a14a2p-1
+0x1.b5e0c3ea9c8e9p-1
+-0x1.db7d6214c24c6p-1
+0x1.85d832f631a51p-2
+-0x1.0be2d5dd39df0p-2
+-0x1.9ba4068536d4ep-1
+0x1.e3b6708ecfee8p-1
+0x1.f81a9367f49ecp-1
+-0x1.e4347223f7a7bp-1
+0x1.a8d8b60a820e6p-2
+-0x1.ec157180be1bdp-1
+-0x1.eb95b087e8c43p-1
+-0x1.6bdd166779c0bp-1
+0x1.8bb3345d66b47p-1
+-0x1.e02f643898ecap-1
+-0x1.ab494400a4aabp-1
+-0x1.01f7d442b79e4p-3
+0x1.ea5ab67fbbf14p-1
+0x1.f603237a71369p-3
+0x1.f4a57127c7a0cp-1
+0x1.69a0a717bd007p-2
+-0x1.64fb05d3406f4p-1
+-0x1.a6a73323151a3p-1
+-0x1.22fcf3cc1a298p-1
+-0x1.d166868f2b02fp-3
+0x1.350857bbe150fp-3
+0x1.ea03400cda450p-1
+0x1.934551bfdd4f7p-1
+0x1.a1bf13ff7e529p-1
+0x1.40e3e60b110dcp-1
+0x1.ebf2d1787c1b0p-1
+0x1.bf44e6858ccc2p-1
+0x1.efb2212f852c5p-1
+0x1.e4bcf61e9db8ep-1
+-0x1.f67e4278236dbp-1
+0x1.72e2e6f704395p-8
+0x1.eb18e737043a5p-1
+0x1.c11e3263f847dp-19
+0x1.6c8dc764c7ce3p-1
+0x1.3a30f3a82e677p-2
+0x1.5d3554f6157efp-3
+0x1.d7e135698a916p-16
+-0x1.9a0b900abb552p-1
+-0x1.db02f20dbc26bp-13
+0x1.dbf69357aebd4p-1
+0x1.1c15c1b6076dbp-1
+-0x1.98e8e522e4a82p-23
+-0x1.60da4694b88e1p-1
+-0x1.e82085e53dbf0p-1
+-0x1.0cce4159c974dp-1
+-0x1.edebc49f4f3bcp-1
+-0x1.d5d0b54aec8f3p-3
+-0x1.b6c7247c84ca1p-2
+0x1.566d76162c4a2p-1
+0x1.1f8126af6a5eep-1
+-0x1.4042c01dfeb13p-1
+0x1.3745936ce6406p-2
+0x1.e845447d64568p-1
+0x1.e9e5d6a4f999ep-1
+-0x1.881fb480c1717p-2
+-0x1.632ec650a0086p-1
+0x1.ea79105af3018p-1
+-0x1.e87f8637d44ffp-1
+0x1.2038f78b9bcc0p-2
+0x1.888731b818bb9p-1
+0x1.247cb5abaf830p-1
+0x1.71d2a5d08bb38p-3
+-0x1.30f5d4f0d5da3p-1
+0x1.e8eee13ebc573p-1
+0x1.35a443a6ef606p-22
+0x1.1f4110dbc1d7cp-1
+0x1.ab85b5da29994p-1
+-0x1.080f952236c35p-1
+-0x1.2b5b02e6cc1b2p-3
+0x1.ac830678d8c8ep-4
+0x1.0ba5029d5c201p-1
+-0x1.2b3e149bb0426p-2
+0x1.eaa744fd96fbap-1
+-0x1.ebf5435363845p-1
+-0x1.f47ea66f3af8ap-19
+0x1.e9c7d49d082bfp-1
+0x1.ea64823156f61p-1
+0x1.ea9222fcef492p-1
+-0x1.38ca90ff41214p-3
+0x1.98b000eb73a71p-1
+-0x1.3fb91174bf8cep-1
+0x1.6831750c7d576p-8
+-0x1.e6c711f8a07a2p-1
+-0x1.e10a8025fd5c2p-1
+0x1.df7c8777dba5ap-1
+-0x1.6c92c2bf14b20p-11
+0x1.c2b9937c51413p-10
+0x1.ed9a717edd7eap-1
+0x1.26cb23fb114cep-3
+0x1.a1dd30e8d133ap-1
+-0x1.596e3118407aap-1
+-0x1.815f557e4dd72p-1
+0x1.91d3b66fca3a2p-1
+0x1.aee2069bb58c2p-1
+0x1.410da160d3759p-6
+-0x1.efd3965c7e5acp-1
+0x1.ebcc105c3c99dp-1
+0x1.f9c7e2ecd680bp-13
+-0x1.0d0876f871020p-1
+-0x1.1cb73699e8924p-1
+-0x1.f33b17f4530b4p-1
+-0x1.cd90d53a85604p-24
+-0x1.e7b7065c2a56bp-1
+0x1.4325b7a1b9323p-2
+-0x1.3007019386da4p-5
+-0x1.2afe01c77967ap-13
+-0x1.dd2f071cce027p-1
+0x1.79dbd61da7b2fp-3
+0x1.90a0030825b71p-1
+-0x1.3b898257384cap-1
+-0x1.5c13731da33bap-2
+-0x1.df2c8655fc70dp-1
+0x1.1dbe97dccb13ap-24
+-0x1.fad96389524bfp-1
+0x1.ddccc6b661857p-2
+-0x1.fb6fb5159af3ep-1
+0x1.d94283b31661cp-1
+-0x1.a08b373392dc9p-1
+0x1.bb7ec42dcb619p-2
+-0x1.f450159e992b8p-1
+0x1.6959f4fae20f8p-24
+0x1.36f464d433610p-1
+-0x1.c2cc227b47f2bp-1
+-0x1.3eb9f3e9ab4fep-1
+0x1.655d872a08e7bp-1
+0x1.426bd7fd10932p-1
+-0x1.bd54d6b8bf754p-25
+-0x1.ca48c150acb42p-1
+0x1.fba5275cb7d91p-1
+-0x1.de01b625f1851p-3
+0x1.ed715043085c5p-1
+-0x1.e4bed6f91c84bp-1
+-0x1.0c6132d48b23ap-1
+-0x1.8740844edfccfp-1
+-0x1.f5ea24dfceaccp-1
+-0x1.4e1ea0cb718b9p-10
+-0x1.e2e3f55bb23a1p-1
+-0x1.ef8592238558ap-1
+0x1.ba09c237c2a98p-1
+-0x1.1c02e1ae8e614p-3
+-0x1.e3480667a3c1dp-1
+0x1.e098e320da0bap-1
+-0x1.020e63d1fb6b3p-10
+0x1.156314d8b8b9ep-1
+-0x1.a6d562a0b9b68p-1
+-0x1.a556923b876e4p-1
+-0x1.005624a6a1606p-2
+-0x1.4515b4c2b21dap-1
+-0x1.00882585a29eep-1
+-0x1.4e97477367b64p-1
+0x1.e56aa246ff0e4p-2
+0x1.f69774c91b3a3p-1
+-0x1.edbeb6d147be3p-1
+-0x1.d044d435326e6p-1
+0x1.9dd6d688e8b6ap-1
+0x1.8832042b08d37p-1
+-0x1.e755f3286db4ap-1
+-0x1.7741b1eae9cc5p-1
+-0x1.ec4f82e92c41cp-1
+0x1.c470754b52d70p-3
+-0x1.cdf6e43174ac0p-3
+0x1.b54d76dc019edp-1
+0x1.de1511c382622p-1
+-0x1.1b6bb0f6cd48dp-1
+0x1.f8f3a7b3d26dbp-10
+-0x1.e8a697e00810dp-1
+0x1.029cb182129c5p-1
+-0x1.82fb23737c09ap-1
+-0x1.ba3f8283bda3cp-1
+0x1.32ef66d1351e1p-1
+-0x1.ff0942c4470a9p-1
+0x1.e861824f0b0c5p-1
+0x1.0ad654e7bcdb2p-1
+0x1.94bf67e731b1dp-21
+-0x1.ce92262e12415p-3
+-0x1.b11a761584f00p-1
+-0x1.ee0375698a186p-1
+0x1.72968114620fbp-3
+0x1.38a8e30dd439dp-2
+0x1.ef7a104666151p-1
+0x1.1b8030b9ef132p-1
+0x1.e52ab2d0668d7p-1
+-0x1.00e2e49d1662bp-1
+0x1.7aa0818bb671bp-23
+-0x1.ecf921278c665p-1
+0x1.e53b304fb4d06p-3
+0x1.3748859f74cebp-1
+-0x1.e96cd6cb3a5dap-1
+-0x1.eadbe1b00f3bap-1
+0x1.34b8b20a231ebp-1
+-0x1.a133128a2cac6p-1
+0x1.f0ffe198f98f8p-3
+-0x1.a978c66c2b77ep-21
+0x1.e0afd4eddd684p-1
+-0x1.eb3b238d0737ap-1
+-0x1.e514d20443604p-1
+-0x1.9d64d47733225p-3
+-0x1.e589d06cb88d4p-1
+-0x1.360155ce19621p-1
+0x1.db3d40b252ac3p-1
+0x1.1fbe750678f55p-1
+0x1.033e6517daa6fp-5
+-0x1.ed55067dcc2e0p-2
+0x1.df2253bc59523p-23
+-0x1.879d741b2c118p-23
+0x1.b47fc608b2e66p-1
+0x1.d74ca166c7f3bp-1
+0x1.f5f1256f888b1p-1
+-0x1.e06af0ec49382p-14
+-0x1.e97461cc47dabp-1
+-0x1.e6fe5447590afp-1
+-0x1.e86c3331f93a8p-1
+-0x1.aacae317ef936p-1
+0x1.b41644690944cp-1
+-0x1.8209c34d990bap-1
+0x1.712d01d18f1acp-1
+0x1.ed0c5662218c3p-1
+0x1.90d8e69b9ce07p-1
+-0x1.a7b9e784d9434p-16
+0x1.f91c375372b6fp-1
+-0x1.bf83e21f654b3p-1
+-0x1.e38cc36ff8c63p-1
+-0x1.842b3414ac978p-1
+0x1.161e221d66041p-2
+-0x1.e9a1529dfa710p-1
+0x1.164f53c3dbd36p-1
+-0x1.e2a192784167ap-1
+0x1.d2f31136d5558p-1
+-0x1.0cad003c37274p-22
+-0x1.e402a7e83b556p-1
+0x1.d0ee108472a16p-1
+-0x1.0eb530c4ce24ap-13
+-0x1.ef29f4bd04e93p-1
+0x1.dc65a4f6e740cp-1
+-0x1.97d975a6ad4f1p-1
+-0x1.b427d0ab69502p-2
+-0x1.f84bc3e23afa0p-1
+-0x1.eada1177b2a78p-1
+0x1.f9f556f848f73p-1
+0x1.5da9b1ed0a67dp-2
+-0x1.b09c16fdb0e04p-1
+0x1.8099017d801c4p-1
+-0x1.86a880766a1c9p-1
+-0x1.303886d1999d3p-2
+-0x1.3b32d4601049dp-2
+0x1.9af5d2ec8ebd9p-1
+0x1.7b7961500158ap-3
+-0x1.850fc657a7c8dp-1
+-0x1.679055ba9585fp-2
+-0x1.a334d05fa6dd2p-1
+0x1.54edc38ae367fp-1
+-0x1.149aa666c3c46p-2
+0x1.db29728be3d13p-1
+0x1.ef2d366fb9622p-1
+0x1.85d2c6d29e956p-1
+0x1.6cc7155575699p-2
+-0x1.070fb3b78d7bap-13
+0x1.b996c3cc0af1dp-1
+-0x1.ecd953aeda13ap-1
+0x1.4b4da5a783ab2p-1
+-0x1.da0f94397e1efp-1
+-0x1.eebfe7785b810p-1
+0x1.bbbd81413465ap-2
+-0x1.db37b245824d8p-2
+0x1.b18707b322819p-6
+-0x1.63aaf1836f8f5p-4
+-0x1.73b5c0ef358ffp-1
+-0x1.f3f5449170a5dp-1
+0x1.679742e395bb2p-3
+0x1.0f5d16ce3edabp-12
+0x1.6868a3065fa6ap-1
+0x1.e09861e83936cp-1
+0x1.426c2703c1edbp-2
+-0x1.784ef6124eac0p-10
+0x1.f4da573b55ec2p-1
+-0x1.1250820739879p-1
+-0x1.926f219c2ebc7p-1
+-0x1.b03cb5319aa16p-1
+-0x1.432597af65dc0p-1
+0x1.f2ef13107c805p-1
+-0x1.debb0319481e9p-1
+-0x1.e6c9b767c2e47p-1
+-0x1.1cfef6b1b5391p-3
+0x1.a3495200a739dp-1
+0x1.bb7d031207cbcp-1
+-0x1.a1e1472875de1p-1
+-0x1.fef5368baa990p-1
+-0x1.ffa8a2b9fe667p-2
+-0x1.db17773676353p-1
+-0x1.7744f61c58e3dp-2
+0x1.94efe0d3de07ep-2
+0x1.d28cd2f0b7253p-1
+0x1.71ec10c132d7dp-1
+0x1.eec3c508f7debp-1
+-0x1.84c3358f28de2p-1
+-0x1.e88bb44ebcca7p-1
+0x1.c8dfe2e844f26p-1
+-0x1.5764f1562f46cp-1
+0x1.dd7fc52e06795p-1
+0x1.ead0e0dd735c1p-2
+-0x1.d9c472df196e8p-1
+0x1.47397541dfafap-1
+-0x1.efe2c7ae66583p-1
+0x1.f39bc1d029169p-1
+0x1.388e371209c65p-1
+-0x1.cf7594c4759eep-19
+0x1.93ba85eda890cp-2
+0x1.ef7e57c04e5e5p-21
+0x1.3a13625122b61p-1
+0x1.f03355e0191c2p-1
+-0x1.eaa0b7cbc4b05p-1
+0x1.dc64653df1bc8p-1
+-0x1.da0274b24d4e5p-1
+0x1.1ef635c892de4p-1
+0x1.7985928fa8ea5p-2
+0x1.e8af54cc7a4a1p-1
+-0x1.4ecfd3add4ca1p-1
+0x1.edae154f725f1p-1
+-0x1.f841c459354cfp-1
+0x1.640c203fbc506p-1
+0x1.e1334385061fbp-1
+-0x1.e4af910db6fb1p-1
+0x1.eef8e75eeff24p-1
+0x1.52b3468ba247fp-19
+-0x1.c3007317cdb73p-1
+0x1.793397c5de6cfp-1
+-0x1.56f0f40ef4f93p-5
+0x1.7137163d0b95cp-26
+0x1.d97632e6c0216p-1
+-0x1.58f200ed16778p-1
+-0x1.e333144686ce6p-1
+0x1.ecfff5d1ed4fcp-1
+-0x1.bbcb739c535d8p-3
+-0x1.b83b54ffc1ce3p-1
+-0x1.c5b4f73fa50c8p-25
+-0x1.f0dcf6647d4a6p-17
+-0x1.e2a0b2142f471p-1
+-0x1.6811368ab0abbp-1
+-0x1.dc98c564661f8p-2
+-0x1.51a64736cca11p-1
+0x1.a87ec3c5f01d2p-2
+-0x1.13c43714b5577p-4
+0x1.ecb79537e7c0bp-1
+0x1.8ad66704aa830p-1
+0x1.8b81a17344821p-3
+0x1.fbea24d5ecac7p-1
+-0x1.d5b456504afabp-1
+-0x1.68a3377a06206p-1
+-0x1.e52744bcbb1bfp-2
+0x1.968042aade389p-1
+0x1.e02467b79461bp-22
+-0x1.effa02c2a5b57p-1
+0x1.6148d164ff733p-3
+0x1.a257b5f59a887p-1
+-0x1.ecd6e096725c1p-1
+0x1.4dcd868b1c423p-1
+0x1.b518559ba2afep-1
+-0x1.fd36e5f6ae177p-17
+0x1.7ab1d7104d182p-18
+-0x1.a0b161ecebb24p-24
+0x1.eaef2277ad27bp-1
+0x1.5537a12ead14fp-1
+-0x1.a353d51793c9ep-1
+0x1.d974c464f7ce7p-1
+-0x1.e9d4a5abc7463p-1
+0x1.8dfc202611058p-8
+0x1.49c49777c6afcp-1
+0x1.f8be91c860c1ep-1
+-0x1.744184b2f352fp-3
+0x1.4f7741d4eac81p-1
+0x1.fbcca55ea9e6ap-1
+-0x1.e859d3e460e92p-1
+0x1.5d39a31f530ddp-3
+-0x1.99da728aaed87p-1
+-0x1.c773d52b04af3p-3
+-0x1.27fc667b6fe57p-2
+-0x1.ee4664ab8f311p-1
+-0x1.240eb5bacc34ap-15
+0x1.aab10790e80c0p-1
+-0x1.1c32437314611p-1
+-0x1.e3aae42688852p-1
+-0x1.2b97b6959b92ap-1
+-0x1.124df14d190d5p-22
+0x1.d29df3ade00f8p-21
+-0x1.e70102ffd26f4p-2
+0x1.c9846775a72c1p-3
+0x1.2ee67226d5529p-1
+-0x1.d84381008f610p-1
+0x1.fae6228180a55p-1
+-0x1.d1cb30475aba6p-1
+0x1.475825caac544p-3
+0x1.e2d180d75310fp-1
+0x1.8860226237168p-1
+-0x1.bdb8f33f2142bp-6
+-0x1.aecd11f1ad305p-1
+-0x1.50e857e4f8090p-1
+0x1.09a7b4c454c6ap-1
+0x1.33a1b5c1f5142p-2
+-0x1.d473c0c10260ap-1
+-0x1.e6bcc76ef1341p-8
+0x1.e9a025b19d4e7p-1
+-0x1.e61c564b19c20p-1
+0x1.b1c890371859cp-1
+-0x1.e9de02e7fa0f7p-1
+0x1.8eae41c2d6d3bp-1
+-0x1.a043635f96fd5p-1
+-0x1.18077176e1632p-24
+0x1.7063d30f52d4dp-1
+0x1.e82d46287af59p-1
+0x1.e77a63eb49c28p-1
+-0x1.2e923371f4df7p-1
+0x1.32f392b11aa13p-2
+0x1.cf48a104a230ap-1
+-0x1.ffb8054bd5bb2p-1
+0x1.d961a7444a368p-1
+-0x1.2908136966a6ep-1
+-0x1.e8e5f46caed20p-1
+-0x1.cca7367cafebcp-1
+0x1.8a7d3113e9871p-1
+-0x1.9c20d073da00dp-1
+0x1.685602f47ee38p-17
+0x1.dbe65032e6aafp-1
+0x1.e39cc443d68bep-1
+0x1.ef75b5fbc2038p-1
+0x1.6fd3f20dabcdep-3
+0x1.ef2e5742cbc3bp-1
+-0x1.a139a4f96363fp-1
+-0x1.f936e3257b29bp-1
+-0x1.e83e578b67404p-1
+0x1.809f14efba3abp-1
+0x1.ef0cc05585683p-1
+-0x1.e0ab6532e03e6p-1
+0x1.e825a4e96f86cp-1
+0x1.944c53b6fcba2p-24
+-0x1.eef7764fb6703p-1
+0x1.dbd546810ad04p-1
+-0x1.ed82202786af0p-1
+-0x1.e744b298a1822p-1
+-0x1.f66403b0db0f6p-1
+0x1.b823a13640780p-1
+-0x1.8fd743dba9526p-1
+-0x1.6ad6002662fadp-2
+0x1.af29d1ff6c1dap-2
+0x1.a40a30c84d9d2p-1
+-0x1.eef1466de9bbcp-1
+-0x1.ea451649dac69p-1
+-0x1.be12773f273cdp-10
+-0x1.2ea1f2cfba778p-22
+-0x1.ed2eb7554cecap-2
+0x1.5604a6ebad5aap-3
+-0x1.dcb4e5d23da48p-1
+-0x1.e0e2d4e18e11fp-1
+0x1.7cbf026e8d176p-1
+-0x1.e92df6fb8cb14p-1
+-0x1.e0f877f179d56p-1
+-0x1.0460742bc8cdbp-1
+0x1.f9c6e1a503f35p-1
+-0x1.de3ca0ef987b7p-1
+0x1.ee2a61e036810p-1
+0x1.eb29729cac7d4p-1
+-0x1.dc41f5d54e145p-1
+-0x1.ee27548fb036dp-1
+0x1.8676b01d07ce0p-1
+-0x1.9eb434f5e23dfp-10
+0x1.95688374a65cep-1
+0x1.d8b331ab26940p-1
+-0x1.ec5af0c2ccbc9p-1
+0x1.bca24367daca5p-3
+0x1.4c5f30d4e8c83p-1
+-0x1.990c52576b03bp-1
+0x1.279527d6f3123p-2
+0x1.e7d10654db7cfp-1
+0x1.afabd749d11aap-1
+-0x1.e54870e856fc8p-1
+-0x1.a9b6e450b1736p-3
+-0x1.e4b0c74cbee31p-1
+-0x1.77a9538ce58c8p-10
+0x1.aab3b79abd652p-22
+0x1.efdfd56aee773p-1
+0x1.1dfac77800264p-1
+-0x1.f5e7d3b5fa6b2p-1
+0x1.569077a89293cp-9
+-0x1.f086970443d28p-1
+-0x1.1e2b763ff1c1bp-16
+0x1.fa84d6fc1bfb4p-1
+0x1.fbf321159facbp-1
+-0x1.56f5410b90154p-15
+0x1.ec2962b60792cp-1
+0x1.82723136c1041p-1
+0x1.66ec3602d5c0ep-2
+0x1.6006c4b0268aap-1
+0x1.db8e205953140p-1
+-0x1.6f4ec45af7480p-1
+0x1.713b02f6a04eap-26
+-0x1.63b1454647238p-1
+-0x1.f2d2c4f587093p-1
+0x1.dbec93d39559cp-1
+0x1.f59e8219eeb3dp-2
+-0x1.973c3291c4d50p-1
+0x1.30a10510388bap-1
+0x1.f1f61783e79d0p-23
+-0x1.c101b1037e3f5p-1
+0x1.d257940a5137fp-3
+-0x1.f470523c426b8p-1
+0x1.0c37b2dba00aep-19
+-0x1.ebcbb7d352b98p-1
+-0x1.f45c0719f0ef0p-3
+-0x1.9fa667856a81ep-1
+-0x1.3706e59f06a0cp-1
+0x1.e87165a85bf00p-1
+0x1.d9f9e3d739f44p-1
+-0x1.e26fb2a17aaa7p-1
+0x1.0be6a11da1596p-1
+0x1.f8d1b326b2ed1p-1
+-0x1.ee19b06500228p-1
+-0x1.e40de71a02d0dp-1
+0x1.98bc15dbd69bcp-1
+-0x1.eb16f70b61cccp-1
+0x1.93a7216be0c5dp-2
+-0x1.8bdbe0b9e2d2bp-10
+0x1.ff0fa32b3accap-1
+0x1.e7b000c9475a2p-1
+0x1.e4c7b30bac6b0p-1
+0x1.e82ba33a4ce9dp-1
+0x1.db41972b5b7e1p-1
+0x1.e2fab75688c77p-1
+-0x1.d674412d314f7p-1
+-0x1.a05a64a3c376cp-16
+0x1.d57127f394c23p-1
+-0x1.8bb3428cca392p-1
+0x1.66540667f4775p-3
+0x1.df8192132032ep-1
+0x1.16be46faa5fd0p-1
+-0x1.8f5d4684f487ap-1
+-0x1.515e3214390b1p-2
+-0x1.e9c224c0132f3p-1
+-0x1.4792b4bea367fp-3
+0x1.f683c622269b9p-1
+-0x1.fd61a56639941p-1
+-0x1.edb8f5b456c1ep-1
+-0x1.1227a7cbdc567p-1
+-0x1.daf8854d3e5e7p-1
+0x1.aee25650abb06p-1
+-0x1.513f8376de706p-1
+-0x1.a96f12a5be2cdp-1
+0x1.ec7da7eb5220ep-1
+0x1.a010e6eeba432p-1
+-0x1.e73721ebf9720p-1
+0x1.d827e42f715f6p-1
+0x1.53cad6d41476cp-2
+-0x1.5921d3708a0c3p-1
+-0x1.c05b22303587cp-1
+-0x1.97f484b97f423p-1
+-0x1.2b4492bd73b64p-15
+-0x1.eb0e768cad7c1p-1
+-0x1.fe0c97242979ap-1
+-0x1.ec354776dd3bbp-1
+0x1.cf0d270e371f6p-1
+0x1.66e7a5c93cffdp-9
+0x1.fd0d826c5a1d9p-1
+0x1.afbca363725d1p-1
+-0x1.d77251ee3df8ap-1
+0x1.1692a2cdd5549p-3
+0x1.6e88143883032p-1
+-0x1.f41ec1c712c7fp-1
+-0x1.a6386135c889ap-1
+0x1.de45269a5dce2p-1
+0x1.c6a6b4f8f837ep-24
+0x1.33d06466c6b9bp-1
+-0x1.860fd51abe700p-1
+0x1.fbd696b6938a5p-3
+-0x1.e83e45de922aep-1
+0x1.ec4e74a3a5175p-1
+-0x1.7a9f95d8c3a13p-1
+0x1.3cd2b0e0024b4p-2
+0x1.c5b6f70209b78p-5
+0x1.e5b073ba13507p-1
+0x1.c5914768121eap-1
+0x1.9e87f2c6f8986p-1
+-0x1.835ef3aca7e57p-1
+-0x1.dc7de37754abap-1
+-0x1.8635367864672p-1
+0x1.d6fcd19613123p-1
+0x1.713322dda040ap-26
+0x1.b301916b3e546p-1
+-0x1.5907373541318p-1
+0x1.b67804eb47f52p-1
+-0x1.01d6c56bc4577p-1
+-0x1.268026d7131f6p-1
+-0x1.8a2f305b13ed1p-2
+-0x1.b110618fb5339p-1
+0x1.1e2ec7a7b3ffbp-1
+-0x1.eeac0378d3c2dp-1
+-0x1.a8d514f3e4860p-18
+-0x1.3c73f2a282f70p-1
+0x1.4b69664a697c8p-1
+-0x1.5ac3218682dafp-9
+0x1.d9d2a5d6d0097p-1
+0x1.ea88c7564fe3cp-1
+-0x1.01b182a357b89p-1
+0x1.ef3d33758c65cp-1
+0x1.755957a759d6bp-1
+0x1.dc5b74cf50867p-1
+-0x1.173f6772617c0p-21
+0x1.edbf80f8c492cp-1
+0x1.d53f03f943012p-1
+0x1.8a3cb07f33bafp-3
+0x1.03af809e77795p-2
+-0x1.eaeaa63245741p-1
+-0x1.f97c70509940cp-2
+0x1.da0741692c059p-1
+0x1.ade411f3da571p-1
+-0x1.b2a12164a95c7p-3
+-0x1.8fa041d702f22p-3
+-0x1.97f1b066c701bp-3
+0x1.b707763754484p-3
+0x1.e499e4e2ad8e9p-1
+0x1.311253501f3f2p-3
+0x1.259d37e26150cp-1
+-0x1.dfb6e365f91ecp-1
+-0x1.aa22065b8f2c3p-1
+-0x1.da1ff0b273cd7p-3
+0x1.be2cb0d8c5b44p-1
+-0x1.3439a53555121p-2
+-0x1.e210555e48210p-1
+-0x1.d85926848cf29p-1
+-0x1.e9a0822672116p-1
+-0x1.aa5ad517117bep-2
+-0x1.8f0b53139648dp-20
+-0x1.f86a7137c57dcp-1
+0x1.bb51b4278652ep-3
+0x1.0e4d9562788afp-1
+0x1.7ce703c2bf2a6p-1
+-0x1.059cc53835908p-10
+0x1.89b894e0e9e37p-1
+0x1.9d6604d4efeddp-2
+0x1.aa6bf1e6b5ff3p-1
+0x1.d053b71612732p-1
+0x1.c58290a57b35bp-2
+-0x1.e79c23c2f87cbp-1
+-0x1.ef28737769e8cp-1
+0x1.e1bf0284f90b9p-15
+0x1.b8c1328d43f30p-1
+0x1.ff61460c87dbbp-1
+-0x1.ea06f3c18052fp-1
+-0x1.929a25bc4e316p-1
+-0x1.462ed634d347cp-2
+-0x1.f89887250e6fcp-1
+-0x1.bc99a3c89c1e3p-22
+0x1.5c75e768472b4p-2
+0x1.8f6fa012e2770p-1
+0x1.f7af22a6b572dp-1
+-0x1.3f54f252e3acdp-2
+-0x1.ed3fa609dbee7p-1
+0x1.dfbca7880638fp-1
+0x1.3e1116e4de263p-1
+0x1.dc6a025cdf557p-1
+-0x1.8bfbe75d98041p-1
+0x1.e9e2b495fa2c1p-1
+-0x1.2642422821515p-1
+0x1.edfca7dddb0f9p-1
+-0x1.ee8ea3f68169fp-1
+0x1.ad17b2686c65fp-1
+-0x1.c4f6f0a35fd4cp-1
+-0x1.ef6f43ea3e075p-1
+0x1.4f28f1201b762p-3
+-0x1.ef68700ccd1ddp-1
+-0x1.d63ec71b1db72p-1
+0x1.eece451c9800bp-1
+-0x1.e374023473851p-1
+-0x1.dae080dc56bf7p-1
+-0x1.f41933cd4db1ep-1
+0x1.8df8a16525f39p-3
+0x1.f5c64629537c0p-3
+-0x1.74e212eb04e5ap-1
+-0x1.c78c50a1f0152p-1
+0x1.ec1a10580c98bp-1
+0x1.aadfa2e96b6e0p-3
+0x1.9c1383ae4954fp-1
+0x1.dfb2223aa208cp-1
+-0x1.cfffa4412b604p-3
+0x1.cee130d0b5a2bp-3
+-0x1.e307d799961afp-1
+0x1.fe1874b71dffap-1
+-0x1.f0dd20e110586p-1
+-0x1.e6f124bc80f9bp-3
+0x1.a84f50096564fp-1
+-0x1.eb54d7123b641p-1
+0x1.dde4d0a43d6ccp-1
+0x1.460c714b7fc02p-1
+-0x1.eb14401a251dfp-1
+-0x1.6d6c5532e2cd9p-21
+-0x1.b0c634676faacp-4
+-0x1.ab062115542b8p-2
+-0x1.12c3e674c7017p-3
+0x1.f2f2a467a4711p-1
+-0x1.b410a265bf2edp-1
+-0x1.e142463188648p-1
+-0x1.1e06e6cea4258p-2
+0x1.60e380d477367p-2
+0x1.ecabd7e786fccp-1
+-0x1.ea047532c3043p-1
+-0x1.e64087ec5398bp-1
+-0x1.8192b282dc78ap-3
+0x1.bc3be459c0118p-2
+0x1.e848464011e2bp-1
+-0x1.1635a3dbd5aaep-3
+-0x1.f027619f4ec1cp-1
+-0x1.cc5b228bab092p-2
+-0x1.54c7045181291p-1
+-0x1.d878651499cdcp-1
+-0x1.2c92931e89713p-1
+0x1.eea2d2cca4e34p-1
+0x1.5cb4743cbb81ep-13
+0x1.4e17a4a822867p-2
+-0x1.dbb357be5deebp-1
+0x1.e59516797b352p-1
+0x1.db51b6a627095p-1
+-0x1.60c746f7d0703p-1
+-0x1.ea37c48f25f9dp-1
+-0x1.7ac0566338086p-2
+-0x1.baf382671db8ap-1
+-0x1.27b5065556c47p-1
+0x1.dc8714f787413p-1
+-0x1.51c9858d1404ap-1
+-0x1.72de44d96ac46p-26
+0x1.f425e3cced4c7p-3
+-0x1.687a92d61065ap-16
+0x1.f524140aa4f9fp-1
+-0x1.e23a916eb0f6cp-13
+-0x1.d99af531c1d7dp-1
+0x1.33fc239565e36p-15
+-0x1.77fe57818f84dp-8
+0x1.e2f6076e57cc4p-1
+-0x1.e97d25cf4a4c9p-1
+-0x1.ced6825d25e04p-1
+-0x1.e6a1f419a0176p-1
+0x1.a8ad7301a9c3bp-20
+-0x1.c6256777394b3p-1
+-0x1.15deb4ca612fep-2
+-0x1.1fd1b6af697a5p-1
+-0x1.e9ad92c7a5f42p-1
+-0x1.ee43843342288p-1
+-0x1.3c312578414bdp-3
+0x1.ec27f19113a4dp-1
+-0x1.9ccbd7e827a55p-3
+0x1.efe3727b0e23ap-1
+-0x1.acfd7757af602p-1
+-0x1.841256a82781ep-1
+-0x1.dea3e5358e22ep-1
+0x1.7a5d14b31d63cp-1
+0x1.b45264dd5b6ccp-1
+0x1.a955c3158f95ap-3
+0x1.5a2a14a8001cap-1
+0x1.d80407959de45p-1
+-0x1.e63ba4f3d8c3ep-1
+0x1.83edf16dfff50p-1
+0x1.b747536ef6e0ap-2
+-0x1.db91b03d5de78p-1
+-0x1.04e9366e2d6bdp-1
+0x1.868a14adc5d9ap-2
+0x1.e004440ae8f05p-1
+0x1.b892e7a52e191p-1
+-0x1.a31672a711e3bp-3
+0x1.f1a246788caa4p-1
+0x1.2712839082804p-1
+-0x1.e15a87fb65354p-1
+0x1.c8b2f2a807b30p-1
+-0x1.4604a175e993ap-24
+0x1.ebfed39cc2c8bp-1
+0x1.46b9055c4ca9fp-1
+0x1.306ca7dee4864p-2
+-0x1.54b193e5a6106p-1
+0x1.d915353edaa25p-1
+-0x1.559071a09ac62p-1
+-0x1.dfd05503dd9c9p-1
+0x1.6372147e80a9bp-2
+0x1.1d6c4659b2302p-15
+-0x1.51678029a9639p-1
+-0x1.93c504552cc8ap-1
+0x1.500db1270ff22p-1
+-0x1.a84a143781395p-2
+-0x1.e0eef33df7060p-1
+0x1.a5b9342b2a503p-1
+-0x1.7e31e007182c1p-23
+-0x1.cbe100e36ed62p-1
+-0x1.e91f7469d5670p-1
+0x1.eb0711bcb2188p-1
+-0x1.d9e340faf4907p-1
+-0x1.d3eaf468140d5p-1
+-0x1.f046a692dfbe5p-1
+0x1.eef541125402cp-1
+0x1.164721f247577p-1
+-0x1.948565494d763p-2
+-0x1.88826288be33dp-13
+0x1.e66022a174720p-1
+-0x1.74bb306267089p-1
+0x1.0e806680dde9bp-19
+-0x1.36bf209f8d75ap-1
+-0x1.fdb1502db4889p-1
+-0x1.dc58a3a509822p-3
+-0x1.ff1285390535cp-1
+0x1.e697822f3ef41p-2
+0x1.f0b895823caf7p-1
+0x1.ee8a003f19352p-1
+0x1.86cef6dc903e7p-1
+-0x1.b06d1232385aep-1
+0x1.f7415347bb40bp-1
+-0x1.1849f3c6d3a7fp-24
+0x1.d8bb0536d10cbp-1
+-0x1.7134b61c665cap-26
+-0x1.63c4664215f4dp-1
+-0x1.4af2b05df7423p-3
+-0x1.ec83e4b62417bp-1
+-0x1.ea94d7a68205ap-1
+-0x1.758b46be117efp-23
+-0x1.e67b111d9643ap-1
+0x1.c7fba1185bbb7p-1
+0x1.3ee093dfa7bc7p-9
+0x1.761e6712c456dp-1
+-0x1.4147f16c16ab0p-1
+0x1.a19ce52b4f906p-1
+-0x1.480570f907c0ap-25
+0x1.9b1db0483a855p-20
+0x1.e1ef409647a27p-3
+0x1.4c8792308f4c7p-3
+0x1.11dc218d362eap-3
+-0x1.ee64f1975f7e6p-1
+-0x1.2693204eaf09bp-1
+0x1.834e43d519f57p-20
+-0x1.f321806888b14p-1
+-0x1.912d845baba7cp-1
+0x1.f0d7d51f16eafp-1
+-0x1.98615085cae70p-1
+-0x1.3254856940809p-1
+0x1.f5e36613814c9p-1
+0x1.f43be6f8db5a1p-2
+-0x1.d999f12e66f25p-1
+0x1.795a0759e9a8dp-1
+-0x1.731ba13d1957bp-26
+0x1.df2806ba55640p-1
+0x1.93b6b433d212dp-8
+-0x1.de2d26a9b9821p-1
+-0x1.c253e67cccb47p-23
+0x1.d896e2d45c8e1p-1
+-0x1.e9d165420d859p-1
+-0x1.7ed393dd2a80ep-3
+-0x1.72e6237bb4f8dp-1
+-0x1.77dcd46971c3fp-1
+-0x1.0f7294284d3d2p-1
+-0x1.ee0460d9eea8dp-1
+0x1.f593219765d24p-1
+0x1.ef4575e02694ep-1
+-0x1.88ed60dd3430cp-1
+0x1.e83fc488dacd6p-1
+-0x1.f6b1f794f743fp-1
+-0x1.f6fad097104e4p-1
+0x1.f578d77058051p-1
+-0x1.ead825875d99ap-1
+0x1.e47714a63f73ap-1
+-0x1.faf0f514a94b4p-1
+0x1.67c2f0fa8047bp-1
+0x1.eafad3737c504p-1
+0x1.dd79933eb4823p-1
+-0x1.d8e09754f9b03p-1
+-0x1.622a31c8a4a1dp-1
+-0x1.c3658532b752dp-17
+0x1.4653f0b895ddep-1
+0x1.4b7f774a00827p-1
+0x1.5671004a1fee4p-1
+0x1.ed1eb4107075cp-1
+-0x1.e91e34b9e7e08p-1
+-0x1.40a8260114e62p-1
+0x1.fcd51406408b5p-1
+-0x1.b41136108fbfcp-3
+-0x1.ea510117fd3ecp-1
+0x1.9875d57574880p-1
+0x1.8e6821b32b65bp-1
+0x1.7b7895c4df3f3p-3
+-0x1.0f9652222f8e9p-1
+-0x1.e20bc23074b3bp-1
+0x1.71c19505b627cp-1
+-0x1.50acd256c1190p-9
+-0x1.f88e41f893405p-1
+0x1.04c507eebef8dp-2
+-0x1.088452ad3c759p-1
+0x1.087d627cadb98p-10
+0x1.9dd3f239428bep-1
+-0x1.ac5f04341a72fp-1
+-0x1.df87628ca53cfp-1
+0x1.d963f3e2377acp-1
+-0x1.bc583247a7cb5p-3
+-0x1.19bbe7224c70bp-1
+0x1.e51196492219ap-1
+0x1.f8be8469e0f90p-1
+-0x1.9d7b07a7045cfp-1
+0x1.7f288239bc808p-6
+-0x1.f06ed4e303e99p-1
+-0x1.edb676b500699p-1
+-0x1.11c8041a56a40p-1
+-0x1.8fa0020067b9ap-1
+-0x1.e38a3096c29f9p-1
+0x1.8bd9a2320c1eap-3
+0x1.ec3a1130d87e6p-1
+-0x1.f041e6d4d3221p-1
+-0x1.ec3ed491bab06p-1
+-0x1.e82ed1f92fb3dp-1
+0x1.d97577265ac94p-1
+0x1.e0dc4301d27ffp-1
+-0x1.3c6f734ef61e6p-1
+0x1.d481020b94331p-1
+-0x1.084e305313b99p-17
+-0x1.e379862ec0fddp-1
+0x1.c59db4bbac95fp-1
+-0x1.d65bd11324f1bp-1
+-0x1.c59a52083041ep-3
+-0x1.f7db5704a4985p-1
+-0x1.e962d3ae18889p-2
+-0x1.53c9205e774e8p-1
+-0x1.e911418959876p-1
+-0x1.eede64d01dd85p-1
+-0x1.567a6656d28acp-1
+-0x1.e6aa85d031c63p-1
+-0x1.eb05376e22db1p-1
+-0x1.7f6913662676cp-1
+-0x1.495606dbbbe93p-7
+-0x1.ec3000dc4aabap-1
+0x1.ec4706c41bd83p-16
+-0x1.e6a7c54bbfa5ap-1
+-0x1.7a7641865ee08p-1
+0x1.b53be3ce487cbp-1
+0x1.40e9902e7c79ap-3
+-0x1.eb3282a56efc8p-1
+-0x1.dc476211ce07dp-1
+0x1.fbb577823c6b2p-1
+0x1.db89870b0b16dp-1
+-0x1.efa8f6daf9d6ep-1
+0x1.decb623f19c20p-1
+0x1.34c3170fae6e6p-1
+-0x1.eb66f41c573b3p-1
+-0x1.42fa605e3ab02p-18
+0x1.62f563b214a71p-1
+-0x1.ebfe83dfbd7bfp-1
+-0x1.d8320749306c8p-16
+0x1.096bd4970cd0dp-22
+-0x1.34db46c5d25f9p-1
+-0x1.e584302e3a118p-1
+0x1.279d83bbed431p-3
+0x1.e267d33665809p-1
+0x1.e7dfa379e70a6p-7
+-0x1.db6095b37c495p-1
+0x1.e8fc0548a8effp-1
+0x1.df80158c55f1bp-1
+0x1.085252cff6318p-2
+0x1.e8b2a51a22aedp-1
+-0x1.6c2551b909220p-1
+-0x1.6b160460a6dafp-1
+-0x1.ab45345443095p-1
+-0x1.6deca2af052c9p-3
+0x1.837e7496593b3p-1
+-0x1.bf1280b399b44p-3
+-0x1.846896e4714edp-1
+0x1.a87ef4867a7b7p-20
+-0x1.ebcf01f1f9c05p-1
+0x1.ee9f7221b6d23p-1
+0x1.f218003f765f8p-1
+-0x1.dee46627c2030p-1
+0x1.eff7e643f253bp-1
+-0x1.3e07f3ef0c1aep-3
+-0x1.7c2b31f076e73p-11
+-0x1.806c918e71aeep-1
+0x1.0db187d31341cp-2
+0x1.8a44534c5fa47p-1
+-0x1.dbd3606da38ebp-1
+0x1.4c41a22828d0ap-1
+-0x1.9eb9358ded573p-3
+0x1.e080f6a0dd5a1p-17
+-0x1.edc7b0c6d7c61p-1
+0x1.1672e0cfb0ae6p-1
+0x1.bcc2d238d4ddbp-25
+0x1.ef15079437d86p-1
+-0x1.e8c624ef9c950p-1
+0x1.8543e62f380d5p-3
+0x1.fef15658b7b3dp-17
+0x1.fdaef64e92ad5p-1
+-0x1.ed9495fb211ccp-1
+0x1.66b7a3a5f4bbcp-2
+-0x1.e4b4d29f62b3ep-1
+-0x1.af4687b7a9dd1p-1
+-0x1.1b8575ec2f1bcp-3
+0x1.719ad2699f7f4p-1
+-0x1.2ae4206794c97p-2
+-0x1.f697d28a52766p-1
+-0x1.4de5a4d1044b1p-1
+-0x1.e859b3f551706p-1
+-0x1.995221a7cd650p-1
+0x1.5b44a5441ff42p-1
+0x1.b40b1223b8731p-1
+0x1.f41ca43bda5ffp-1
+-0x1.d64953db536f6p-1
+0x1.f237a08dabbebp-8
+0x1.2ab9e2f378d0ap-3
+0x1.748f13fdb7757p-1
+-0x1.85fce11104791p-21
+0x1.e8fb12ed42b85p-1
+-0x1.b9be13f0400a5p-3
+0x1.5cf593bcc75fap-1
+0x1.e62c06763ca98p-1
+-0x1.ef83347913d46p-1
+0x1.8cd87241429ddp-1
+0x1.ed52a73ea36ddp-1
+0x1.eb1fb7b4361a5p-1
+0x1.659040150dccep-1
+-0x1.e84f02088580bp-1
+-0x1.31efb599b0c90p-1
+-0x1.3d71f7cc5cbb8p-14
+-0x1.a7947303093c0p-2
+0x1.d9d164d5dd4b4p-1
+-0x1.a6a84397e3686p-1
+-0x1.dbfc05a512685p-1
+-0x1.5b0384147576ap-1
+0x1.24925361ccdf7p-1
+-0x1.ff78b2a719f69p-1
+0x1.ed23979169478p-1
+-0x1.aca5d6e0cebc8p-1
+-0x1.ef3d97ca40548p-1
+0x1.b18ed204df0bep-1
+-0x1.8bb177f1b45d0p-1
+0x1.eea5d7d2221dap-1
+0x1.7f86226cc352bp-7
+-0x1.e8690599a1b6bp-1
+0x1.c62b97c2b228ap-3
+-0x1.a1283741d2ae6p-2
+-0x1.36bf72bd2813ep-1
+0x1.02ff0102590a7p-1
+0x1.81aef093e519fp-1
+-0x1.e5788391286c7p-1
+-0x1.373103fbf2dbbp-26
+0x1.34e2d1a2d3f9bp-6
+-0x1.f8d06493cf734p-1
+-0x1.c24710eb7be22p-3
+0x1.d2db6598cfaf0p-1
+-0x1.da7e74a47298fp-1
+-0x1.9af47030895e7p-12
+-0x1.891952e265231p-1
+-0x1.092645a64f8d3p-20
+0x1.4f75862316ad1p-25
+-0x1.fe90e5f9be415p-1
+0x1.fb4ee1a050156p-1
+-0x1.ec39744c1f0c8p-1
+0x1.ba15c60d9db6fp-1
+-0x1.87a6e44eaf473p-14
+-0x1.346b35da45de2p-1
+0x1.8db9c701a763cp-25
+-0x1.db34b430e32a8p-2
+-0x1.629942502fa18p-2
+-0x1.e413c088c0673p-1
+-0x1.1f6e31af5699fp-1
+-0x1.ed7495c0fc882p-1
+0x1.abee977c43f44p-1
+-0x1.66cc97e31eaf9p-1
+-0x1.e215564a14206p-1
+-0x1.2c8ac0b1cee68p-6
+0x1.d44c706157084p-1
+0x1.60e11610c7ee0p-1
+-0x1.30bba0afa8fb3p-1
+0x1.bee52516c6958p-2
+0x1.704ea3b5ecd74p-1
+0x1.9e8346c8dd9e3p-1
+-0x1.8d20a7a73971bp-1
+-0x1.fee190f2fc2b8p-2
+0x1.2412133b85638p-1
+0x1.e12c42ed2cf35p-1
+0x1.ab2c11f181602p-1
+-0x1.3792d18b82986p-2
+0x1.8201c2f453059p-1
+-0x1.a787c4bfd3b9dp-1
+-0x1.21cfc16c9dd00p-15
+-0x1.fe18e3a9ee189p-1
+-0x1.e0a0474a78619p-2
+-0x1.f2b9635cc6607p-1
+-0x1.ead0a07de749ep-1
+-0x1.51be7174fb83ep-1
+0x1.ce044606c1030p-1
+-0x1.7ea081641e5c0p-1
+-0x1.a3b065b4875e9p-1
+-0x1.dfdae0cbe44cdp-1
+-0x1.ed7ef264fedb8p-1
+-0x1.ef5091c5626a8p-1
+-0x1.dc56039dc4ef6p-1
+-0x1.495862db7188cp-18
+0x1.f702c7007d0f8p-1
+0x1.af0a752686e3dp-3
+0x1.e30a96a56e0a2p-1
+-0x1.9e27251b3702fp-13
+0x1.d09934bc80099p-1
+0x1.0e94e36bb88f6p-2
+0x1.e6ddf06e94dd2p-1
+-0x1.07c16329a6368p-1
+-0x1.ba2ae6c81ef86p-19
+-0x1.0c0a94e27bcffp-1
+0x1.dd58042e78413p-1
+-0x1.e659010e4489dp-7
+0x1.0214d6e90f72ap-1
+-0x1.cf4586cf33876p-2
+-0x1.b70207125cf48p-1
+-0x1.df4870eb61dfap-2
+-0x1.f57f5552ab569p-1
+0x1.dfcf57952b0f5p-1
+-0x1.e8c51781e0f5ap-1
+-0x1.e482f48b7b06fp-1
+0x1.ebaf12ac1ca9ep-1
+0x1.e737501a3ae33p-2
+0x1.ecd747e9c09c1p-1
+0x1.e862d221950bfp-1
+-0x1.11bc51c1a6b71p-1
+-0x1.8b32c03c1f3fep-1
+-0x1.45d6537260c70p-3
+-0x1.eab7a154b753bp-1
+0x1.dc3de7d2fc8d2p-1
+0x1.ebba47c789bf9p-1
+0x1.e9ecf3956d1f2p-1
+-0x1.b9b423bd8562fp-16
+0x1.ea80b59543ec4p-1
+-0x1.4c94d139f13e8p-1
+-0x1.6e83b5a2a8fe5p-19
+0x1.e543336eb0ac0p-1
+0x1.e1ebe4a9d8a89p-1
+0x1.ed72033a5db2ap-1
+-0x1.e266b288cfc87p-1
+0x1.027c5616cc343p-1
+-0x1.e35a95def4819p-1
+-0x1.413b8018c5b35p-1
+0x1.25c3a3e3119f1p-1
+0x1.29429685f155dp-1
+-0x1.daec27668718ap-1
+0x1.066c27f6a6cfep-1
+-0x1.ece86688b8215p-1
+0x1.e7fb31fd3c964p-1
+-0x1.7208a0ee99588p-18
+0x1.e55e406d573cap-1
+0x1.e8af41ef26febp-1
+0x1.371c35f823ee3p-1
+0x1.d17522ea5e064p-1
+-0x1.7accc66f1a867p-1
+0x1.1b88e568085eep-3
+0x1.efa964a3049c3p-1
+0x1.0ae4753a5c894p-13
+-0x1.e5dc4522b9124p-1
+-0x1.eea0521dad0ebp-4
+0x1.852e91bce0883p-1
+-0x1.dd70c04d30a3ap-1
+-0x1.10e344fda4288p-3
+0x1.f8ed93cccdd32p-1
+-0x1.9b2a127bc4877p-1
+-0x1.3ae99644caf6fp-2
+0x1.2011857db1424p-26
+-0x1.e901933e634b8p-1
+0x1.c426411a0bd0ep-1
+0x1.a5edb0220c08ep-1
+-0x1.effdf2686cde6p-1
+0x1.c32c91193429cp-13
+-0x1.51f3b17d298a4p-1
+-0x1.7f189788a9871p-1
+-0x1.6df8f3b40a7d7p-20
+-0x1.cc9fa732730b4p-1
+-0x1.e800e2c46ef54p-1
+-0x1.0036b44e98fb9p-1
+0x1.545021fa9de9cp-1
+-0x1.dbd584ff2c565p-1
+0x1.f4ea010d09590p-1
+0x1.0838d097bf35fp-2
+-0x1.a1da024b0b5d7p-8
+0x1.e8d72663b3bb6p-1
+0x1.bd21611d957b4p-1
+-0x1.e632b5939513cp-1
+0x1.ef5182ea9b9f9p-1
+0x1.1f999553c9965p-1
+-0x1.b47b81b50fe30p-2
+-0x1.ec1d2221cef9fp-1
+-0x1.ff88333427dbap-1
+-0x1.f9b0f160d4715p-1
+0x1.000f60ec89995p-2
+0x1.03ce907b337a2p-7
+-0x1.a63a42293fa26p-3
+0x1.292904fec9be4p-1
+0x1.820c4727f0297p-1
+-0x1.ee77e35aa0adep-1
+-0x1.ecc08254e2ca3p-2
+0x1.f5e2939c7c8abp-1
+0x1.fe103302da0f0p-1
+-0x1.ee18039175978p-1
+-0x1.d7c305801dc47p-6
+-0x1.f7bb55bddabc2p-1
+-0x1.f3f604ec44843p-1
+-0x1.6fbae21dcab06p-1
+-0x1.f613a094bcd5bp-1
+-0x1.9b44300f94ca8p-1
+0x1.ebb413b8af6a7p-1
+0x1.8ff5319a0c60fp-1
+0x1.21f49780f87b2p-1
+0x1.edc3445e3d359p-2
+0x1.be0ce0e44a018p-3
+-0x1.ee9ef2f6c17b3p-2
+-0x1.c27d81c83efabp-1
+0x1.ac8f6552a58dep-1
+0x1.711ce469b9c2cp-8
+0x1.fa3c9399c63afp-1
+-0x1.432c76363edb9p-2
+0x1.ea3e827115c9dp-1
+-0x1.ea73d35821c98p-1
+0x1.bf34426cf512cp-1
+-0x1.1445f5830a831p-21
+-0x1.ee29a33d89217p-1
+0x1.8ccbb1dcc318bp-1
+0x1.25b4539e355fdp-1
+0x1.d9f2a66cb195ap-1
+0x1.1d3cb7d6c6a5ap-1
+0x1.b1b470d44d8e1p-1
+0x1.a8b3a413894e6p-10
+0x1.e85bb560bc75dp-1
+0x1.5f70e6661a987p-3
+-0x1.e607b65d13651p-1
+-0x1.7133562954a55p-26
+0x1.e8d044bdd2df4p-1
+-0x1.6d61c0b3f3e7ap-1
+0x1.b036d56c1ea88p-1
+0x1.db9765d455c4cp-1
+-0x1.d67e0577a6507p-1
+0x1.1149b4f4323d5p-1
+-0x1.61dc625616ea4p-1
+0x1.e7e686da575a0p-1
+0x1.1f8845720550bp-3
+0x1.181681ffa6887p-1
+-0x1.f9a361114e127p-1
+-0x1.2daf678a502f3p-1
+0x1.e9d467bd4f063p-1
+0x1.6bdae68159ee5p-2
+0x1.31f72092e0a01p-3
+-0x1.0257216dc5462p-1
+0x1.a3eba171994e9p-1
+-0x1.76ca124cf6f47p-3
+0x1.edaef15ec1849p-23
+-0x1.55ac10a3a8641p-3
+-0x1.c41062b424a37p-1
+-0x1.d92890d75b595p-1
+0x1.dcfb53f8d12a7p-1
+-0x1.e282c640ea6f9p-1
+0x1.d213669b363a3p-1
+-0x1.e38275a589425p-1
+-0x1.8ae0d1a8a37fbp-1
+0x1.2e4ef4f93f824p-1
+-0x1.e41b13bb1ae98p-1
+0x1.086eb6e0f5f9bp-1
+-0x1.e5a480f554f3dp-16
+0x1.247007cd3459dp-9
+0x1.126fb704975d2p-2
+0x1.ead2c179b0748p-1
+0x1.e2a9b69b414cfp-1
+0x1.dd5754e2b6f70p-1
+-0x1.aa3c46accda7bp-1
+-0x1.eac543bc70794p-1
+-0x1.3e5ed5df8f9b3p-3
+0x1.c87902a9dc843p-2
+-0x1.7488404424d8fp-1
+0x1.0a0993e0464fep-1
+0x1.ec89e597c1fb8p-1
+0x1.ff68c644002e1p-1
+-0x1.57e6c01243fa0p-1
+0x1.e6e2b58850fbcp-1
+-0x1.ee92e612cb066p-1
+0x1.e3f070eec2596p-1
+0x1.a3a1677955b56p-1
+-0x1.bcc7e5fa33d67p-1
+0x1.594fe3ac79583p-1
+0x1.50ec000b8e4acp-3
+-0x1.f9295717cfd6fp-1
+0x1.ef55f3c40b195p-1
+-0x1.fb0bc0bcae0e5p-1
+0x1.ef1e83db4a781p-1
+-0x1.e24192e4c76d5p-1
+-0x1.b008d5aeca3d0p-1
+0x1.e8f7b7904e38ap-1
+-0x1.ee3126a0a120bp-1
+-0x1.261cb76f274a4p-1
+-0x1.e693d2d796ecap-3
+-0x1.ddbba60a316aap-1
+-0x1.f79761f4b586fp-10
+-0x1.ea326681d6327p-1
+-0x1.30688704ba934p-13
+-0x1.e7cb21c3e16e5p-1
+0x1.587605ae10952p-1
+-0x1.e19505b39f2c0p-1
+-0x1.e18a12334f770p-1
+-0x1.0837757b9d39dp-2
+0x1.d5a6b0de0792ap-3
+0x1.f99470c182bf6p-1
+0x1.ed070744db724p-1
+-0x1.73b2737edc5c7p-26
+0x1.b936968f91883p-3
+-0x1.ea40a3cab079fp-1
+0x1.38e266cf4e67bp-23
+0x1.eef1a663ee7c0p-1
+-0x1.b714f5eded91ep-1
+0x1.dbc6676e6b672p-1
+0x1.eb6416d4263a2p-1
+-0x1.cd5f86a8d0aa0p-1
+0x1.6f9df5f49001bp-2
+-0x1.6c0f802e7de00p-1
+-0x1.171c4382a49b5p-1
+-0x1.6b40229004e64p-1
+-0x1.9b6996025da1cp-1
+-0x1.efbc035d5241cp-1
+-0x1.8d6cd1d2f1d24p-2
+0x1.387816b7132c2p-15
+-0x1.222651699e523p-1
+0x1.3b2d21d75094ap-2
+0x1.e81bf743c0369p-1
+0x1.ee2044b7efb74p-1
+-0x1.ff5cc72dade88p-1
+-0x1.c932d35cb0882p-1
+-0x1.e12937d9b5de6p-1
+-0x1.bb5fe6c2388bcp-20
+0x1.e2f9c07852f70p-1
+0x1.389e508c2d4a1p-3
+0x1.4e0e70421f589p-3
+0x1.cc1262f95c14cp-1
+0x1.fc9c210385ec5p-1
+0x1.9984459a46260p-1
+0x1.e4e8c2f4a4892p-1
+0x1.e37f56ad5d374p-1
+-0x1.d604e43246f1ap-1
+0x1.dd2cb52e3f946p-1
+-0x1.ad5ce2c9a061dp-2
+-0x1.e304f24cdfffbp-1
+0x1.06c562663d3d5p-1
+-0x1.80d703d704546p-1
+0x1.24f756f5e8490p-22
+0x1.ef88e7a892892p-1
+-0x1.8acf064a612ebp-11
+0x1.f85ef0fd21f0bp-1
+-0x1.f2d7b573896eep-1
+-0x1.c41b9411e2424p-1
+-0x1.0eed14bd5c463p-1
+-0x1.ecf8e686be7cep-1
+-0x1.965f75ff798a9p-1
+0x1.6411e12b18fc4p-1
+-0x1.11af90316a631p-9
+-0x1.da5f66b16e89ep-1
+0x1.085d72e4cc8a6p-1
+-0x1.dd2c9123047c4p-1
+0x1.ead1c7993f167p-2
+0x1.d9b8b3488e2c9p-1
+0x1.e3ba8654faf94p-1
+0x1.b12e97910d2fbp-3
+0x1.8ca403a109b30p-3
+-0x1.e5f2937058787p-1
+0x1.1a16c20b59c20p-8
+-0x1.11098610b5ed6p-16
+0x1.892e670d4f005p-1
+-0x1.2648b2df313ccp-1
+-0x1.dfc21746825a5p-1
+-0x1.4f866516769a4p-1
+-0x1.e913c2d94e14ep-12
+0x1.50e5c3abd6b3ep-1
+0x1.ddb931972f706p-1
+0x1.66d50185eedb5p-2
+0x1.178457d5f3122p-1
+0x1.0a089692fa9d6p-1
+0x1.53e8b3a99a9ffp-21
+0x1.faccb45f4e2f8p-3
+0x1.0fba936e6a028p-2
+-0x1.b6f9a6276a135p-1
+0x1.67cbb33515663p-6
+0x1.3ac2c7ff47442p-1
+0x1.fd2901f3c9671p-1
+0x1.a95ba191e3d37p-20
+0x1.ecfdc74673b2ep-1
+0x1.e33344b0b2b7dp-1
+0x1.d6b6c30ea8c56p-2
+-0x1.3e18951be4c2ap-10
+0x1.06544747d23b7p-1
+-0x1.6530f1b557057p-1
+-0x1.e141a1fc347e7p-1
+-0x1.c209253da05dfp-1
+-0x1.5abd34f01cc55p-25
+0x1.da55f059b4805p-1
+0x1.b15ad1f0f8186p-1
+-0x1.e2f6324aebb6cp-1
+0x1.e6cf20c6b3bd3p-1
+-0x1.d9f586a99ac1dp-1
+-0x1.ea5db6c802980p-1
+-0x1.eef205ef8bf9cp-1
+-0x1.e77cb3d6aba48p-1
+-0x1.efb0238767d34p-1
+0x1.eac576f6fcc93p-1
+-0x1.9d69119b79677p-17
+0x1.95acf5bfa2f77p-3
+-0x1.551e1792426dap-1
+-0x1.dbe0e257f280cp-1
+-0x1.f69220aac2bb2p-1
+0x1.57b2160efdbf5p-2
+0x1.e58de281a1a07p-1
+0x1.084020b03e4d2p-6
+0x1.d87e91b7e07b7p-1
+-0x1.99cda400ce3b7p-2
+-0x1.e362932c8c92fp-1
+-0x1.da4995d5cee72p-1
+0x1.87b2d4dcffaf9p-1
+0x1.3ea5128eaaf2dp-1
+-0x1.5faae7d3bcf38p-1
+0x1.3aec5799bb1d9p-19
+-0x1.ec3797b899976p-1
+0x1.8aefc30a2949bp-1
+0x1.bd62a0a521e27p-2
+-0x1.ab7df36836c3fp-1
+0x1.91ab544ac879fp-2
+0x1.f80f9015de12ep-1
+0x1.aa572325d6916p-1
+0x1.efb673b18111ap-1
+-0x1.dbb4625b1b6d4p-1
+0x1.ddbbe2e244b52p-1
+-0x1.f79ea4af0ff39p-1
+-0x1.c16b5501eff50p-1
+0x1.ea4315c9c663fp-1
+0x1.ade22053744afp-1
+-0x1.e4b1a6febdb21p-1
+0x1.ec9464048b26cp-1
+0x1.e3c1e7f51cf59p-3
+-0x1.dc8fa6420fb87p-1
+-0x1.f052a40d8e48bp-1
+0x1.cb7bf6c1858f8p-17
+0x1.e4fbf10139e0ap-1
+-0x1.df2192fe7f98dp-1
+-0x1.062da16c62ccep-1
+0x1.0dca9008fbcebp-2
+-0x1.0fd4c304627a5p-11
+-0x1.f7ad343c1ffafp-1
+-0x1.3de2247c0ac76p-1
+0x1.a8f991857abcfp-3
+0x1.b42d56efb9226p-1
+0x1.410fc200873e5p-1
+0x1.b2a8837671aa6p-1
+0x1.adf61664fadc1p-1
+-0x1.858b722a5427bp-1
+-0x1.e20ac139c6d90p-1
+0x1.ec4a72202abfbp-1
+-0x1.bf067665f434dp-3
+0x1.b78865ebf7179p-1
+-0x1.0634566d8abcep-1
+-0x1.e6a6172392825p-3
+-0x1.e6fc2655bf4fep-1
+-0x1.e543e6d75248fp-1
+-0x1.e88fc53e3e4b0p-1
+-0x1.eb40e4f889a53p-1
+0x1.e79ef6eba9adbp-3
+-0x1.96df34af5a088p-21
+0x1.65efb1356114ap-3
+-0x1.8d4e57db12a07p-3
+-0x1.5d616093177aap-1
+0x1.df0754bc48a37p-1
+0x1.d025216b99be2p-5
+0x1.e739901525d14p-1
+0x1.e8d122ec89b8ap-1
+0x1.e8c93262e04f1p-1
+0x1.ffd00163380e1p-1
+0x1.95d3428efb513p-1
+0x1.ea9674065a5c0p-1
+0x1.44b2453851f94p-1
+0x1.f42ee4d7dac9dp-1
+-0x1.e976c2fccc26ap-1
+-0x1.27ba2598fa425p-1
+-0x1.817945ade05b6p-1
+-0x1.6d6582d27a94ep-3
+0x1.ea59d39e18322p-1
+0x1.2c7d24a2d4e9dp-2
+0x1.f44e04251a793p-1
+-0x1.3778036172b36p-2
+0x1.eed61776e402fp-1
+-0x1.799ba18a53c8bp-1
+-0x1.6fb4348faf5c4p-3
+0x1.ddc2869dc18a5p-1
+-0x1.e343665d40ccap-1
+-0x1.3f73605325ab0p-3
+-0x1.3ba0f05c1755fp-1
+0x1.ed92048ac9d47p-1
+-0x1.e1a5a6243d05dp-3
+0x1.e4fd73980b5e1p-1
+0x1.33b9002a95e7ep-2
+0x1.ecba4619d36bcp-1
+0x1.6a7a22a449e86p-1
+-0x1.a2bb4749faabep-3
+0x1.8248f68a7e1ffp-1
+-0x1.e21ad7da85c70p-1
+-0x1.dd8e86ce2c248p-1
+0x1.5d40255ad5479p-2
+0x1.a5fa20bad74b8p-1
+-0x1.f99406b4197a3p-1
+0x1.d2f1b785de5d5p-1
+-0x1.e2d534c706c26p-18
+0x1.aeb5736c743fbp-2
+0x1.dfc7324805273p-1
+-0x1.2d2db09cc6e86p-21
+0x1.edae94523b924p-1
+-0x1.dc31f75dbd8bap-1
+-0x1.dce536216941cp-1
+0x1.a96985facec4bp-1
+-0x1.e5ce57ae15fa4p-1
+-0x1.dbd6a23f8b933p-1
+0x1.8d6b062af3681p-2
+-0x1.2590214dd2a24p-3
+0x1.d0f7e414c0f7bp-1
+0x1.eec205a0f3bfcp-1
+-0x1.5cf1a0c8c1ccdp-2
+0x1.ca9b05da55e1dp-3
+0x1.e7078679d9affp-1
+-0x1.dee200a7c99b0p-1
+-0x1.aea74698a65c1p-3
+-0x1.eef2e7388b0b8p-1
+0x1.9475e0bee269cp-1
+0x1.e8ede2eca6ebcp-1
+-0x1.3a3f5430a9d73p-1
+-0x1.da99616adbb35p-1
+0x1.40a287e0245c7p-1
+-0x1.db6f1755478ccp-1
+0x1.4b37359e5a442p-1
+-0x1.fabca4ba5ef23p-1
+0x1.bdb701415b22ap-1
+0x1.ece78508bb8c1p-1
+0x1.4a0d37fdc5a79p-16
+0x1.d81ca025d90bcp-1
+0x1.eacf140a099a8p-1
+0x1.ec31331b47ad9p-1
+0x1.ffd881703db66p-1
+-0x1.2f5617c2cdd47p-1
+-0x1.de2e87858ebd7p-1
+-0x1.3fc366eb32e48p-1
+0x1.da5505c9b5082p-1
+-0x1.c13e200d12a13p-1
+-0x1.eb29615918644p-1
+-0x1.530e61ff0420fp-21
+-0x1.e904b6785c98cp-1
+0x1.dd8612e5b6eb4p-1
+-0x1.339060228fa99p-5
+-0x1.3b19c402e1ab5p-1
+-0x1.3af4f28b24131p-1
+0x1.fdcf071e072d3p-1
+0x1.a02143cfecad9p-1
+-0x1.a33832573766ep-8
+0x1.f013574be1027p-1
+0x1.6bbb23e29bd56p-2
+0x1.c2e0b4f123c1dp-19
+0x1.0bd860a759addp-1
+-0x1.ea778377c1e47p-1
+-0x1.e415749cde067p-1
+-0x1.f0a930040729ap-1
+0x1.f0e804039007cp-1
+-0x1.dc12b607e76dap-1
+-0x1.3a0d506141a45p-5
+-0x1.bc3fa1c91bbc5p-2
+-0x1.61f91720d48f9p-2
+-0x1.b682b0abe4889p-2
+0x1.e2ecf4b017e0dp-1
+0x1.161d419e7dff1p-3
+-0x1.daf7532488e10p-1
+-0x1.c80936da67635p-1
+-0x1.f79a56103c6bcp-1
+-0x1.ea6bc6967c364p-1
+0x1.eb55c5889afdap-1
+0x1.31373491f9fd9p-1
+0x1.80eaa23a91ec2p-1
+-0x1.fd9ed1b43f715p-1
+-0x1.02c3e70019c89p-1
+0x1.daa6242404908p-3
+0x1.e8a1b27cb8dd3p-1
+0x1.caa1a29c0a137p-3
+0x1.e925463516258p-1
+0x1.dfb4b65646ab3p-1
+-0x1.4c1900363e38bp-3
+-0x1.ea072277e9de6p-1
+0x1.eb1bf69818892p-1
+-0x1.c7891601871cfp-1
+-0x1.e9c811e32475fp-1
+0x1.09ffc56919a5dp-8
+-0x1.1afd8636d88a6p-4
+-0x1.d5faa18bb319cp-24
+-0x1.5a73f23f4d005p-3
+-0x1.f12a419b4a7e1p-1
+-0x1.f3f813fc62e9ap-1
+0x1.882457f6307dfp-3
+0x1.cc79d0b17437bp-3
+0x1.f849007c8fc5bp-1
+-0x1.582d615ec34e3p-1
+0x1.406506bfcfb11p-1
+0x1.b6a6c3eebea0cp-1
+-0x1.e88b2722a8806p-1
+0x1.31b3642d568c4p-2
+-0x1.b5ca91453fe3fp-1
+0x1.3137f5baf9af4p-1
+-0x1.ebd6465bc4b63p-1
+-0x1.a49977d4938ccp-1
+0x1.e71ef4f74efa5p-1
+-0x1.7992140ccce3ep-3
+0x1.e2d9f4354faf7p-1
+-0x1.a282a4f738fe1p-2
+-0x1.864a6783972d3p-1
+0x1.ba4587f6ddfafp-1
+-0x1.b9dc1365a48d6p-1
+0x1.9b24d0442a8bdp-1
+0x1.de51365f22198p-10
+0x1.4b5e2197433cdp-2
+0x1.be54761e95348p-1
+-0x1.fb51005dfdc02p-1
+-0x1.fa7fb41bdf4ecp-1
+-0x1.da30d147aa840p-1
+0x1.a0b8a727a25c6p-1
+0x1.f298d21034624p-17
+0x1.e9cfa7a7fd217p-1
+-0x1.f4e8b5ec98f6cp-20
+0x1.7302146a6f168p-8
+0x1.5799928b1b254p-1
+0x1.d704c60ab009dp-1
+-0x1.9681e2cf54b70p-1
+-0x1.e48e4276acf60p-1
+-0x1.edd8a455629a7p-1
+-0x1.f37d96501f78bp-3
+-0x1.b7a5b13013786p-3
+-0x1.e960c36a66790p-1
+0x1.b63de6d713d58p-1
+0x1.e47cf5ea94794p-1
+0x1.ff99528e27db8p-1
+0x1.6c20d6e995703p-20
+0x1.dd82403aa55b3p-1
+-0x1.bdf2b69afaaa0p-19
+0x1.debfb38f72c41p-1
+-0x1.caf0a20a2e374p-3
+-0x1.c786d16c31b03p-1
+-0x1.be5512ecf8b31p-2
+0x1.eb74f08f7bea6p-1
+0x1.41f8565f967afp-1
+-0x1.df40e5c3806e3p-1
+0x1.915a220e086dfp-1
+-0x1.eab325c5fbbe8p-1
+-0x1.811ee0ee26a13p-5
+-0x1.deea07f1077cdp-1
+-0x1.a4b6326d457f6p-21
+0x1.29b2708c3a747p-1
+0x1.c0d8d07a22f7fp-3
+-0x1.56bf84f095b88p-2
+0x1.d8e426b246e44p-1
+-0x1.621014d0872dcp-1
+0x1.7307e45a9bfb6p-5
+0x1.dde4a27afa00ap-7
+0x1.dbce065bbf8a3p-1
+0x1.e1207083bb09fp-1
+0x1.1daa53018212fp-1
+-0x1.496161b184764p-1
+0x1.be4077f0a12bep-23
+-0x1.ba4832d143c1ap-1
+0x1.eae16553c8c57p-1
+-0x1.dcd236d0485fbp-1
+-0x1.e2b5a72fffc26p-1
+0x1.eb42940a8517bp-1
+-0x1.e06e527c5ae19p-14
+0x1.ae15b592e3128p-1
+-0x1.ca92520c405e5p-2
+0x1.7db9b3fa53090p-1
+0x1.64105318b86d4p-1
+-0x1.ed5ce02997ae3p-1
+-0x1.30fbb21b54296p-12
+0x1.bc360678ba681p-7
+0x1.e5d335374c24cp-1
+-0x1.e0749468e2cc8p-1
+-0x1.ee3570ed32c54p-2
+-0x1.3a8df06a429efp-2
+-0x1.ce3772c129db8p-13
+0x1.15ba83dfe3904p-3
+0x1.08f5e344993d5p-1
+-0x1.ed8e061bb76b0p-3
+0x1.f8ffe57a8dde1p-1
+0x1.e66a85eaf4ee0p-1
+-0x1.fea40127cc2f2p-1
+0x1.f2aab1284b4b0p-1
+-0x1.cc03e1478de39p-4
+-0x1.e912d49635d92p-1
+-0x1.f1687635d3527p-1
+-0x1.627064608ff5ep-1
+-0x1.eb5a8287935edp-1
+-0x1.1857a62740addp-1
+0x1.5b65c47382c9ap-3
+0x1.ecb1a4e85bbefp-1
+-0x1.a7fea62a8476fp-3
+0x1.ccdc351ffc956p-19
+0x1.f8d674c4fbe5fp-3
+-0x1.fa49b4283ce9ap-1
+-0x1.ed8ea55dfb46cp-1
+0x1.c552618b4fd1ap-1
+-0x1.b9fbf215a6137p-3
+0x1.edea1355a361cp-1
+0x1.ba92542786897p-1
+-0x1.a7307747e4eedp-1
+-0x1.41cb43cc57a37p-1
+0x1.ffe9232e1641fp-1
+0x1.556ed63589177p-12
+-0x1.cd6f16bc335c9p-1
+-0x1.f2b6338523771p-2
+0x1.db2795c5314edp-1
+-0x1.de2267c10bed6p-1
+0x1.ea9e158ead810p-1
+0x1.bec560986a04ap-1
+0x1.ef3db6de27565p-1
+-0x1.3393b6059cb76p-23
+0x1.b980f402882acp-3
+-0x1.e259b369989a0p-14
+-0x1.ff6ac3ef8dac8p-1
+0x1.7e5081826dfc6p-1
+-0x1.0c6c55fecc746p-1
+0x1.ef97766ebf4d8p-1
+-0x1.ddae26391e016p-1
+0x1.fc6cf6ab5b808p-1
+0x1.dc2b369f4fb97p-1
+0x1.3e0cd4bcc78f9p-2
+-0x1.0e4bb0b067b5bp-1
+0x1.b79ba1d3be769p-1
+-0x1.ea50436bfcdb0p-1
+-0x1.fa0d71fd79cc3p-1
+0x1.3dc4e295f1f30p-1
+-0x1.703d419656c71p-1
+-0x1.fa7f5390f9fbcp-1
+-0x1.e70a30da2cfa1p-1
+-0x1.fdabb5f507142p-1
+0x1.f64dc541cc1fap-1
+0x1.eb319784bca19p-1
+-0x1.f3bc56a59b92fp-1
+-0x1.b8a0d2c98b8e0p-1
+0x1.425107976f0d2p-20
+0x1.4ad290cb36082p-3
+-0x1.b5bb322363d88p-1
+-0x1.e7ce322063c1ep-1
+-0x1.c48fc05bc06adp-1
+-0x1.e74004feba25dp-1
+0x1.19099015cd289p-1
+0x1.9df0943df0ed7p-1
+-0x1.a337f087e6047p-1
+-0x1.7d8cb3c9cb5d8p-1
+0x1.11a6b0c515920p-1
+0x1.c693d3e0c3d93p-1
+0x1.f141608e6aec1p-1
+0x1.a9bde0091b760p-1
+0x1.c93a76be71d45p-1
+0x1.d7597098112a3p-1
+0x1.edf6c4bdb283ap-1
+-0x1.205784cd6e44ap-1
+-0x1.a0d5f18128988p-2
+-0x1.e40666614e59fp-25
+0x1.121bf667b781ap-1
+-0x1.668da74298814p-7
+-0x1.616fc1a66c4d6p-1
+-0x1.ee112212f8aa0p-1
+-0x1.ed6ef73d531a4p-1
+-0x1.c15fb366cfcf9p-1
+-0x1.efffe322b6ac1p-1
+0x1.96c5c059d54afp-1
+0x1.e4e1454ecf85dp-1
+0x1.db2913c8fc219p-1
+-0x1.7f66a643bfb7ep-1
+-0x1.27f944d4ad8d6p-1
+-0x1.6426726aee6cfp-1
+0x1.d9c0506986f5ap-1
+-0x1.eeaad7939baecp-1
+0x1.bd5a077c9fc90p-1
+-0x1.38a69239f073cp-1
+-0x1.f932f26d539d5p-1
+-0x1.b260a79be9a1bp-6
+0x1.ef9f51187fe83p-1
+-0x1.dce6b232fc21ep-1
+0x1.ee14f4ba14235p-1
+0x1.eb85a30d4a2e5p-1
+0x1.b11031019577cp-2
+0x1.b58be17f9d847p-2
+-0x1.d9cbe370eb0ecp-1
+-0x1.d517b3ce2b655p-1
+-0x1.ec41e5fb51583p-1
+0x1.8df301a855975p-25
+-0x1.e889435c34b7dp-19
+-0x1.134640672cf7ap-2
+0x1.49ae67009c731p-3
+0x1.e80a234204ccep-1
+-0x1.eb9c151577abap-1
+0x1.f0b6320c75315p-1
+0x1.b8ccb51a3d918p-1
+-0x1.98e3649200763p-1
+-0x1.dbe723ecfc7f0p-1
+-0x1.db9dd79228607p-1
+-0x1.dcb17195a4c60p-1
+0x1.dce077ee88b26p-1
+0x1.c85742cc49d4ep-1
+-0x1.815743a3562efp-1
+-0x1.dc9450089dc1dp-1
+0x1.5e56a1bca2c1ep-1
+-0x1.5e48b383d64fbp-1
+-0x1.de4c64b5bc273p-1
+-0x1.f2700673bb386p-1
+-0x1.c1301186b73c3p-18
+-0x1.b17535ce5f5e3p-1
+0x1.400e032ed6125p-3
+-0x1.128c733eb080ap-1
+-0x1.9cf7f3c30c74fp-1
+0x1.dc24f6d5d88e9p-1
+0x1.f78a43cc77de0p-1
+0x1.543a72675a6aap-1
+-0x1.45dd4628eecd9p-24
+0x1.fffd225b95d9fp-1
+-0x1.363de4b85c86dp-3
+-0x1.db6440c16c293p-1
+-0x1.e09c81e7a33a5p-1
+-0x1.af90f6124102cp-1
+0x1.b4106515dc5c5p-2
+-0x1.daa2769ff6e50p-2
+0x1.002e426741e10p-2
+-0x1.ee228647b7dbap-1
+-0x1.22ec95cf2a12dp-1
+-0x1.e93e916c943dbp-1
+-0x1.14b932254ccd8p-9
+-0x1.909622a8afce0p-9
+-0x1.b5b5e40f69460p-1
+-0x1.0b42e197effbap-1
+0x1.3bdc443663478p-1
+0x1.fb7b75d00f267p-1
+-0x1.f06581e9738c7p-22
+0x1.bcb3805a8b0acp-1
+-0x1.9b6ff25e8b37bp-1
+0x1.f9cb94e42bc3dp-1
+0x1.ecd805ed64887p-1
+-0x1.a65c4560a2138p-2
+-0x1.56dff1b743c85p-1
+0x1.e5298138fd89cp-1
+-0x1.156c062335d7dp-1
+0x1.df59064910717p-1
+0x1.af0516501c6d6p-1
+0x1.d2dbb56e8dd5fp-3
+0x1.d0b523fc1ceb1p-1
+0x1.bcf543a18c01fp-1
+-0x1.709413363b142p-26
+-0x1.f8c00391024e6p-1
+0x1.5aa701b2476b0p-1
+0x1.44865784caf4ap-8
+0x1.e998073d61296p-1
+0x1.8eb830a476bb7p-1
+0x1.ff036620f55bbp-1
+-0x1.f64585ccfeb6dp-1
+0x1.ae9611b635f6ep-1
+-0x1.24d9e5b7dfc26p-12
+0x1.9a25d27526795p-1
+-0x1.ec0cf6bf16995p-1
+-0x1.5f64a17e9500dp-2
+-0x1.ef0f34f9f356fp-1
+0x1.974b13f3e4673p-5
+0x1.09de90f53b65ep-1
+-0x1.e1b0771809c44p-1
+-0x1.0b7c366b28640p-1
+-0x1.4e93f479a0cc6p-1
+0x1.cd2b95c2df3d4p-1
+0x1.dd556108d9ee4p-1
+0x1.d9c6a408e180ap-1
+-0x1.852ba5ea09204p-2
+-0x1.6a318265b0ce0p-1
+0x1.8187a65639248p-3
+0x1.bed3226c9cf5ap-2
+-0x1.bf96c5540152cp-1
+-0x1.1c9d850480123p-1
+0x1.d8a65092223e5p-1
+0x1.52c841c5f3d66p-1
+0x1.0498d6413da66p-1
+0x1.dac374698d877p-1
+-0x1.fc1bd618e87e8p-2
+0x1.ebe4c1cec3060p-1
+0x1.983b20ca0cd67p-1
+0x1.ec96e031167b4p-1
+0x1.ea4ee28054fa3p-1
+0x1.edae74719dd10p-1
+-0x1.6162424ab4689p-1
+0x1.d9e3a0d3c4a69p-1
+0x1.f8cc86f846007p-19
+-0x1.f48764fc3cc92p-1
+0x1.ec5d65428be39p-1
+0x1.ebbdc16a6c83cp-1
+0x1.f4021476db864p-1
+-0x1.e537b490c8ebbp-1
+0x1.1a8247328b1eep-3
+0x1.ded3e00b45be7p-1
+-0x1.12fce6ee5e120p-3
+0x1.e8faf051d09cbp-1
+0x1.67c444811ab4dp-3
+-0x1.20b4a1a53c3d5p-1
+0x1.71a901abd5ee1p-3
+0x1.32e467615008ep-22
+-0x1.ea1224bded243p-1
+0x1.de9582df5c7f5p-1
+-0x1.b8e1e27336860p-1
+0x1.ec8561690ba28p-1
+-0x1.daee03fa90d5cp-1
+-0x1.3a3bc41b1b0fcp-2
+0x1.e38b32f89a15fp-1
+0x1.2a7a67c6a7f5fp-1
+0x1.ad2e378f343e2p-14
+-0x1.755da68905d10p-1
+0x1.79c3b49ea70d1p-1
+-0x1.8a29b0ff7fef3p-3
+0x1.e6e791aad1f3ap-1
+0x1.67b372a69cd0bp-3
+0x1.f3d57719d5a66p-1
+0x1.c96a64375fd43p-1
+-0x1.eb6f12c7214f3p-1
+0x1.7c2a71b780eadp-1
+-0x1.ebcbf2f5b7eb8p-1
+0x1.9c2ac06be1e36p-1
+0x1.47b60350a0542p-1
+-0x1.e81352ef49d80p-1
+0x1.e2fde24e7441dp-1
+-0x1.cfc297f098209p-1
+-0x1.9f3a958bc4d8dp-9
+-0x1.ebed30f465969p-1
+0x1.851581e8ee5f8p-8
+0x1.b29d24839a5c2p-1
+-0x1.d996e18e1756fp-1
+-0x1.e945641fd4421p-1
+-0x1.7567a1368f83dp-20
+0x1.eda764a20b53bp-1
+-0x1.d90ed36b67dd1p-1
+-0x1.1721b193cb808p-1
+-0x1.1aa794570d691p-3
+-0x1.486275b31eff1p-1
+-0x1.7932031d98446p-3
+0x1.082044740fb11p-1
+-0x1.bc5005352d983p-1
+-0x1.9e34b40c77bdbp-1
+0x1.f8960738dba77p-3
+0x1.0d8d44f6a38b9p-1
+-0x1.ef2a370ffe51ep-1
+-0x1.885af3b2b9117p-1
+0x1.ab5dd30d3b0d9p-1
+0x1.658572e828c0dp-3
+0x1.00801354b719ap-21
+0x1.ead7729f447e2p-1
+0x1.73fe964bcb9b8p-26
+-0x1.eb9e2463b8a3ap-1
+0x1.dcc7f49496bbbp-1
+0x1.e322464ccedbcp-1
+-0x1.f3f1411a81959p-1
+-0x1.b806d3a207c7fp-2
+-0x1.9e3cf02520c9bp-1
+-0x1.a3903178cc914p-1
+-0x1.9157d3c02c3b2p-1
+-0x1.a828f2fd070e9p-1
+-0x1.dfe122ce59486p-1
+-0x1.e0c5f12e4aee9p-1
+-0x1.096d23efa8b4cp-1
+-0x1.eeb2b02957428p-1
+0x1.9bd135009e628p-1
+0x1.dcfa56e705532p-1
+-0x1.dcc733e36743ap-1
+-0x1.f13ac5b2f066dp-1
+-0x1.ee5a97d9a8b48p-1
+-0x1.2421b26321192p-3
+0x1.4bdfb654355fap-1
+0x1.e9ab41fff09b7p-1
+0x1.6c39f77452a13p-2
+0x1.f2d9a4e18b93ep-1
+0x1.f588f66b070a4p-1
+0x1.c0b604407eb47p-1
+0x1.907b33485084dp-1
+0x1.e58d17977d4c7p-1
+-0x1.e9c1b44e07fecp-1
+0x1.5978b562d5348p-2
+0x1.f69e2232d6a42p-1
+-0x1.ea1b37e291f39p-1
+0x1.a9c704aff0411p-1
+0x1.0f4422ec03b3ap-1
+0x1.0c01d7eb6c807p-1
+-0x1.e24961f09bb8fp-1
+-0x1.6ad805c841fcap-1
+-0x1.f30f95a858a13p-1
+-0x1.7509a50c46facp-13
+0x1.0a4725eca19ecp-1
+0x1.f041143af7d9cp-2
+0x1.c39ee2c592617p-3
+-0x1.b389464f1c401p-1
+-0x1.eeb6a2abaa396p-1
+-0x1.26b3228cfdb15p-1
+-0x1.f7553430f26b9p-1
+-0x1.fbb1f12faf4e4p-1
+0x1.97b404be9b207p-3
+-0x1.6b2935d76744bp-1
+0x1.ee2bd4e26496ap-1
+0x1.69d035f7a7ee7p-8
+-0x1.5adfd2a30ceadp-1
+0x1.81131610d528cp-2
+0x1.81f87126313b8p-1
+-0x1.7cb4d0d3ae749p-1
+0x1.00a5000f3784dp-1
+-0x1.ec020225e8d1ap-1
+-0x1.dcfbc732dc4ccp-1
+-0x1.f54ad24e2bdd7p-2
+0x1.eb4c931e3f233p-1
+0x1.ef6013aa5bd6dp-1
+-0x1.ec4fc7eb42446p-1
+-0x1.963eb08b090e2p-1
+0x1.eb5787014c22cp-1
+-0x1.c474572d53337p-1
+-0x1.7e09139513a33p-26
+-0x1.f9340275d9995p-1
+-0x1.edcf16351be04p-1
+-0x1.7d78a4e9dc91bp-1
+-0x1.1e30752523e09p-2
+0x1.dc4b32a234a23p-1
+-0x1.edbb01a598c24p-1
+0x1.6367c4f49a449p-1
+0x1.eb1db52a22a45p-1
+0x1.e8eba118b0a26p-1
+-0x1.ce8021cd33ff0p-20
+0x1.f988f6376ddcep-1
+0x1.eabac25c2fc1ep-2
+-0x1.e132c034f9071p-1
+0x1.bda2b45f18ea7p-2
+-0x1.eeab70c49e827p-1
+0x1.d85d41c05db82p-1
+0x1.e4003425db812p-16
+-0x1.753ca74c55212p-3
+0x1.98ee323f505cep-1
+0x1.e95be276dd667p-1
+0x1.2287403404baep-1
+0x1.0ed8c38a3bdcep-2
+0x1.c82792be9bbadp-1
+-0x1.38a9d3998d79ap-1
+0x1.e805f6d3a6c5dp-1
+-0x1.32ebc7c55a58ep-1
+-0x1.048b622297845p-13
+-0x1.efb5c6983ac39p-1
+-0x1.415a16a005c76p-20
+-0x1.eb8aa64a05087p-1
+0x1.a18684e94695ap-14
+0x1.de2666acb5762p-1
+0x1.0a79566e358dcp-2
+-0x1.f282f0325a811p-1
+-0x1.3f08a31b67052p-6
+0x1.3a747651ea759p-1
+0x1.8c22845eca245p-2
+0x1.c1aed42df3035p-3
+-0x1.a01057abedfe5p-1
+-0x1.eb57d2b4d4247p-1
+0x1.27a880bdbfcbfp-1
+0x1.d51cd22b5b6cap-1
+0x1.c96de70665e99p-2
+-0x1.afeb916e3177fp-21
+0x1.8e00d6126d657p-2
+0x1.799d63f173a45p-1
+-0x1.cd29463be0ee8p-1
+-0x1.4f47a58e04b54p-1
+0x1.ea2f35262d1a7p-1
+-0x1.279997c5505d9p-1
+0x1.fbe731d9f7db8p-1
+-0x1.60d116a6cc97fp-1
+0x1.e9d9730db6039p-1
+-0x1.78fc83b456074p-2
+-0x1.03c0045400546p-1
+-0x1.f29f3377fe46bp-1
+-0x1.33d676f26127ep-3
+-0x1.efdd474021500p-1
+-0x1.bab9f2ecd85b4p-6
+0x1.c628a3529714fp-3
+0x1.e36ae1b514d1bp-1
+-0x1.db1e13827a88ap-1
+0x1.dbf1b775cf9d2p-1
+0x1.57a975b3f7f83p-2
+0x1.1deb94df7dd48p-2
+-0x1.8f4e44c99669ap-1
+0x1.4ed720c5a163ap-1
+-0x1.db81e304bef8ep-2
+0x1.de5485ca4d9dfp-1
+0x1.db26f3b39fe6bp-1
+0x1.6c88456adc480p-3
+0x1.c5a8961391ccfp-1
+-0x1.b78ea5581fef3p-24
+-0x1.6547c3be6a0acp-3
+0x1.e19d1283e35b5p-1
+0x1.e80e54a58d337p-1
+-0x1.449b6754bba00p-11
+0x1.e41026d50deabp-1
+-0x1.1844f685c97cap-1
+0x1.efa0e345c59b0p-1
+0x1.3121f641ffbd3p-10
+0x1.edb070c60119ap-1
+0x1.a52c94e4dfaa9p-23
+0x1.e5fc97f64aecbp-1
+-0x1.f652e1fdb6a40p-1
+-0x1.fc21417ad3694p-1
+0x1.750fa027faf9ep-1
+-0x1.9260f684b0d63p-3
+0x1.e896c4a4401bcp-1
+-0x1.7e6e516a67284p-2
+0x1.8c32f1a45f352p-3
+0x1.366796f5b5a00p-1
+-0x1.763cb2cf0a32dp-3
+-0x1.ad50f432557fap-1
+0x1.f220a525222a6p-1
+-0x1.e2d4f63884af4p-3
+0x1.7796f74179cbap-1
+-0x1.cd55d3c51d8fep-1
+-0x1.e221669031d28p-1
+-0x1.eeffa2c5a9c49p-1
+0x1.ecf741dda7320p-1
+0x1.a2a1569ae5d32p-1
+-0x1.e680d5195362ep-1
+-0x1.f83452138ebc1p-1
+0x1.30e2369a99e1bp-3
+-0x1.1a18425ff66a7p-1
+0x1.eb7451be325a0p-1
+-0x1.cd4ba71c2a541p-1
+-0x1.dc4f109832464p-1
+-0x1.eb97e24e4691ap-21
+0x1.718a40fa573d8p-3
+0x1.df0c61f2a0f01p-1
+-0x1.ab0051b1239f5p-1
+0x1.070692620b71cp-1
+-0x1.b3cea41f5ebbfp-22
+0x1.fa09813a0f08cp-1
+-0x1.0e9b76f265fe9p-3
+-0x1.dceb234e0d00cp-1
+-0x1.8836556db32e5p-11
+0x1.47d5509f852b6p-2
+0x1.bb4174dfebc1ep-1
+0x1.83be00af14ad6p-10
+-0x1.9a44d54a49874p-1
+-0x1.903962db8447ep-1
+-0x1.ac0763a2833a8p-1
+-0x1.c09d42b039fa3p-1
+0x1.e2fec0234b979p-1
+-0x1.e3f2b40c3e54cp-2
+0x1.dd6694410bcf0p-1
+-0x1.032c51b1d2105p-1
+-0x1.d80bd4a4cf64ap-1
+0x1.f89e41aa2fad5p-1
+-0x1.daf4c6895a475p-2
+-0x1.0579e7d148859p-8
+0x1.e318d24b8b39ep-1
+-0x1.91d2b301a130ep-6
+-0x1.d8d40797b1ffap-1
+-0x1.3ee1c1db473d2p-2
+-0x1.45ebc3d70bdd6p-24
+-0x1.6a73670891036p-1
+-0x1.dd2d72e85c929p-1
+-0x1.c572d1625cc9ap-1
+-0x1.9007645684de8p-1
+-0x1.982b1646a3406p-2
+-0x1.e8dee29e55a00p-1
+-0x1.867e95cfae0a8p-1
+-0x1.57b0e23b39e09p-1
+0x1.04807172fbb6fp-1
+-0x1.70bea3753575bp-1
+-0x1.cc28a3c0fb5ffp-3
+-0x1.0663157daee85p-3
+0x1.d83d9616cffd1p-1
+0x1.d56357592f5acp-2
+0x1.e006175a5233bp-1
+0x1.ded7b522b64c3p-1
+0x1.f11a872f5d26ep-1
+-0x1.e3a22384a6de8p-1
+-0x1.e8316413e3ebdp-1
+-0x1.0da5059829177p-2
+0x1.f67aa7a0b8826p-1
+0x1.eb8604ab96d0bp-1
+-0x1.c1ccb6174f89dp-1
+-0x1.834806f8654c9p-1
+-0x1.ef7701b74636cp-1
+-0x1.e6fc661a4e39bp-1
+0x1.dd3682e648173p-1
+-0x1.7e27e712723ddp-1
+0x1.e12486db8dca7p-6
+-0x1.a7f9c47f84b4bp-11
+0x1.e5dd42f5422e1p-1
+-0x1.7f1a6320cfa79p-1
+0x1.eb14a509edab1p-1
+-0x1.b39b65fdaaaf4p-2
+0x1.edf1a44e79d77p-1
+-0x1.16c4316ff435cp-12
+-0x1.eb0e3015adc06p-1
+0x1.cf1bc071e7b1dp-13
+-0x1.dacfb650325cfp-1
+-0x1.3868c3fb4119cp-3
+-0x1.c2a3b1d7f7890p-1
+-0x1.e64092b0d86f7p-1
+-0x1.53ca0177e6f37p-1
+-0x1.4ea952cfb8453p-25
+-0x1.e84792001e697p-1
+0x1.ef23215f6de12p-1
+-0x1.2152c36f9028dp-1
+0x1.9a5905b3dd7bep-1
+0x1.db5e820db1f0dp-1
+0x1.2dd320b0909e6p-3
+-0x1.027577673d37dp-1
+0x1.e4909407d6b04p-1
+0x1.527324f607a26p-17
+-0x1.ed9414384d45ep-1
+-0x1.7c4f407d91487p-8
+-0x1.eb3f971bcf807p-1
+0x1.d0dc12f7b7649p-18
+0x1.4dcbd35bad403p-1
+0x1.15ad81b482de6p-1
+0x1.e8f0874ac9593p-1
+-0x1.cec574569cb1bp-1
+0x1.ebb2d275b5529p-1
+-0x1.035e76eeac96dp-21
+0x1.eb1e73025e051p-1
+0x1.82b481c2cab01p-1
+0x1.f4d8e628050abp-1
+-0x1.4bc9841532205p-1
+-0x1.a03cd248fa8dbp-3
+-0x1.34a3238e9e3b0p-14
+-0x1.442444137aebep-1
+-0x1.17d6571c1eb38p-9
+-0x1.ed8e345382564p-1
+-0x1.8f2122c52c06bp-1
+-0x1.2e84858cbd9e2p-1
+0x1.ed5ea12bfef39p-1
+0x1.e255d16fe29c9p-1
+-0x1.e7c0a4791e7d1p-1
+0x1.ea9ef4d1cf987p-1
+0x1.bf8761b110b5bp-1
+-0x1.d8ffa13349771p-1
+-0x1.0dd222acc160ap-1
+0x1.828184fbbeaa0p-2
+-0x1.ff5bd6a9242abp-1
+0x1.d91a30bb3e15dp-1
+0x1.c38e7517dd45fp-12
+-0x1.0caa231ede96dp-3
+0x1.bf75f1da5b9f4p-3
+0x1.07c4f43f44017p-1
+0x1.d97165152ffeep-1
+0x1.f565d33b8ac0fp-1
+-0x1.9e2736ae6b655p-13
+-0x1.12528787f6e56p-1
+0x1.1b0912987dcf2p-3
+-0x1.59f3c5b673712p-1
+-0x1.bde56690f6eccp-1
+0x1.d28502cfb2092p-5
+0x1.ddc5738e8f925p-1
+-0x1.7b2d0222d18edp-1
+0x1.495424a43a336p-1
+-0x1.bbee92a22bc1dp-1
+-0x1.e8092359ccf4ap-1
+0x1.d986b716394bap-1
+-0x1.348db24936e14p-1
+-0x1.2c3e37771fce2p-1
+0x1.813c34a44eb1ap-14
+-0x1.dfcb1799d0b1ep-1
+-0x1.148f93639ab8ap-1
+0x1.e9d8e507b6b7dp-1
+0x1.adc4400d2246cp-22
+-0x1.f9941587a0f90p-1
+-0x1.0763c2612613cp-8
+-0x1.ec59c307396f8p-1
+0x1.f8e25686998acp-1
+-0x1.d1b2d7ceae413p-1
+-0x1.15af64d6bc1c9p-17
+-0x1.4f4065a22973ap-23
+-0x1.eb6ea004c88a2p-1
+-0x1.b2daa6e18bec1p-1
+-0x1.f95c5323bece4p-2
+0x1.e1d682232cc70p-1
+0x1.ecec70e666347p-1
+-0x1.d0e1b0d47cce6p-1
+-0x1.ef7c05da00ccbp-1
+0x1.8f83f2b021978p-1
+-0x1.18204301e710fp-3
+0x1.eac881dd6e573p-1
+0x1.46f83671cca25p-1
+0x1.e30cf7c07f903p-1
+-0x1.eba9678c3f1c2p-1
+0x1.e64eb73adb2c1p-1
+0x1.bd81501f6c6dbp-1
+0x1.6c6bd2dd525cdp-1
+0x1.205b7320c006cp-4
+0x1.ff04d61b0df50p-1
+-0x1.eeff51ab9dd14p-1
+-0x1.948a52ed5c31bp-5
+-0x1.e1c5c6487033bp-1
+-0x1.e217c080561c1p-1
+-0x1.3248c214e0d26p-3
+0x1.ed0872a63647dp-1
+0x1.e851875a532ddp-1
+0x1.e7ab52befacc0p-1
+-0x1.259fe08399b90p-3
+-0x1.ededb18a270f5p-1
+0x1.70704180d156ap-1
+0x1.9f8db14d87da8p-1
+0x1.e86395d65171ap-1
+-0x1.b845d7262e0bap-3
+0x1.4183f2511d03ep-1
+0x1.61a7f6c5ef7d1p-22
+-0x1.0bf534b51583ap-2
+-0x1.ebfb153952f46p-1
+-0x1.f432a5c40b5aep-1
+0x1.de1315467998fp-1
+0x1.043b03cb8172fp-3
+0x1.ef435338a09fbp-1
+-0x1.e3682482abf80p-2
+0x1.8cb1a630bb9c2p-1
+0x1.2118379e034c2p-19
+0x1.f7d1a7b4d3511p-2
+-0x1.befed649c5772p-1
+-0x1.ea5613210aa70p-1
+-0x1.5b9f05ea1adb3p-3
+0x1.da3dc7fb7e865p-1
+-0x1.56f2e58d53fc9p-1
+-0x1.a4c0d4697fa72p-1
+-0x1.4fe86735879b5p-25
+-0x1.dbe9a120dc24dp-1
+0x1.7e1f516ae8558p-1
+-0x1.0ccec227b1aa8p-1
+0x1.5a21f14dfa7b0p-1
+-0x1.98c8e5b444e4dp-1
+-0x1.a390457106bfbp-1
+0x1.7834478f6c2ccp-1
+-0x1.d355d23d9f129p-1
+-0x1.dfbdc0246898dp-1
+0x1.0de5e5de3ee03p-23
+-0x1.48701720e6bd6p-3
+0x1.da1b02240fa23p-1
+-0x1.ff76554d1cd62p-1
+0x1.5cf30257670ddp-1
+0x1.f37672c4384dap-1
+-0x1.20811778def78p-14
+-0x1.ea363656402fcp-1
+0x1.ef8c5245acfe3p-1
+-0x1.d9bcb4e8d3e79p-1
+-0x1.1372f51c095bep-1
+-0x1.e6d7e64d3a2a2p-1
+0x1.8d887665a4aa4p-12
+-0x1.543b1625c6f47p-3
+0x1.e2cfd418793d3p-1
+0x1.e2365579a754ep-1
+-0x1.806dd0823096dp-1
+0x1.057365e07e692p-2
+0x1.e13e27d7f0352p-1
+-0x1.e170f02eef343p-1
+-0x1.8a8b96c57e126p-1
+0x1.300c178b2707bp-2
+0x1.84277430fd97ep-2
+0x1.ebace7e63c155p-1
+0x1.7e2db343d2518p-6
+-0x1.f53d46b53474cp-1
+0x1.c0e313323e560p-14
+-0x1.445786093a311p-1
+-0x1.a073961b21017p-3
+0x1.eb2c92dd8595ap-1
+-0x1.dfd9b023c2058p-1
+-0x1.9cc0608e5c256p-3
+-0x1.1e8a967a738a4p-1
+0x1.df31c544e9d67p-1
+0x1.d2fad1936930ep-1
+0x1.d8d4c3d683cd2p-1
+0x1.e8712202731adp-1
+-0x1.ea4834441eb39p-1
+0x1.eda472e60d745p-1
+0x1.e25ac2048fb9ap-1
+0x1.4a70d01fd57a4p-1
+-0x1.1c3704a91d838p-1
+-0x1.df8e14d8335ccp-1
+-0x1.e95d04451bcd5p-1
+-0x1.ea74f086de3c2p-1
+0x1.dda9e26e84162p-1
+0x1.74f4f4a9a7630p-1
+-0x1.bb4fb52218d17p-1
+0x1.4f6f80226f31ap-1
+-0x1.684814485308cp-3
+0x1.7fc4e1d16dcf5p-1
+-0x1.fe6bd006411a7p-1
+-0x1.e0f5e654664e4p-1
+0x1.4dd366975a5b3p-2
+0x1.d94e10f7f2ec8p-1
+0x1.d8c8d21926f4cp-1
+0x1.571e352fdd0f0p-2
+0x1.ea0f558903c1ap-1
+0x1.f6c9d5f09ac9ep-2
+0x1.a3c463d5b6e67p-1
+0x1.48352432fcd1ep-5
+0x1.bda1811e8c6b1p-14
+-0x1.ee04d3c3f2263p-1
+0x1.e58f617f2d384p-1
+0x1.8e41e2bcbf28ep-3
+0x1.191df1d6a15d8p-1
+0x1.b0c6938c36b0ap-1
+-0x1.d944534af1d02p-1
+0x1.31642078c9c6dp-2
+-0x1.841801a2f578cp-1
+0x1.ebbb1323e8b84p-1
+0x1.e12481b18bc72p-1
+0x1.fa64112d9b7bdp-1
+0x1.682c32ff96a0fp-1
+0x1.31dd87a025af2p-1
+0x1.df5f54d95cc0dp-1
+0x1.4b9ce3268e639p-2
+0x1.c206d0139362fp-1
+0x1.e3a8a24e59ea9p-13
+0x1.dfd890e7db3d1p-9
+-0x1.bb5997a01dc09p-1
+-0x1.9da2876b31f04p-1
+-0x1.205fe30c96672p-1
+0x1.fa4b1032a01ecp-1
+0x1.e2db71253b231p-1
+-0x1.5cd7b6880daedp-3
+-0x1.dd712109d9432p-1
+-0x1.f4c2f4098a73bp-3
+-0x1.df4df687c5149p-1
+0x1.a7184731a11b4p-1
+-0x1.b717a69cb0326p-1
+0x1.eedaa2dbb184cp-1
+-0x1.fb6f90001c47fp-1
+-0x1.4141539f32f56p-1
+-0x1.9da4077805769p-1
+-0x1.ab8c92a8ec751p-1
+-0x1.fb9d60929751ep-1
+-0x1.e1f9e6fd5632ap-1
+-0x1.ef20c3a53e72fp-1
+0x1.3a55c400f2026p-1
+0x1.bc55404efb12dp-19
+0x1.82c2a5d140048p-2
+0x1.f613e22df463bp-1
+0x1.2c6291d7f2ad7p-2
+0x1.2319304ed36b5p-1
+0x1.ef526669efbebp-1
+-0x1.b3dec74769b6fp-1
+-0x1.7fa021510350ep-1
+-0x1.c22a90b77021ap-24
+-0x1.e89606e911505p-1
+-0x1.ee05e10877512p-1
+-0x1.a748b03895981p-1
+0x1.db4745b9604cdp-1
+0x1.0eab126351bb9p-3
+0x1.2b74811bfc23dp-2
+-0x1.425187f18c762p-18
+0x1.afbbc6e1f9f84p-1
+-0x1.e8ac5756ef915p-1
+-0x1.0f9400d75348bp-16
+0x1.916dc64eee2aap-1
+# asin multiple precision fallback path
+# Implemented in __sin32 in sysdeps/ieee754/dbl-64/sincos32.c
+## name: slow
+0x1.c88b2415431cbp-23
+0x1.84a360ccf288dp-20
+0x1.7eff5496b7ed2p-21
+0x1.4360a7a7b5c14p-23
+0x1.71374498ed714p-26
diff -urN glibc-2.17-c758a686/benchtests/atanh-inputs glibc-2.17-c758a686/benchtests/atanh-inputs
--- glibc-2.17-c758a686/benchtests/atanh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/atanh-inputs 2015-06-20 21:22:16.296458135 -0400
@@ -0,0 +1,203 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.5a2730bacd94ap-1
+-0x1.b57eb40fc048ep-21
+-0x1.c0b185fb450e2p-17
+-0x1.bd6e1642bb727p-1
+-0x1.4cfdd35756bc5p-10
+0x1.aadb5767b3ae4p-1
+0x1.827ab42a1416dp-1
+0x1.6d4e56dd0ff53p-14
+0x1.667d8313f78d2p-1
+0x1.672230c640ef3p-1
+-0x1.35ec261f6be52p-19
+0x1.9cf3279d8ff3ep-21
+-0x1.a60896128036fp-1
+0x1.ad5067d5aa573p-1
+-0x1.8a4421ee0d23ap-1
+0x1.aba153a252f9bp-14
+-0x1.2498611880effp-1
+-0x1.aa2c423f024dep-26
+-0x1.43d972a3632b8p-1
+0x1.12d690cf283ebp-25
+-0x1.eec6a3a873b98p-1
+-0x1.987b43a58457ap-21
+0x1.96a646ec9ba90p-11
+0x1.b961f358d8f43p-3
+-0x1.51d594fababdep-1
+-0x1.72a777e07e732p-8
+-0x1.21fcd11e4d773p-1
+-0x1.094ea21018a32p-1
+-0x1.79ea722d33e33p-9
+0x1.c63fc48261538p-5
+0x1.b1c0b7e618a20p-3
+-0x1.9957f1ba37225p-19
+-0x1.ecc6037c6538ap-21
+0x1.7e0bc46e556bcp-1
+0x1.4e7cd59b97811p-22
+-0x1.6b2773f7bf9c1p-27
+0x1.db9e07d2c1d81p-1
+0x1.293835cf8c06bp-1
+0x1.f59e8473488f7p-1
+0x1.094c253414b65p-22
+-0x1.922cb3b58f124p-3
+0x1.8a9b4773d8067p-1
+0x1.59e1848e51b3fp-1
+-0x1.77eb61d6b55b3p-1
+0x1.63e245bf37393p-1
+-0x1.8adb670e973d8p-1
+-0x1.c34f8232a8efap-1
+0x1.83f2e5bd4e680p-25
+-0x1.6b8d336fb28b2p-1
+-0x1.f50ce1076f808p-23
+0x1.ceb5a49139809p-19
+-0x1.3d0616e8d067dp-11
+-0x1.5ff057a79950ap-1
+0x1.263f96335fa00p-25
+0x1.5d5fa0d6d5003p-9
+-0x1.5070a3937a84bp-7
+-0x1.299707cfa0a5ap-5
+-0x1.64f623f5a4713p-3
+0x1.2bc994ee38c37p-3
+-0x1.e27d9435b978ap-1
+0x1.8092d58d5c790p-21
+-0x1.9c31372efb7c2p-25
+-0x1.b3e4409bf591ap-11
+-0x1.fc9e4603f0a42p-16
+0x1.7d4f167842e1ep-1
+0x1.d220d2dea0517p-25
+-0x1.f327d6a043438p-9
+0x1.0fbf54939b136p-16
+-0x1.9d4c17b3aa3e3p-18
+-0x1.6ab736c8be0aep-5
+0x1.ecff81aec235cp-1
+-0x1.102122d6bf984p-1
+-0x1.44a7f0d39a7cbp-18
+0x1.369d17b6b92d9p-1
+0x1.2c1ec48113977p-1
+0x1.b2a4a2cd6ddbfp-1
+0x1.1aa8449c2cce7p-18
+-0x1.2083e1015b457p-1
+-0x1.1589761b30c7bp-1
+0x1.e3c782bba8f90p-1
+-0x1.e08b0317d404dp-1
+0x1.290f1622d1939p-8
+0x1.7edf2261fcf95p-1
+-0x1.521241688012fp-2
+-0x1.0307d4e8caa52p-18
+-0x1.ccb366715602cp-1
+-0x1.95aa45bfdf88bp-1
+0x1.83b6d2241735cp-13
+0x1.4977776659f91p-21
+0x1.265e670e3a504p-1
+0x1.857de2b5f1f7cp-1
+-0x1.6e69d509bec68p-24
+0x1.d4f0109417b1ap-1
+0x1.9ab2842033f1fp-15
+-0x1.17d9b0f3c22a2p-1
+0x1.75a321c41a6b0p-1
+0x1.53a5d3faa91ffp-1
+-0x1.618c00bcdbb72p-1
+0x1.e99bd19956904p-1
+-0x1.89c34195ab10dp-21
+-0x1.82b1234ed4accp-21
+0x1.6b0486d8d09fbp-1
+-0x1.4259822aefa37p-1
+-0x1.ecfff733e7bb3p-2
+-0x1.90eac37875516p-1
+-0x1.ba38b666e3abap-6
+0x1.1ebbb6284200ap-22
+0x1.6c2ee1790a8b6p-1
+-0x1.0c2d8105dd990p-1
+-0x1.6d7264d3662ffp-1
+-0x1.43fe90e13fc36p-4
+0x1.46eb6152db91dp-10
+0x1.e4e26333b349ep-4
+-0x1.96ef543f5383cp-1
+0x1.47dca56a5b223p-1
+0x1.08ea668aed516p-4
+0x1.ef8f3428ca661p-6
+0x1.5b2b8480c515fp-10
+-0x1.2762d191e5fa5p-1
+0x1.508d56e0f5ca9p-1
+-0x1.2f616558f0888p-24
+0x1.0260d42d27c09p-11
+-0x1.0988f69b99e16p-1
+-0x1.d35697fcfb7b6p-14
+0x1.ffaf01135dec7p-1
+0x1.0afa01afd6afep-1
+0x1.c7cbb635b5af3p-6
+-0x1.23eb629a0abe4p-1
+-0x1.b87e61aeac49bp-1
+0x1.1646f4a28d191p-18
+0x1.4cd3a045b9783p-1
+-0x1.5c7a8599ffe9ap-14
+-0x1.9457a34399b4ap-1
+0x1.a154f6f6548e8p-1
+0x1.ba8ad1105bb80p-6
+0x1.af9176505fbeep-1
+-0x1.430563677bff8p-8
+0x1.a2a2d2a0778c3p-1
+0x1.df4c731f44b97p-1
+-0x1.d049e60c0ecd3p-23
+-0x1.325e341d79998p-1
+0x1.3da4954669e1fp-27
+-0x1.88d501c9b4a1bp-8
+0x1.f41c064c0c9bdp-1
+-0x1.2e7715356184dp-16
+-0x1.ab8a55eb84adfp-1
+-0x1.b5e7918f752d5p-1
+-0x1.c958c1faf2e05p-12
+-0x1.0a0b95fda6377p-1
+0x1.b05f4635c8e79p-1
+0x1.a216642c8c3c6p-8
+0x1.3049c686e99b7p-27
+0x1.e5ea44ec320c1p-1
+-0x1.884175facb7a0p-5
+0x1.45aa62e647503p-13
+-0x1.634bc7ff5c615p-1
+0x1.b68125750b075p-9
+-0x1.97abf0534746cp-15
+0x1.f687e58a3b36ap-5
+-0x1.1040e1ed1d1e7p-25
+-0x1.6ba8e7fc4221fp-10
+0x1.16e38001e0edbp-1
+0x1.df2ad20740b3dp-26
+-0x1.8e1172ae8c333p-1
+-0x1.b22640bb7e540p-19
+-0x1.fa5552ca0ed82p-13
+-0x1.e8ad873f75a2dp-1
+0x1.c91491a1a5938p-26
+-0x1.4ec4473b27d56p-1
+0x1.5f1862dba68cbp-1
+-0x1.dce0e6290bc85p-1
+0x1.fa68d22f5773bp-1
+-0x1.919486a495542p-1
+0x1.d303d564c000fp-1
+-0x1.afff55716fe0bp-23
+0x1.28b7d3631da7ap-16
+0x1.9ca493208bbdep-1
+-0x1.542a05a6b369fp-1
+-0x1.f7e79460fc57ep-7
+0x1.bb029019558b5p-15
+0x1.bba002729f3d6p-1
+0x1.1ada3533fa957p-1
+-0x1.896d956b5743fp-21
+-0x1.3a30147e08f69p-1
+0x1.25644490a1259p-14
+-0x1.4ef3744b5e468p-4
+0x1.04dac7a84b2d7p-1
+0x1.d46464683c4f8p-1
+0x1.9c4674b85fc58p-9
+-0x1.da6bd2cb0a530p-1
+-0x1.eb2076f05f6f8p-1
+0x1.4aeba21a72c73p-11
+0x1.af7910337420fp-6
+0x1.04ad609a3e62bp-1
+0x1.eafe16a4433afp-1
+0x1.1c65e51ff0cacp-1
+-0x1.4eb61140c3e34p-1
+-0x1.693d851f3cfeep-10
+0x1.254d73366914dp-2
+-0x1.ff34f15f5e3e6p-3
diff -urN glibc-2.17-c758a686/benchtests/atan-inputs glibc-2.17-c758a686/benchtests/atan-inputs
--- glibc-2.17-c758a686/benchtests/atan-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/atan-inputs 2015-06-20 21:22:16.296458135 -0400
@@ -0,0 +1,809 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.642175414a222p-3
+0x1.32f96343ff094p47
+0x1.63961340f55e3p-4
+-0x1.404c80c42d2d7p3
+0x1.ff0297a7f4cf9p-4
+-0x1.3514d0a630343p2
+-0x1.9cd792d24de9cp-13
+0x1.48de0536fa639p-26
+0x1.df679233e616cp3
+-0x1.3672036e3b5dbp46
+-0x1.a6af31fe26a67p1
+-0x1.601447d82000cp-23
+0x1.6978a3d8cdd0cp34
+-0x1.bcf7074f6ad00p-20
+0x1.4560113d34322p1
+-0x1.88e3f71039a4bp-4
+0x1.016652052d70ep6
+0x1.4eeee5387c40fp-11
+0x1.1a93e2edc9a70p-1
+0x1.2a86a6b000b1bp19
+0x1.b550a52791570p19
+0x1.4f55e0fd66533p6
+0x1.179893d68a175p0
+0x1.c587a48440d49p18
+0x1.c4d736b34755ep41
+-0x1.0b00d1e309baap15
+0x1.d3ddd7a4105b8p-17
+0x1.907795ee90c71p1
+0x1.1c0ee51bf3fbbp-26
+0x1.6e21857f657b5p-3
+0x1.522870681be34p0
+-0x1.47fc357b48019p2
+-0x1.fc80d2478d003p44
+0x1.6b6af109c6d11p-2
+-0x1.557b744e3f2b2p-2
+-0x1.c0bd72f9dcc6fp-3
+-0x1.5dad543b37a02p2
+-0x1.d95b35b36eadep38
+0x1.645042fa42207p-2
+-0x1.139444200b144p1
+-0x1.28a691f56455fp-24
+0x1.d97ff36594800p-2
+-0x1.c46e817205691p-1
+0x1.189121c162006p-21
+0x1.b22526da1b4b3p-25
+0x1.89097738a1f84p23
+-0x1.3de8b3a71241ep-4
+0x1.d539d73aa3a6bp4
+0x1.9f3aa3d8be109p-8
+-0x1.28df31604ae5fp-2
+-0x1.a5ba03c7f21c6p39
+-0x1.0aa65539c9639p44
+-0x1.596756edc8d29p-1
+0x1.bf89523d6d9a8p18
+0x1.245712c9030a1p-9
+-0x1.e70de078fe520p-3
+0x1.0a6a653edc9c8p-1
+0x1.cc69116b071cdp-2
+0x1.2f24c0cf8fcb2p-16
+0x1.ed2ac30efc4e7p41
+-0x1.db4970624d850p-4
+-0x1.bb1260bff835cp-4
+0x1.d685f1157cf4ap-4
+-0x1.27241256d29b8p1
+0x1.ec5380eff6d2ap-3
+-0x1.fd7d8132290bep-1
+0x1.228426a24d54dp-17
+0x1.2ea847880a2cdp39
+-0x1.89a5c5d485ab4p3
+-0x1.fbd930c90d22cp3
+-0x1.86674787bedeap3
+0x1.ab27809f97987p1
+0x1.c17c653258848p2
+0x1.a3f615b4aa2afp-4
+-0x1.e8bff4a769203p46
+0x1.2fbb90ef75a25p-4
+0x1.d9d246c3e5da7p10
+0x1.1adf65737ce63p2
+-0x1.4bbf56383d2c4p-20
+0x1.1bc9009943672p2
+-0x1.84cd8442450bcp24
+-0x1.05cbc2307bc60p0
+0x1.b18fc1de83969p-2
+-0x1.a63bf1a32c82cp-26
+0x1.08e7e57369c93p4
+0x1.97e8f20d0a9f8p33
+0x1.1358340c23f9dp-13
+-0x1.f3a987156a953p-15
+0x1.cc4fe36fcebc5p-3
+0x1.d858d5bee5222p-2
+0x1.8911076ba1dfep-5
+0x1.5ab4754566467p1
+0x1.854547561eabbp1
+-0x1.830ce306fc8c4p-13
+0x1.b181a4ed4c25ep-19
+0x1.f77112499c880p30
+-0x1.5124040e757ddp43
+0x1.751c061e72f3dp-1
+0x1.b88d87c4c86b2p-8
+0x1.52c5b76c6ef89p-10
+0x1.e89130ee99ce5p-4
+0x1.2a2ed7a0b1956p-1
+-0x1.47b533d254eb8p3
+0x1.b4d0b69a8f4a8p-24
+0x1.8316a4af1bf68p-18
+-0x1.9e1ef1ccdd020p15
+-0x1.88bde5f29b2d9p3
+-0x1.365034bff4761p0
+0x1.7e40940c2d5adp-17
+-0x1.2c37625bfd76dp-18
+0x1.707642d37610fp0
+-0x1.afd1d0135cf31p3
+-0x1.4b0d1755bbf42p-11
+0x1.c4ed75b07c727p0
+-0x1.5e2db71616c7ap1
+0x1.050223b1cd624p3
+-0x1.3b3db4aa80820p-10
+0x1.5ccb8047d5d1ap12
+0x1.175282b52f29cp0
+0x1.aabc424c47eafp9
+-0x1.1a90445a04e18p0
+0x1.3da941dc72acdp2
+0x1.501726cf3e259p-12
+-0x1.1b3006e74e325p4
+-0x1.ad42977bf9a2bp-1
+0x1.73d0e25d9335ap-3
+0x1.0a514560b1915p-4
+0x1.9b955619c595bp-3
+0x1.c1bde2d25803bp-2
+-0x1.c9c450db85015p-24
+-0x1.b93f27a390fc9p-3
+0x1.394074cfa62d3p1
+0x1.815072f52a2e6p0
+0x1.1e52d6ee6069fp-1
+0x1.1f90737198ea5p-19
+0x1.13341218923f7p-23
+0x1.348b0774c87ffp2
+0x1.d2580731da42cp2
+0x1.87b5a06e57762p-5
+0x1.b40fd58aea62ap0
+0x1.9cd365175d628p28
+-0x1.4094703aac68bp-24
+0x1.56af03795574fp21
+-0x1.e189800006571p-26
+-0x1.9dfb51f7b789cp47
+0x1.9bc2e73963ca7p11
+0x1.b5a1c0632322cp0
+0x1.205e5539779c2p51
+-0x1.6c47a5b0217f6p2
+0x1.791cd37782384p-2
+0x1.231d31372c140p1
+0x1.91e2d31efbcaap-3
+0x1.34fa969626571p30
+-0x1.6bc04360963b5p-11
+0x1.8add0065da1d5p-4
+-0x1.d346e1877a7fdp-2
+-0x1.725697ff5c03dp1
+0x1.a8e2a686fd172p-1
+-0x1.8bd725c48f410p3
+-0x1.3b0537b22c0bbp-1
+-0x1.2c0db2781aad0p28
+0x1.4c6a110727b7fp-16
+0x1.b8d171996cbe1p0
+0x1.e6c6d70c497a0p19
+-0x1.15a9f10771286p2
+-0x1.c30f24893d7a3p-3
+-0x1.d73aa26a08a23p38
+-0x1.58b7549a93d13p-4
+0x1.169012651035fp1
+0x1.197ee4c04ae17p25
+0x1.3fba00276eae3p1
+0x1.941d03c4bf6a6p-4
+0x1.7f21c64e2abb7p-2
+0x1.7581d56332d79p0
+0x1.971980a7e2435p27
+-0x1.e44690996dde4p-8
+-0x1.3133113da7775p-20
+0x1.31d201884c815p30
+0x1.1f46672b184b2p-20
+-0x1.bbbc31b0259d6p7
+-0x1.ff6f625bf7eadp-1
+-0x1.3dd6a5e841573p-1
+-0x1.294b2242985c5p-5
+0x1.80c6d17d3b82ep41
+0x1.66a703915eafdp-4
+0x1.c16431985801dp28
+-0x1.66cc363cc169cp-13
+-0x1.445ac6d7de615p29
+-0x1.78d803eac6a4fp-17
+0x1.7d17f2f5981bdp-4
+-0x1.be3452bcdc974p28
+0x1.83dff4dfc4757p42
+0x1.451781735f844p14
+-0x1.4dab41db1c970p3
+0x1.3373037f37040p2
+0x1.20f7623057a1cp-4
+0x1.b74c37f7006cfp36
+0x1.6d17f13894ea6p-8
+-0x1.9084f58ffff58p1
+-0x1.c57ef7f9833e1p-3
+-0x1.943ce31bfd282p-26
+-0x1.75a42576fe1cdp1
+0x1.ff0257a993250p2
+-0x1.63ef308e427d4p0
+0x1.de26003f5ba7ep16
+0x1.15333549fa76fp29
+0x1.66bfb50c269e7p0
+0x1.a49604cc4d7f9p-4
+-0x1.15003315471d9p-4
+-0x1.38bed20a51ff5p-9
+0x1.7d97f5b7805ddp-19
+-0x1.7a3244a0e1b3ep-2
+0x1.ed0681d4ee226p50
+-0x1.15a691a22afc6p-4
+-0x1.d2c15149a171cp48
+-0x1.d395408686509p1
+0x1.d121d5a063487p-27
+-0x1.159dc08e6bae4p-18
+0x1.835914ed4ac69p46
+-0x1.f45bc1593e631p-2
+-0x1.abaf42742e1aep0
+0x1.f67cc57a82279p22
+-0x1.3cdc56ba8ad80p0
+-0x1.5a8f042e5c06dp-4
+0x1.306774727b9c8p-5
+-0x1.0f21118d78a86p1
+-0x1.abbcc62ae1185p-17
+-0x1.ff75940794858p3
+-0x1.6048b6174f2dap-3
+-0x1.84f4968e9a1a0p3
+-0x1.ecc9025c45c61p-9
+0x1.d9cd03dc0d910p-18
+0x1.cd846319c00c5p-3
+0x1.6366066bd94a6p3
+-0x1.8ebc74865b7b3p1
+-0x1.b87c63e47576cp-3
+0x1.c45cb0d4685f5p-3
+-0x1.e702b4a6029fcp35
+0x1.fc6300b9b675ap3
+-0x1.3f43a795e244ep0
+-0x1.f1cd009ef1604p3
+-0x1.d2fbd2cc79418p11
+0x1.907fd4f15d9d3p-10
+0x1.a371220d3cd1ep43
+0x1.df8544d34e26dp26
+0x1.acb3279e8da17p-18
+0x1.b1ea21e59afd9p-4
+-0x1.e0dff1828b454p-4
+0x1.ef38b267b4663p39
+-0x1.baba241cd2232p-13
+0x1.4fe7c7cd05a69p46
+-0x1.988073a34d2c8p29
+0x1.7599e0ac9a522p-8
+0x1.251b26c85badap52
+-0x1.a27c560a7da35p0
+-0x1.f091c7c2304a2p17
+-0x1.d0e1114b97abfp-13
+0x1.33ee35cf8c72ap1
+-0x1.e714e1fed73c4p-2
+0x1.1292e4e843885p-3
+-0x1.03fcc540c9867p22
+0x1.a53c8268c5213p-2
+-0x1.f16e3196353c0p-20
+0x1.e88a97bf39b0cp14
+0x1.4f00111aae17fp13
+-0x1.388bf2c171982p-1
+0x1.0f70b2319de14p-3
+0x1.e95a75a9609e3p-1
+-0x1.1047552b4d153p2
+0x1.091e73082965cp0
+0x1.2560a7de1090ep-26
+0x1.b7fde3097d182p-20
+0x1.c7f115eabfdedp-4
+-0x1.e99523e282a43p40
+-0x1.960706b024814p-3
+0x1.6ca4d098808a9p41
+-0x1.782a50dd85179p50
+-0x1.26e3c42a5f2d2p1
+0x1.ca282036f2b8cp-10
+0x1.87d031409e3e4p-17
+0x1.a80f97461a0f4p-3
+0x1.66ed5379b1601p45
+-0x1.081bb51f6296ep21
+-0x1.a51801c3b0ab4p-3
+-0x1.f9af91b1e0eacp-4
+0x1.f59650108c48fp1
+0x1.085c309bbe310p0
+-0x1.b9fea5e346036p1
+-0x1.453542b905ad4p24
+-0x1.e66c14b55c117p1
+-0x1.90a6830407ac7p40
+0x1.9bc93234caf93p26
+0x1.4b94104f5f41ap-3
+-0x1.c7b564e75a382p50
+-0x1.c2b250afb59e8p13
+-0x1.bfb283faeefbfp2
+-0x1.173235dbdbca5p-10
+-0x1.ac62c7b5e878bp-4
+-0x1.c2a9461c28ecdp-17
+0x1.1e1bf4bfee9b2p1
+-0x1.c6a1a78876ab6p0
+-0x1.e6fb5111565c8p3
+-0x1.8932b58866bcfp-19
+0x1.6407a070f3a3fp12
+0x1.87a1b1adaed03p-4
+0x1.e5ebf4ac465b1p-4
+-0x1.f8d5e0b5c2957p20
+0x1.42836589a8c0dp31
+-0x1.d1ad755010ed1p-4
+0x1.3d1f16896735ep-1
+0x1.fdaba0fd40c7cp31
+0x1.3311135efe06dp-3
+0x1.b5dc02c3070d2p-2
+-0x1.04d741eec5058p-23
+0x1.a80bc579c9a9bp3
+0x1.4766230792559p1
+-0x1.a5cbe4d7cc609p-3
+-0x1.ba1d23d80c32fp-11
+-0x1.daaf8434d9034p-13
+-0x1.c65d358dac3fep-11
+-0x1.3f4da10042b42p2
+0x1.262fa4579b063p-7
+0x1.914e60ffdbed8p-4
+-0x1.efac261144868p-9
+0x1.ce397251fa408p-4
+0x1.be05d28ca250ap-11
+-0x1.7479b7fa984ddp-3
+-0x1.ac20c42062d2fp2
+0x1.9a487118946dap-4
+0x1.2a124744f9fa4p47
+0x1.b1981261f9020p-1
+0x1.fbf7179ce5846p-2
+0x1.22fbd75358604p-23
+0x1.b1b2a4bcce5acp34
+0x1.84e62689c678dp-19
+-0x1.0b3bf5d136f5fp-25
+0x1.f93ce18d93227p-15
+0x1.bbd3b6a42bc58p-22
+-0x1.47b315f8194ebp27
+-0x1.827896462fb0cp-18
+0x1.2947c23116c19p-2
+0x1.3466e4652adedp1
+-0x1.23c2a01c6daddp-11
+-0x1.5831b4a29e94ep-2
+0x1.4a7fb41fb32ccp-24
+0x1.77544628d33f4p2
+0x1.40a5220c05f84p43
+-0x1.859503fac777cp-1
+0x1.629111fdc02f9p49
+0x1.f72960081155dp-24
+0x1.100cb00f41850p0
+-0x1.1280f391f830bp8
+-0x1.2e93552200855p1
+-0x1.4621063cd9ecdp-12
+0x1.1c4111533addep-25
+-0x1.569560309d6bbp-22
+-0x1.7a8124168d622p3
+0x1.17fba47954943p-4
+0x1.0672546df1e40p-4
+0x1.3157a7fbb3b2ap2
+0x1.a82f370a40ce4p2
+-0x1.a8fac6ce90f3cp1
+0x1.0f28d09b57a07p0
+0x1.da30a55a75636p2
+-0x1.4a8a0783b2ccdp-3
+-0x1.79e674173ab88p-1
+0x1.c89b61641fceep31
+-0x1.0f8107e6388fbp3
+-0x1.f720f120f5f1fp-22
+0x1.144b44598ac02p-4
+-0x1.ceb152c076922p-3
+-0x1.4b12e43d683a4p0
+0x1.c0ae8156c4455p-3
+0x1.85c10724ee68cp-3
+0x1.3c4635592b9ffp-3
+-0x1.d59892bee5390p-4
+-0x1.cd1280ceab8c4p-3
+0x1.b622b71aa922bp8
+-0x1.2795c18e21649p-15
+-0x1.639d32c619c4bp-19
+-0x1.e8f917ef054dfp-8
+0x1.c9eca4e44a7b1p1
+0x1.be86276e10fa9p3
+0x1.750cd40dd63b8p-24
+-0x1.033ab125bb64ep-18
+-0x1.9679b2912fcecp-4
+0x1.f7b3a1afd048dp-23
+-0x1.9f2863bcb1fd6p1
+0x1.c7fed1051dcb2p4
+0x1.c23ec470a9239p-7
+-0x1.1e5006f62ba49p1
+-0x1.0d9f216fea290p3
+0x1.bd8340ad169bap46
+0x1.dac8831aa29d9p3
+0x1.7c191598763c2p1
+-0x1.121aa313ac95bp33
+-0x1.b0996534e93cep-2
+-0x1.6c8353699c9c6p-1
+-0x1.5df8208f06792p3
+-0x1.4657113ffa73fp28
+0x1.48a901159abe7p0
+0x1.70e4b3448f927p50
+-0x1.e120d621edccap-4
+-0x1.4f2900d44caa5p1
+-0x1.848165627b209p-5
+-0x1.4cd082b565a11p-16
+-0x1.d9d2d7967af18p-1
+-0x1.222be1230bd8dp0
+-0x1.361e6586e20d9p16
+-0x1.3ddd364c29946p-19
+0x1.3ee601f53dafap-18
+0x1.e37ab68eb3013p45
+-0x1.0b8a978bd97b9p2
+-0x1.9589707e8a6ddp-20
+0x1.b7ca368b81375p-4
+0x1.2a7b114a80983p0
+-0x1.8c0fd1048891ep-4
+0x1.c32454b620d43p-26
+0x1.853192a0e3bbbp-14
+0x1.172b96d182f82p-2
+0x1.4156741896c30p-3
+-0x1.dd08573a1dc08p-3
+-0x1.f112f2dfd0c38p23
+0x1.f07ef18d186acp-9
+0x1.b0b643dc8187bp-2
+0x1.edf9044a400ccp-26
+-0x1.420ee09a253bbp-16
+-0x1.ce5f43fa6c0e8p0
+-0x1.b49ed6fe33c01p-2
+0x1.bc1e67b736d93p27
+0x1.18f252a5a70f2p-1
+0x1.3bd3528a6b5c3p-25
+0x1.042f039297e45p0
+0x1.890e26c77777ap2
+0x1.ec331761880b9p39
+-0x1.12aec65364402p2
+-0x1.b09600801c6c9p7
+0x1.4c14331304537p36
+-0x1.366b32ae15936p-9
+-0x1.d04011bd2f923p-27
+-0x1.bb73e632734cap51
+-0x1.22df928d0db2bp14
+-0x1.84d2c65e8a597p-4
+-0x1.248ce4d82f9e1p-3
+-0x1.a89a16ab8fc98p41
+-0x1.22061604a7bbep-1
+-0x1.9b7790ad6cfcap37
+0x1.e146126a58363p-20
+0x1.8bf9d0bee4587p-6
+-0x1.74eec1eb48a38p18
+-0x1.1eca65e42c0e2p-24
+-0x1.5f6e27219b443p5
+-0x1.95f64657f34b0p1
+-0x1.ad0923f0c8747p-14
+-0x1.71b7472c93381p2
+-0x1.e88ec0fa2b8e2p40
+0x1.0efad07b1325cp-2
+-0x1.d614b725644c2p-11
+-0x1.87f104d664989p-4
+0x1.db8bf75a3dabcp25
+0x1.18a07441e9358p-3
+0x1.c52552071ba9dp2
+0x1.4eee532e1cf42p-2
+-0x1.acd7a7d0cb2d2p49
+-0x1.efdbb63ba4cd9p3
+-0x1.c0dbd4011e3dbp14
+0x1.a8b9053cd4ae7p-26
+0x1.950f208f9f314p-3
+0x1.62bc1534e8779p1
+0x1.ec8712224e21dp5
+-0x1.dcf2f55094df3p-4
+-0x1.13a10025de14cp1
+-0x1.275ce549521b9p-1
+-0x1.2d3995ba1b17bp-5
+-0x1.a76630717c0c6p3
+-0x1.b2ec655611d3ep38
+-0x1.9bd4a62004f97p-20
+-0x1.49dcb6df53770p1
+-0x1.2b34c0811030cp-3
+0x1.99ee70ec910aap-21
+0x1.35b201aa1e70bp-3
+-0x1.92a3000ee8dd4p-2
+-0x1.d69d60b48249fp3
+0x1.eee73555cf4d5p-3
+-0x1.07de748dacd3ap12
+-0x1.a8ea7383f8f09p8
+-0x1.eca3120c1f7cep1
+-0x1.8b4b26d9f4eabp51
+0x1.167433f50737ep-23
+0x1.585657c46c25ap-20
+0x1.0e0447b473e54p2
+0x1.b28d209b03f59p-4
+0x1.9a8d34b2b2855p-25
+0x1.948ac6afc0f37p3
+-0x1.563cf374c073fp-4
+0x1.fa49e687bce32p42
+0x1.c42c2624133c2p48
+-0x1.001e573a69113p2
+-0x1.4dfb17453411bp-3
+-0x1.d9b9b553ab45fp23
+0x1.55496452db316p3
+-0x1.8420d7f1ac33ep3
+-0x1.ac7cd42b0f63ep2
+0x1.ce2970c35394cp2
+-0x1.de2ce25feb1e3p-16
+0x1.4fe2152fd9407p-2
+0x1.4d4233d0400d2p1
+0x1.f4c640fdd48b2p-10
+0x1.1512c1316465ap37
+0x1.b584b29dc1d4bp22
+-0x1.695e973f8db94p-1
+0x1.7373d677b7679p24
+0x1.f899a57b746b9p-22
+-0x1.f5ad761b38217p0
+0x1.daf950a02a029p1
+0x1.a9c47461369bcp-7
+0x1.a66902e961fe5p-2
+-0x1.f6bc5292eadcep2
+-0x1.0377673b5656cp20
+-0x1.269297562701dp-4
+0x1.13d1e1e922a15p3
+-0x1.ddf1d5cfbfb4dp-20
+0x1.6c21328fa2eacp0
+0x1.953fe3186fbacp0
+-0x1.2ed5d49aee19cp-15
+-0x1.d3e9f10d61fa8p-4
+0x1.5315517278bffp-4
+-0x1.aeeb36df95b57p26
+0x1.9f55b3bd1d398p2
+0x1.894151536709bp3
+-0x1.93a3d5c645e3fp22
+-0x1.37803538f3548p43
+-0x1.d5dde10bc588fp-23
+0x1.f145117569f10p4
+-0x1.ca23009d83541p0
+-0x1.fc4063d4a4afep23
+-0x1.ec88c7edb5ae2p-6
+-0x1.2d5973fcaa823p-21
+0x1.437a141589287p2
+-0x1.9104e694ef44ap-2
+-0x1.b70572032d576p-7
+0x1.d10452e3eae69p2
+0x1.2874b443d01bcp0
+0x1.fa66d12189a72p20
+-0x1.303e443c556d3p46
+0x1.4b5d557e8fe56p44
+0x1.602bb4e791b87p-20
+-0x1.158f81cbcb150p-3
+-0x1.36a3939175212p3
+-0x1.826092fe525c4p-19
+-0x1.a72da4879bcb1p-26
+0x1.839626b74c51ap-1
+-0x1.bd2da6527d628p5
+0x1.3257e0dc99c46p-23
+-0x1.b3ebe0c2317c6p3
+0x1.1164968b6d3d2p-4
+0x1.bd5404092a649p30
+-0x1.dd0e00246fdf1p-3
+-0x1.4167e56920aa2p6
+-0x1.b035570fa59c8p-1
+0x1.7853f4cf90bbcp15
+0x1.bc20a74a4c2dbp-18
+0x1.0e3ee3d24bf54p3
+-0x1.95aab56378e9cp45
+-0x1.4930a7aa51e8dp1
+0x1.ea77407c9a5f1p-1
+0x1.4fac93644de62p-3
+0x1.a2ed87cc0f417p43
+0x1.14d2d0a33df56p2
+-0x1.3473f6f77b6c5p11
+0x1.b647101dc4177p3
+-0x1.4e0b92acc66bfp23
+0x1.2a3797d36ee30p-4
+0x1.ce10973c013ebp-14
+0x1.b6cef57406772p2
+-0x1.326762c9ea656p-22
+0x1.56473079b28aap24
+-0x1.46f3d42d9a8dap-11
+-0x1.6d4e52e373151p-7
+0x1.622a0570fc4abp11
+-0x1.7e0bb32e21466p-6
+0x1.55a1a3d809d3ep1
+-0x1.d7492480e11f5p32
+0x1.835730d6b3ef6p-18
+0x1.2d9cf79f070e8p-9
+-0x1.6cee95c1d9445p26
+0x1.45c58441f2822p-3
+0x1.2f01d75200b30p21
+-0x1.014c5172af434p0
+0x1.9d96552d416d8p3
+0x1.f878a3fc8f55fp-3
+0x1.1206f1aa29231p1
+0x1.998bc480cbf5dp-3
+0x1.2160c0ab74e78p41
+0x1.66cce4923857ap-6
+-0x1.47bf27bfba3adp-3
+-0x1.88b9442658583p-13
+0x1.baf0076743831p2
+-0x1.d7a664adbb965p-22
+0x1.8bfbf37ef0c90p22
+-0x1.a2b137086be2cp9
+0x1.b8fa2667197acp29
+0x1.2e9ee649d720ap-2
+0x1.fd42f19ae5dfdp-15
+0x1.b4c7c70a22018p38
+0x1.6fee027ca714ap-18
+0x1.b986a428fdeebp-9
+-0x1.f63c6744cafc4p-7
+-0x1.860b9508a01c2p-4
+0x1.c9dbe26d13605p-7
+-0x1.e5af65a0da055p-4
+0x1.2f48357a95e60p-3
+0x1.afac3209945f4p-11
+0x1.e24230fc8430fp-1
+0x1.555f1605043d9p40
+-0x1.42c7b6d8c6b89p-4
+0x1.f5e416fab1768p24
+0x1.4379506da570ep10
+-0x1.c38b2527d3a6ap0
+-0x1.ecf007e1a6728p-3
+0x1.636eb2220b2c2p-18
+0x1.7609e702937b8p2
+0x1.2db5d31780fa5p3
+-0x1.221c240b15183p-3
+0x1.084b249033af8p-19
+-0x1.69c8f54230d4cp2
+-0x1.5458a621ac511p0
+0x1.c8b53281fbad0p-15
+0x1.0c8ac2d6bf8cep-22
+-0x1.28b804bea1e7fp3
+0x1.919d64a75bf39p-9
+0x1.4c0b078f754a4p-1
+-0x1.dd7405983ab97p-20
+0x1.ba2103a39b033p19
+-0x1.b21fc106586d2p0
+0x1.eacb558bbd5dap1
+-0x1.058304cdc51f1p-2
+-0x1.e530d67d5c413p15
+0x1.9efc141496268p-21
+0x1.9e43436405397p-2
+0x1.d6c5d5f5dcc9fp-22
+0x1.2f0540658e814p1
+0x1.89ea31cb96062p1
+0x1.c9d690079576dp-7
+0x1.9b1ef5b23f047p-2
+-0x1.c1e61429c45fbp43
+0x1.248b34f22e7e1p-26
+0x1.0dc2918fd3196p-15
+0x1.a17a2260c8d58p18
+-0x1.a088140ade389p19
+0x1.8b92c2168e33fp40
+0x1.69ab67a22bbbcp0
+-0x1.343232b010a37p-17
+-0x1.0c4932248f574p0
+-0x1.2bdc378a38991p-2
+0x1.2d563370110dap-12
+0x1.a27134171f37dp-4
+0x1.fa63324eb71a3p26
+0x1.6f50c55b7950ep-21
+-0x1.0486e73eca0d8p45
+-0x1.fa20f7947f447p-3
+0x1.0439c6fe1a62ep2
+0x1.4e5d366349911p2
+0x1.985933b0a27d6p-2
+0x1.bf592781e0417p-4
+0x1.bd39f070daca3p-4
+0x1.0130b7296f20dp0
+-0x1.299cc68ec2149p2
+-0x1.6d9fc7a6e0946p0
+0x1.b42110fb94ad0p31
+0x1.b59970f83df8ep1
+0x1.c4083529ddeb8p38
+0x1.ac3bb44cafe59p1
+0x1.6d66733b81b71p-11
+0x1.20beb78f7ceeep-16
+0x1.d285f704a02d5p-4
+0x1.bf37a3dc305b1p37
+-0x1.8852a20307706p1
+0x1.8129a11b33c67p31
+0x1.1b31565ac4d26p38
+0x1.efe3d79df1a25p0
+-0x1.df4fc61097087p34
+-0x1.801e6310f70c4p1
+0x1.de7fc178da718p1
+0x1.82cd96b74c33bp-3
+0x1.14ce177c73acbp2
+-0x1.b8bfa6f20bf6cp-4
+0x1.04ff06087395bp-9
+-0x1.8327b171d58abp-4
+-0x1.8cabe7b5327bap-3
+-0x1.82c492035cf5bp24
+-0x1.d85a267d87555p-24
+-0x1.efdc44b7fb121p24
+0x1.ea99c6cf2fd74p-17
+0x1.3fb6671f607b1p1
+0x1.97dce09249de2p-3
+-0x1.9dc4f0331f52cp43
+0x1.ea7d727d27334p41
+-0x1.ec9d516a85c75p-25
+-0x1.bb2176abaedd1p-3
+-0x1.71eeb273dd3adp-15
+-0x1.7be385146ccdep25
+0x1.c1f987ad8af62p-6
+0x1.2159279f1c89ap2
+-0x1.4805b43babc89p-17
+-0x1.c16834d0d845ap-20
+0x1.c52f537caeb0ep10
+0x1.14d5e5a6c66f8p52
+0x1.2f929423ad32fp0
+0x1.e9ce62b513428p-4
+-0x1.8a14f3724eb37p32
+0x1.64013151734fdp3
+-0x1.9090f39f49889p23
+0x1.be6b47a137a52p-12
+0x1.59a42749fd7c3p1
+0x1.8603f544b0976p-15
+-0x1.4d2ba3dfaeb93p-2
+-0x1.7d770619d5bc3p12
+0x1.edfb87aaee9b1p1
+-0x1.f23d94e870be7p-4
+-0x1.21500514f25d3p41
+0x1.cb8712f937eedp-15
+0x1.fb47c7a69d8a4p-24
+0x1.f1c904cd2e471p-12
+-0x1.31e6e3b7073f8p0
+-0x1.facd32a72c5a8p2
+-0x1.9823a41a9780ap-3
+0x1.3db1f5e2a9a51p51
+0x1.6344057f1cca6p-1
+-0x1.8be6128041ebfp-13
+0x1.6f07c272d7fe9p38
+-0x1.fd48060bf89bfp-5
+-0x1.82eb1727ca16ep-2
+0x1.26e0a24f2ec11p-18
+-0x1.74a1c0cb9d677p-14
+-0x1.bb0c36f1bb121p0
+-0x1.56a4873461187p1
+-0x1.d01e65e325d8dp2
+-0x1.5250308bc28a5p36
+-0x1.83c6f31f2de0fp-24
+-0x1.41ae76e29ab40p1
+-0x1.d738a56bac094p1
+0x1.1a5247926ba82p-14
+0x1.d703938b24ac4p-22
+-0x1.cc5566621df4fp-4
+-0x1.4144e3f175873p-4
+0x1.a41e208bd59c2p-4
+-0x1.8588a53e4e022p8
+0x1.cf4331e97df52p-27
+-0x1.d70843f5b2a7bp-8
+-0x1.b1a912cdf744ep-3
+0x1.ad44072bba2efp-15
+-0x1.735cf794885b0p25
+-0x1.94d98257a7443p-4
+-0x1.61dac14e8c1f2p1
+0x1.f71585bdc20e7p-20
+-0x1.3338f2e1ebed7p-2
+-0x1.044ab29dd3fd8p-1
+0x1.b230868e79405p-25
+0x1.c3539439a1ce3p15
+-0x1.2998d58d65498p-4
+0x1.7273d75dd90f5p0
+-0x1.6214d3e6a209fp32
+-0x1.3b2aa66ea6fd8p-3
+-0x1.6cc910ca7817ap-4
+-0x1.1194f4be56f5bp28
+-0x1.6dc3114d423c9p2
+-0x1.b447e098a3c6fp18
+-0x1.705865523468cp15
+-0x1.8e6752f060479p38
+-0x1.ebe665ab9b23ap3
+0x1.df6ee1073afd0p32
+-0x1.35ce11e0f4a42p5
+0x1.7c26f0a48edd9p-3
+0x1.af1996c678e0dp28
+0x1.c4ea4704b4de2p2
+0x1.697b37d6b070dp19
+0x1.49fa574ba1eccp52
+-0x1.695ee7cc1ce8ep48
+-0x1.169c757dd823dp-23
+0x1.207273ac379a1p-4
+0x1.7c2dc5c85d916p23
+0x1.fe02e67c4ccbfp-24
+0x1.accc401e13286p49
+-0x1.af3426c709c78p-18
+-0x1.ab2ca07faba33p-4
+0x1.aeaaf4f90a9c1p-4
+-0x1.84f781f4efe2cp-9
+-0x1.d885871aa2240p-9
+-0x1.a618720ac58c4p-22
+-0x1.9b995257a7ee5p-6
+-0x1.f68b46a30839ep-18
+0x1.e1443653f9257p3
+0x1.ce1a94d5c772cp-22
+0x1.b24255d0a3ce2p38
+0x1.2eaa6690d786ep2
+0x1.b5bb45a608da6p0
+-0x1.ead7509b0d69ep26
+0x1.86fa30e0b406ep3
+-0x1.acd451c3cb8b6p49
+# atan slow path with 144bit precision
+# Implemented in sysdeps/ieee754/dbl-64/mpatan.c
+## name: 144bits
+0x1.000000c5cba87p0
+0x1.000001883003bp0
+0x1.00000dfb2b675p0
diff -urN glibc-2.17-c758a686/benchtests/bench-bcopy.c glibc-2.17-c758a686/benchtests/bench-bcopy.c
--- glibc-2.17-c758a686/benchtests/bench-bcopy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-bcopy.c 2015-06-20 21:22:16.296458135 -0400
@@ -0,0 +1,20 @@
+/* Measure bcopy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_BCOPY
+#include "bench-memmove.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-bzero.c glibc-2.17-c758a686/benchtests/bench-bzero.c
--- glibc-2.17-c758a686/benchtests/bench-bzero.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-bzero.c 2015-06-20 21:22:16.296458135 -0400
@@ -0,0 +1,19 @@
+/* Measure bzero functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+#define TEST_BZERO
+#include "bench-memset.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-malloc-thread.c glibc-2.17-c758a686/benchtests/bench-malloc-thread.c
--- glibc-2.17-c758a686/benchtests/bench-malloc-thread.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-malloc-thread.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,302 @@
+/* Benchmark malloc and free functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+#include "bench-timing.h"
+#include "json-lib.h"
+
+/* Benchmark duration in seconds. */
+#define BENCHMARK_DURATION 60
+#define RAND_SEED 88
+
+#ifndef NUM_THREADS
+# define NUM_THREADS 1
+#endif
+
+/* Maximum memory that can be allocated at any one time is:
+
+ NUM_THREADS * WORKING_SET_SIZE * MAX_ALLOCATION_SIZE
+
+ However due to the distribution of the random block sizes
+ the typical amount allocated will be much smaller. */
+#define WORKING_SET_SIZE 1024
+
+#define MIN_ALLOCATION_SIZE 4
+#define MAX_ALLOCATION_SIZE 32768
+
+/* Get a random block size with an inverse square distribution. */
+static unsigned int
+get_block_size (unsigned int rand_data)
+{
+ /* Inverse square. */
+ const float exponent = -2;
+ /* Minimum value of distribution. */
+ const float dist_min = MIN_ALLOCATION_SIZE;
+ /* Maximum value of distribution. */
+ const float dist_max = MAX_ALLOCATION_SIZE;
+
+ float min_pow = powf (dist_min, exponent + 1);
+ float max_pow = powf (dist_max, exponent + 1);
+
+ float r = (float) rand_data / RAND_MAX;
+
+ return (unsigned int) powf ((max_pow - min_pow) * r + min_pow,
+ 1 / (exponent + 1));
+}
+
+#define NUM_BLOCK_SIZES 8000
+#define NUM_OFFSETS ((WORKING_SET_SIZE) * 4)
+
+static unsigned int random_block_sizes[NUM_BLOCK_SIZES];
+static unsigned int random_offsets[NUM_OFFSETS];
+
+static void
+init_random_values (void)
+{
+ for (size_t i = 0; i < NUM_BLOCK_SIZES; i++)
+ random_block_sizes[i] = get_block_size (rand ());
+
+ for (size_t i = 0; i < NUM_OFFSETS; i++)
+ random_offsets[i] = rand () % WORKING_SET_SIZE;
+}
+
+static unsigned int
+get_random_block_size (unsigned int *state)
+{
+ unsigned int idx = *state;
+
+ if (idx >= NUM_BLOCK_SIZES - 1)
+ idx = 0;
+ else
+ idx++;
+
+ *state = idx;
+
+ return random_block_sizes[idx];
+}
+
+static unsigned int
+get_random_offset (unsigned int *state)
+{
+ unsigned int idx = *state;
+
+ if (idx >= NUM_OFFSETS - 1)
+ idx = 0;
+ else
+ idx++;
+
+ *state = idx;
+
+ return random_offsets[idx];
+}
+
+static volatile bool timeout;
+
+static void
+alarm_handler (int signum)
+{
+ timeout = true;
+}
+
+/* Allocate and free blocks in a random order. */
+static size_t
+malloc_benchmark_loop (void **ptr_arr)
+{
+ unsigned int offset_state = 0, block_state = 0;
+ size_t iters = 0;
+
+ while (!timeout)
+ {
+ unsigned int next_idx = get_random_offset (&offset_state);
+ unsigned int next_block = get_random_block_size (&block_state);
+
+ free (ptr_arr[next_idx]);
+
+ ptr_arr[next_idx] = malloc (next_block);
+
+ iters++;
+ }
+
+ return iters;
+}
+
+struct thread_args
+{
+ size_t iters;
+ void **working_set;
+ timing_t elapsed;
+};
+
+static void *
+benchmark_thread (void *arg)
+{
+ struct thread_args *args = (struct thread_args *) arg;
+ size_t iters;
+ void *thread_set = args->working_set;
+ timing_t start, stop;
+
+ TIMING_NOW (start);
+ iters = malloc_benchmark_loop (thread_set);
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (args->elapsed, start, stop);
+ args->iters = iters;
+
+ return NULL;
+}
+
+static timing_t
+do_benchmark (size_t num_threads, size_t *iters)
+{
+ timing_t elapsed = 0;
+
+ if (num_threads == 1)
+ {
+ timing_t start, stop;
+ void *working_set[WORKING_SET_SIZE];
+
+ memset (working_set, 0, sizeof (working_set));
+
+ TIMING_NOW (start);
+ *iters = malloc_benchmark_loop (working_set);
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (elapsed, start, stop);
+ }
+ else
+ {
+ struct thread_args args[num_threads];
+ void *working_set[num_threads][WORKING_SET_SIZE];
+ pthread_t threads[num_threads];
+
+ memset (working_set, 0, sizeof (working_set));
+
+ *iters = 0;
+
+ for (size_t i = 0; i < num_threads; i++)
+ {
+ args[i].working_set = working_set[i];
+ pthread_create(&threads[i], NULL, benchmark_thread, &args[i]);
+ }
+
+ for (size_t i = 0; i < num_threads; i++)
+ {
+ pthread_join(threads[i], NULL);
+ TIMING_ACCUM (elapsed, args[i].elapsed);
+ *iters += args[i].iters;
+ }
+ }
+ return elapsed;
+}
+
+static void usage(const char *name)
+{
+ fprintf (stderr, "%s: \n", name);
+ exit (1);
+}
+
+int
+main (int argc, char **argv)
+{
+ timing_t cur;
+ size_t iters = 0, num_threads = 1;
+ unsigned long res;
+ json_ctx_t json_ctx;
+ double d_total_s, d_total_i;
+ struct sigaction act;
+
+ if (argc == 1)
+ num_threads = 1;
+ else if (argc == 2)
+ {
+ long ret;
+
+ errno = 0;
+ ret = strtol(argv[1], NULL, 10);
+
+ if (errno || ret == 0)
+ usage(argv[0]);
+
+ num_threads = ret;
+ }
+ else
+ usage(argv[0]);
+
+ init_random_values ();
+
+ json_init (&json_ctx, 0, stdout);
+
+ json_document_begin (&json_ctx);
+
+ json_attr_string (&json_ctx, "timing_type", TIMING_TYPE);
+
+ json_attr_object_begin (&json_ctx, "functions");
+
+ json_attr_object_begin (&json_ctx, "malloc");
+
+ json_attr_object_begin (&json_ctx, "");
+
+ TIMING_INIT (res);
+
+ (void) res;
+
+ memset (&act, 0, sizeof (act));
+ act.sa_handler = &alarm_handler;
+
+ sigaction (SIGALRM, &act, NULL);
+
+ alarm (BENCHMARK_DURATION);
+
+ cur = do_benchmark (num_threads, &iters);
+
+ struct rusage usage;
+ getrusage(RUSAGE_SELF, &usage);
+
+ d_total_s = cur;
+ d_total_i = iters;
+
+ json_attr_double (&json_ctx, "duration", d_total_s);
+ json_attr_double (&json_ctx, "iterations", d_total_i);
+ json_attr_double (&json_ctx, "time_per_iteration", d_total_s / d_total_i);
+ json_attr_double (&json_ctx, "max_rss", usage.ru_maxrss);
+
+ json_attr_double (&json_ctx, "threads", num_threads);
+ json_attr_double (&json_ctx, "min_size", MIN_ALLOCATION_SIZE);
+ json_attr_double (&json_ctx, "max_size", MAX_ALLOCATION_SIZE);
+ json_attr_double (&json_ctx, "random_seed", RAND_SEED);
+
+ json_attr_object_end (&json_ctx);
+
+ json_attr_object_end (&json_ctx);
+
+ json_attr_object_end (&json_ctx);
+
+ json_document_end (&json_ctx);
+
+ return 0;
+}
diff -urN glibc-2.17-c758a686/benchtests/bench-memccpy.c glibc-2.17-c758a686/benchtests/bench-memccpy.c
--- glibc-2.17-c758a686/benchtests/bench-memccpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memccpy.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,163 @@
+/* Measure memccpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "memccpy"
+#include "bench-string.h"
+
+void *simple_memccpy (void *, const void *, int, size_t);
+void *stupid_memccpy (void *, const void *, int, size_t);
+
+IMPL (stupid_memccpy, 0)
+IMPL (simple_memccpy, 0)
+IMPL (memccpy, 1)
+
+void *
+simple_memccpy (void *dst, const void *src, int c, size_t n)
+{
+ const char *s = src;
+ char *d = dst;
+
+ while (n-- > 0)
+ if ((*d++ = *s++) == (char) c)
+ return d;
+
+ return NULL;
+}
+
+void *
+stupid_memccpy (void *dst, const void *src, int c, size_t n)
+{
+ void *p = memchr (src, c, n);
+
+ if (p != NULL)
+ return mempcpy (dst, src, p - src + 1);
+
+ memcpy (dst, src, n);
+ return NULL;
+}
+
+typedef void *(*proto_t) (void *, const void *, int c, size_t);
+
+static void
+do_one_test (impl_t *impl, void *dst, const void *src, int c, size_t len,
+ size_t n)
+{
+ void *expect = len > n ? NULL : (char *) dst + len;
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src, c, n) != expect)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ CALL (impl, dst, src, c, n), expect);
+ ret = 1;
+ return;
+ }
+
+ if (memcmp (dst, src, len > n ? n : len) != 0)
+ {
+ error (0, 0, "Wrong result in function %s", impl->name);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, dst, src, c, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, int c, size_t len, size_t n,
+ int max_char)
+{
+ size_t i;
+ char *s1, *s2;
+
+ align1 &= 7;
+ if (align1 + len >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len - 1; ++i)
+ {
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ if (s1[i] == (char) c)
+ --s1[i];
+ }
+ s1[len - 1] = c;
+ for (i = len; i + align1 < page_size && i < len + 64; ++i)
+ s1[i] = 32 + 32 * i % (max_char - 32);
+
+ printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, s1, c, len, n);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%28s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, i, 12, 16, 16, 127);
+ do_test (i, i, 23, 16, 16, 255);
+ do_test (i, 2 * i, 28, 16, 16, 127);
+ do_test (2 * i, i, 31, 16, 16, 255);
+ do_test (8 - i, 2 * i, 1, 1 << i, 2 << i, 127);
+ do_test (2 * i, 8 - i, 17, 2 << i, 1 << i, 127);
+ do_test (8 - i, 2 * i, 0, 1 << i, 2 << i, 255);
+ do_test (2 * i, 8 - i, i, 2 << i, 1 << i, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, i, 4 << i, 8 << i, 127);
+ do_test (0, 0, i, 16 << i, 8 << i, 127);
+ do_test (8 - i, 2 * i, i, 4 << i, 8 << i, 127);
+ do_test (8 - i, 2 * i, i, 16 << i, 8 << i, 127);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memchr.c glibc-2.17-c758a686/benchtests/bench-memchr.c
--- glibc-2.17-c758a686/benchtests/bench-memchr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memchr.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,133 @@
+/* Measure memchr functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef USE_AS_MEMRCHR
+# define TEST_MAIN
+# define TEST_NAME "memchr"
+# include "bench-string.h"
+
+typedef char *(*proto_t) (const char *, int, size_t);
+char *simple_memchr (const char *, int, size_t);
+
+IMPL (simple_memchr, 0)
+IMPL (memchr, 1)
+
+char *
+simple_memchr (const char *s, int c, size_t n)
+{
+ while (n--)
+ if (*s++ == (char) c)
+ return (char *) s - 1;
+ return NULL;
+}
+#endif
+
+static void
+do_one_test (impl_t *impl, const char *s, int c, size_t n, char *exp_res)
+{
+ char *res = CALL (impl, s, c, n);
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (res != exp_res)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ res, exp_res);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, c, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len, int seek_char)
+{
+ size_t i;
+ char *result;
+
+ align &= 7;
+ if (align + len >= page_size)
+ return;
+
+ for (i = 0; i < len; ++i)
+ {
+ buf1[align + i] = 1 + 23 * i % 127;
+ if (buf1[align + i] == seek_char)
+ buf1[align + i] = seek_char + 1;
+ }
+ buf1[align + len] = 0;
+
+ if (pos < len)
+ {
+ buf1[align + pos] = seek_char;
+ buf1[align + len] = -seek_char;
+ result = (char *) (buf1 + align + pos);
+ }
+ else
+ {
+ result = NULL;
+ buf1[align + len] = seek_char;
+ }
+
+ printf ("Length %4zd, alignment %2zd:", pos, align);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (char *) (buf1 + align), seek_char, len, result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 2048, 23);
+ do_test (i, 64, 256, 23);
+ do_test (0, 16 << i, 2048, 0);
+ do_test (i, 64, 256, 0);
+ }
+ for (i = 1; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, 23);
+ do_test (0, i, i + 1, 0);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memcmp.c glibc-2.17-c758a686/benchtests/bench-memcmp.c
--- glibc-2.17-c758a686/benchtests/bench-memcmp.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memcmp.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,177 @@
+/* Measure memcmp functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wmemcmp"
+#else
+# define TEST_NAME "memcmp"
+#endif
+#include "bench-string.h"
+#ifdef WIDE
+# include
+# include
+
+# define MEMCMP wmemcmp
+# define MEMCPY wmemcpy
+# define SIMPLE_MEMCMP simple_wmemcmp
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define CHARBYTES 4
+# define CHAR__MIN WCHAR_MIN
+# define CHAR__MAX WCHAR_MAX
+int
+simple_wmemcmp (const wchar_t *s1, const wchar_t *s2, size_t n)
+{
+ int ret = 0;
+ /* Warning!
+ wmemcmp has to use SIGNED comparison for elements.
+ memcmp has to use UNSIGNED comparison for elemnts.
+ */
+ while (n-- && (ret = *s1 < *s2 ? -1 : *s1 == *s2 ? 0 : 1) == 0) {s1++; s2++;}
+ return ret;
+}
+#else
+# include
+
+# define MEMCMP memcmp
+# define MEMCPY memcpy
+# define SIMPLE_MEMCMP simple_memcmp
+# define CHAR char
+# define MAX_CHAR 255
+# define UCHAR unsigned char
+# define CHARBYTES 1
+# define CHAR__MIN CHAR_MIN
+# define CHAR__MAX CHAR_MAX
+
+int
+simple_memcmp (const char *s1, const char *s2, size_t n)
+{
+ int ret = 0;
+
+ while (n-- && (ret = *(unsigned char *) s1++ - *(unsigned char *) s2++) == 0);
+ return ret;
+}
+#endif
+
+typedef int (*proto_t) (const CHAR *, const CHAR *, size_t);
+
+IMPL (SIMPLE_MEMCMP, 0)
+IMPL (MEMCMP, 1)
+
+static void
+do_one_test (impl_t *impl, const CHAR *s1, const CHAR *s2, size_t len,
+ int exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2, len);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, int exp_result)
+{
+ size_t i;
+ CHAR *s1, *s2;
+
+ if (len == 0)
+ return;
+
+ align1 &= 63;
+ if (align1 + (len + 1) * CHARBYTES >= page_size)
+ return;
+
+ align2 &= 63;
+ if (align2 + (len + 1) * CHARBYTES >= page_size)
+ return;
+
+ s1 = (CHAR *) (buf1 + align1);
+ s2 = (CHAR *) (buf2 + align2);
+
+ for (i = 0; i < len; i++)
+ s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % CHAR__MAX;
+
+ s1[len] = align1;
+ s2[len] = align2;
+ s2[len - 1] -= exp_result;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, len, exp_result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 16; ++i)
+ {
+ do_test (i * CHARBYTES, i * CHARBYTES, i, 0);
+ do_test (i * CHARBYTES, i * CHARBYTES, i, 1);
+ do_test (i * CHARBYTES, i * CHARBYTES, i, -1);
+ }
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, 0);
+ do_test (0, 0, i, 1);
+ do_test (0, 0, i, -1);
+ }
+
+ for (i = 1; i < 10; ++i)
+ {
+ do_test (0, 0, 2 << i, 0);
+ do_test (0, 0, 2 << i, 1);
+ do_test (0, 0, 2 << i, -1);
+ do_test (0, 0, 16 << i, 0);
+ do_test ((8 - i) * CHARBYTES, (2 * i) * CHARBYTES, 16 << i, 0);
+ do_test (0, 0, 16 << i, 1);
+ do_test (0, 0, 16 << i, -1);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i * CHARBYTES, 2 * (i * CHARBYTES), 8 << i, 0);
+ do_test (i * CHARBYTES, 2 * (i * CHARBYTES), 8 << i, 1);
+ do_test (i * CHARBYTES, 2 * (i * CHARBYTES), 8 << i, -1);
+ }
+
+ return ret;
+}
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memcpy.c glibc-2.17-c758a686/benchtests/bench-memcpy.c
--- glibc-2.17-c758a686/benchtests/bench-memcpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memcpy.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,157 @@
+/* Measure memcpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef MEMCPY_RESULT
+# define MEMCPY_RESULT(dst, len) dst
+# define MIN_PAGE_SIZE 131072
+# define TEST_MAIN
+# define TEST_NAME "memcpy"
+# include "bench-string.h"
+
+char *simple_memcpy (char *, const char *, size_t);
+char *builtin_memcpy (char *, const char *, size_t);
+
+IMPL (simple_memcpy, 0)
+IMPL (builtin_memcpy, 0)
+IMPL (memcpy, 1)
+
+char *
+simple_memcpy (char *dst, const char *src, size_t n)
+{
+ char *ret = dst;
+ while (n--)
+ *dst++ = *src++;
+ return ret;
+}
+
+char *
+builtin_memcpy (char *dst, const char *src, size_t n)
+{
+ return __builtin_memcpy (dst, src, n);
+}
+#endif
+
+typedef char *(*proto_t) (char *, const char *, size_t);
+
+static void
+do_one_test (impl_t *impl, char *dst, const char *src,
+ size_t len)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src, len) != MEMCPY_RESULT (dst, len))
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ CALL (impl, dst, src, len), MEMCPY_RESULT (dst, len));
+ ret = 1;
+ return;
+ }
+
+ if (memcmp (dst, src, len) != 0)
+ {
+ error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
+ impl->name, dst, src);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, dst, src, len);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len)
+{
+ size_t i, j;
+ char *s1, *s2;
+
+ align1 &= 63;
+ if (align1 + len >= page_size)
+ return;
+
+ align2 &= 63;
+ if (align2 + len >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0, j = 1; i < len; i++, j += 23)
+ s1[i] = j;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, s1, len);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 18; ++i)
+ {
+ do_test (0, 0, 1 << i);
+ do_test (i, 0, 1 << i);
+ do_test (0, i, 1 << i);
+ do_test (i, i, 1 << i);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, 0, i);
+ do_test (i, 0, i);
+ do_test (0, i, i);
+ do_test (i, i, i);
+ }
+
+ for (i = 3; i < 32; ++i)
+ {
+ if ((i & (i - 1)) == 0)
+ continue;
+ do_test (0, 0, 16 * i);
+ do_test (i, 0, 16 * i);
+ do_test (0, i, 16 * i);
+ do_test (i, i, 16 * i);
+ }
+
+ do_test (0, 0, getpagesize ());
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memmem.c glibc-2.17-c758a686/benchtests/bench-memmem.c
--- glibc-2.17-c758a686/benchtests/bench-memmem.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memmem.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,164 @@
+/* Measure memmem functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "memmem"
+#define BUF1PAGES 20
+#define ITERATIONS 500
+#include "bench-string.h"
+
+typedef char *(*proto_t) (const void *, size_t, const void *, size_t);
+void *simple_memmem (const void *, size_t, const void *, size_t);
+
+IMPL (simple_memmem, 0)
+IMPL (memmem, 1)
+
+void *
+simple_memmem (const void *haystack, size_t haystack_len, const void *needle,
+ size_t needle_len)
+{
+ const char *begin;
+ const char *const last_possible
+ = (const char *) haystack + haystack_len - needle_len;
+
+ if (needle_len == 0)
+ /* The first occurrence of the empty string is deemed to occur at
+ the beginning of the string. */
+ return (void *) haystack;
+
+ /* Sanity check, otherwise the loop might search through the whole
+ memory. */
+ if (__glibc_unlikely (haystack_len < needle_len))
+ return NULL;
+
+ for (begin = (const char *) haystack; begin <= last_possible; ++begin)
+ if (begin[0] == ((const char *) needle)[0] &&
+ !memcmp ((const void *) &begin[1],
+ (const void *) ((const char *) needle + 1),
+ needle_len - 1))
+ return (void *) begin;
+
+ return NULL;
+}
+
+static void
+do_one_test (impl_t *impl, const void *haystack, size_t haystack_len,
+ const void *needle, size_t needle_len, const void *expected)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, haystack, haystack_len, needle, needle_len);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (const char *str, size_t len, size_t idx)
+{
+ char tmpbuf[len];
+
+ memcpy (tmpbuf, buf1 + idx, len);
+ memcpy (buf1 + idx, str, len);
+
+ printf ("String %s, offset %zd:", str, idx);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, buf1, BUF1PAGES * page_size, str, len, buf1 + idx);
+
+ memcpy (buf1 + idx, tmpbuf, len);
+
+ putchar ('\n');
+}
+
+static void
+do_random_tests (void)
+{
+ for (size_t n = 0; n < ITERATIONS; ++n)
+ {
+ char tmpbuf[32];
+
+ size_t shift = random () % 11;
+ size_t rel = random () % ((2 << (shift + 1)) * 64);
+ size_t idx = MIN ((2 << shift) * 64 + rel, BUF1PAGES * page_size - 2);
+ size_t len = random () % (sizeof (tmpbuf) - 1) + 1;
+ len = MIN (len, BUF1PAGES * page_size - idx - 1);
+ memcpy (tmpbuf, buf1 + idx, len);
+ for (size_t i = random () % len / 2 + 1; i > 0; --i)
+ {
+ size_t off = random () % len;
+ char ch = '0' + random () % 10;
+
+ buf1[idx + off] = ch;
+ }
+
+ printf ("String %.*s, offset %zd:", (int) len, buf1 + idx, idx);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, buf1, BUF1PAGES * page_size, buf1 + idx, len,
+ buf1 + idx);
+
+ putchar ('\n');
+
+ memcpy (buf1 + idx, tmpbuf, len);
+ }
+}
+
+static const char *const strs[] =
+ {
+ "00000", "00112233", "0123456789", "0000111100001111",
+ "00000111110000022222", "012345678901234567890",
+ "abc0", "aaaa0", "abcabc0"
+ };
+
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < BUF1PAGES * page_size; ++i)
+ buf1[i] = 60 + random () % 32;
+
+ for (i = 0; i < sizeof (strs) / sizeof (strs[0]); ++i)
+ for (size_t j = 0; j < 120; j += 7)
+ {
+ size_t len = strlen (strs[i]);
+
+ do_test (strs[i], len, j);
+ }
+
+ do_random_tests ();
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memmove.c glibc-2.17-c758a686/benchtests/bench-memmove.c
--- glibc-2.17-c758a686/benchtests/bench-memmove.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memmove.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,182 @@
+/* Measure memmove functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifdef TEST_BCOPY
+# define TEST_NAME "bcopy"
+#else
+# define TEST_NAME "memmove"
+#endif
+#include "bench-string.h"
+
+char *simple_memmove (char *, const char *, size_t);
+
+#ifdef TEST_BCOPY
+typedef void (*proto_t) (const char *, char *, size_t);
+void simple_bcopy (const char *, char *, size_t);
+
+IMPL (simple_bcopy, 0)
+IMPL (bcopy, 1)
+
+void
+simple_bcopy (const char *src, char *dst, size_t n)
+{
+ simple_memmove (dst, src, n);
+}
+#else
+typedef char *(*proto_t) (char *, const char *, size_t);
+
+IMPL (simple_memmove, 0)
+IMPL (memmove, 1)
+#endif
+
+char *
+inhibit_loop_to_libcall
+simple_memmove (char *dst, const char *src, size_t n)
+{
+ char *ret = dst;
+ if (src < dst)
+ {
+ dst += n;
+ src += n;
+ while (n--)
+ *--dst = *--src;
+ }
+ else
+ while (n--)
+ *dst++ = *src++;
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, char *dst, char *src, const char *orig_src,
+ size_t len)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ memcpy (src, orig_src, len);
+#ifdef TEST_BCOPY
+ CALL (impl, src, dst, len);
+#else
+ char *res;
+
+ res = CALL (impl, dst, src, len);
+ if (res != dst)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ res, dst);
+ ret = 1;
+ return;
+ }
+#endif
+
+ if (memcmp (dst, orig_src, len) != 0)
+ {
+ error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
+ impl->name, dst, src);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+#ifdef TEST_BCOPY
+ CALL (impl, src, dst, len);
+#else
+ CALL (impl, dst, src, len);
+#endif
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len)
+{
+ size_t i, j;
+ char *s1, *s2;
+
+ align1 &= 63;
+ if (align1 + len >= page_size)
+ return;
+
+ align2 &= 63;
+ if (align2 + len >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0, j = 1; i < len; i++, j += 23)
+ s1[i] = j;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 14; ++i)
+ {
+ do_test (0, 32, 1 << i);
+ do_test (32, 0, 1 << i);
+ do_test (0, i, 1 << i);
+ do_test (i, 0, 1 << i);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, 32, i);
+ do_test (32, 0, i);
+ do_test (0, i, i);
+ do_test (i, 0, i);
+ }
+
+ for (i = 3; i < 32; ++i)
+ {
+ if ((i & (i - 1)) == 0)
+ continue;
+ do_test (0, 32, 16 * i);
+ do_test (32, 0, 16 * i);
+ do_test (0, i, 16 * i);
+ do_test (i, 0, 16 * i);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-mempcpy.c glibc-2.17-c758a686/benchtests/bench-mempcpy.c
--- glibc-2.17-c758a686/benchtests/bench-mempcpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-mempcpy.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,37 @@
+/* Measure mempcpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define MEMCPY_RESULT(dst, len) (dst) + (len)
+#define TEST_MAIN
+#define TEST_NAME "mempcpy"
+#include "bench-string.h"
+
+char *simple_mempcpy (char *, const char *, size_t);
+
+IMPL (simple_mempcpy, 0)
+IMPL (mempcpy, 1)
+
+char *
+simple_mempcpy (char *dst, const char *src, size_t n)
+{
+ while (n--)
+ *dst++ = *src++;
+ return dst;
+}
+
+#include "bench-memcpy.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memrchr.c glibc-2.17-c758a686/benchtests/bench-memrchr.c
--- glibc-2.17-c758a686/benchtests/bench-memrchr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memrchr.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,40 @@
+/* Measure memrchr functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "memrchr"
+#include "bench-string.h"
+
+typedef char *(*proto_t) (const char *, int, size_t);
+char *simple_memrchr (const char *, int, size_t);
+
+IMPL (simple_memrchr, 0)
+IMPL (memrchr, 1)
+
+char *
+simple_memrchr (const char *s, int c, size_t n)
+{
+ s = s + n;
+ while (n--)
+ if (*--s == (char) c)
+ return (char *) s;
+ return NULL;
+}
+
+#define USE_AS_MEMRCHR
+#include "bench-memchr.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-memset.c glibc-2.17-c758a686/benchtests/bench-memset.c
--- glibc-2.17-c758a686/benchtests/bench-memset.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-memset.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,167 @@
+/* Measure memset functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifdef TEST_BZERO
+# define TEST_NAME "bzero"
+#else
+# define TEST_NAME "memset"
+#endif
+#define MIN_PAGE_SIZE 131072
+#include "bench-string.h"
+
+char *simple_memset (char *, int, size_t);
+
+#ifdef TEST_BZERO
+typedef void (*proto_t) (char *, size_t);
+void simple_bzero (char *, size_t);
+void builtin_bzero (char *, size_t);
+
+IMPL (simple_bzero, 0)
+IMPL (builtin_bzero, 0)
+IMPL (bzero, 1)
+
+void
+simple_bzero (char *s, size_t n)
+{
+ simple_memset (s, 0, n);
+}
+
+void
+builtin_bzero (char *s, size_t n)
+{
+ __builtin_bzero (s, n);
+}
+#else
+typedef char *(*proto_t) (char *, int, size_t);
+char *builtin_memset (char *, int, size_t);
+
+IMPL (simple_memset, 0)
+IMPL (builtin_memset, 0)
+IMPL (memset, 1)
+
+char *
+builtin_memset (char *s, int c, size_t n)
+{
+ return __builtin_memset (s, c, n);
+}
+#endif
+
+char *
+inhibit_loop_to_libcall
+simple_memset (char *s, int c, size_t n)
+{
+ char *r = s, *end = s + n;
+ while (r < end)
+ *r++ = c;
+ return s;
+}
+
+static void
+do_one_test (impl_t *impl, char *s, int c __attribute ((unused)), size_t n)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+ char tstbuf[n];
+#ifdef TEST_BZERO
+ simple_bzero (tstbuf, n);
+ CALL (impl, s, n);
+ if (memcmp (s, tstbuf, n) != 0)
+#else
+ char *res = CALL (impl, s, c, n);
+ if (res != s
+ || simple_memset (tstbuf, c, n) != tstbuf
+ || memcmp (s, tstbuf, n) != 0)
+#endif
+ {
+ error (0, 0, "Wrong result in function %s", impl->name);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+#ifdef TEST_BZERO
+ CALL (impl, s, n);
+#else
+ CALL (impl, s, c, n);
+#endif
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, int c, size_t len)
+{
+ align &= 7;
+ if (align + len > page_size)
+ return;
+
+ printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (char *) buf1 + align, c, len);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+ int c = 0;
+
+ test_init ();
+
+ printf ("%24s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+#ifndef TEST_BZERO
+ for (c = -65; c <= 130; c += 65)
+#endif
+ {
+ for (i = 0; i < 18; ++i)
+ do_test (0, c, 1 << i);
+ for (i = 1; i < 32; ++i)
+ {
+ do_test (i, c, i);
+ if (i & (i - 1))
+ do_test (0, c, i);
+ }
+ for (i = 32; i < 512; i+=32)
+ {
+ do_test (0, c, i);
+ do_test (i, c, i);
+ }
+ do_test (1, c, 14);
+ do_test (3, c, 1024);
+ do_test (4, c, 64);
+ do_test (2, c, 25);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-rawmemchr.c glibc-2.17-c758a686/benchtests/bench-rawmemchr.c
--- glibc-2.17-c758a686/benchtests/bench-rawmemchr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-rawmemchr.c 2015-06-20 21:22:16.297458105 -0400
@@ -0,0 +1,126 @@
+/* Measure memchr functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+
+#define TEST_MAIN
+#define TEST_NAME "rawmemchr"
+#include "bench-string.h"
+
+typedef char *(*proto_t) (const char *, int);
+char *simple_rawmemchr (const char *, int);
+
+IMPL (simple_rawmemchr, 0)
+IMPL (rawmemchr, 1)
+
+char *
+simple_rawmemchr (const char *s, int c)
+{
+ while (1)
+ if (*s++ == (char) c)
+ return (char *) s - 1;
+ return NULL;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s, int c, char *exp_res)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+ char *res = CALL (impl, s, c);
+ if (res != exp_res)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ res, exp_res);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, c);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len, int seek_char)
+{
+ size_t i;
+ char *result;
+
+ align &= 7;
+ if (align + len >= page_size)
+ return;
+
+ for (i = 0; i < len; ++i)
+ {
+ buf1[align + i] = 1 + 23 * i % 127;
+ if (buf1[align + i] == seek_char)
+ buf1[align + i] = seek_char + 1;
+ }
+ buf1[align + len] = 0;
+
+ assert (pos < len);
+
+ buf1[align + pos] = seek_char;
+ buf1[align + len] = -seek_char;
+ result = (char *) (buf1 + align + pos);
+
+ printf ("Length %4zd, alignment %2zd:", pos, align);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (char *) (buf1 + align), seek_char, result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 7; ++i)
+ {
+ do_test (0, 16 << i, 2048, 23);
+ do_test (i, 64, 256, 23);
+ do_test (0, 16 << i, 2048, 0);
+ do_test (i, 64, 256, 0);
+ }
+ for (i = 1; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, 23);
+ do_test (0, i, i + 1, 0);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-skeleton.c glibc-2.17-c758a686/benchtests/bench-skeleton.c
--- glibc-2.17-c758a686/benchtests/bench-skeleton.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-skeleton.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,154 @@
+/* Skeleton for benchmark programs.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include "bench-timing.h"
+#include "json-lib.h"
+
+volatile unsigned int dontoptimize = 0;
+
+void
+startup (void)
+{
+ /* This loop should cause CPU to switch to maximal freqency.
+ This makes subsequent measurement more accurate. We need a side effect
+ to prevent the loop being deleted by compiler.
+ This should be enough to cause CPU to speed up and it is simpler than
+ running loop for constant time. This is used when user does not have root
+ access to set a constant freqency. */
+ for (int k = 0; k < 10000000; k++)
+ dontoptimize += 23 * dontoptimize + 2;
+}
+
+#define TIMESPEC_AFTER(a, b) \
+ (((a).tv_sec == (b).tv_sec) ? \
+ ((a).tv_nsec > (b).tv_nsec) : \
+ ((a).tv_sec > (b).tv_sec))
+int
+main (int argc, char **argv)
+{
+ unsigned long i, k;
+ struct timespec runtime;
+ timing_t start, end;
+ bool detailed = false;
+ json_ctx_t json_ctx;
+
+ if (argc == 2 && !strcmp (argv[1], "-d"))
+ detailed = true;
+
+ startup();
+
+ memset (&runtime, 0, sizeof (runtime));
+
+ unsigned long iters, res;
+
+#ifdef BENCH_INIT
+ BENCH_INIT ();
+#endif
+ TIMING_INIT (res);
+
+ iters = 1000 * res;
+
+ json_init (&json_ctx, 2, stdout);
+
+ /* Begin function. */
+ json_attr_object_begin (&json_ctx, FUNCNAME);
+
+ for (int v = 0; v < NUM_VARIANTS; v++)
+ {
+ /* Run for approximately DURATION seconds. */
+ clock_gettime (CLOCK_MONOTONIC_RAW, &runtime);
+ runtime.tv_sec += DURATION;
+
+ double d_total_i = 0;
+ timing_t total = 0, max = 0, min = 0x7fffffffffffffff;
+ int64_t c = 0;
+ while (1)
+ {
+ for (i = 0; i < NUM_SAMPLES (v); i++)
+ {
+ uint64_t cur;
+ TIMING_NOW (start);
+ for (k = 0; k < iters; k++)
+ BENCH_FUNC (v, i);
+ TIMING_NOW (end);
+
+ TIMING_DIFF (cur, start, end);
+
+ if (cur > max)
+ max = cur;
+
+ if (cur < min)
+ min = cur;
+
+ TIMING_ACCUM (total, cur);
+ /* Accumulate timings for the value. In the end we will divide
+ by the total iterations. */
+ RESULT_ACCUM (cur, v, i, c * iters, (c + 1) * iters);
+
+ d_total_i += iters;
+ }
+ c++;
+ struct timespec curtime;
+
+ memset (&curtime, 0, sizeof (curtime));
+ clock_gettime (CLOCK_MONOTONIC_RAW, &curtime);
+ if (TIMESPEC_AFTER (curtime, runtime))
+ goto done;
+ }
+
+ double d_total_s;
+ double d_iters;
+
+ done:
+ d_total_s = total;
+ d_iters = iters;
+
+ /* Begin variant. */
+ json_attr_object_begin (&json_ctx, VARIANT (v));
+
+ json_attr_double (&json_ctx, "duration", d_total_s);
+ json_attr_double (&json_ctx, "iterations", d_total_i);
+ json_attr_double (&json_ctx, "max", max / d_iters);
+ json_attr_double (&json_ctx, "min", min / d_iters);
+ json_attr_double (&json_ctx, "mean", d_total_s / d_total_i);
+
+ if (detailed)
+ {
+ json_array_begin (&json_ctx, "timings");
+
+ for (int i = 0; i < NUM_SAMPLES (v); i++)
+ json_element_double (&json_ctx, RESULT (v, i));
+
+ json_array_end (&json_ctx);
+ }
+
+ /* End variant. */
+ json_attr_object_end (&json_ctx);
+ }
+
+ /* End function. */
+ json_attr_object_end (&json_ctx);
+
+ return 0;
+}
diff -urN glibc-2.17-c758a686/benchtests/bench-stpcpy.c glibc-2.17-c758a686/benchtests/bench-stpcpy.c
--- glibc-2.17-c758a686/benchtests/bench-stpcpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-stpcpy.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,36 @@
+/* Measure stpcpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define STRCPY_RESULT(dst, len) ((dst) + (len))
+#define TEST_MAIN
+#define TEST_NAME "stpcpy"
+#include "bench-string.h"
+
+char *simple_stpcpy (char *, const char *);
+
+IMPL (simple_stpcpy, 0)
+IMPL (stpcpy, 1)
+
+char *
+simple_stpcpy (char *dst, const char *src)
+{
+ while ((*dst++ = *src++) != '\0');
+ return dst - 1;
+}
+
+#include "bench-strcpy.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-stpcpy_chk.c glibc-2.17-c758a686/benchtests/bench-stpcpy_chk.c
--- glibc-2.17-c758a686/benchtests/bench-stpcpy_chk.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-stpcpy_chk.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,45 @@
+/* Measure stpcpy checking functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define STRCPY_RESULT(dst, len) ((dst) + (len))
+#define TEST_MAIN
+#define TEST_NAME "stpcpy_chk"
+#include "bench-string.h"
+
+extern void __attribute__ ((noreturn)) __chk_fail (void);
+char *simple_stpcpy_chk (char *, const char *, size_t);
+extern char *normal_stpcpy (char *, const char *, size_t)
+ __asm ("stpcpy");
+extern char *__stpcpy_chk (char *, const char *, size_t);
+
+IMPL (simple_stpcpy_chk, 0)
+IMPL (normal_stpcpy, 1)
+IMPL (__stpcpy_chk, 2)
+
+char *
+simple_stpcpy_chk (char *dst, const char *src, size_t len)
+{
+ if (! len)
+ __chk_fail ();
+ while ((*dst++ = *src++) != '\0')
+ if (--len == 0)
+ __chk_fail ();
+ return dst - 1;
+}
+
+#include "bench-strcpy_chk.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-stpncpy.c glibc-2.17-c758a686/benchtests/bench-stpncpy.c
--- glibc-2.17-c758a686/benchtests/bench-stpncpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-stpncpy.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,59 @@
+/* Measure stpncpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define STRNCPY_RESULT(dst, len, n) ((dst) + ((len) > (n) ? (n) : (len)))
+#define TEST_MAIN
+#define TEST_NAME "stpncpy"
+#include "bench-string.h"
+
+char *simple_stpncpy (char *, const char *, size_t);
+char *stupid_stpncpy (char *, const char *, size_t);
+
+IMPL (stupid_stpncpy, 0)
+IMPL (simple_stpncpy, 0)
+IMPL (stpncpy, 1)
+
+char *
+simple_stpncpy (char *dst, const char *src, size_t n)
+{
+ while (n--)
+ if ((*dst++ = *src++) == '\0')
+ {
+ size_t i;
+
+ for (i = 0; i < n; ++i)
+ dst[i] = '\0';
+ return dst - 1;
+ }
+ return dst;
+}
+
+char *
+stupid_stpncpy (char *dst, const char *src, size_t n)
+{
+ size_t nc = strnlen (src, n);
+ size_t i;
+
+ for (i = 0; i < nc; ++i)
+ dst[i] = src[i];
+ for (; i < n; ++i)
+ dst[i] = '\0';
+ return dst + nc;
+}
+
+#include "bench-strncpy.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcasecmp.c glibc-2.17-c758a686/benchtests/bench-strcasecmp.c
--- glibc-2.17-c758a686/benchtests/bench-strcasecmp.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcasecmp.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,176 @@
+/* Measure strcasecmp functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+#define TEST_MAIN
+#define TEST_NAME "strcasecmp"
+#include "bench-string.h"
+
+typedef int (*proto_t) (const char *, const char *);
+static int simple_strcasecmp (const char *, const char *);
+static int stupid_strcasecmp (const char *, const char *);
+
+IMPL (stupid_strcasecmp, 0)
+IMPL (simple_strcasecmp, 0)
+IMPL (strcasecmp, 1)
+
+static int
+simple_strcasecmp (const char *s1, const char *s2)
+{
+ int ret;
+
+ while ((ret = ((unsigned char) tolower (*s1)
+ - (unsigned char) tolower (*s2))) == 0
+ && *s1++)
+ ++s2;
+ return ret;
+}
+
+static int
+stupid_strcasecmp (const char *s1, const char *s2)
+{
+ size_t ns1 = strlen (s1) + 1, ns2 = strlen (s2) + 1;
+ size_t n = ns1 < ns2 ? ns1 : ns2;
+ int ret = 0;
+
+ while (n--)
+ {
+ if ((ret = ((unsigned char) tolower (*s1)
+ - (unsigned char) tolower (*s2))) != 0)
+ break;
+ ++s1;
+ ++s2;
+ }
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s1, const char *s2, int exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+ int result = CALL (impl, s1, s2);
+ if ((exp_result == 0 && result != 0)
+ || (exp_result < 0 && result >= 0)
+ || (exp_result > 0 && result <= 0))
+ {
+ error (0, 0, "Wrong result in function %s %d %d", impl->name,
+ result, exp_result);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, int max_char,
+ int exp_result)
+{
+ size_t i;
+ char *s1, *s2;
+
+ if (len == 0)
+ return;
+
+ align1 &= 7;
+ if (align1 + len + 1 >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len + 1 >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len; i++)
+ {
+ s1[i] = toupper (1 + 23 * i % max_char);
+ s2[i] = tolower (s1[i]);
+ }
+
+ s1[len] = s2[len] = 0;
+ s1[len + 1] = 23;
+ s2[len + 1] = 24 + exp_result;
+ if ((s2[len - 1] == 'z' && exp_result == -1)
+ || (s2[len - 1] == 'a' && exp_result == 1))
+ s1[len - 1] += exp_result;
+ else
+ s2[len - 1] -= exp_result;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, exp_result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 16; ++i)
+ {
+ do_test (i, i, i, 127, 0);
+ do_test (i, i, i, 127, 1);
+ do_test (i, i, i, 127, -1);
+ }
+
+ for (i = 1; i < 10; ++i)
+ {
+ do_test (0, 0, 2 << i, 127, 0);
+ do_test (0, 0, 2 << i, 254, 0);
+ do_test (0, 0, 2 << i, 127, 1);
+ do_test (0, 0, 2 << i, 254, 1);
+ do_test (0, 0, 2 << i, 127, -1);
+ do_test (0, 0, 2 << i, 254, -1);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, 8 << i, 127, 0);
+ do_test (2 * i, i, 8 << i, 254, 0);
+ do_test (i, 2 * i, 8 << i, 127, 1);
+ do_test (2 * i, i, 8 << i, 254, 1);
+ do_test (i, 2 * i, 8 << i, 127, -1);
+ do_test (2 * i, i, 8 << i, 254, -1);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcasestr.c glibc-2.17-c758a686/benchtests/bench-strcasestr.c
--- glibc-2.17-c758a686/benchtests/bench-strcasestr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcasestr.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,180 @@
+/* Measure strcasestr functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strcasestr"
+#include "bench-string.h"
+
+
+#define STRCASESTR simple_strcasestr
+#define NO_ALIAS
+#define __strncasecmp strncasecmp
+#include "../string/strcasestr.c"
+
+
+static char *
+stupid_strcasestr (const char *s1, const char *s2)
+{
+ ssize_t s1len = strlen (s1);
+ ssize_t s2len = strlen (s2);
+
+ if (s2len > s1len)
+ return NULL;
+
+ for (ssize_t i = 0; i <= s1len - s2len; ++i)
+ {
+ size_t j;
+ for (j = 0; j < s2len; ++j)
+ if (tolower (s1[i + j]) != tolower (s2[j]))
+ break;
+ if (j == s2len)
+ return (char *) s1 + i;
+ }
+
+ return NULL;
+}
+
+
+typedef char *(*proto_t) (const char *, const char *);
+
+IMPL (stupid_strcasestr, 0)
+IMPL (simple_strcasestr, 0)
+IMPL (strcasestr, 1)
+
+
+static void
+do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2,
+ int fail)
+{
+ char *s1 = (char *) (buf1 + align1);
+ char *s2 = (char *) (buf2 + align2);
+
+ static const char d[] = "1234567890abcxyz";
+#define dl (sizeof (d) - 1)
+ char *ss2 = s2;
+ for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ ss2 = mempcpy (ss2, d, t);
+ }
+ s2[len2] = '\0';
+
+ if (fail)
+ {
+ char *ss1 = s1;
+ for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ memcpy (ss1, d, t);
+ ++ss1[len2 > 7 ? 7 : len2 - 1];
+ ss1 += t;
+ }
+ }
+ else
+ {
+ memset (s1, '0', len1);
+ for (size_t i = 0; i < len2; ++i)
+ s1[len1 - len2 + i] = toupper (s2[i]);
+ }
+ s1[len1] = '\0';
+
+ printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+ len1, len2, align1, align2, fail ? "fail" : "found");
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
+
+ putchar ('\n');
+}
+
+static int
+test_main (void)
+{
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (size_t klen = 2; klen < 32; ++klen)
+ for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
+ {
+ do_test (0, 0, hlen, klen, 0);
+ do_test (0, 0, hlen, klen, 1);
+ do_test (0, 3, hlen, klen, 0);
+ do_test (0, 3, hlen, klen, 1);
+ do_test (0, 9, hlen, klen, 0);
+ do_test (0, 9, hlen, klen, 1);
+ do_test (0, 15, hlen, klen, 0);
+ do_test (0, 15, hlen, klen, 1);
+
+ do_test (3, 0, hlen, klen, 0);
+ do_test (3, 0, hlen, klen, 1);
+ do_test (3, 3, hlen, klen, 0);
+ do_test (3, 3, hlen, klen, 1);
+ do_test (3, 9, hlen, klen, 0);
+ do_test (3, 9, hlen, klen, 1);
+ do_test (3, 15, hlen, klen, 0);
+ do_test (3, 15, hlen, klen, 1);
+
+ do_test (9, 0, hlen, klen, 0);
+ do_test (9, 0, hlen, klen, 1);
+ do_test (9, 3, hlen, klen, 0);
+ do_test (9, 3, hlen, klen, 1);
+ do_test (9, 9, hlen, klen, 0);
+ do_test (9, 9, hlen, klen, 1);
+ do_test (9, 15, hlen, klen, 0);
+ do_test (9, 15, hlen, klen, 1);
+
+ do_test (15, 0, hlen, klen, 0);
+ do_test (15, 0, hlen, klen, 1);
+ do_test (15, 3, hlen, klen, 0);
+ do_test (15, 3, hlen, klen, 1);
+ do_test (15, 9, hlen, klen, 0);
+ do_test (15, 9, hlen, klen, 1);
+ do_test (15, 15, hlen, klen, 0);
+ do_test (15, 15, hlen, klen, 1);
+ }
+
+ do_test (0, 0, page_size - 1, 16, 0);
+ do_test (0, 0, page_size - 1, 16, 1);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcat.c glibc-2.17-c758a686/benchtests/bench-strcat.c
--- glibc-2.17-c758a686/benchtests/bench-strcat.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcat.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,148 @@
+/* Measure strcat functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strcat"
+#include "bench-string.h"
+
+typedef char *(*proto_t) (char *, const char *);
+char *simple_strcat (char *, const char *);
+
+IMPL (simple_strcat, 0)
+IMPL (strcat, 1)
+
+char *
+simple_strcat (char *dst, const char *src)
+{
+ char *ret = dst;
+ while (*dst++ != '\0');
+ --dst;
+ while ((*dst++ = *src++) != '\0');
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, char *dst, const char *src)
+{
+ size_t k = strlen (dst), i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src) != dst)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ CALL (impl, dst, src), dst);
+ ret = 1;
+ return;
+ }
+
+ if (strcmp (dst + k, src) != 0)
+ {
+ error (0, 0, "Wrong result in function %s dst \"%s\" src \"%s\"",
+ impl->name, dst, src);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ dst[k] = '\0';
+ CALL (impl, dst, src);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2, int max_char)
+{
+ size_t i;
+ char *s1, *s2;
+
+ align1 &= 7;
+ if (align1 + len1 >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len1 + len2 >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len1; ++i)
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ s1[len1] = '\0';
+
+ for (i = 0; i < len2; i++)
+ s2[i] = 32 + 23 * i % (max_char - 32);
+
+ printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len1, len2, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ {
+ s2[len2] = '\0';
+ do_one_test (impl, s2, s1);
+ }
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%28s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, i, 127);
+ do_test (0, 0, i, i, 255);
+ do_test (0, i, i, i, 127);
+ do_test (i, 0, i, i, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, 8 << i, 127);
+ do_test (8 - i, 2 * i, 8 << i, 8 << i, 127);
+ do_test (0, 0, 8 << i, 2 << i, 127);
+ do_test (8 - i, 2 * i, 8 << i, 2 << i, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, 8 << i, 1, 127);
+ do_test (2 * i, i, 8 << i, 1, 255);
+ do_test (i, i, 8 << i, 10, 127);
+ do_test (i, i, 8 << i, 10, 255);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strchr.c glibc-2.17-c758a686/benchtests/bench-strchr.c
--- glibc-2.17-c758a686/benchtests/bench-strchr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strchr.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,200 @@
+/* Measure STRCHR functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifndef WIDE
+# ifdef USE_FOR_STRCHRNUL
+# define TEST_NAME "strchrnul"
+# else
+# define TEST_NAME "strchr"
+# endif
+#else
+# define TEST_NAME "wcschr"
+#endif
+#include "bench-string.h"
+
+#ifndef WIDE
+# ifdef USE_FOR_STRCHRNUL
+# define STRCHR strchrnul
+# define stupid_STRCHR stupid_STRCHRNUL
+# define simple_STRCHR simple_STRCHRNUL
+# else
+# define STRCHR strchr
+# endif
+# define STRLEN strlen
+# define CHAR char
+# define BIG_CHAR CHAR_MAX
+# define MIDDLE_CHAR 127
+# define SMALL_CHAR 23
+# define UCHAR unsigned char
+#else
+# include
+# define STRCHR wcschr
+# define STRLEN wcslen
+# define CHAR wchar_t
+# define BIG_CHAR WCHAR_MAX
+# define MIDDLE_CHAR 1121
+# define SMALL_CHAR 851
+# define UCHAR wchar_t
+#endif
+
+#ifdef USE_FOR_STRCHRNUL
+# define NULLRET(endptr) endptr
+#else
+# define NULLRET(endptr) NULL
+#endif
+
+
+typedef CHAR *(*proto_t) (const CHAR *, int);
+
+CHAR *
+simple_STRCHR (const CHAR *s, int c)
+{
+ for (; *s != (CHAR) c; ++s)
+ if (*s == '\0')
+ return NULLRET ((CHAR *) s);
+ return (CHAR *) s;
+}
+
+CHAR *
+stupid_STRCHR (const CHAR *s, int c)
+{
+ size_t n = STRLEN (s) + 1;
+
+ while (n--)
+ if (*s++ == (CHAR) c)
+ return (CHAR *) s - 1;
+ return NULLRET ((CHAR *) s - 1);
+}
+
+IMPL (stupid_STRCHR, 0)
+IMPL (simple_STRCHR, 0)
+IMPL (STRCHR, 1)
+
+static void
+do_one_test (impl_t *impl, const CHAR *s, int c, const CHAR *exp_res)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, c);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
+/* For wcschr: align here means align not in bytes,
+ but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
+ len for wcschr here isn't in bytes but it's number of wchar_t symbols. */
+{
+ size_t i;
+ CHAR *result;
+ CHAR *buf = (CHAR *) buf1;
+ align &= 15;
+ if ((align + len) * sizeof (CHAR) >= page_size)
+ return;
+
+ for (i = 0; i < len; ++i)
+ {
+ buf[align + i] = 32 + 23 * i % max_char;
+ if (buf[align + i] == seek_char)
+ buf[align + i] = seek_char + 1;
+ else if (buf[align + i] == 0)
+ buf[align + i] = 1;
+ }
+ buf[align + len] = 0;
+
+ if (pos < len)
+ {
+ buf[align + pos] = seek_char;
+ result = buf + align + pos;
+ }
+ else if (seek_char == 0)
+ result = buf + align + len;
+ else
+ result = NULLRET (buf + align + len);
+
+ printf ("Length %4zd, alignment in bytes %2zd:",
+ pos, align * sizeof (CHAR));
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, buf + align, seek_char, result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 2048, SMALL_CHAR, MIDDLE_CHAR);
+ do_test (i, 16 << i, 2048, SMALL_CHAR, MIDDLE_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 64, 256, SMALL_CHAR, MIDDLE_CHAR);
+ do_test (i, 64, 256, SMALL_CHAR, BIG_CHAR);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, SMALL_CHAR, MIDDLE_CHAR);
+ do_test (0, i, i + 1, SMALL_CHAR, BIG_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 2048, 0, MIDDLE_CHAR);
+ do_test (i, 16 << i, 2048, 0, MIDDLE_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 64, 256, 0, MIDDLE_CHAR);
+ do_test (i, 64, 256, 0, BIG_CHAR);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, 0, MIDDLE_CHAR);
+ do_test (0, i, i + 1, 0, BIG_CHAR);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strchrnul.c glibc-2.17-c758a686/benchtests/bench-strchrnul.c
--- glibc-2.17-c758a686/benchtests/bench-strchrnul.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strchrnul.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,20 @@
+/* Measure strchrnul function.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define USE_FOR_STRCHRNUL 1
+#include "bench-strchr.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcmp.c glibc-2.17-c758a686/benchtests/bench-strcmp.c
--- glibc-2.17-c758a686/benchtests/bench-strcmp.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcmp.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,241 @@
+/* Measure strcmp and wcscmp functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wcscmp"
+#else
+# define TEST_NAME "strcmp"
+#endif
+#include "bench-string.h"
+
+#ifdef WIDE
+# include
+
+# define L(str) L##str
+# define STRCMP wcscmp
+# define STRCPY wcscpy
+# define STRLEN wcslen
+# define MEMCPY wmemcpy
+# define SIMPLE_STRCMP simple_wcscmp
+# define STUPID_STRCMP stupid_wcscmp
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define CHARBYTES 4
+# define CHARBYTESLOG 2
+# define CHARALIGN __alignof__ (CHAR)
+# define MIDCHAR 0x7fffffff
+# define LARGECHAR 0xfffffffe
+# define CHAR__MAX WCHAR_MAX
+# define CHAR__MIN WCHAR_MIN
+
+/* Wcscmp uses signed semantics for comparison, not unsigned */
+/* Avoid using substraction since possible overflow */
+
+int
+simple_wcscmp (const wchar_t *s1, const wchar_t *s2)
+{
+ wchar_t c1, c2;
+ do
+ {
+ c1 = *s1++;
+ c2 = *s2++;
+ if (c2 == L'\0')
+ return c1 - c2;
+ }
+ while (c1 == c2);
+
+ return c1 < c2 ? -1 : 1;
+}
+
+int
+stupid_wcscmp (const wchar_t *s1, const wchar_t *s2)
+{
+ size_t ns1 = wcslen (s1) + 1;
+ size_t ns2 = wcslen (s2) + 1;
+ size_t n = ns1 < ns2 ? ns1 : ns2;
+ int ret = 0;
+
+ wchar_t c1, c2;
+
+ while (n--) {
+ c1 = *s1++;
+ c2 = *s2++;
+ if ((ret = c1 < c2 ? -1 : c1 == c2 ? 0 : 1) != 0)
+ break;
+ }
+ return ret;
+}
+
+#else
+# include
+
+# define L(str) str
+# define STRCMP strcmp
+# define STRCPY strcpy
+# define STRLEN strlen
+# define MEMCPY memcpy
+# define SIMPLE_STRCMP simple_strcmp
+# define STUPID_STRCMP stupid_strcmp
+# define CHAR char
+# define UCHAR unsigned char
+# define CHARBYTES 1
+# define CHARBYTESLOG 0
+# define CHARALIGN 1
+# define MIDCHAR 0x7f
+# define LARGECHAR 0xfe
+# define CHAR__MAX CHAR_MAX
+# define CHAR__MIN CHAR_MIN
+
+/* Strcmp uses unsigned semantics for comparison. */
+int
+simple_strcmp (const char *s1, const char *s2)
+{
+ int ret;
+
+ while ((ret = *(unsigned char *) s1 - *(unsigned char*) s2++) == 0 && *s1++);
+ return ret;
+}
+
+int
+stupid_strcmp (const char *s1, const char *s2)
+{
+ size_t ns1 = strlen (s1) + 1;
+ size_t ns2 = strlen (s2) + 1;
+ size_t n = ns1 < ns2 ? ns1 : ns2;
+ int ret = 0;
+
+ while (n--)
+ if ((ret = *(unsigned char *) s1++ - *(unsigned char *) s2++) != 0)
+ break;
+ return ret;
+}
+#endif
+
+typedef int (*proto_t) (const CHAR *, const CHAR *);
+
+IMPL (STUPID_STRCMP, 1)
+IMPL (SIMPLE_STRCMP, 1)
+IMPL (STRCMP, 1)
+
+static void
+do_one_test (impl_t *impl,
+ const CHAR *s1, const CHAR *s2,
+ int exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, int max_char,
+ int exp_result)
+{
+ size_t i;
+
+ CHAR *s1, *s2;
+
+ if (len == 0)
+ return;
+
+ align1 &= 63;
+ if (align1 + (len + 1) * CHARBYTES >= page_size)
+ return;
+
+ align2 &= 63;
+ if (align2 + (len + 1) * CHARBYTES >= page_size)
+ return;
+
+ /* Put them close to the end of page. */
+ i = align1 + CHARBYTES * (len + 2);
+ s1 = (CHAR *) (buf1 + ((page_size - i) / 16 * 16) + align1);
+ i = align2 + CHARBYTES * (len + 2);
+ s2 = (CHAR *) (buf2 + ((page_size - i) / 16 * 16) + align2);
+
+ for (i = 0; i < len; i++)
+ s1[i] = s2[i] = 1 + (23 << ((CHARBYTES - 1) * 8)) * i % max_char;
+
+ s1[len] = s2[len] = 0;
+ s1[len + 1] = 23;
+ s2[len + 1] = 24 + exp_result;
+ s2[len - 1] -= exp_result;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, exp_result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 32; ++i)
+ {
+ do_test (CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, 0);
+ do_test (CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, 1);
+ do_test (CHARBYTES * i, CHARBYTES * i, i, MIDCHAR, -1);
+ }
+
+ for (i = 1; i < 10 + CHARBYTESLOG; ++i)
+ {
+ do_test (0, 0, 2 << i, MIDCHAR, 0);
+ do_test (0, 0, 2 << i, LARGECHAR, 0);
+ do_test (0, 0, 2 << i, MIDCHAR, 1);
+ do_test (0, 0, 2 << i, LARGECHAR, 1);
+ do_test (0, 0, 2 << i, MIDCHAR, -1);
+ do_test (0, 0, 2 << i, LARGECHAR, -1);
+ do_test (0, CHARBYTES * i, 2 << i, MIDCHAR, 1);
+ do_test (CHARBYTES * i, CHARBYTES * (i + 1), 2 << i, LARGECHAR, 1);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, 0);
+ do_test (2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, 0);
+ do_test (CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, 1);
+ do_test (2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, 1);
+ do_test (CHARBYTES * i, 2 * CHARBYTES * i, 8 << i, MIDCHAR, -1);
+ do_test (2 * CHARBYTES * i, CHARBYTES * i, 8 << i, LARGECHAR, -1);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcpy.c glibc-2.17-c758a686/benchtests/bench-strcpy.c
--- glibc-2.17-c758a686/benchtests/bench-strcpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcpy.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,193 @@
+/* Measure strcpy functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifdef WIDE
+# include
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define sfmt "ls"
+# define BIG_CHAR WCHAR_MAX
+# define SMALL_CHAR 1273
+# define STRCMP wcscmp
+# define MEMCMP wmemcmp
+# define MEMSET wmemset
+#else
+# define CHAR char
+# define UCHAR unsigned char
+# define sfmt "s"
+# define BIG_CHAR CHAR_MAX
+# define SMALL_CHAR 127
+# define STRCMP strcmp
+# define MEMCMP memcmp
+# define MEMSET memset
+#endif
+
+#ifndef STRCPY_RESULT
+# define STRCPY_RESULT(dst, len) dst
+# define TEST_MAIN
+# ifndef WIDE
+# define TEST_NAME "strcpy"
+# else
+# define TEST_NAME "wcscpy"
+# endif
+# include "bench-string.h"
+# ifndef WIDE
+# define SIMPLE_STRCPY simple_strcpy
+# define STRCPY strcpy
+# else
+# define SIMPLE_STRCPY simple_wcscpy
+# define STRCPY wcscpy
+# endif
+
+CHAR *SIMPLE_STRCPY (CHAR *, const CHAR *);
+
+IMPL (SIMPLE_STRCPY, 0)
+IMPL (STRCPY, 1)
+
+CHAR *
+SIMPLE_STRCPY (CHAR *dst, const CHAR *src)
+{
+ CHAR *ret = dst;
+ while ((*dst++ = *src++) != '\0');
+ return ret;
+}
+#endif
+
+typedef CHAR *(*proto_t) (CHAR *, const CHAR *);
+
+static void
+do_one_test (impl_t *impl, CHAR *dst, const CHAR *src,
+ size_t len __attribute__((unused)))
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src) != STRCPY_RESULT (dst, len))
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ CALL (impl, dst, src), STRCPY_RESULT (dst, len));
+ ret = 1;
+ return;
+ }
+
+ if (STRCMP (dst, src) != 0)
+ {
+ error (0, 0,
+ "Wrong result in function %s dst \"%" sfmt "\" src \"%" sfmt "\"",
+ impl->name, dst, src);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, dst, src);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, int max_char)
+{
+ size_t i;
+ CHAR *s1, *s2;
+/* For wcscpy: align1 and align2 here mean alignment not in bytes,
+ but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
+ len for wcschr here isn't in bytes but it's number of wchar_t symbols. */
+ align1 &= 7;
+ if ((align1 + len) * sizeof(CHAR) >= page_size)
+ return;
+
+ align2 &= 7;
+ if ((align2 + len) * sizeof(CHAR) >= page_size)
+ return;
+
+ s1 = (CHAR *) (buf1) + align1;
+ s2 = (CHAR *) (buf2) + align2;
+
+ for (i = 0; i < len; i++)
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ s1[len] = 0;
+
+ printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, s1, len);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, SMALL_CHAR);
+ do_test (0, 0, i, BIG_CHAR);
+ do_test (0, i, i, SMALL_CHAR);
+ do_test (i, 0, i, BIG_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, SMALL_CHAR);
+ do_test (8 - i, 2 * i, 8 << i, SMALL_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, 8 << i, SMALL_CHAR);
+ do_test (2 * i, i, 8 << i, BIG_CHAR);
+ do_test (i, i, 8 << i, SMALL_CHAR);
+ do_test (i, i, 8 << i, BIG_CHAR);
+ }
+
+ for (i = 16; i <= 512; i+=4)
+ {
+ do_test (0, 4, i, SMALL_CHAR);
+ do_test (4, 0, i, BIG_CHAR);
+ do_test (4, 4, i, SMALL_CHAR);
+ do_test (2, 2, i, BIG_CHAR);
+ do_test (2, 6, i, SMALL_CHAR);
+ do_test (6, 2, i, BIG_CHAR);
+ do_test (1, 7, i, SMALL_CHAR);
+ do_test (7, 1, i, BIG_CHAR);
+ do_test (3, 4, i, SMALL_CHAR);
+ do_test (4, 3, i, BIG_CHAR);
+ do_test (5, 7, i, SMALL_CHAR);
+ do_test (7, 5, i, SMALL_CHAR);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strcpy_chk.c glibc-2.17-c758a686/benchtests/bench-strcpy_chk.c
--- glibc-2.17-c758a686/benchtests/bench-strcpy_chk.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcpy_chk.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,243 @@
+/* Measure __strcpy_chk functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef STRCPY_RESULT
+# define STRCPY_RESULT(dst, len) dst
+# define TEST_MAIN
+# define TEST_NAME "strcpy_chk"
+# include "bench-string.h"
+
+/* This test case implicitly tests the availability of the __chk_fail
+ symbol, which is part of the public ABI and may be used
+ externally. */
+extern void __attribute__ ((noreturn)) __chk_fail (void);
+char *simple_strcpy_chk (char *, const char *, size_t);
+extern char *normal_strcpy (char *, const char *, size_t)
+ __asm ("strcpy");
+extern char *__strcpy_chk (char *, const char *, size_t);
+
+IMPL (simple_strcpy_chk, 0)
+IMPL (normal_strcpy, 1)
+IMPL (__strcpy_chk, 2)
+
+char *
+simple_strcpy_chk (char *dst, const char *src, size_t len)
+{
+ char *ret = dst;
+ if (! len)
+ __chk_fail ();
+ while ((*dst++ = *src++) != '\0')
+ if (--len == 0)
+ __chk_fail ();
+ return ret;
+}
+#endif
+
+#include
+#include
+#include
+#include
+
+static int test_main (void);
+#include "../test-skeleton.c"
+
+volatile int chk_fail_ok;
+jmp_buf chk_fail_buf;
+
+static void
+handler (int sig)
+{
+ if (chk_fail_ok)
+ {
+ chk_fail_ok = 0;
+ longjmp (chk_fail_buf, 1);
+ }
+ else
+ _exit (127);
+}
+
+typedef char *(*proto_t) (char *, const char *, size_t);
+
+static void
+do_one_test (impl_t *impl, char *dst, const char *src,
+ size_t len, size_t dlen)
+{
+ char *res;
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (dlen <= len)
+ {
+ if (impl->test == 1)
+ return;
+
+ chk_fail_ok = 1;
+ if (setjmp (chk_fail_buf) == 0)
+ {
+ res = CALL (impl, dst, src, dlen);
+ printf ("*** Function %s (%zd; %zd) did not __chk_fail\n",
+ impl->name, len, dlen);
+ chk_fail_ok = 0;
+ ret = 1;
+ }
+ return;
+ }
+ else
+ res = CALL (impl, dst, src, dlen);
+
+ if (res != STRCPY_RESULT (dst, len))
+ {
+ printf ("Wrong result in function %s %p %p\n", impl->name,
+ res, STRCPY_RESULT (dst, len));
+ ret = 1;
+ return;
+ }
+
+ if (strcmp (dst, src) != 0)
+ {
+ printf ("Wrong result in function %s dst \"%s\" src \"%s\"\n",
+ impl->name, dst, src);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, dst, src, dlen);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, size_t dlen, int max_char)
+{
+ size_t i;
+ char *s1, *s2;
+
+ align1 &= 7;
+ if (align1 + len >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len >= page_size)
+ return;
+
+ s1 = (char *) buf1 + align1;
+ s2 = (char *) buf2 + align2;
+
+ for (i = 0; i < len; i++)
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ s1[len] = 0;
+
+ if (dlen > len)
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, s1, len, dlen);
+
+ if (dlen > len)
+ putchar ('\n');
+}
+
+static int
+test_main (void)
+{
+ size_t i;
+
+ set_fortify_handler (handler);
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, i + 1, 127);
+ do_test (0, 0, i, i + 1, 255);
+ do_test (0, i, i, i + 1, 127);
+ do_test (i, 0, i, i + 1, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, (8 << i) + 1, 127);
+ do_test (8 - i, 2 * i, (8 << i), (8 << i) + 1, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, (8 << i), (8 << i) + 1, 127);
+ do_test (2 * i, i, (8 << i), (8 << i) + 1, 255);
+ do_test (i, i, (8 << i), (8 << i) + 1, 127);
+ do_test (i, i, (8 << i), (8 << i) + 1, 255);
+ }
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, i + 256, 127);
+ do_test (0, 0, i, i + 256, 255);
+ do_test (0, i, i, i + 256, 127);
+ do_test (i, 0, i, i + 256, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, (8 << i) + 256, 127);
+ do_test (8 - i, 2 * i, (8 << i), (8 << i) + 256, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, (8 << i), (8 << i) + 256, 127);
+ do_test (2 * i, i, (8 << i), (8 << i) + 256, 255);
+ do_test (i, i, (8 << i), (8 << i) + 256, 127);
+ do_test (i, i, (8 << i), (8 << i) + 256, 255);
+ }
+
+ for (i = 0; i < 16; ++i)
+ {
+ do_test (0, 0, i, i, 127);
+ do_test (0, 0, i, i + 2, 255);
+ do_test (0, i, i, i + 3, 127);
+ do_test (i, 0, i, i + 4, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, (8 << i) - 15, 127);
+ do_test (8 - i, 2 * i, (8 << i), (8 << i) + 5, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, (8 << i), (8 << i) + i, 127);
+ do_test (2 * i, i, (8 << i), (8 << i) + (i - 1), 255);
+ do_test (i, i, (8 << i), (8 << i) + i + 2, 127);
+ do_test (i, i, (8 << i), (8 << i) + i + 3, 255);
+ }
+
+ return 0;
+}
diff -urN glibc-2.17-c758a686/benchtests/bench-strcspn.c glibc-2.17-c758a686/benchtests/bench-strcspn.c
--- glibc-2.17-c758a686/benchtests/bench-strcspn.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strcspn.c 2015-06-20 21:22:16.298458075 -0400
@@ -0,0 +1,59 @@
+/* Measure strcspn functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define STRPBRK_RESULT(s, pos) (pos)
+#define RES_TYPE size_t
+#define TEST_MAIN
+#define TEST_NAME "strcspn"
+#include "bench-string.h"
+
+typedef size_t (*proto_t) (const char *, const char *);
+size_t simple_strcspn (const char *, const char *);
+size_t stupid_strcspn (const char *, const char *);
+
+IMPL (stupid_strcspn, 0)
+IMPL (simple_strcspn, 0)
+IMPL (strcspn, 1)
+
+size_t
+simple_strcspn (const char *s, const char *rej)
+{
+ const char *r, *str = s;
+ char c;
+
+ while ((c = *s++) != '\0')
+ for (r = rej; *r != '\0'; ++r)
+ if (*r == c)
+ return s - str - 1;
+ return s - str - 1;
+}
+
+size_t
+stupid_strcspn (const char *s, const char *rej)
+{
+ size_t ns = strlen (s), nrej = strlen (rej);
+ size_t i, j;
+
+ for (i = 0; i < ns; ++i)
+ for (j = 0; j < nrej; ++j)
+ if (s[i] == rej[j])
+ return i;
+ return i;
+}
+
+#include "bench-strpbrk.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-string.h glibc-2.17-c758a686/benchtests/bench-string.h
--- glibc-2.17-c758a686/benchtests/bench-string.h 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-string.h 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,201 @@
+/* Measure string and memory functions.
+ Copyright (C) 2013-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+
+typedef struct
+{
+ const char *name;
+ void (*fn) (void);
+ long test;
+} impl_t;
+extern impl_t __start_impls[], __stop_impls[];
+
+#define IMPL(name, test) \
+ impl_t tst_ ## name \
+ __attribute__ ((section ("impls"), aligned (sizeof (void *)))) \
+ = { __STRING (name), (void (*) (void))name, test };
+
+#ifdef TEST_MAIN
+
+# ifndef _GNU_SOURCE
+# define _GNU_SOURCE
+# endif
+
+# undef __USE_STRING_INLINES
+
+# include
+# include
+# include
+# include
+# include
+# include
+# include
+# include
+# include
+# include
+# include
+# define GL(x) _##x
+# define GLRO(x) _##x
+# include "bench-timing.h"
+
+
+# define TEST_FUNCTION test_main ()
+# define TIMEOUT (4 * 60)
+# define OPT_ITERATIONS 10000
+# define OPT_RANDOM 10001
+# define OPT_SEED 10002
+
+# define INNER_LOOP_ITERS 64
+
+unsigned char *buf1, *buf2;
+int ret, do_srandom;
+unsigned int seed;
+size_t page_size;
+
+# ifndef ITERATIONS
+size_t iterations = 100000;
+# define ITERATIONS_OPTIONS \
+ { "iterations", required_argument, NULL, OPT_ITERATIONS },
+# define ITERATIONS_PROCESS \
+ case OPT_ITERATIONS: \
+ iterations = strtoul (optarg, NULL, 0); \
+ break;
+# define ITERATIONS iterations
+# else
+# define ITERATIONS_OPTIONS
+# define ITERATIONS_PROCESS
+# endif
+
+# define CMDLINE_OPTIONS ITERATIONS_OPTIONS \
+ { "random", no_argument, NULL, OPT_RANDOM }, \
+ { "seed", required_argument, NULL, OPT_SEED },
+# define CMDLINE_PROCESS ITERATIONS_PROCESS \
+ case OPT_RANDOM: \
+ { \
+ int fdr = open ("/dev/urandom", O_RDONLY); \
+ \
+ if (fdr < 0 || read (fdr, &seed, sizeof(seed)) != sizeof (seed)) \
+ seed = time (NULL); \
+ if (fdr >= 0) \
+ close (fdr); \
+ do_srandom = 1; \
+ break; \
+ } \
+ \
+ case OPT_SEED: \
+ seed = strtoul (optarg, NULL, 0); \
+ do_srandom = 1; \
+ break;
+
+# define CALL(impl, ...) \
+ (* (proto_t) (impl)->fn) (__VA_ARGS__)
+
+# ifdef TEST_NAME
+/* Increase size of FUNC_LIST if assert is triggered at run-time. */
+static struct libc_ifunc_impl func_list[32];
+static int func_count;
+static int impl_count = -1;
+static impl_t *impl_array;
+
+# define FOR_EACH_IMPL(impl, notall) \
+ impl_t *impl; \
+ int count; \
+ if (impl_count == -1) \
+ { \
+ impl_count = 0; \
+ if (func_count != 0) \
+ { \
+ int f; \
+ impl_t *skip = NULL, *a; \
+ for (impl = __start_impls; impl < __stop_impls; ++impl) \
+ if (strcmp (impl->name, TEST_NAME) == 0) \
+ skip = impl; \
+ else \
+ impl_count++; \
+ a = impl_array = malloc ((impl_count + func_count) * \
+ sizeof (impl_t)); \
+ for (impl = __start_impls; impl < __stop_impls; ++impl) \
+ if (impl != skip) \
+ *a++ = *impl; \
+ for (f = 0; f < func_count; f++) \
+ if (func_list[f].usable) \
+ { \
+ a->name = func_list[f].name; \
+ a->fn = func_list[f].fn; \
+ a->test = 1; \
+ a++; \
+ } \
+ impl_count = a - impl_array; \
+ } \
+ else \
+ { \
+ impl_count = __stop_impls - __start_impls; \
+ impl_array = __start_impls; \
+ } \
+ } \
+ impl = impl_array; \
+ for (count = 0; count < impl_count; ++count, ++impl) \
+ if (!notall || impl->test)
+# else /* !TEST_NAME */
+# define FOR_EACH_IMPL(impl, notall) \
+ for (impl_t *impl = __start_impls; impl < __stop_impls; ++impl) \
+ if (!notall || impl->test)
+# endif /* !TEST_NAME */
+
+# ifndef BUF1PAGES
+# define BUF1PAGES 1
+# endif
+
+static void
+test_init (void)
+{
+# ifdef TEST_NAME
+ func_count = __libc_ifunc_impl_list (TEST_NAME, func_list,
+ (sizeof func_list
+ / sizeof func_list[0]));
+# endif
+
+ page_size = 2 * getpagesize ();
+# ifdef MIN_PAGE_SIZE
+ if (page_size < MIN_PAGE_SIZE)
+ page_size = MIN_PAGE_SIZE;
+# endif
+ buf1 = mmap (0, (BUF1PAGES + 1) * page_size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANON, -1, 0);
+ if (buf1 == MAP_FAILED)
+ error (EXIT_FAILURE, errno, "mmap failed");
+ if (mprotect (buf1 + BUF1PAGES * page_size, page_size, PROT_NONE))
+ error (EXIT_FAILURE, errno, "mprotect failed");
+ buf2 = mmap (0, 2 * page_size, PROT_READ | PROT_WRITE,
+ MAP_PRIVATE | MAP_ANON, -1, 0);
+ if (buf2 == MAP_FAILED)
+ error (EXIT_FAILURE, errno, "mmap failed");
+ if (mprotect (buf2 + page_size, page_size, PROT_NONE))
+ error (EXIT_FAILURE, errno, "mprotect failed");
+ if (do_srandom)
+ {
+ printf ("Setting seed to 0x%x\n", seed);
+ srandom (seed);
+ }
+
+ memset (buf1, 0xa5, BUF1PAGES * page_size);
+ memset (buf2, 0x5a, page_size);
+}
+
+#endif /* TEST_MAIN */
diff -urN glibc-2.17-c758a686/benchtests/bench-strlen.c glibc-2.17-c758a686/benchtests/bench-strlen.c
--- glibc-2.17-c758a686/benchtests/bench-strlen.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strlen.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,142 @@
+/* Measure STRLEN functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifndef WIDE
+# define TEST_NAME "strlen"
+#else
+# define TEST_NAME "wcslen"
+#endif
+#include "bench-string.h"
+
+#ifndef WIDE
+# define STRLEN strlen
+# define CHAR char
+# define MAX_CHAR CHAR_MAX
+#else
+# include
+# define STRLEN wcslen
+# define CHAR wchar_t
+# define MAX_CHAR WCHAR_MAX
+#endif
+
+typedef size_t (*proto_t) (const CHAR *);
+
+size_t
+simple_STRLEN (const CHAR *s)
+{
+ const CHAR *p;
+
+ for (p = s; *p; ++p);
+ return p - s;
+}
+
+#ifndef WIDE
+size_t
+builtin_strlen (const CHAR *p)
+{
+ return __builtin_strlen (p);
+}
+IMPL (builtin_strlen, 0)
+#endif
+
+IMPL (simple_STRLEN, 0)
+IMPL (STRLEN, 1)
+
+
+static void
+do_one_test (impl_t *impl, const CHAR *s, size_t exp_len)
+{
+ size_t len = CALL (impl, s), i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (len != exp_len)
+ {
+ error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
+ len, exp_len);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t len)
+{
+ size_t i;
+
+ align &= 63;
+ if (align + sizeof(CHAR) * len >= page_size)
+ return;
+
+ CHAR *buf = (CHAR *) (buf1);
+
+ for (i = 0; i < len; ++i)
+ buf[align + i] = 1 + 11111 * i % MAX_CHAR;
+ buf[align + len] = 0;
+
+ printf ("Length %4zd, alignment %2zd:", len, align);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (CHAR *) (buf + align), len);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ /* Checking with only 4 * N alignments for wcslen, other alignments are wrong for wchar_t type arrays*/
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (sizeof(CHAR) * i, i);
+ do_test (0, i);
+ }
+
+ for (i = 2; i <= 12; ++i)
+ {
+ do_test (0, 1 << i);
+ do_test (sizeof(CHAR) * 7, 1 << i);
+ do_test (sizeof(CHAR) * i, 1 << i);
+ do_test (sizeof(CHAR) * i, (size_t)((1 << i) / 1.5));
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strncasecmp.c glibc-2.17-c758a686/benchtests/bench-strncasecmp.c
--- glibc-2.17-c758a686/benchtests/bench-strncasecmp.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strncasecmp.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,207 @@
+/* Measure strncasecmp functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+#define TEST_MAIN
+#define TEST_NAME "strncasecmp"
+#include "bench-string.h"
+
+typedef int (*proto_t) (const char *, const char *, size_t);
+static int simple_strncasecmp (const char *, const char *, size_t);
+static int stupid_strncasecmp (const char *, const char *, size_t);
+
+IMPL (stupid_strncasecmp, 0)
+IMPL (simple_strncasecmp, 0)
+IMPL (strncasecmp, 1)
+
+static int
+simple_strncasecmp (const char *s1, const char *s2, size_t n)
+{
+ int ret;
+
+ if (n == 0)
+ return 0;
+
+ while ((ret = ((unsigned char) tolower (*s1)
+ - (unsigned char) tolower (*s2))) == 0
+ && *s1++)
+ {
+ if (--n == 0)
+ return 0;
+ ++s2;
+ }
+ return ret;
+}
+
+static int
+stupid_strncasecmp (const char *s1, const char *s2, size_t max)
+{
+ size_t ns1 = strlen (s1) + 1;
+ size_t ns2 = strlen (s2) + 1;
+ size_t n = ns1 < ns2 ? ns1 : ns2;
+ if (n > max)
+ n = max;
+ int ret = 0;
+
+ while (n--)
+ {
+ if ((ret = ((unsigned char) tolower (*s1)
+ - (unsigned char) tolower (*s2))) != 0)
+ break;
+ ++s1;
+ ++s2;
+ }
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
+ int exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t n, size_t len, int max_char,
+ int exp_result)
+{
+ size_t i;
+ char *s1, *s2;
+
+ if (len == 0)
+ return;
+
+ align1 &= 7;
+ if (align1 + len + 1 >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len + 1 >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len; i++)
+ {
+ s1[i] = toupper (1 + 23 * i % max_char);
+ s2[i] = tolower (s1[i]);
+ }
+
+ s1[len] = s2[len] = 0;
+ s1[len + 1] = 23;
+ s2[len + 1] = 24 + exp_result;
+ if ((s2[len - 1] == 'z' && exp_result == -1)
+ || (s2[len - 1] == 'a' && exp_result == 1))
+ s1[len - 1] += exp_result;
+ else
+ s2[len - 1] -= exp_result;
+
+ printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, n, exp_result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 16; ++i)
+ {
+ do_test (i, i, i - 1, i, 127, 0);
+
+ do_test (i, i, i, i, 127, 0);
+ do_test (i, i, i, i, 127, 1);
+ do_test (i, i, i, i, 127, -1);
+
+ do_test (i, i, i + 1, i, 127, 0);
+ do_test (i, i, i + 1, i, 127, 1);
+ do_test (i, i, i + 1, i, 127, -1);
+ }
+
+ for (i = 1; i < 10; ++i)
+ {
+ do_test (0, 0, (2 << i) - 1, 2 << i, 127, 0);
+ do_test (0, 0, 2 << i, 2 << i, 254, 0);
+ do_test (0, 0, (2 << i) + 1, 2 << i, 127, 0);
+
+ do_test (0, 0, (2 << i) + 1, 2 << i, 254, 0);
+
+ do_test (0, 0, 2 << i, 2 << i, 127, 1);
+ do_test (0, 0, (2 << i) + 10, 2 << i, 127, 1);
+
+ do_test (0, 0, 2 << i, 2 << i, 254, 1);
+ do_test (0, 0, (2 << i) + 10, 2 << i, 254, 1);
+
+ do_test (0, 0, 2 << i, 2 << i, 127, -1);
+ do_test (0, 0, (2 << i) + 10, 2 << i, 127, -1);
+
+ do_test (0, 0, 2 << i, 2 << i, 254, -1);
+ do_test (0, 0, (2 << i) + 10, 2 << i, 254, -1);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, (8 << i) - 1, 8 << i, 127, 0);
+ do_test (i, 2 * i, 8 << i, 8 << i, 127, 0);
+ do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 0);
+
+ do_test (2 * i, i, (8 << i) - 1, 8 << i, 254, 0);
+ do_test (2 * i, i, 8 << i, 8 << i, 254, 0);
+ do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 0);
+
+ do_test (i, 2 * i, 8 << i, 8 << i, 127, 1);
+ do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, 1);
+
+ do_test (2 * i, i, 8 << i, 8 << i, 254, 1);
+ do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, 1);
+
+ do_test (i, 2 * i, 8 << i, 8 << i, 127, -1);
+ do_test (i, 2 * i, (8 << i) + 100, 8 << i, 127, -1);
+
+ do_test (2 * i, i, 8 << i, 8 << i, 254, -1);
+ do_test (2 * i, i, (8 << i) + 100, 8 << i, 254, -1);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strncat.c glibc-2.17-c758a686/benchtests/bench-strncat.c
--- glibc-2.17-c758a686/benchtests/bench-strncat.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strncat.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,162 @@
+/* Measure strncat functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strncat"
+#include "bench-string.h"
+
+typedef char *(*proto_t) (char *, const char *, size_t);
+char *stupid_strncat (char *, const char *, size_t);
+char *simple_strncat (char *, const char *, size_t);
+
+IMPL (stupid_strncat, 0)
+IMPL (strncat, 2)
+
+char *
+stupid_strncat (char *dst, const char *src, size_t n)
+{
+ char *ret = dst;
+ while (*dst++ != '\0');
+ --dst;
+ while (n--)
+ if ( (*dst++ = *src++) == '\0')
+ return ret;
+ *dst = '\0';
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, char *dst, const char *src, size_t n)
+{
+ size_t k = strlen (dst), i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src, n) != dst)
+ {
+ error (0, 0, "Wrong result in function %s %p != %p", impl->name,
+ CALL (impl, dst, src, n), dst);
+ ret = 1;
+ return;
+ }
+
+ size_t len = strlen (src);
+ if (memcmp (dst + k, src, len + 1 > n ? n : len + 1) != 0)
+ {
+ error (0, 0, "Incorrect cancatination in function %s",
+ impl->name);
+ ret = 1;
+ return;
+ }
+ if (n < len && dst[k + n] != '\0')
+ {
+ error (0, 0, "There is no zero in the end of output string in %s",
+ impl->name);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ dst[k] = '\0';
+ CALL (impl, dst, src, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2,
+ size_t n, int max_char)
+{
+ size_t i;
+ char *s1, *s2;
+
+ align1 &= 7;
+ if (align1 + len1 >= page_size)
+ return;
+ if (align1 + n > page_size)
+ return;
+ align2 &= 7;
+ if (align2 + len1 + len2 >= page_size)
+ return;
+ if (align2 + len1 + n > page_size)
+ return;
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len1; ++i)
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ s1[len1] = '\0';
+
+ for (i = 0; i < len2; i++)
+ s2[i] = 32 + 23 * i % (max_char - 32);
+
+ printf ("Length %4zd/%4zd, alignment %2zd/%2zd, N %4zd:",
+ len1, len2, align1, align2, n);
+
+ FOR_EACH_IMPL (impl, 0)
+ {
+ s2[len2] = '\0';
+ do_one_test (impl, s2, s1, n);
+ }
+
+ putchar ('\n');
+}
+
+int
+main (void)
+{
+ size_t i, n;
+
+ test_init ();
+
+ printf ("%28s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (n = 2; n <= 2048; n*=4)
+ {
+ do_test (0, 2, 2, 2, n, 127);
+ do_test (0, 0, 4, 4, n, 127);
+ do_test (4, 0, 4, 4, n, 255);
+ do_test (0, 0, 8, 8, n, 127);
+ do_test (0, 8, 8, 8, n, 127);
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, 8 << i, n, 127);
+ do_test (8 - i, 2 * i, 8 << i, 8 << i, n, 127);
+ do_test (0, 0, 8 << i, 2 << i, n, 127);
+ do_test (8 - i, 2 * i, 8 << i, 2 << i, n, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 2 * i, 8 << i, 1, n, 127);
+ do_test (2 * i, i, 8 << i, 1, n, 255);
+ do_test (i, i, 8 << i, 10, n, 127);
+ }
+ }
+
+ return ret;
+}
diff -urN glibc-2.17-c758a686/benchtests/bench-strncmp.c glibc-2.17-c758a686/benchtests/bench-strncmp.c
--- glibc-2.17-c758a686/benchtests/bench-strncmp.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strncmp.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,239 @@
+/* Measure strncmp functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strncmp"
+#include "bench-string.h"
+
+typedef int (*proto_t) (const char *, const char *, size_t);
+int simple_strncmp (const char *, const char *, size_t);
+int stupid_strncmp (const char *, const char *, size_t);
+
+IMPL (stupid_strncmp, 0)
+IMPL (simple_strncmp, 0)
+IMPL (strncmp, 1)
+
+int
+simple_strncmp (const char *s1, const char *s2, size_t n)
+{
+ int ret = 0;
+
+ while (n-- && (ret = *(unsigned char *) s1 - * (unsigned char *) s2++) == 0
+ && *s1++);
+ return ret;
+}
+
+int
+stupid_strncmp (const char *s1, const char *s2, size_t n)
+{
+ size_t ns1 = strnlen (s1, n) + 1, ns2 = strnlen (s2, n) + 1;
+ int ret = 0;
+
+ n = ns1 < n ? ns1 : n;
+ n = ns2 < n ? ns2 : n;
+ while (n-- && (ret = *(unsigned char *) s1++ - * (unsigned char *) s2++) == 0);
+ return ret;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s1, const char *s2, size_t n,
+ int exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test_limit (size_t align1, size_t align2, size_t len, size_t n, int max_char,
+ int exp_result)
+{
+ size_t i, align_n;
+ char *s1, *s2;
+
+ if (n == 0)
+ {
+ s1 = (char*)(buf1 + page_size);
+ s2 = (char*)(buf2 + page_size);
+ printf ("Length %4zd/%4zd:", len, n);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, n, 0);
+
+ putchar ('\n');
+
+ return;
+ }
+
+ align1 &= 15;
+ align2 &= 15;
+ align_n = (page_size - n) & 15;
+
+ s1 = (char*)(buf1 + page_size - n);
+ s2 = (char*)(buf2 + page_size - n);
+
+ if (align1 < align_n)
+ s1 -= (align_n - align1);
+
+ if (align2 < align_n)
+ s2 -= (align_n - align2);
+
+ for (i = 0; i < n; i++)
+ s1[i] = s2[i] = 1 + 23 * i % max_char;
+
+ if (len < n)
+ {
+ s1[len] = 0;
+ s2[len] = 0;
+ if (exp_result < 0)
+ s2[len] = 32;
+ else if (exp_result > 0)
+ s1[len] = 64;
+ }
+
+ printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, n, exp_result);
+
+ putchar ('\n');
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char,
+ int exp_result)
+{
+ size_t i;
+ char *s1, *s2;
+
+ if (n == 0)
+ return;
+
+ align1 &= 7;
+ if (align1 + n + 1 >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + n + 1 >= page_size)
+ return;
+
+ s1 = (char*)(buf1 + align1);
+ s2 = (char*)(buf2 + align2);
+
+ for (i = 0; i < n; i++)
+ s1[i] = s2[i] = 1 + 23 * i % max_char;
+
+ s1[n] = 24 + exp_result;
+ s2[n] = 23;
+ s1[len] = 0;
+ s2[len] = 0;
+ if (exp_result < 0)
+ s2[len] = 32;
+ else if (exp_result > 0)
+ s1[len] = 64;
+ if (len >= n)
+ s2[n - 1] -= exp_result;
+
+ printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (char*)s1, (char*)s2, n, exp_result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i =0; i < 16; ++i)
+ {
+ do_test (0, 0, 8, i, 127, 0);
+ do_test (0, 0, 8, i, 127, -1);
+ do_test (0, 0, 8, i, 127, 1);
+ do_test (i, i, 8, i, 127, 0);
+ do_test (i, i, 8, i, 127, 1);
+ do_test (i, i, 8, i, 127, -1);
+ do_test (i, 2 * i, 8, i, 127, 0);
+ do_test (2 * i, i, 8, i, 127, 1);
+ do_test (i, 3 * i, 8, i, 127, -1);
+ do_test (0, 0, 8, i, 255, 0);
+ do_test (0, 0, 8, i, 255, -1);
+ do_test (0, 0, 8, i, 255, 1);
+ do_test (i, i, 8, i, 255, 0);
+ do_test (i, i, 8, i, 255, 1);
+ do_test (i, i, 8, i, 255, -1);
+ do_test (i, 2 * i, 8, i, 255, 0);
+ do_test (2 * i, i, 8, i, 255, 1);
+ do_test (i, 3 * i, 8, i, 255, -1);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 8 << i, 16 << i, 127, 0);
+ do_test (0, 0, 8 << i, 16 << i, 127, 1);
+ do_test (0, 0, 8 << i, 16 << i, 127, -1);
+ do_test (0, 0, 8 << i, 16 << i, 255, 0);
+ do_test (0, 0, 8 << i, 16 << i, 255, 1);
+ do_test (0, 0, 8 << i, 16 << i, 255, -1);
+ do_test (8 - i, 2 * i, 8 << i, 16 << i, 127, 0);
+ do_test (8 - i, 2 * i, 8 << i, 16 << i, 127, 1);
+ do_test (2 * i, i, 8 << i, 16 << i, 255, 0);
+ do_test (2 * i, i, 8 << i, 16 << i, 255, 1);
+ }
+
+ do_test_limit (0, 0, 0, 0, 127, 0);
+ do_test_limit (4, 0, 21, 20, 127, 0);
+ do_test_limit (0, 4, 21, 20, 127, 0);
+ do_test_limit (8, 0, 25, 24, 127, 0);
+ do_test_limit (0, 8, 25, 24, 127, 0);
+
+ for (i = 0; i < 8; ++i)
+ {
+ do_test_limit (0, 0, 17 - i, 16 - i, 127, 0);
+ do_test_limit (0, 0, 17 - i, 16 - i, 255, 0);
+ do_test_limit (0, 0, 15 - i, 16 - i, 127, 0);
+ do_test_limit (0, 0, 15 - i, 16 - i, 127, 1);
+ do_test_limit (0, 0, 15 - i, 16 - i, 127, -1);
+ do_test_limit (0, 0, 15 - i, 16 - i, 255, 0);
+ do_test_limit (0, 0, 15 - i, 16 - i, 255, 1);
+ do_test_limit (0, 0, 15 - i, 16 - i, 255, -1);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strncpy.c glibc-2.17-c758a686/benchtests/bench-strncpy.c
--- glibc-2.17-c758a686/benchtests/bench-strncpy.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strncpy.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,174 @@
+/* Measure strncpy functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef STRNCPY_RESULT
+# define STRNCPY_RESULT(dst, len, n) dst
+# define TEST_MAIN
+# define TEST_NAME "strncpy"
+# include "bench-string.h"
+
+char *simple_strncpy (char *, const char *, size_t);
+char *stupid_strncpy (char *, const char *, size_t);
+
+IMPL (stupid_strncpy, 0)
+IMPL (simple_strncpy, 0)
+IMPL (strncpy, 1)
+
+char *
+simple_strncpy (char *dst, const char *src, size_t n)
+{
+ char *ret = dst;
+ while (n--)
+ if ((*dst++ = *src++) == '\0')
+ {
+ while (n--)
+ *dst++ = '\0';
+ return ret;
+ }
+ return ret;
+}
+
+char *
+stupid_strncpy (char *dst, const char *src, size_t n)
+{
+ size_t nc = strnlen (src, n);
+ size_t i;
+
+ for (i = 0; i < nc; ++i)
+ dst[i] = src[i];
+ for (; i < n; ++i)
+ dst[i] = '\0';
+ return dst;
+}
+#endif
+
+typedef char *(*proto_t) (char *, const char *, size_t);
+
+static void
+do_one_test (impl_t *impl, char *dst, const char *src, size_t len, size_t n)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (CALL (impl, dst, src, n) != STRNCPY_RESULT (dst, len, n))
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ CALL (impl, dst, src, n), dst);
+ ret = 1;
+ return;
+ }
+
+ if (memcmp (dst, src, len > n ? n : len) != 0)
+ {
+ error (0, 0, "Wrong result in function %s", impl->name);
+ ret = 1;
+ return;
+ }
+
+ if (n > len)
+ {
+ size_t i;
+
+ for (i = len; i < n; ++i)
+ if (dst [i] != '\0')
+ {
+ error (0, 0, "Wrong result in function %s", impl->name);
+ ret = 1;
+ return;
+ }
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, dst, src, n);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len, size_t n, int max_char)
+{
+ size_t i;
+ char *s1, *s2;
+
+ align1 &= 7;
+ if (align1 + len >= page_size)
+ return;
+
+ align2 &= 7;
+ if (align2 + len >= page_size)
+ return;
+
+ s1 = (char *) (buf1 + align1);
+ s2 = (char *) (buf2 + align2);
+
+ for (i = 0; i < len; ++i)
+ s1[i] = 32 + 23 * i % (max_char - 32);
+ s1[len] = 0;
+ for (i = len + 1; i + align1 < page_size && i < len + 64; ++i)
+ s1[i] = 32 + 32 * i % (max_char - 32);
+
+ printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s2, s1, len, n);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%28s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, i, 16, 16, 127);
+ do_test (i, i, 16, 16, 255);
+ do_test (i, 2 * i, 16, 16, 127);
+ do_test (2 * i, i, 16, 16, 255);
+ do_test (8 - i, 2 * i, 1 << i, 2 << i, 127);
+ do_test (2 * i, 8 - i, 2 << i, 1 << i, 127);
+ do_test (8 - i, 2 * i, 1 << i, 2 << i, 255);
+ do_test (2 * i, 8 - i, 2 << i, 1 << i, 255);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 0, 4 << i, 8 << i, 127);
+ do_test (0, 0, 16 << i, 8 << i, 127);
+ do_test (8 - i, 2 * i, 4 << i, 8 << i, 127);
+ do_test (8 - i, 2 * i, 16 << i, 8 << i, 127);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strnlen.c glibc-2.17-c758a686/benchtests/bench-strnlen.c
--- glibc-2.17-c758a686/benchtests/bench-strnlen.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strnlen.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,132 @@
+/* Measure strlen functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strnlen"
+#include "bench-string.h"
+
+typedef size_t (*proto_t) (const char *, size_t);
+size_t simple_strnlen (const char *, size_t);
+
+IMPL (simple_strnlen, 0)
+IMPL (strnlen, 1)
+
+size_t
+simple_strnlen (const char *s, size_t maxlen)
+{
+ size_t i;
+
+ for (i = 0; i < maxlen && s[i]; ++i);
+ return i;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s, size_t maxlen, size_t exp_len)
+{
+ size_t len = CALL (impl, s, maxlen), i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (len != exp_len)
+ {
+ error (0, 0, "Wrong result in function %s %zd %zd", impl->name,
+ len, exp_len);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, maxlen);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t len, size_t maxlen, int max_char)
+{
+ size_t i;
+
+ align &= 7;
+ if (align + len >= page_size)
+ return;
+
+ for (i = 0; i < len; ++i)
+ buf1[align + i] = 1 + 7 * i % max_char;
+ buf1[align + len] = 0;
+
+ printf ("Length %4zd, alignment %2zd:", len, align);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (char *) (buf1 + align), maxlen, MIN (len, maxlen));
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, i, i - 1, 127);
+ do_test (0, i, i, 127);
+ do_test (0, i, i + 1, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, i, i - 1, 127);
+ do_test (i, i, i, 127);
+ do_test (i, i, i + 1, 127);
+ }
+
+ for (i = 2; i <= 10; ++i)
+ {
+ do_test (0, 1 << i, 5000, 127);
+ do_test (1, 1 << i, 5000, 127);
+ }
+
+ for (i = 1; i < 8; ++i)
+ do_test (0, i, 5000, 255);
+
+ for (i = 1; i < 8; ++i)
+ do_test (i, i, 5000, 255);
+
+ for (i = 2; i <= 10; ++i)
+ {
+ do_test (0, 1 << i, 5000, 255);
+ do_test (1, 1 << i, 5000, 255);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strpbrk.c glibc-2.17-c758a686/benchtests/bench-strpbrk.c
--- glibc-2.17-c758a686/benchtests/bench-strpbrk.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strpbrk.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,176 @@
+/* Measure strpbrk functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef STRPBRK_RESULT
+# define STRPBRK_RESULT(s, pos) ((s)[(pos)] ? (s) + (pos) : NULL)
+# define RES_TYPE char *
+# define TEST_MAIN
+# define TEST_NAME "strpbrk"
+# include "bench-string.h"
+
+typedef char *(*proto_t) (const char *, const char *);
+char *simple_strpbrk (const char *, const char *);
+char *stupid_strpbrk (const char *, const char *);
+
+IMPL (stupid_strpbrk, 0)
+IMPL (simple_strpbrk, 0)
+IMPL (strpbrk, 1)
+
+char *
+simple_strpbrk (const char *s, const char *rej)
+{
+ const char *r;
+ char c;
+
+ while ((c = *s++) != '\0')
+ for (r = rej; *r != '\0'; ++r)
+ if (*r == c)
+ return (char *) s - 1;
+ return NULL;
+}
+
+char *
+stupid_strpbrk (const char *s, const char *rej)
+{
+ size_t ns = strlen (s), nrej = strlen (rej);
+ size_t i, j;
+
+ for (i = 0; i < ns; ++i)
+ for (j = 0; j < nrej; ++j)
+ if (s[i] == rej[j])
+ return (char *) s + i;
+ return NULL;
+}
+#endif
+
+static void
+do_one_test (impl_t *impl, const char *s, const char *rej, RES_TYPE exp_res)
+{
+ RES_TYPE res = CALL (impl, s, rej);
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (res != exp_res)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ (void *) res, (void *) exp_res);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, rej);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len)
+{
+ size_t i;
+ int c;
+ RES_TYPE result;
+ char *rej, *s;
+
+ align &= 7;
+ if (align + pos + 10 >= page_size || len > 240)
+ return;
+
+ rej = (char *) (buf2 + (random () & 255));
+ s = (char *) (buf1 + align);
+
+ for (i = 0; i < len; ++i)
+ {
+ rej[i] = random () & 255;
+ if (!rej[i])
+ rej[i] = random () & 255;
+ if (!rej[i])
+ rej[i] = 1 + (random () & 127);
+ }
+ rej[len] = '\0';
+ for (c = 1; c <= 255; ++c)
+ if (strchr (rej, c) == NULL)
+ break;
+
+ for (i = 0; i < pos; ++i)
+ {
+ s[i] = random () & 255;
+ if (strchr (rej, s[i]))
+ {
+ s[i] = random () & 255;
+ if (strchr (rej, s[i]))
+ s[i] = c;
+ }
+ }
+ s[pos] = rej[random () % (len + 1)];
+ if (s[pos])
+ {
+ for (i = pos + 1; i < pos + 10; ++i)
+ s[i] = random () & 255;
+ s[i] = '\0';
+ }
+ result = STRPBRK_RESULT (s, pos);
+
+ printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s, rej, result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%32s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, 512, i);
+ do_test (i, 512, i);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 4);
+ do_test (i, 16 << i, 4);
+ }
+
+ for (i = 1; i < 8; ++i)
+ do_test (i, 64, 10);
+
+ for (i = 0; i < 64; ++i)
+ do_test (0, i, 6);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strrchr.c glibc-2.17-c758a686/benchtests/bench-strrchr.c
--- glibc-2.17-c758a686/benchtests/bench-strrchr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strrchr.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,184 @@
+/* Measure STRCHR functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#ifdef WIDE
+# define TEST_NAME "wcsrchr"
+#else
+# define TEST_NAME "strrchr"
+#endif
+#include "bench-string.h"
+
+#ifdef WIDE
+# include
+# define SIMPLE_STRRCHR simple_wcsrchr
+# define STRRCHR wcsrchr
+# define CHAR wchar_t
+# define UCHAR wchar_t
+# define BIG_CHAR WCHAR_MAX
+# define SMALL_CHAR 1273
+#else
+# define SIMPLE_STRRCHR simple_strrchr
+# define STRRCHR strrchr
+# define CHAR char
+# define UCHAR unsigned char
+# define BIG_CHAR CHAR_MAX
+# define SMALL_CHAR 127
+#endif
+
+typedef CHAR *(*proto_t) (const CHAR *, int);
+CHAR *SIMPLE_STRRCHR (const CHAR *, int);
+
+IMPL (SIMPLE_STRRCHR, 0)
+IMPL (STRRCHR, 1)
+
+CHAR *
+SIMPLE_STRRCHR (const CHAR *s, int c)
+{
+ const CHAR *ret = NULL;
+
+ for (; *s != '\0'; ++s)
+ if (*s == (CHAR) c)
+ ret = s;
+
+ return (CHAR *) (c == '\0' ? s : ret);
+}
+
+static void
+do_one_test (impl_t *impl, const CHAR *s, int c, CHAR *exp_res)
+{
+ CHAR *res = CALL (impl, s, c);
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (res != exp_res)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ res, exp_res);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, c);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len, int seek_char, int max_char)
+/* For wcsrchr: align here means align not in bytes,
+ but in wchar_ts, in bytes it will equal to align * (sizeof (wchar_t))
+ len for wcschr here isn't in bytes but it's number of wchar_t symbols. */
+{
+ size_t i;
+ CHAR *result;
+ CHAR *buf = (CHAR *) buf1;
+
+ align &= 7;
+ if ((align + len) * sizeof (CHAR) >= page_size)
+ return;
+
+ for (i = 0; i < len; ++i)
+ {
+ buf[align + i] = (random () * random ()) & max_char;
+ if (!buf[align + i])
+ buf[align + i] = (random () * random ()) & max_char;
+ if (!buf[align + i])
+ buf[align + i] = 1;
+ if ((i > pos || pos >= len) && buf[align + i] == seek_char)
+ buf[align + i] = seek_char + 10 + (random () & 15);
+ }
+ buf[align + len] = 0;
+
+ if (pos < len)
+ {
+ buf[align + pos] = seek_char;
+ result = (CHAR *) (buf + align + pos);
+ }
+ else if (seek_char == 0)
+ result = (CHAR *) (buf + align + len);
+ else
+ result = NULL;
+
+ printf ("Length %4zd, alignment in bytes %2zd:", len, align * sizeof (CHAR));
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, (CHAR *) (buf + align), seek_char, result);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%20s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 2048, 23, SMALL_CHAR);
+ do_test (i, 16 << i, 2048, 23, SMALL_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 64, 256, 23, SMALL_CHAR);
+ do_test (i, 64, 256, 23, BIG_CHAR);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, 23, SMALL_CHAR);
+ do_test (0, i, i + 1, 23, BIG_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 2048, 0, SMALL_CHAR);
+ do_test (i, 16 << i, 2048, 0, SMALL_CHAR);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (i, 64, 256, 0, SMALL_CHAR);
+ do_test (i, 64, 256, 0, BIG_CHAR);
+ }
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, i, i + 1, 0, SMALL_CHAR);
+ do_test (0, i, i + 1, 0, BIG_CHAR);
+ }
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strsep.c glibc-2.17-c758a686/benchtests/bench-strsep.c
--- glibc-2.17-c758a686/benchtests/bench-strsep.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strsep.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,174 @@
+/* Measure strsep functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strsep"
+#include "bench-string.h"
+
+char *
+simple_strsep (char **s1, char *s2)
+{
+ char *begin;
+ char *s;
+ size_t j = 0;
+
+ begin = *s1;
+ s = begin;
+ if (begin == NULL)
+ return NULL;
+ ssize_t s2len = strlen (s2);
+ while (*s)
+ {
+ for (j = 0; j < s2len; j++)
+ {
+ if (*s == s2[j])
+ {
+ s[0] = '\0';
+ *s1 = s + 1;
+ return begin;
+ }
+ }
+ s++;
+ }
+ *s1 = NULL;
+ return begin;
+}
+
+typedef char *(*proto_t) (const char **, const char *);
+
+IMPL (simple_strsep, 0)
+IMPL (strsep, 1)
+
+static void
+do_one_test (impl_t * impl, const char *s1, const char *s2)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, &s1, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2, int fail)
+{
+ char *s2 = (char *) (buf2 + align2);
+ static const char d[] = "1234567890abcdef";
+#define dl (sizeof (d) - 1)
+ char *ss2 = s2;
+ for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ ss2 = mempcpy (ss2, d, t);
+ }
+ s2[len2] = '\0';
+
+ printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+ len1, len2, align1, align2, fail ? "fail" : "found");
+
+ FOR_EACH_IMPL (impl, 0)
+ {
+ char *s1 = (char *) (buf1 + align1);
+ if (fail)
+ {
+ char *ss1 = s1;
+ for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ memcpy (ss1, d, t);
+ ++ss1[len2 > 7 ? 7 : len2 - 1];
+ ss1 += t;
+ }
+ }
+ else
+ {
+ memset (s1, '0', len1);
+ memcpy (s1 + (len1 - len2) - 2, s2, len2);
+ if ((len1 / len2) > 4)
+ memcpy (s1 + (len1 - len2) - (3 * len2), s2, len2);
+ }
+ s1[len1] = '\0';
+ do_one_test (impl, s1, s2);
+ }
+ putchar ('\n');
+}
+
+static int
+test_main (void)
+{
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (size_t klen = 2; klen < 32; ++klen)
+ for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
+ {
+ do_test (0, 0, hlen, klen, 0);
+ do_test (0, 0, hlen, klen, 1);
+ do_test (0, 3, hlen, klen, 0);
+ do_test (0, 3, hlen, klen, 1);
+ do_test (0, 9, hlen, klen, 0);
+ do_test (0, 9, hlen, klen, 1);
+ do_test (0, 15, hlen, klen, 0);
+ do_test (0, 15, hlen, klen, 1);
+
+ do_test (3, 0, hlen, klen, 0);
+ do_test (3, 0, hlen, klen, 1);
+ do_test (3, 3, hlen, klen, 0);
+ do_test (3, 3, hlen, klen, 1);
+ do_test (3, 9, hlen, klen, 0);
+ do_test (3, 9, hlen, klen, 1);
+ do_test (3, 15, hlen, klen, 0);
+ do_test (3, 15, hlen, klen, 1);
+
+ do_test (9, 0, hlen, klen, 0);
+ do_test (9, 0, hlen, klen, 1);
+ do_test (9, 3, hlen, klen, 0);
+ do_test (9, 3, hlen, klen, 1);
+ do_test (9, 9, hlen, klen, 0);
+ do_test (9, 9, hlen, klen, 1);
+ do_test (9, 15, hlen, klen, 0);
+ do_test (9, 15, hlen, klen, 1);
+
+ do_test (15, 0, hlen, klen, 0);
+ do_test (15, 0, hlen, klen, 1);
+ do_test (15, 3, hlen, klen, 0);
+ do_test (15, 3, hlen, klen, 1);
+ do_test (15, 9, hlen, klen, 0);
+ do_test (15, 9, hlen, klen, 1);
+ do_test (15, 15, hlen, klen, 0);
+ do_test (15, 15, hlen, klen, 1);
+ }
+ do_test (0, 0, page_size - 1, 16, 0);
+ do_test (0, 0, page_size - 1, 16, 1);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strspn.c glibc-2.17-c758a686/benchtests/bench-strspn.c
--- glibc-2.17-c758a686/benchtests/bench-strspn.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strspn.c 2015-06-20 21:22:16.299458044 -0400
@@ -0,0 +1,167 @@
+/* Measure strspn functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strspn"
+#include "bench-string.h"
+
+typedef size_t (*proto_t) (const char *, const char *);
+size_t simple_strspn (const char *, const char *);
+size_t stupid_strspn (const char *, const char *);
+
+IMPL (stupid_strspn, 0)
+IMPL (simple_strspn, 0)
+IMPL (strspn, 1)
+
+size_t
+simple_strspn (const char *s, const char *acc)
+{
+ const char *r, *str = s;
+ char c;
+
+ while ((c = *s++) != '\0')
+ {
+ for (r = acc; *r != '\0'; ++r)
+ if (*r == c)
+ break;
+ if (*r == '\0')
+ return s - str - 1;
+ }
+ return s - str - 1;
+}
+
+size_t
+stupid_strspn (const char *s, const char *acc)
+{
+ size_t ns = strlen (s), nacc = strlen (acc);
+ size_t i, j;
+
+ for (i = 0; i < ns; ++i)
+ {
+ for (j = 0; j < nacc; ++j)
+ if (s[i] == acc[j])
+ break;
+ if (j == nacc)
+ return i;
+ }
+ return i;
+}
+
+static void
+do_one_test (impl_t *impl, const char *s, const char *acc, size_t exp_res)
+{
+ size_t res = CALL (impl, s, acc), i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ if (res != exp_res)
+ {
+ error (0, 0, "Wrong result in function %s %p %p", impl->name,
+ (void *) res, (void *) exp_res);
+ ret = 1;
+ return;
+ }
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s, acc);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+static void
+do_test (size_t align, size_t pos, size_t len)
+{
+ size_t i;
+ char *acc, *s;
+
+ align &= 7;
+ if (align + pos + 10 >= page_size || len > 240 || ! len)
+ return;
+
+ acc = (char *) (buf2 + (random () & 255));
+ s = (char *) (buf1 + align);
+
+ for (i = 0; i < len; ++i)
+ {
+ acc[i] = random () & 255;
+ if (!acc[i])
+ acc[i] = random () & 255;
+ if (!acc[i])
+ acc[i] = 1 + (random () & 127);
+ }
+ acc[len] = '\0';
+
+ for (i = 0; i < pos; ++i)
+ s[i] = acc[random () % len];
+ s[pos] = random () & 255;
+ if (strchr (acc, s[pos]))
+ s[pos] = '\0';
+ else
+ {
+ for (i = pos + 1; i < pos + 10; ++i)
+ s[i] = random () & 255;
+ s[i] = '\0';
+ }
+
+ printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len);
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s, acc, pos);
+
+ putchar ('\n');
+}
+
+int
+test_main (void)
+{
+ size_t i;
+
+ test_init ();
+
+ printf ("%32s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (i = 0; i < 32; ++i)
+ {
+ do_test (0, 512, i);
+ do_test (i, 512, i);
+ }
+
+ for (i = 1; i < 8; ++i)
+ {
+ do_test (0, 16 << i, 4);
+ do_test (i, 16 << i, 4);
+ }
+
+ for (i = 1; i < 8; ++i)
+ do_test (i, 64, 10);
+
+ for (i = 0; i < 64; ++i)
+ do_test (0, i, 6);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strstr.c glibc-2.17-c758a686/benchtests/bench-strstr.c
--- glibc-2.17-c758a686/benchtests/bench-strstr.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strstr.c 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,177 @@
+/* Measure strstr functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strstr"
+#include "bench-string.h"
+
+
+#define STRSTR simple_strstr
+#include "../string/strstr.c"
+
+
+static char *
+stupid_strstr (const char *s1, const char *s2)
+{
+ ssize_t s1len = strlen (s1);
+ ssize_t s2len = strlen (s2);
+
+ if (s2len > s1len)
+ return NULL;
+
+ for (ssize_t i = 0; i <= s1len - s2len; ++i)
+ {
+ size_t j;
+ for (j = 0; j < s2len; ++j)
+ if (s1[i + j] != s2[j])
+ break;
+ if (j == s2len)
+ return (char *) s1 + i;
+ }
+
+ return NULL;
+}
+
+
+typedef char *(*proto_t) (const char *, const char *);
+
+IMPL (stupid_strstr, 0)
+IMPL (simple_strstr, 0)
+IMPL (strstr, 1)
+
+
+static void
+do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+}
+
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2,
+ int fail)
+{
+ char *s1 = (char *) (buf1 + align1);
+ char *s2 = (char *) (buf2 + align2);
+
+ static const char d[] = "1234567890abcdef";
+#define dl (sizeof (d) - 1)
+ char *ss2 = s2;
+ for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ ss2 = mempcpy (ss2, d, t);
+ }
+ s2[len2] = '\0';
+
+ if (fail)
+ {
+ char *ss1 = s1;
+ for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ memcpy (ss1, d, t);
+ ++ss1[len2 > 7 ? 7 : len2 - 1];
+ ss1 += t;
+ }
+ }
+ else
+ {
+ memset (s1, '0', len1);
+ memcpy (s1 + len1 - len2, s2, len2);
+ }
+ s1[len1] = '\0';
+
+ printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+ len1, len2, align1, align2, fail ? "fail" : "found");
+
+ FOR_EACH_IMPL (impl, 0)
+ do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
+
+ putchar ('\n');
+}
+
+static int
+test_main (void)
+{
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (size_t klen = 2; klen < 32; ++klen)
+ for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
+ {
+ do_test (0, 0, hlen, klen, 0);
+ do_test (0, 0, hlen, klen, 1);
+ do_test (0, 3, hlen, klen, 0);
+ do_test (0, 3, hlen, klen, 1);
+ do_test (0, 9, hlen, klen, 0);
+ do_test (0, 9, hlen, klen, 1);
+ do_test (0, 15, hlen, klen, 0);
+ do_test (0, 15, hlen, klen, 1);
+
+ do_test (3, 0, hlen, klen, 0);
+ do_test (3, 0, hlen, klen, 1);
+ do_test (3, 3, hlen, klen, 0);
+ do_test (3, 3, hlen, klen, 1);
+ do_test (3, 9, hlen, klen, 0);
+ do_test (3, 9, hlen, klen, 1);
+ do_test (3, 15, hlen, klen, 0);
+ do_test (3, 15, hlen, klen, 1);
+
+ do_test (9, 0, hlen, klen, 0);
+ do_test (9, 0, hlen, klen, 1);
+ do_test (9, 3, hlen, klen, 0);
+ do_test (9, 3, hlen, klen, 1);
+ do_test (9, 9, hlen, klen, 0);
+ do_test (9, 9, hlen, klen, 1);
+ do_test (9, 15, hlen, klen, 0);
+ do_test (9, 15, hlen, klen, 1);
+
+ do_test (15, 0, hlen, klen, 0);
+ do_test (15, 0, hlen, klen, 1);
+ do_test (15, 3, hlen, klen, 0);
+ do_test (15, 3, hlen, klen, 1);
+ do_test (15, 9, hlen, klen, 0);
+ do_test (15, 9, hlen, klen, 1);
+ do_test (15, 15, hlen, klen, 0);
+ do_test (15, 15, hlen, klen, 1);
+ }
+
+ do_test (0, 0, page_size - 1, 16, 0);
+ do_test (0, 0, page_size - 1, 16, 1);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strtod.c glibc-2.17-c758a686/benchtests/bench-strtod.c
--- glibc-2.17-c758a686/benchtests/bench-strtod.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strtod.c 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,120 @@
+/* Measure strtod implementation.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strtod"
+
+#include
+#include
+#include "bench-timing.h"
+
+#undef INNER_LOOP_ITERS
+#define INNER_LOOP_ITERS 65536
+
+static const char *inputs[] =
+{
+ "1e308",
+ "100000000e300",
+ "0x1p1023",
+ "0x1000p1011",
+ "0x1p1020",
+ "0x0.00001p1040" "1e-307",
+ "0.000001e-301",
+ "0.0000001e-300",
+ "0.00000001e-299",
+ "1000000e-313",
+ "10000000e-314",
+ "100000000e-315",
+ "0x1p-1021",
+ "0x1000p-1033",
+ "0x10000p-1037",
+ "0x0.001p-1009",
+ "0x0.0001p-1005",
+ "12.345",
+ "12.345e19",
+ "-.1e+9",
+ ".125",
+ "1e20",
+ "0e-19",
+ "4\00012",
+ "5.9e-76",
+ "0x1.4p+3",
+ "0xAp0",
+ "0x0Ap0",
+ "0x0A",
+ "0xA0",
+ "0x0.A0p8",
+ "0x0.50p9",
+ "0x0.28p10",
+ "0x0.14p11",
+ "0x0.0A0p12",
+ "0x0.050p13",
+ "0x0.028p14",
+ "0x0.014p15",
+ "0x00.00A0p16",
+ "0x00.0050p17",
+ "0x00.0028p18",
+ "0x00.0014p19",
+ "0x1p-1023",
+ "0x0.8p-1022",
+ "Inf",
+ "-Inf",
+ "+InFiNiTy",
+ "0x80000Ap-23",
+ "1e-324",
+ "0x100000000000008p0",
+ "0x100000000000008.p0",
+ "0x100000000000008.00p0",
+ "0x10000000000000800p0",
+ "0x10000000000000801p0",
+ NULL
+};
+
+int
+do_bench (void)
+{
+ const size_t iters = INNER_LOOP_ITERS;
+ timing_t res __attribute__ ((unused));
+
+ TIMING_INIT (res);
+
+ for (size_t i = 0; inputs[i] != NULL; ++i)
+ {
+ char *ep;
+ timing_t start, stop, cur;
+
+ printf ("Input %-24s:", inputs[i]);
+ TIMING_NOW (start);
+ for (size_t j = 0; j < iters; ++j)
+ strtod (inputs[i], &ep);
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+ putchar ('\n');
+ }
+
+ return 0;
+}
+
+#define TEST_FUNCTION do_bench ()
+
+/* On slower platforms this test needs more than the default 2 seconds. */
+#define TIMEOUT 10
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-strtok.c glibc-2.17-c758a686/benchtests/bench-strtok.c
--- glibc-2.17-c758a686/benchtests/bench-strtok.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-strtok.c 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,152 @@
+/* Measure strtok functions.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#define TEST_MAIN
+#define TEST_NAME "strtok"
+#include "bench-string.h"
+
+#define STRTOK strtok_string
+#include
+
+
+typedef char *(*proto_t) (const char *, const char *);
+
+IMPL (strtok_string, 0)
+IMPL (strtok, 1)
+
+static void
+do_one_test (impl_t * impl, const char *s1, const char *s2)
+{
+ size_t i, iters = INNER_LOOP_ITERS;
+ timing_t start, stop, cur;
+ TIMING_NOW (start);
+ for (i = 0; i < iters; ++i)
+ {
+ CALL (impl, s1, s2);
+ CALL (impl, NULL, s2);
+ CALL (impl, NULL, s2);
+ }
+ TIMING_NOW (stop);
+
+ TIMING_DIFF (cur, start, stop);
+
+ TIMING_PRINT_MEAN ((double) cur, (double) iters);
+
+}
+
+
+static void
+do_test (size_t align1, size_t align2, size_t len1, size_t len2, int fail)
+{
+ char *s2 = (char *) (buf2 + align2);
+ static const char d[] = "1234567890abcdef";
+#define dl (sizeof (d) - 1)
+ char *ss2 = s2;
+ for (size_t l = len2; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ ss2 = mempcpy (ss2, d, t);
+ }
+ s2[len2] = '\0';
+
+ printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
+ len1, len2, align1, align2, fail ? "fail" : "found");
+
+ FOR_EACH_IMPL (impl, 0)
+ {
+ char *s1 = (char *) (buf1 + align1);
+ if (fail)
+ {
+ char *ss1 = s1;
+ for (size_t l = len1; l > 0; l = l > dl ? l - dl : 0)
+ {
+ size_t t = l > dl ? dl : l;
+ memcpy (ss1, d, t);
+ ++ss1[len2 > 7 ? 7 : len2 - 1];
+ ss1 += t;
+ }
+ }
+ else
+ {
+ memset (s1, '0', len1);
+ memcpy (s1 + (len1 - len2) - 2, s2, len2);
+ if ((len1 / len2) > 4)
+ memcpy (s1 + (len1 - len2) - (3 * len2), s2, len2);
+ }
+ s1[len1] = '\0';
+ do_one_test (impl, s1, s2);
+ }
+ putchar ('\n');
+}
+
+static int
+test_main (void)
+{
+ test_init ();
+
+ printf ("%23s", "");
+ FOR_EACH_IMPL (impl, 0)
+ printf ("\t%s", impl->name);
+ putchar ('\n');
+
+ for (size_t klen = 2; klen < 32; ++klen)
+ for (size_t hlen = 2 * klen; hlen < 16 * klen; hlen += klen)
+ {
+ do_test (0, 0, hlen, klen, 0);
+ do_test (0, 0, hlen, klen, 1);
+ do_test (0, 3, hlen, klen, 0);
+ do_test (0, 3, hlen, klen, 1);
+ do_test (0, 9, hlen, klen, 0);
+ do_test (0, 9, hlen, klen, 1);
+ do_test (0, 15, hlen, klen, 0);
+ do_test (0, 15, hlen, klen, 1);
+
+ do_test (3, 0, hlen, klen, 0);
+ do_test (3, 0, hlen, klen, 1);
+ do_test (3, 3, hlen, klen, 0);
+ do_test (3, 3, hlen, klen, 1);
+ do_test (3, 9, hlen, klen, 0);
+ do_test (3, 9, hlen, klen, 1);
+ do_test (3, 15, hlen, klen, 0);
+ do_test (3, 15, hlen, klen, 1);
+
+ do_test (9, 0, hlen, klen, 0);
+ do_test (9, 0, hlen, klen, 1);
+ do_test (9, 3, hlen, klen, 0);
+ do_test (9, 3, hlen, klen, 1);
+ do_test (9, 9, hlen, klen, 0);
+ do_test (9, 9, hlen, klen, 1);
+ do_test (9, 15, hlen, klen, 0);
+ do_test (9, 15, hlen, klen, 1);
+
+ do_test (15, 0, hlen, klen, 0);
+ do_test (15, 0, hlen, klen, 1);
+ do_test (15, 3, hlen, klen, 0);
+ do_test (15, 3, hlen, klen, 1);
+ do_test (15, 9, hlen, klen, 0);
+ do_test (15, 9, hlen, klen, 1);
+ do_test (15, 15, hlen, klen, 0);
+ do_test (15, 15, hlen, klen, 1);
+ }
+ do_test (0, 0, page_size - 1, 16, 0);
+ do_test (0, 0, page_size - 1, 16, 1);
+
+ return ret;
+}
+
+#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/benchtests/bench-timing.h glibc-2.17-c758a686/benchtests/bench-timing.h
--- glibc-2.17-c758a686/benchtests/bench-timing.h 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-timing.h 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,64 @@
+/* Define timing macros.
+ Copyright (C) 2013 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+#include
+
+#if HP_TIMING_AVAIL && !defined USE_CLOCK_GETTIME
+# define GL(x) _##x
+# define GLRO(x) _##x
+typedef hp_timing_t timing_t;
+
+# define TIMING_TYPE "hp_timing"
+
+# define TIMING_INIT(res) ({ (res) = 1; })
+
+# define TIMING_NOW(var) HP_TIMING_NOW (var)
+# define TIMING_DIFF(diff, start, end) HP_TIMING_DIFF ((diff), (start), (end))
+# define TIMING_ACCUM(sum, diff) HP_TIMING_ACCUM_NT ((sum), (diff))
+
+#else
+
+#include
+typedef uint64_t timing_t;
+
+# define TIMING_TYPE "clock_gettime"
+
+/* Measure the resolution of the clock so we can scale the number of
+ benchmark iterations by this value. */
+# define TIMING_INIT(res) \
+({ \
+ struct timespec start; \
+ clock_getres (CLOCK_PROCESS_CPUTIME_ID, &start); \
+ (res) = start.tv_nsec; \
+})
+
+# define TIMING_NOW(var) \
+({ \
+ struct timespec tv; \
+ clock_gettime (CLOCK_PROCESS_CPUTIME_ID, &tv); \
+ (var) = (uint64_t) (tv.tv_nsec + (uint64_t) 1000000000 * tv.tv_sec); \
+})
+
+# define TIMING_DIFF(diff, start, end) (diff) = (end) - (start)
+# define TIMING_ACCUM(sum, diff) (sum) += (diff)
+
+#endif
+
+#define TIMING_PRINT_MEAN(d_total_s, d_iters) \
+ printf ("\t%g", (d_total_s) / (d_iters))
diff -urN glibc-2.17-c758a686/benchtests/bench-timing-type.c glibc-2.17-c758a686/benchtests/bench-timing-type.c
--- glibc-2.17-c758a686/benchtests/bench-timing-type.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/bench-timing-type.c 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,27 @@
+/* Print out the timing type used by the benchmark run.
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include "bench-timing.h"
+#include
+
+int
+main (int argc, char **argv)
+{
+ puts (TIMING_TYPE);
+ return 0;
+}
diff -urN glibc-2.17-c758a686/benchtests/cosh-inputs glibc-2.17-c758a686/benchtests/cosh-inputs
--- glibc-2.17-c758a686/benchtests/cosh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/cosh-inputs 2015-06-20 21:22:16.300458014 -0400
@@ -0,0 +1,403 @@
+## args: double
+## ret: double
+## includes: math.h
+-0x1.630fb3c419c60p9
+0x1.631844f7a96d0p9
+-0x1.f56fa7db86bf4p5
+-0x1.631675fa3bc04p9
+0x1.1946f04588844p-371
+-0x1.62fac5eb878c6p9
+0x1.c2f1e6340f9acp-1
+0x1.38d5f6796e1c6p-172
+0x1.652cb53670db0p6
+0x1.bab6037e306ecp4
+-0x1.d6cc6557b9fe1p-224
+0x1.2a4a35f11dc8bp-1
+0x1.7acdf3096f467p-2
+0x1.62ea1202d9816p9
+-0x1.ab3a9254e8794p5
+-0x1.7581c71bf2925p3
+0x1.6335078d8f6f1p9
+-0x1.562ea1c51f0f0p7
+-0x1.5ad3171705e85p2
+-0x1.a28481bf5abc7p6
+-0x1.07f19394102cap-155
+0x1.714f115ded7edp-395
+-0x1.e3b4e57228498p-226
+0x1.62ecb5c679f45p9
+0x1.f5ef70c4d6fe3p-947
+0x1.07c7d5461c4c1p2
+0x1.230e2092aaa0ep5
+0x1.62edf5f8ef2d6p9
+0x1.633c66e5307e9p9
+-0x1.ca74063b21508p1
+-0x1.4517c5d83e40fp-1
+-0x1.3d480025e3245p7
+0x1.6307c4b105e8bp9
+0x1.dac293f73d850p5
+0x1.ddc3c42ec39bap6
+0x1.df804326360d0p4
+-0x1.a729d2ed077a7p8
+0x1.62e6b6e528603p9
+0x1.630252d0050e1p9
+-0x1.d9e2923618018p-312
+-0x1.da7d05daf1653p-360
+0x1.632b742e1d0c9p9
+-0x1.62fdf19fea01cp9
+0x1.6328531b0a130p9
+0x1.626da3cbd279bp-65
+0x1.632cc11415f53p9
+0x1.99320680205a9p-799
+-0x1.3a7903b952ff1p-83
+-0x1.895200d5fefb6p-119
+-0x1.c26a3720198fcp2
+-0x1.9fa0e43bb03e6p-2
+0x1.62e6378477ec7p9
+-0x1.5a5f3792646e9p-860
+0x1.1080911dae7d0p-1013
+0x1.6304f3ed14c82p9
+0x1.6337149eda940p9
+0x1.62ec21c319df7p9
+-0x1.239ff60f28877p6
+0x1.dec232d4b4a3fp-2
+-0x1.6655b35bcb861p-951
+0x1.6322f270f7ff5p9
+0x1.62e67590a0733p9
+-0x1.3bd6d2de5b059p-627
+-0x1.4d2140c9727ddp8
+0x1.6316835c7cf05p9
+-0x1.150951ee1275fp0
+-0x1.8c4344a80043fp-2
+-0x1.633196bcef4aap9
+0x1.af57d51a27e27p-747
+-0x1.7f4191bd896cbp-2
+-0x1.88703361b4ad5p3
+0x1.24aa7790e8d36p2
+-0x1.62faa7a46d17bp9
+-0x1.9a47f1cda4652p3
+-0x1.6315b48bf51f2p9
+-0x1.141d54326d8a1p7
+0x1.23ffc38155c52p-233
+-0x1.57b2662e0cbc1p2
+-0x1.1929f6abc031bp8
+-0x1.590710edec44dp-817
+0x1.94c7749a2b80cp-457
+-0x1.87d6401ddca88p-676
+-0x1.81cfd513f4ab9p-623
+-0x1.69fad03b43d66p-700
+0x1.79300023a52c8p0
+-0x1.ba2396d33e90cp8
+-0x1.63057386325ebp9
+-0x1.728176d7c18f0p-24
+-0x1.c69e923a07adcp6
+-0x1.e07082cab8c82p-573
+0x1.632b31037059ap9
+-0x1.6336976d5e8adp9
+0x1.b6cf07dd00ddep-140
+-0x1.633c1105ee490p9
+-0x1.1284f1b6941f8p1
+-0x1.6c8b7360c8e61p0
+0x1.6d20f44123714p7
+0x1.cc4af059aa66ap8
+-0x1.8a2a250959686p-57
+0x1.f02ac609a5cc1p-87
+-0x1.a754215ca985dp-2
+0x1.2825d1de625c8p6
+0x1.3c1dd34b185a1p6
+0x1.5486c13874548p-359
+-0x1.6c62d6c0af55fp6
+0x1.5947c680bd235p1
+-0x1.d1ecf009b1e3ap8
+0x1.d6c6f6b983d6cp7
+-0x1.d3c651d1da802p0
+0x1.248074c8c7fd2p1
+0x1.630c71268199ap9
+0x1.22379013a9834p-349
+0x1.6387b36f3b875p8
+-0x1.632dc46b7230cp9
+-0x1.216292f12973ap-436
+0x1.0223b02b8d96bp-459
+0x1.4512d30165887p1
+0x1.2762305f5efcbp0
+-0x1.8982d0e78510bp-802
+0x1.8713c2f7dd25ap-6
+0x1.f690a6c3716cbp-3
+0x1.afe4e13938837p-689
+0x1.62ff7470df95dp9
+-0x1.66b997e7d1793p3
+0x1.aa64953830f35p-1
+-0x1.05cbb323669c8p7
+0x1.df98b1662cf01p8
+-0x1.84acb4c33fff9p1
+-0x1.75d6f3839dffbp2
+0x1.6302c49c75ac4p9
+0x1.54c5f63777d5ap0
+-0x1.5329b46ad494ep8
+0x1.62f1d7dc4e8bfp9
+0x1.5e2af7dfe1034p9
+0x1.46b0f34a60c14p-276
+0x1.6302b7464cd16p9
+0x1.6acba1328de25p-2
+0x1.214126ebc9ba2p0
+-0x1.c6abd4778861bp3
+0x1.62ee439267fe4p9
+-0x1.019e020b2eed3p-918
+0x1.67c174b511e76p-194
+-0x1.a61b930d87e17p-197
+0x1.6326673bf0ee0p9
+0x1.62fb546601bb5p9
+-0x1.630397a6b37e0p9
+-0x1.487513da26b06p5
+-0x1.026fa5d7b42fcp-1
+0x1.a585d6604b0b1p-686
+0x1.f9dfc189a7a8dp-2
+-0x1.68c8d3ca045f0p0
+0x1.0de7b0af3eca8p-424
+0x1.9bceb245013d8p-1
+-0x1.b47a67fa0f535p-238
+0x1.31a6458858034p7
+-0x1.0baf3575dd3b1p-968
+0x1.5d07807c20bb9p1
+0x1.eb7555bb47463p5
+0x1.6300e31dc8554p9
+0x1.56bd211140702p-963
+-0x1.62fc3361285d3p9
+0x1.6329f34ef70a1p9
+0x1.3b63d61257d13p4
+0x1.861950f440148p-1
+0x1.a37ad4ec1d969p-346
+-0x1.632b611f08364p9
+-0x1.52594428d68c5p1
+-0x1.6323360b63d60p9
+-0x1.cbeb65785a18cp3
+-0x1.35d973c1b14fbp1
+-0x1.dd4d80673e7d0p-159
+0x1.1610c328054c1p-749
+0x1.d69ba47595c68p3
+-0x1.21c707e50660dp4
+-0x1.0608868eedbc7p-439
+0x1.633cd176d9771p9
+-0x1.fb2f329c0bb96p6
+0x1.b7ed468fb04f9p-2
+-0x1.23f9c5b9b41c5p6
+-0x1.9629f1520f28bp-230
+-0x1.6303c0b5329e9p9
+0x1.0738a10cb2383p6
+0x1.6949236f0fb13p0
+0x1.9356878778911p4
+0x1.6318527f69db0p9
+-0x1.915ff68d55569p5
+-0x1.3c0e136ebb1d3p8
+0x1.21c663cb76efbp-712
+0x1.631510cd8cc49p9
+-0x1.8a9232ce1ce75p-685
+-0x1.62e9313aabeb2p9
+-0x1.160a431da0f5ep-1
+-0x1.50420407b4980p-540
+0x1.3db012d4e554dp5
+0x1.07fe346846679p2
+0x1.e7b8c3d24cd12p-603
+0x1.6e9e4075373bbp-2
+0x1.99e534ba6b8c9p1
+-0x1.ac4ea356f7e7ap-1
+0x1.26d654fd77e51p-126
+0x1.630a6325d4276p9
+0x1.63018139cc344p9
+0x1.62f446bf431b8p9
+-0x1.62fa736043269p9
+0x1.62f6f6ca932f5p9
+-0x1.db3ff2317460fp-401
+0x1.182092617c182p-902
+-0x1.633510495d169p9
+0x1.07f565702a6dbp-1
+-0x1.62f3821bac3f3p9
+-0x1.de739010d6091p7
+-0x1.f6a97309476d8p6
+-0x1.92e537f3ea327p-2
+0x1.630181fc28954p9
+-0x1.baead70b0c2bap4
+0x1.6329675608d9fp9
+0x1.631ca21fe1f5ap9
+0x1.12e5e651f43bep0
+0x1.5c1404cdf4b6dp-653
+-0x1.6327e1c51ff78p9
+-0x1.8b5c643c1f677p-1
+0x1.f017e3196ac82p3
+-0x1.320c539d2690cp8
+0x1.3232266740c50p1
+-0x1.9fb7342efeec0p-903
+0x1.65f6b5e818e38p2
+0x1.f608f27517700p-132
+-0x1.6701731068abfp-476
+0x1.62f873b46c417p9
+-0x1.10ab76257be04p-134
+-0x1.71aa41f376409p3
+0x1.aa3c546601d68p6
+0x1.330af2c1875b4p-584
+0x1.467a936424936p8
+0x1.402ca060e1497p8
+0x1.8195955afb315p7
+0x1.e422c06fda329p-252
+-0x1.9725c1ddcc807p5
+-0x1.0a669663e4824p1
+0x1.da54851488f44p-650
+-0x1.2bf936af0bb54p4
+0x1.c7b7361a9d625p5
+0x1.fbafe37560e23p0
+0x1.32a202fb0895dp7
+0x1.8507b472339c2p3
+-0x1.b0498135f2cf1p-40
+-0x1.34b9e14e1af56p5
+-0x1.6316075c46ee9p9
+-0x1.d96f3088164d1p-771
+0x1.64ec801c7fc0cp1
+-0x1.6330b03f5aa48p9
+0x1.8752740d1aff0p2
+-0x1.b276e5fc0915ap8
+0x1.3fcdd73dbc27ep-603
+-0x1.09774517f3944p7
+-0x1.6319f733c541fp9
+-0x1.7019f600db82cp7
+-0x1.6317b78869f21p9
+0x1.903ff6c315937p-2
+0x1.fcd75555d1bf5p2
+0x1.a552c2076a2c0p4
+0x1.92c1858903f0ap-668
+-0x1.c91a744e3a0b7p-1
+-0x1.596c614756426p-305
+-0x1.cc5644d829eacp-167
+-0x1.bc96e1aaf042bp0
+0x1.6337b63365473p9
+-0x1.ca384346f16a9p8
+0x1.465d81dad540ep7
+0x1.632396c691df1p9
+-0x1.5695b6e7fcd02p6
+-0x1.f9a446420cdc7p3
+0x1.f0ad831c3abb4p-46
+-0x1.ce3bf20083050p8
+0x1.0b72226f94781p3
+0x1.2f75110873a31p8
+0x1.3877f0875dea2p5
+0x1.632045a8a7ef9p9
+0x1.62f1877c1501ep9
+0x1.6310e758dfd28p9
+0x1.630e01d39d028p9
+0x1.62f23680e783cp9
+0x1.83f8e51d82968p6
+0x1.7e0aa46083883p-2
+0x1.00e73296682cap7
+0x1.e333e66e5016ep-1
+0x1.62f9213f8bc1fp9
+-0x1.1043c4ca951fbp-23
+-0x1.231e514c403e4p2
+0x1.493644a3cb32cp9
+0x1.6303738c05d04p9
+0x1.6336a46b6c9bap9
+0x1.9d2f87fc603f4p5
+-0x1.633a822e16e6fp9
+-0x1.62f55568a253dp9
+-0x1.1262a6a8b160cp-166
+0x1.ee36b15df2fc4p7
+-0x1.761b008109568p-95
+-0x1.62eff1edf3d60p9
+0x1.aeceb373ec08dp5
+0x1.1f00608d6c2abp-663
+0x1.691f4114ddb68p1
+0x1.3e57e666e2e04p3
+-0x1.d897a0d2877f2p3
+-0x1.2cd5b784df531p-548
+0x1.dde5178b689c3p5
+-0x1.9a5ff5ea279f8p6
+0x1.434c61151b76bp-266
+-0x1.ebd04328781a7p-781
+-0x1.a7a0d286d7cc0p0
+-0x1.7cd5764bf11ffp7
+-0x1.632432d0e9e8fp9
+-0x1.62e861c33ae29p9
+0x1.fe89236cc6a12p-1
+-0x1.daa2368bfcef6p-410
+-0x1.a69a66dbd2ea1p8
+0x1.91b5b4560bceap3
+-0x1.0d2823f9d0f72p3
+-0x1.630ef52917607p9
+-0x1.2a2bb2e417439p6
+0x1.cfd2c4878fd4ep6
+-0x1.e6ef0724cf5d8p-2
+-0x1.d3e823224ebe4p8
+-0x1.79d546d7ccac5p-130
+-0x1.632752aab262cp9
+-0x1.98df07527c0bbp8
+0x1.6312d35913b55p9
+0x1.600ef62445c5ep4
+-0x1.62e93642f1118p9
+0x1.d0378703154bap3
+-0x1.a3c9c5aedad89p-819
+0x1.9150c46f64e72p-59
+-0x1.631537abd1539p9
+0x1.4eb503a5e519cp6
+-0x1.c276053dd303bp-733
+-0x1.f9d4144b54ba6p1
+0x1.d0d367337f7f6p1
+0x1.2b2582d457cd0p6
+-0x1.8c1a422a7d8b8p4
+-0x1.633754b36f51ap9
+-0x1.62f596dff99e7p9
+0x1.d63fe6b5c7c89p7
+-0x1.6300b68646dc7p9
+-0x1.630544284f262p9
+-0x1.2a94d776d7790p3
+0x1.33e954a4d5c5fp-916
+0x1.25e337d99f414p-965
+-0x1.06277554e7c06p-460
+0x1.883ee57d70e7dp-31
+0x1.bb0de68e6b79bp-2
+0x1.62f667f0092adp9
+-0x1.496ec324e967fp5
+-0x1.9d6b07d830151p-355
+0x1.666da5675e27fp1
+-0x1.f7cdd2a74fc06p1
+-0x1.2cdd0674e4abfp7
+-0x1.0d6877109150dp-846
+-0x1.cf43b2546254bp-1
+0x1.0078e7f84d8d8p6
+0x1.62ef2138efd07p9
+0x1.b6e1c50cdb9d1p-553
+0x1.90eb01a683bc0p-2
+0x1.ea80c14d17262p4
+0x1.e3928304b1b20p7
+-0x1.5fc8a731a1822p-692
+-0x1.1de0320fc0737p9
+-0x1.b07147eb43dd0p4
+0x1.62fa155e6e26ep9
+0x1.213554dad3888p9
+-0x1.66e894b6d218cp6
+-0x1.7b67d6318a255p7
+-0x1.1b005777a51cdp7
+0x1.62e9f2b4a0744p9
+0x1.d181a480e6c92p-478
+-0x1.fe14d1c964b0dp-493
+-0x1.6632749cd8f5fp-320
+0x1.d038a32d61933p8
+0x1.632a66cd5c94bp9
+0x1.631f833e694f8p9
+0x1.e111c646e8043p-139
+-0x1.631ec3cf4a7b9p9
+0x1.6311f75346d75p9
+-0x1.c6d344d145206p5
+0x1.ad42672f6fed7p0
+-0x1.f4d3f0d1b85eep7
+0x1.d35412055367bp7
+-0x1.8e94d1fb70dcep2
+0x1.04c9f0425e693p2
+-0x1.b0bb57c60b6a0p5
+0x1.73d4f770b54e0p5
+0x1.bcb6129b5ff2bp8
+-0x1.c82390742c1b2p-832
+-0x1.bed2624f0b283p3
+-0x1.62fbd7e6a4400p9
+0x1.262d57250d7cfp-656
+-0x1.1ebe27d65ffa7p6
+0x1.7ab2a69e414b6p1
+0x1.579870e61406fp2
+0x1.baaef71d93bc9p-22
+-0x1.6321d7d010e1ap9
diff -urN glibc-2.17-c758a686/benchtests/cos-inputs glibc-2.17-c758a686/benchtests/cos-inputs
--- glibc-2.17-c758a686/benchtests/cos-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/cos-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,2411 @@
+## args: double
+## ret: double
+## includes: math.h
+-0x1.5500006d24c56p657
+-0x1.74eb14d50ab58p838
+0x1.b6e5537112339p2
+-0x1.5320f43535558p30
+0x1.a5d743be1ed81p19
+-0x1.e44a771e82dd8p325
+-0x1.37c07097b1e0bp19
+0x1.b6da163b3a193p-8
+0x1.9c1d26a5a4d15p19
+0x1.24fb45187e1cfp25
+-0x1.8a7204656d1c5p17
+-0x1.a59a742066c34p34
+0x1.8907a5632a248p35
+-0x1.e481d625714fbp0
+-0x1.ef80132f1ffafp-12
+-0x1.e9da155008608p671
+0x1.7a6085f1f7a0bp24
+0x1.2d6d6713a3cb3p9
+-0x1.109665062930bp0
+-0x1.65ded44238895p20
+-0x1.4debb5bad15c9p411
+-0x1.b6c131e9e2a95p414
+-0x1.896a57dbdc990p0
+0x1.345f96c1b84cbp46
+-0x1.e54805da72fa3p-24
+-0x1.d54bf16b395bcp23
+-0x1.47f9c5e27f6f3p707
+-0x1.b8a5440ee9fd7p9
+0x1.5ff3170744344p-18
+0x1.266593131001bp1020
+0x1.42e0f5708b4d1p23
+-0x1.6279c65ab2acap3
+-0x1.e5ef0437f662ap15
+-0x1.0750602edf46ap562
+0x1.249941e897f8dp44
+0x1.436c067c4c00cp26
+-0x1.4334507e7a73bp-5
+-0x1.5f99b4d006698p25
+0x1.11697571c9c99p502
+0x1.253f915648fd2p46
+-0x1.2ecfb6fd18ffcp332
+-0x1.2b6e350fc35dap25
+-0x1.a26f8116b1f53p195
+-0x1.491d341c65181p-7
+0x1.3c13e14118343p38
+-0x1.a6a105deff5e0p5
+-0x1.fbe7761b1e8d2p18
+0x1.6709c7306f030p26
+-0x1.adbf8321968d5p112
+0x1.d9a53349d7df5p624
+0x1.5454e1450ae1cp463
+-0x1.5e0c04637d573p724
+0x1.7951c309d6e27p850
+0x1.285dc7fdae1ccp26
+-0x1.c8c2c6e7107dcp40
+-0x1.b5afc39812d5cp73
+-0x1.dbf7863f7522dp-9
+0x1.6ac6347189089p36
+0x1.27b04425488afp31
+0x1.cf38e00daa5afp370
+0x1.303432a81f7e0p189
+-0x1.8c05308efd7dbp0
+-0x1.249b044f1f591p-1
+-0x1.bf68624ae32d8p315
+0x1.66c281dc83c31p327
+-0x1.486c663f75760p2
+-0x1.feab128c4d050p878
+0x1.f2db6323e2bc8p47
+0x1.aba1300582abfp-1
+-0x1.70b692602f649p28
+0x1.63bbd511e2d1cp1019
+-0x1.ad48262c26df0p-23
+0x1.e7a7573e40d0dp1
+0x1.5081452ccba88p449
+-0x1.0198677d57aaap19
+0x1.78cc5057c8ea8p319
+-0x1.fbf866574db56p1
+-0x1.13cf375475387p0
+0x1.9e05552a6ebdbp5
+0x1.fe8ec1124c5b2p17
+0x1.801683636a380p854
+0x1.bed635dab7cc3p10
+0x1.29d4d1734709ap23
+-0x1.692a2422044fbp14
+-0x1.5a8db25d26e70p0
+0x1.65e3870f3c860p309
+0x1.3caf03947f677p1
+0x1.0a60b6ecb0107p22
+0x1.8cbcc6715593ep30
+0x1.faa85328a30d0p858
+-0x1.700da718a4a31p0
+0x1.59c2127ae8e32p20
+0x1.a5e3214dc3d15p647
+-0x1.1db30365f086dp1
+-0x1.0399c3c28453ap0
+-0x1.dd8f835681c23p1017
+0x1.2751c6b1cde31p478
+-0x1.b881719d9f6bdp-16
+0x1.22f885319d1b5p-20
+0x1.e5d4d0d25845ap-23
+0x1.0045944e09121p37
+0x1.3fa8c311b4a60p38
+0x1.e55e21efd912dp46
+0x1.6d5f5310aea1bp646
+-0x1.d3570603de208p23
+0x1.3365358de2fe1p161
+-0x1.629526ed15f02p26
+-0x1.e62dc4d44fab1p40
+0x1.e1f9c02374c6dp24
+-0x1.90a100664e089p-21
+0x1.8dafd569a76b4p26
+-0x1.406e919853bcfp694
+0x1.931d703570765p711
+-0x1.6973e3885a11ep0
+0x1.9e6a122e9eb4ap8
+0x1.35a7e5d0935fdp222
+-0x1.2d6c2408f3370p667
+0x1.e08e82243180fp0
+-0x1.ec6237ba9b765p906
+-0x1.f01e76edc5f71p0
+-0x1.5cbd54e60a98ep-1
+0x1.9e0250bdd8df6p426
+0x1.d78115ab10587p107
+-0x1.2d739249672fbp17
+0x1.fedb779d35b35p41
+-0x1.8f0c6774e24acp889
+0x1.0244d1b6b4fe3p31
+-0x1.c2bfd0a931704p3
+-0x1.1cf0950e0a018p15
+-0x1.ec54b3a8ffc12p24
+-0x1.88c5a3114de94p492
+-0x1.30b5d5aec851cp940
+-0x1.5b9bc4ee38a1bp-24
+0x1.3341961dfc2ddp659
+-0x1.c78046362a6a5p3
+0x1.2d6e122696618p750
+-0x1.4730d67c27d89p-3
+-0x1.e6f9821fd5f72p21
+-0x1.dc9c33c3b4affp11
+0x1.f0390127af37bp1
+0x1.a105328b91461p904
+0x1.ca3296a765ee9p29
+0x1.9ed025781f734p-8
+-0x1.38b913b9a8502p54
+0x1.80cf557137b99p40
+-0x1.ef48673d98d25p20
+0x1.e98c94063264ep314
+-0x1.98cf55855bf23p0
+0x1.a20040bbc9705p24
+-0x1.bbaa1373a6b04p-13
+0x1.3a05a58adde58p-26
+0x1.c286149c7e9f5p470
+-0x1.6b81753989e5ap25
+0x1.25b0b093ed7f8p2
+-0x1.0fa8f1bcd9638p467
+-0x1.58a1939b34f60p25
+0x1.dbd641b5c98edp117
+0x1.1fb4562dd42aap-16
+0x1.14e3242e58954p0
+0x1.d3a2230b9e01ep897
+-0x1.53b4b1f9012a0p497
+-0x1.024f21758b27ep0
+-0x1.c507e0d80c18bp388
+0x1.7a51e62e9bbf7p489
+-0x1.964e538ed6a85p29
+0x1.273937c7e6db5p315
+0x1.d1cd90de0d573p1
+0x1.d879906814a5cp-24
+0x1.9c0153b0ede21p46
+-0x1.956a15502cadcp-23
+0x1.445f06629acb9p24
+-0x1.01310510ba8afp37
+-0x1.3fe9d1eac62fbp773
+-0x1.25ab5749018d2p611
+-0x1.80cfc67e14b4fp26
+0x1.7ecf27b07b148p23
+0x1.43101294381abp26
+0x1.6c2761f81b901p-23
+0x1.ba9fe7138c3cep112
+-0x1.21d97415b6ba7p15
+-0x1.6e0e76aaf7d3ep-7
+0x1.776856675164ep4
+0x1.e6da629a8c493p-19
+-0x1.08d20753e957dp657
+0x1.3e58548ada7d0p-14
+-0x1.c101c29c2ca2bp671
+0x1.f81ae7d44a371p151
+0x1.ceebb1e9b0ac5p25
+0x1.1efb100681836p1
+0x1.8af3458dfddf7p13
+-0x1.2568259ec877fp15
+0x1.63c373ca8604cp-19
+0x1.bc2476e5f6203p26
+0x1.d21a939613119p14
+0x1.7a7d113ec8249p0
+-0x1.1cc05529e617cp4
+0x1.78fad183e2167p6
+-0x1.9416a783a4e38p25
+-0x1.51e6d29257863p47
+-0x1.382e97b6481f3p45
+0x1.17fc047aebf99p10
+0x1.40c8b1a325f9bp33
+0x1.d5bbf4c199cbap29
+-0x1.df5752482cfe6p-20
+-0x1.12c1f684ae960p14
+0x1.2a8757492a1acp29
+-0x1.891c334662682p16
+0x1.8d82378077273p6
+0x1.166da45911fe3p154
+-0x1.202fe7e0931ecp25
+0x1.f671a5c525c60p25
+-0x1.a16666f2d0d73p0
+0x1.341e9765a7c3dp26
+-0x1.1e626406b087dp-21
+-0x1.790a818b2e25cp26
+-0x1.b42b75a1c17cep11
+0x1.57a50372893aap129
+0x1.c9f2355b4664ap6
+-0x1.670df37270a5dp47
+0x1.8e63d0b3e0c9ap533
+-0x1.8c842353144b7p0
+0x1.14bfe1e6692bfp3
+-0x1.8daca557ecbc8p0
+0x1.0f66604e1cae6p1
+0x1.6b4b447033d3cp17
+-0x1.34fbd3e9490bfp343
+0x1.9a8b8523a35d1p0
+-0x1.bacaa7bb3931cp709
+-0x1.6ce3907ecd3eap27
+-0x1.6329f65be40dfp388
+0x1.9f4407a6b30dbp-4
+-0x1.c64231dff1ff8p-1
+-0x1.f9d481e9d8a98p21
+-0x1.3150861950cb4p7
+0x1.709e700648c1dp3
+0x1.0248a23a58372p-11
+-0x1.ca6a851aa0470p12
+0x1.b24d336cb3971p0
+0x1.2ad5a72281833p24
+-0x1.4043b11fad8b6p-24
+-0x1.e73a03bba587cp0
+0x1.46cfe1fec14f8p40
+-0x1.7dfd30173d85cp39
+-0x1.628c71e6500b1p0
+-0x1.7e77e7b456aebp16
+0x1.1df3c34e26e48p21
+0x1.1ac7a39becc9fp29
+0x1.1515d5cb1c51cp1
+-0x1.67cab45949d3bp22
+0x1.e4e286c86c45fp-16
+-0x1.8cd97769969d7p483
+0x1.ce30758136824p27
+0x1.95b154a54a24cp37
+0x1.acffd079cb0c5p412
+-0x1.411c8332662bfp0
+-0x1.7bc4041696bdbp1
+0x1.c4ab9624d294fp445
+-0x1.d1fcb4363c5bep-20
+-0x1.bea1604dd499dp23
+0x1.a108a042c4592p1
+-0x1.04fb706aa9341p17
+0x1.6a7111c6128c2p20
+0x1.193151e0fd7c5p-10
+-0x1.4b06317e471c3p119
+0x1.cecb95b038037p792
+-0x1.a561975e1d17ap44
+-0x1.a8c170e426f1fp1
+-0x1.53be42cd2bdebp7
+-0x1.7ccd663e6d70fp-25
+-0x1.182736e3f62e0p466
+0x1.ac67800768ebcp12
+-0x1.09a9d58fea51ap7
+-0x1.75fc03701c53ep13
+-0x1.3d9615a1f4a5dp-23
+0x1.0e7e11092806bp343
+-0x1.348fe488f91eep46
+-0x1.1fad639f2da7bp8
+-0x1.40aae476e0ed5p662
+0x1.9f70f2da0cc95p132
+-0x1.da5486badb181p-1
+-0x1.3b3f076f46893p-9
+-0x1.0b5187929e913p22
+0x1.781ca4f1df000p0
+0x1.6ceb8227b17f8p0
+-0x1.5445a1397c2f2p751
+0x1.5418512e0a8a1p8
+-0x1.533876ccfba74p477
+0x1.3396d7a19dc51p644
+0x1.3cdb768fc6e00p-17
+-0x1.1810260402476p2
+-0x1.e2815264307f0p21
+0x1.fb7b8378ba7b1p3
+-0x1.7bc8c6f28c24bp0
+-0x1.de5186502e418p-3
+0x1.cc6417710e32dp9
+-0x1.b74806ec02f90p-3
+0x1.7b297737f89a6p0
+-0x1.e7bf0149253d7p0
+-0x1.691d818b4a914p-27
+0x1.ffcfb3b604abep25
+-0x1.0fd1f4204dd47p26
+-0x1.349960924dd94p25
+0x1.330097fdd7ff0p15
+0x1.bb7555f93a67cp0
+-0x1.e8d0023eb9798p-15
+0x1.457db3a13df89p23
+-0x1.d439a114e34d3p43
+-0x1.33a971d3908ffp1
+-0x1.8074051196a9fp35
+-0x1.36caa6f4f6150p20
+-0x1.e5047468eb004p36
+-0x1.e2c677eef9254p479
+0x1.043ad02a44c86p18
+0x1.a762226b8977fp6
+-0x1.d1eff1baa8a00p915
+0x1.73f354e9bec57p0
+-0x1.5e04c7be5d65ap26
+0x1.32e6133ae3ba2p973
+-0x1.130bb36a9180dp0
+-0x1.0f8635fd75c96p-25
+0x1.ac6c73500f7f1p977
+0x1.5f47f080916d2p747
+-0x1.7c13d0ffb2d1bp0
+0x1.8cc7a6557936fp0
+-0x1.3d20c6693cf4dp963
+0x1.2252e753aae06p32
+0x1.6102c79abd114p776
+-0x1.ea41c6f9badc0p22
+-0x1.4566d3374234ap942
+0x1.48c290edccc4dp4
+-0x1.5eb5d6958df05p41
+0x1.3097218c10affp24
+-0x1.5f51d4fbc2a24p866
+-0x1.d961e32aa4458p24
+0x1.2bd1132581a0bp17
+0x1.31bf077fdc502p-13
+0x1.dbc9d0ecfecffp958
+-0x1.d9474275f8dbbp37
+-0x1.7f9391c99c32cp38
+-0x1.b22c9445db1a7p613
+0x1.cf566724b6a87p-10
+0x1.850211bd3bb55p93
+-0x1.9ac2c530689d4p0
+-0x1.be62f5b130b8dp0
+0x1.032d004bc7a43p692
+0x1.322f5733ea1fbp0
+0x1.bed011520ae63p195
+-0x1.441d84290be35p763
+-0x1.444960b6d3e89p180
+-0x1.ec5922981de7ap37
+-0x1.75d2e1678af63p343
+-0x1.10eba74970e62p11
+0x1.62e1e19894307p10
+0x1.e97543610b789p164
+-0x1.eda7b7f647b42p15
+-0x1.fe0c2274f3185p-4
+-0x1.c0bce3cb049e5p33
+0x1.aa0523e5fa5d6p0
+0x1.213f833485611p5
+0x1.599313c2534f2p-22
+0x1.1ae571e1bc724p5
+-0x1.c24055d80a5f8p-11
+-0x1.a12e65804366bp46
+0x1.76dc549f2274ap741
+-0x1.03d390d8997e4p26
+-0x1.1b36c4cf581c8p841
+-0x1.56ae7518949d6p36
+0x1.d86b40100783bp47
+-0x1.56d0c378ca190p1
+-0x1.da917388c2c69p830
+-0x1.fd3906fa866c4p-1
+0x1.fcc2828b80e39p24
+0x1.927092bfc1613p62
+0x1.364ce530c3b8bp14
+-0x1.a5dd07a7a1b6bp-3
+-0x1.7039c188c446ep372
+0x1.ecc00543c4179p34
+0x1.70a557bff1d19p43
+0x1.053ac4631eb6ep42
+-0x1.6e93c69519311p684
+0x1.fddc610f652bfp25
+0x1.5d23c14e5347cp10
+0x1.28b57726066c6p21
+-0x1.e34b009469f8bp26
+0x1.8ec3a1532803ep25
+0x1.2334b34f842cap73
+0x1.a3f9461f83fc7p44
+-0x1.bdb5217da4e12p-24
+-0x1.87ce777fef3e9p0
+0x1.b994e0f9d64e4p-1
+-0x1.f051e48eb0a27p-1
+-0x1.71fc03a2c0dc4p37
+0x1.d4a7259ec9671p182
+0x1.af2936d3b5356p18
+0x1.b19b2069e1487p741
+0x1.0c4f54d908dbbp842
+0x1.9633b6cc8f95fp31
+-0x1.f7f0b10fc7abbp-12
+0x1.7dcef7488ef54p42
+0x1.71d9a29951d30p979
+0x1.9eecb676902eap12
+-0x1.197a371161a1ap-6
+-0x1.970b549202f75p15
+-0x1.5673b2bc3c890p7
+-0x1.0be9a65ae3299p45
+0x1.64c4365cb4456p9
+-0x1.6cc886298a2a6p209
+-0x1.e3a8a52c483c1p1007
+-0x1.82ab5565c6bf7p595
+0x1.8aea2679ef0aap-13
+-0x1.b37ea43570d83p697
+-0x1.f5f545093efa8p10
+0x1.133a54b78232bp-24
+0x1.b401802bf603fp253
+0x1.975cf4fe7de01p-13
+0x1.dfffb229e4a31p33
+-0x1.d728e796c4c59p46
+0x1.dbce063607663p-9
+-0x1.dcfdf7d58b834p32
+0x1.05a416fb1e983p-20
+-0x1.b64004211a42ep8
+0x1.be8fe6328bdc8p503
+0x1.a7a376a6bfebbp0
+-0x1.3ade54ae52634p-6
+-0x1.85b2e43641c2bp6
+0x1.cf97d457a0958p-1
+-0x1.f6ec45c2a3b4ap-2
+0x1.cbcf649cc02d7p19
+0x1.1e1317c82a6a9p21
+0x1.a5bca61a82ec3p46
+-0x1.fc551214a234ap33
+-0x1.72ac7403760e3p0
+0x1.bb03d7536d4ccp698
+-0x1.af4ec32e9fce3p71
+-0x1.c778f2c7ac74dp17
+0x1.86c4360709304p1
+0x1.028015715c76bp0
+0x1.bfb74117c6ff9p33
+-0x1.3feed1dd39ce9p40
+0x1.f14981f4a8d29p16
+-0x1.b525b5d886fd7p7
+-0x1.abf156a96afc7p923
+-0x1.9c1ed568f3cb9p16
+0x1.7c041208761a6p0
+0x1.3886e66f106abp151
+0x1.839cb78b2b4abp30
+0x1.9a5742c86fb7ep20
+0x1.91ef725e99f72p592
+0x1.d36ce6c1fd001p24
+0x1.e750762ade5ffp0
+0x1.e92b20a39491ep379
+-0x1.32e291ee286c8p33
+0x1.5b7642273a0eep40
+-0x1.5ea1b0ccd8f28p98
+0x1.2b80736f4a9d0p9
+-0x1.2b42618941bb9p395
+-0x1.7d0ad22761616p26
+-0x1.7762272cba5e3p25
+0x1.58954232affb6p25
+-0x1.34ad53c58a47fp23
+0x1.8975855985d19p501
+-0x1.d1f4d79c31380p566
+-0x1.a32851cc2be65p390
+0x1.916815589e4b1p0
+-0x1.5b8b64c9f96a2p30
+-0x1.d058606fb9e48p15
+0x1.262a7428526b9p1
+0x1.96f7c5b3e3919p0
+-0x1.f5a3a1fc53c6fp1
+-0x1.30a2d4c407270p46
+-0x1.6178648438383p19
+0x1.af13d500f7cc9p30
+0x1.b9e6172f71258p-6
+0x1.e27fc1f8aa119p21
+-0x1.bd9da3d73cd01p6
+0x1.921da05fc12eap26
+-0x1.6902454fef7ffp-10
+0x1.584fc276a6b2bp4
+0x1.c4b586982c7fep20
+0x1.942c82ac0f530p4
+0x1.c1f2b55b51948p4
+0x1.c34ec3fccc805p5
+-0x1.a34d9538665cep-15
+-0x1.8ec031fad3fa4p466
+-0x1.2f68a72835eefp45
+0x1.d87c03eaaa1bfp12
+-0x1.4dad353827827p7
+-0x1.a61fa78ccb76dp8
+0x1.f02425994e790p-1
+0x1.7872164950239p44
+-0x1.448fa3fa91514p0
+-0x1.356365717ef4fp3
+-0x1.27996239e2d4ap25
+0x1.bfe2746ef36fbp168
+-0x1.b1a050e0ed3fep16
+-0x1.657e858ddef02p932
+0x1.7b7466e89a978p0
+-0x1.94e103a446f68p185
+0x1.b0f5135086da8p39
+0x1.9fa8e6d1aa67ep39
+-0x1.565ac73db7728p76
+-0x1.597aa2da93d2ap-14
+-0x1.79d053e42f35cp0
+-0x1.e756a7899b592p566
+0x1.cc02d40dd176fp3
+0x1.5853f727a0382p931
+0x1.7f9ff133dd7fcp7
+-0x1.54eae1e948c26p13
+0x1.f463812c9625ep194
+0x1.4200608051042p26
+0x1.acb924d665d6ep25
+-0x1.ee69c20fc82d7p25
+0x1.b62ca2d803314p-17
+0x1.99ad868f85696p323
+-0x1.1fc20334bb246p25
+-0x1.85488755819b0p25
+0x1.91bae5f4012f6p0
+-0x1.878693a7343c8p192
+0x1.a7e580acde1afp634
+-0x1.5c9f455bb898ep0
+0x1.717d31fc4eecap15
+0x1.43716097fef0ep16
+-0x1.a9073787b0452p15
+-0x1.2fea30a1d7acbp0
+-0x1.d46bc3926e9b0p382
+0x1.307b62ea850b3p0
+-0x1.17732119c2eedp507
+-0x1.0508c4bc0aa93p-9
+-0x1.ff22636c40955p-4
+0x1.3819811e7b876p10
+0x1.b46c414c3d879p-24
+0x1.86ce2688839fep13
+0x1.f6f5e13195f14p-6
+-0x1.86a78458de8a7p26
+0x1.7c3c148fa8c8fp33
+-0x1.fd9c067d42344p25
+-0x1.b93722d8573eap717
+0x1.78daf3e05d2dep999
+-0x1.1759c00e1539cp26
+0x1.9cdc12562cdd8p0
+0x1.0bbb00fcd3fcap-24
+-0x1.2db1a21b9553cp26
+-0x1.8cac849c4c14cp-14
+0x1.20e652e2b31e5p-10
+0x1.b871e12ae1a1cp523
+0x1.e06945e6b136bp-1
+-0x1.8b8870eefb9b2p6
+-0x1.b692c7b8371d6p24
+-0x1.90c2846a01900p31
+0x1.9cd6c3cdf6af2p901
+-0x1.1a9d210cc532fp23
+-0x1.334ff5833e6c7p32
+0x1.32b22205b182ap26
+0x1.b63623cddd9a3p355
+-0x1.003b72665acecp-5
+-0x1.a39c1457f6db7p0
+0x1.47209333843c4p4
+-0x1.52f9a306b7dbcp-11
+-0x1.4cdef0e2215dap22
+-0x1.8504b5f49eaf5p538
+-0x1.749866e19666bp28
+-0x1.d770a34b092aep23
+0x1.8f64b6b7d5992p16
+-0x1.89bff2ce038f9p4
+-0x1.6ba252e9fb2b1p5
+0x1.4af34179805a3p0
+0x1.5089668042774p9
+-0x1.448240d8f0474p-19
+-0x1.72c886f82bcb8p0
+0x1.0960b155ba27ep814
+-0x1.a13513169019ap24
+-0x1.575773fdcb9fdp30
+0x1.82fd844618c3bp0
+-0x1.d64c423ea7fa5p-25
+0x1.8b29a1a6c049bp5
+-0x1.e6b4610657578p7
+-0x1.401257d46dbd8p7
+-0x1.9fff55074713dp0
+-0x1.c95e85b6e7218p1
+-0x1.4651a74f2b3d3p615
+0x1.a9e7c5c808ecbp-26
+-0x1.9ba7158986b2bp46
+-0x1.5c655039f3748p24
+0x1.b3b0b23e6a1d2p30
+0x1.7295033ed096ep26
+-0x1.4d7931d25197fp12
+0x1.968f207ccf926p25
+-0x1.93d7b0b7b7859p419
+-0x1.e5f0c57320518p17
+-0x1.a17e305c0d250p2
+-0x1.541eb51e65168p932
+-0x1.36367707fd0d7p28
+-0x1.9ed6914905c92p-25
+0x1.3c46e4b5f0410p10
+0x1.629ba311169efp10
+0x1.b790745db6677p999
+0x1.08ebf45d987edp547
+-0x1.d8c5051fe47d4p-1
+0x1.94738125e02b5p907
+0x1.aa0ce7ffd5ea7p9
+-0x1.bed4e59348203p806
+-0x1.41f0976d7f84cp21
+0x1.6c848429f2c56p924
+0x1.dcaed6b16da0ep800
+0x1.adb6d492b974bp1
+0x1.5a3ab5ecb42b9p22
+0x1.0992e56329420p540
+-0x1.b45d52586efc0p27
+-0x1.b513872f9e108p8
+-0x1.61b56231fa37cp522
+-0x1.f38fb1bdbc53dp-11
+-0x1.b70f1554498d9p49
+0x1.75b9409a5eff5p28
+-0x1.01efc62c97c1cp-19
+0x1.27b536506d0cbp31
+-0x1.d125456feb4c1p23
+-0x1.19edb0407ceaap9
+-0x1.15c9c7f0c69d9p16
+-0x1.c32963b133dd2p45
+0x1.6fa8f2041aba3p13
+0x1.6a15556ab5bf1p-27
+-0x1.375b96248e95ap629
+-0x1.fd70c62ca1cc4p20
+0x1.f53dc1f7f194dp40
+0x1.1a33e660a7ed3p-22
+-0x1.94bc6555a7c85p818
+0x1.419555793d713p74
+0x1.dd482322ed590p714
+0x1.fb7ff0dcc63bfp-10
+-0x1.af039600c8f91p24
+0x1.767755fe16937p15
+0x1.c2e47788f82c0p-20
+0x1.de0757a27a2a0p990
+0x1.fc40504c8efc7p274
+0x1.56f37190581d9p15
+-0x1.6a00039c1ded9p-27
+0x1.385920f5fb50bp-17
+-0x1.2ee5a2d829252p266
+0x1.3511772922eb5p14
+0x1.d77d763b7eec1p983
+-0x1.3cb083116259cp9
+0x1.e91ba1e8e7175p9
+-0x1.a6b130fb1911bp848
+0x1.a586d7a33557ep35
+-0x1.592d642efd386p36
+-0x1.48a3d6fe9d98fp18
+0x1.304a33a14b6f1p0
+-0x1.fd5d90db5e04ap21
+0x1.f58fc63af014fp-2
+-0x1.544891c6a1929p-7
+-0x1.889fd1ca54008p18
+0x1.cfe531a280790p25
+0x1.720db29d32cb3p582
+0x1.d0fdb1492e856p5
+-0x1.d56587d8858a8p9
+0x1.a97c6235bbdcfp0
+-0x1.4dce63f19060fp217
+-0x1.8a9771ecb1855p0
+-0x1.023f571ba1300p33
+0x1.598c20141d1f8p24
+-0x1.115037892f8bfp25
+0x1.e354332ab1ca7p346
+0x1.0d27f1e52cfa3p102
+-0x1.90e2e2c9434d0p47
+-0x1.320164348c448p834
+-0x1.ae1856db3911ep4
+0x1.856b70cf9eae4p-21
+-0x1.cdee4539c3a1cp16
+-0x1.d00240ecaa28ep25
+0x1.7265d25cb9ab5p0
+-0x1.644f30279ec2ep16
+0x1.44df430f5990ap6
+-0x1.ac22a7e22ec86p4
+-0x1.414fc579fa14ap15
+0x1.6f74f627319b6p548
+0x1.8849e2ffee284p42
+-0x1.7cea50d8c8b5fp417
+-0x1.986f67d38b434p0
+-0x1.7e4044f0e0c65p-4
+-0x1.b43eb556b532bp485
+0x1.e2f103744c2fap-4
+0x1.88ff52ba9330bp615
+0x1.15db777586675p-9
+0x1.ffbf701645e70p-1
+0x1.8896a6f755077p34
+-0x1.f0eb53cb17860p573
+0x1.dc88960657275p28
+-0x1.6af3872d10978p26
+-0x1.db51518cc915ep9
+-0x1.f1f4f230cbea7p14
+-0x1.567352d25a29fp22
+-0x1.6f6a60e8d7141p954
+0x1.386626ca69274p23
+0x1.30bc15e924ff3p26
+-0x1.c601867be84dap676
+-0x1.8c5cf7ac29180p941
+0x1.9754c36e6ca27p-7
+-0x1.d9167485813bcp4
+0x1.8a9eb61165392p40
+-0x1.df3b769ec4c96p-1
+-0x1.aafc6751f5386p253
+-0x1.b072707cc49e5p29
+-0x1.b562e7eada4c3p45
+0x1.1154b5e420252p20
+-0x1.937f02df19998p0
+-0x1.804dc53bf9844p933
+-0x1.0267e6c4ce393p1
+0x1.f2c7f1e6e1534p197
+-0x1.55f2356cd0abap972
+-0x1.eebc90d7dec4bp177
+-0x1.650c65a8a6542p21
+0x1.9826f11e25813p344
+-0x1.3e070089db4e1p703
+0x1.d88a20b249b8dp1005
+0x1.44563581a1019p1
+-0x1.b66482abc4601p29
+0x1.829554468c236p12
+-0x1.7f2f11a4e65b1p-17
+0x1.c04c2222afa22p30
+0x1.4dd7900e1a08dp9
+-0x1.66bb03d2fbf4ap9
+0x1.1752710b1f584p-3
+-0x1.055de27bd3b43p21
+-0x1.177c652007c06p1
+-0x1.c4d410fc991ccp25
+0x1.a53887384e01cp813
+-0x1.7d36f1b5ee4b7p46
+-0x1.8a3f57ff7521fp0
+-0x1.2fcfb59864120p2
+0x1.63bf91d1f143bp26
+-0x1.1bc1e358d198ep56
+-0x1.9adb13c70e083p396
+-0x1.4e9ae34467457p-3
+0x1.628da3632dc72p1003
+-0x1.a01d83e08cfb9p-21
+0x1.9854a0ff4c3c3p-9
+-0x1.1894e1cc4b5c0p26
+-0x1.b605c795c2cd5p45
+-0x1.28016505a4ab7p19
+-0x1.9c4a66c7f24a4p-24
+0x1.26f715e1d2ef7p452
+0x1.b66ee1e12b4ecp47
+-0x1.fb7db206b4875p22
+-0x1.a221962184559p15
+-0x1.4315f238ebbbfp25
+-0x1.44b0927e3dcb5p5
+-0x1.6022167aa76c9p960
+0x1.1259e16e64f7dp29
+0x1.da683184db9ccp13
+0x1.5e07800f8606ep21
+0x1.30c430b6d2d47p394
+-0x1.398662e38c15ap-26
+-0x1.04edf4ca12198p3
+0x1.a4d145fb27f2bp465
+0x1.30bda21f3afa6p15
+0x1.0ebb86cb6163fp927
+0x1.01bca68bab9e1p-6
+0x1.5dcff2791e7e2p-23
+-0x1.7477f426ff684p0
+-0x1.992ad047940bfp0
+0x1.70c0d7fa4a49bp189
+-0x1.9318a5d65755dp0
+-0x1.91b161e6af6acp0
+0x1.a51cf75f7df96p14
+0x1.cad757aac0da3p25
+-0x1.47af44137a0c3p940
+-0x1.d3da77b5e1989p-5
+-0x1.3173656fb06fap26
+-0x1.9964b375b39cbp0
+-0x1.500c76e1f87e0p18
+-0x1.dcfa37b54ad38p18
+-0x1.bcad45697b430p16
+-0x1.7a8be3382c9a5p31
+0x1.4a3a85b1486b2p0
+-0x1.ccd230880d201p17
+-0x1.c74536f317306p873
+0x1.1f59624634972p826
+-0x1.1e977673ce6f6p0
+0x1.f9ed278dfc568p0
+0x1.b5a1814d13bc2p23
+-0x1.ef62a02276044p285
+0x1.718856c9a1082p26
+0x1.f7e3b2d10b444p4
+-0x1.c41dc5c3b92f0p581
+-0x1.2ce447adba33ep5
+-0x1.6a15768a53241p29
+0x1.cd9ba3f5a9474p938
+-0x1.e753a161f7e24p104
+-0x1.68b5a5b58c840p-11
+0x1.267bc533526ecp23
+-0x1.5ead471bb5306p22
+-0x1.3618e2e425fdep23
+-0x1.41b337f5c5f44p9
+-0x1.6437239c568dfp243
+-0x1.5f41d0fc227d0p-27
+-0x1.6a89673ac0a5fp0
+-0x1.4e2923e9941a7p-8
+0x1.9700e4b914258p0
+-0x1.de0e43654118ep659
+-0x1.9f16a2675e209p-12
+0x1.0eccb10931828p30
+-0x1.a6d1862e5ab17p0
+0x1.d6a1b57219403p18
+-0x1.25c22185ff5fdp808
+0x1.1e04b2fdb62a6p-18
+0x1.a82b630c08134p0
+0x1.18cb459f47a4ap31
+0x1.77e887170bc28p0
+-0x1.2b99174c675c6p847
+0x1.9ddd3290f738dp9
+0x1.4042e241ce62bp38
+0x1.7ba716eb70543p35
+-0x1.fb6b36a908fc7p157
+-0x1.e5c7a7899d8dfp0
+0x1.d222d21ce6da7p34
+0x1.b87b679527a2ep14
+-0x1.9abaa5ec33759p0
+-0x1.37793205a45aap678
+0x1.028c812928615p38
+-0x1.feaab4fec9522p35
+-0x1.b013e711ad8e0p-1
+-0x1.33de92c99a948p526
+0x1.752f25454e1bfp-25
+-0x1.5559104e2af4ap42
+-0x1.a569120980616p732
+0x1.231e95b5db287p6
+-0x1.48714153b9d5bp485
+0x1.5f3cd25ed07ccp14
+-0x1.3661771e7c25ep413
+-0x1.8ee636d9e84dap21
+-0x1.a599810bec6c0p19
+0x1.0f3b961f24967p1
+-0x1.1ed78232bd0ebp966
+-0x1.7ca333893a545p9
+-0x1.9b66327d0cb13p20
+0x1.414327ade9b80p36
+-0x1.c451b34ce3a1bp229
+-0x1.ab62b00de54ebp906
+-0x1.3b3791fe60796p28
+-0x1.173ee0b983fd2p26
+0x1.8f2ec3e1de32fp26
+0x1.51bcd5ff9710ep353
+0x1.ebaf95aef2672p1018
+-0x1.751cd519e4a6dp0
+-0x1.934f442067e49p0
+-0x1.10e3913276d32p13
+-0x1.f6b2a6a750390p24
+-0x1.ae5b2603c4837p25
+0x1.651942861820ap12
+-0x1.7751460cb1104p27
+-0x1.fe38f6d1c1756p23
+-0x1.b17a57a6c2225p4
+0x1.22e2f677963f1p35
+-0x1.c406818f13a49p18
+-0x1.f97e8481e23f1p-22
+0x1.5cba77f17a861p37
+-0x1.f476733bebfbbp-6
+0x1.8258b766dee50p19
+0x1.157fe5ff5048fp24
+-0x1.d325f6274ab68p-12
+-0x1.fddf647bdbeccp13
+-0x1.c0ee32a9428dbp5
+0x1.859d472c2aacap31
+0x1.4880b54af8cf8p997
+-0x1.b538b5c254d41p18
+-0x1.677ac5634507dp21
+0x1.815a103ec2700p95
+0x1.32d130c393addp-21
+-0x1.9ad38426fb1d4p14
+-0x1.d809c40a02a12p-9
+0x1.22da530cb9f27p14
+0x1.cb2077ae707b1p6
+0x1.32fcf058b7cc1p-25
+0x1.e2e535f4c34a9p14
+0x1.11f25046cd068p44
+-0x1.418de55c6ae70p26
+-0x1.aad2d3f89507fp530
+-0x1.f88f75721f852p19
+-0x1.f1d5a5aa4a842p-1
+-0x1.3d902309ccfaep285
+0x1.81c1606ce67d2p-9
+-0x1.923fc4debf6e8p653
+-0x1.6f31b3345c4d1p27
+-0x1.c844d70062456p209
+-0x1.97b2e18f6c883p0
+0x1.f85c655d1c235p47
+-0x1.4ba763d3c0937p20
+-0x1.97e2e38237ddfp991
+0x1.3701d45e325fap-15
+-0x1.fceb0021c01aep-16
+0x1.3929b7bbecc6fp19
+-0x1.03c5042796010p938
+0x1.e6a2b1ce3c89cp5
+-0x1.8462c75fc795dp0
+0x1.91a9b66ac4b2bp-2
+0x1.a9adb0a7e864dp13
+0x1.a222963d65a5fp18
+0x1.fb3f11b5edae9p19
+0x1.d279f26eb8775p-23
+0x1.843003a410f87p585
+-0x1.3781e023929a1p12
+0x1.2f9ea3013e0c3p20
+-0x1.65fb7629d55f9p618
+0x1.5420d77378e62p1
+-0x1.2c9cb0653355fp18
+0x1.e5fec6e9b62cfp887
+-0x1.04671129ac1b4p1
+-0x1.8e99f30cb98e2p11
+-0x1.80c376dbeab92p3
+0x1.5d03e053a3f66p-13
+0x1.6a609415d4822p3
+0x1.4b0c946ec7a18p10
+-0x1.6ce16241882f4p1008
+-0x1.9ca3b5624a1f7p1
+0x1.adeb34123b9a7p783
+0x1.657df688fca05p4
+0x1.7ec760fb6453ep971
+-0x1.00bd533686e8ap8
+0x1.ddc5b4c3146fap8
+-0x1.dabfe4e152cc1p5
+-0x1.9a83878c11a1bp195
+-0x1.136c90eb454fdp38
+-0x1.b129d413e2968p17
+-0x1.bb21f5afd3c12p17
+0x1.aeebb6948401fp25
+-0x1.d10366f45a92ap5
+0x1.66a9f0a63563fp19
+0x1.8faa7348340a6p0
+-0x1.5770156e64fe3p46
+-0x1.0729f6a9d0fcdp5
+-0x1.98c0e5d74567cp14
+0x1.ba55a5ebf7965p36
+0x1.1d6121dab3ef9p111
+0x1.fa14c03e032b3p938
+0x1.9c853700c2470p145
+0x1.6a17454e5a6d1p-27
+-0x1.1788b486450c5p1
+0x1.edb9e180065b6p24
+0x1.7b14f0a7c6c73p18
+-0x1.40b0e4d7ee3b2p15
+0x1.8711c71648cfcp16
+-0x1.3e46a54242738p11
+0x1.87dbb061d7c81p1
+-0x1.6c23a559a0b0bp33
+0x1.eedc82db40e8fp535
+0x1.6e44b32d58e96p26
+0x1.2ce240a6fb9e0p0
+-0x1.8aa3e3dafbd1cp82
+-0x1.be96c2479bfb8p6
+-0x1.827e97ba4a30cp-19
+-0x1.df8f04c1be1a0p8
+0x1.9177448bb2b38p31
+0x1.1048a637ba992p316
+-0x1.3c865406d78e5p25
+0x1.0bce74034850ap9
+0x1.72cc021c86b4ap847
+-0x1.935a854cd1476p-26
+-0x1.c209c22dded2ap46
+-0x1.bfa07289be7dfp-14
+-0x1.9180653f54946p-18
+-0x1.c135d03366185p15
+-0x1.b40e326cb48f5p0
+-0x1.c675728b6bb2dp1013
+0x1.19da179d6babdp725
+0x1.978d06c2067edp17
+-0x1.cdb5141b33586p645
+-0x1.9773558b653ecp25
+0x1.3b567232f3129p632
+-0x1.786a8125b5258p104
+-0x1.5ed511cf3e2a8p11
+-0x1.3f2b56cc2b7c4p806
+-0x1.9c1a73744e1f5p34
+-0x1.3c4627661ba9bp42
+0x1.6fee415f36b1bp24
+-0x1.f37db348601b2p47
+0x1.48d277f108c4dp26
+0x1.664a14b032392p-4
+0x1.b50335690a9cep403
+-0x1.327550e6d7fc6p307
+0x1.6d0f1274d1dbdp541
+0x1.1c10d39266f66p29
+-0x1.5a7b45e2f574bp519
+0x1.0ea38771f6368p22
+-0x1.34aa02c4c29a6p276
+-0x1.f3e1a33c418cep-25
+0x1.30ede40680d9bp632
+-0x1.030c57ef82307p854
+-0x1.1f71476c9daf5p8
+-0x1.dd4640ef11f44p-1
+0x1.29f9e4b905d41p20
+-0x1.c33d15648e005p23
+0x1.6fb53008a6b5ep8
+-0x1.19f050cc3775ap41
+-0x1.141935fe4ebddp37
+-0x1.06c48202a2cbdp0
+0x1.e9a6e18ebee69p15
+0x1.2967e001ffd42p22
+-0x1.8c9c860e895d3p0
+0x1.68db63ee856a6p16
+0x1.39e5c24814662p-26
+0x1.7766a41257495p0
+-0x1.5e9c33d60ff5fp25
+0x1.522da4c04faf8p8
+-0x1.dba0a5618fbf4p34
+-0x1.c0d3761bbcf56p-1
+0x1.17a5f7795ad55p40
+0x1.55f1834a06b07p704
+0x1.3e78a1243c4fcp26
+0x1.659c33e8bdffcp43
+-0x1.f24077bc9318bp661
+-0x1.ab7d700809e49p782
+0x1.40584524cb947p0
+0x1.997c3124d8d86p0
+0x1.6498074e6f48ap18
+-0x1.3cc550fa2907bp-16
+-0x1.3c5527246d6e0p22
+0x1.a9ca27fe5c9fap22
+-0x1.28bbb66ee75c7p-24
+0x1.3feb704d719c4p33
+0x1.a85103490c12fp0
+0x1.23edf714f214cp12
+-0x1.f89114f814a26p10
+-0x1.8b4005ac68fe8p40
+0x1.d0c2c73a140f4p18
+0x1.f12744da61839p938
+-0x1.4972e012e3bf3p13
+-0x1.5f6516206cdfcp36
+-0x1.78f5a5f3d9d8ep13
+0x1.abdad6b9b65ffp11
+-0x1.628061c2a64c3p13
+-0x1.36f50079f514cp26
+-0x1.26cff62e0a07fp16
+-0x1.3396e025b96fbp1
+-0x1.de90b2fae57c1p994
+0x1.8e5f7741ef5e3p923
+0x1.9328e3f117564p152
+-0x1.846ea1da5dc69p615
+-0x1.4ef3442b14b4dp8
+-0x1.930c272b3b81dp0
+0x1.9937743f54e33p-6
+0x1.64fbc187d66ddp38
+0x1.653842167c192p12
+-0x1.99a6209d27f46p10
+0x1.8ccf525e85a45p25
+-0x1.0e66241e41d8ep14
+0x1.740b47e3b8ba6p354
+-0x1.be957129fb4d2p30
+0x1.e735d2e16e62dp16
+0x1.e06c66d10af7ep2
+-0x1.70c843db3c498p24
+-0x1.356eb6baad693p592
+0x1.ac5906747d463p22
+-0x1.4c81404800155p-18
+0x1.c24ba6d35df27p-1
+-0x1.df3b814baebc5p-7
+-0x1.4fbe7514e3468p4
+-0x1.71a020b06860bp35
+-0x1.7ea9145079ffdp0
+-0x1.43f857a537751p8
+-0x1.5be44475bd43cp12
+0x1.55b1d5d904e1ep-24
+-0x1.abd0b159d0c99p5
+0x1.7dad06b80c10cp25
+0x1.7b5dc3d6f8d01p0
+0x1.1afd7477d74e6p24
+-0x1.68b33313d93cap20
+0x1.d68ef5c08f978p46
+-0x1.256832b9bea68p-23
+0x1.86deb6e0c31c7p24
+-0x1.009863c410effp29
+0x1.dec46182fd6afp25
+-0x1.7cb163ac511e3p14
+0x1.354831ca22ed5p19
+0x1.3047707ea0defp-8
+0x1.2c09254310224p1
+-0x1.3d3c872e8b875p0
+0x1.3fd2c5814d3c4p8
+-0x1.9b7303763a412p555
+-0x1.0e34256cf4983p12
+-0x1.23e1a4d5f82aap22
+-0x1.515492c6d3c3dp45
+0x1.7007916be678cp-2
+-0x1.569787a433b8bp814
+-0x1.ec3d210f868dep-1
+-0x1.6b75355e1f926p5
+-0x1.625c03a0df70ap22
+0x1.966563060d94ep40
+-0x1.ba81f6776bb22p37
+0x1.6cf5927b93cfcp-5
+0x1.70cbc6b62c369p483
+0x1.9e8c70de208cap19
+-0x1.9f463097a5d99p11
+-0x1.58c534ba51fb4p40
+0x1.4f8b82099edeep26
+0x1.d09bf7ba88cb7p24
+-0x1.6c7af75665821p13
+0x1.6e97b1ae6f120p17
+-0x1.7bdcf42df8f3dp148
+-0x1.2ee1e501c5c44p8
+-0x1.c07117e66c01fp3
+-0x1.b6624589e86f8p39
+-0x1.3d3b360fdb23dp7
+-0x1.2582b11ecc116p336
+0x1.7481a321f5256p31
+-0x1.222ab3691571ep19
+-0x1.1e419246f958dp1
+0x1.ab51c6feeab27p23
+-0x1.7250449530cacp12
+0x1.163fa61f55b34p4
+0x1.8191c3fab648bp26
+0x1.e574e641e9953p36
+0x1.bcb7d57a8be21p19
+-0x1.cdbdf1f04e27dp713
+0x1.619bf59c7d8c9p-2
+0x1.efd0252da4206p9
+0x1.37a88102e8fb0p484
+0x1.cc89f0ea997bfp-22
+0x1.8dedf0760d306p629
+-0x1.a13e8382b5f97p0
+-0x1.a82aa369fc6ecp430
+-0x1.beffb6d4defb8p-22
+0x1.f1a644b10c6d9p7
+0x1.9dfa508a997e0p7
+0x1.0daa03637d98ap162
+-0x1.b8c876b5e4a9dp0
+0x1.ff125371e1bc4p-1
+-0x1.949833005771cp0
+0x1.c0c55430f9cbdp3
+-0x1.714f570923bd4p926
+-0x1.ab5b85f19aa66p0
+-0x1.65c85390b2408p781
+0x1.ec07655eaaf47p38
+-0x1.e544715929a02p494
+0x1.7ed0279df0f77p-17
+0x1.6fb3a12754691p36
+-0x1.41ab405178a11p142
+-0x1.db6871f3c584dp0
+-0x1.c0d186c2b6b34p25
+-0x1.186545efdec01p15
+-0x1.e4dd47a4fe36cp12
+-0x1.2be85575eb960p9
+-0x1.7514576624239p636
+0x1.ca44724938996p20
+0x1.c00ea79ff62a3p15
+0x1.e4b5b4ced3371p18
+-0x1.e802b666b8b3bp576
+-0x1.0f58d230a2735p37
+0x1.20b346f87c5fap5
+0x1.0f1be20502191p13
+0x1.d5b9262dfe8cep16
+0x1.1c8e4596c422dp25
+-0x1.3046a7fbcb787p28
+0x1.c936670321b1bp624
+-0x1.3b7c709a4d739p25
+-0x1.3ad3b52b7a8bbp6
+-0x1.9c77c3ed0da77p534
+-0x1.b430a641670b4p9
+0x1.bb4e427cf8f00p5
+-0x1.bdd570ddd9f21p498
+-0x1.5fffb06dce6d9p0
+-0x1.31b725a7f4c50p-1
+-0x1.4a5e165da5c90p257
+-0x1.7a9d706ea21aap632
+-0x1.c13902aa3b501p-16
+-0x1.34378127441dep16
+0x1.1899667507aa0p8
+0x1.b2199455cf381p17
+-0x1.4c1941a32328ap13
+0x1.18f575bcb47d3p15
+0x1.24c4f7f41c27fp17
+-0x1.778b636eb24aap31
+0x1.c76120a96993dp19
+0x1.0900d47dafcf3p702
+-0x1.89c9464bb2574p0
+0x1.8504779144b5dp0
+-0x1.726f662aba5b1p20
+-0x1.1c5ca2fd655c3p26
+0x1.b5b0544ca94dbp910
+0x1.c9930669c935ep-18
+-0x1.fa0ed41cc58c8p37
+-0x1.6b60a27346578p-27
+0x1.5219873f67d7cp12
+-0x1.7a2c7684be1c6p0
+-0x1.613492313ae4ap7
+0x1.806334d1e4496p711
+-0x1.88e563a4c9a58p7
+0x1.33c076dccc763p13
+0x1.11ed850120464p839
+-0x1.75ea967c17be9p495
+-0x1.ba72f7be7c7ccp14
+0x1.7589e0d04c4b8p189
+0x1.8417412710306p3
+-0x1.cade31e811061p437
+-0x1.974b573315304p-24
+-0x1.ac42144bfc176p24
+-0x1.7bed32fc75c59p11
+-0x1.4825d5ba1f52bp13
+-0x1.c3bbd693a499dp6
+0x1.38c470d825bc5p3
+0x1.4ed3556f8eb84p411
+-0x1.a632636e736fep4
+0x1.211be5b96be3ep-22
+-0x1.8cdba14cb1ed8p12
+-0x1.9a7b35414dc4dp16
+-0x1.d5d9a0afa77cfp634
+0x1.c34cb68989b32p17
+-0x1.84ba041f02caap0
+0x1.61a51738c63e5p18
+-0x1.3f37a3e362c12p-5
+-0x1.b0166656ecf80p20
+0x1.45f4822152389p13
+-0x1.ac54855cc74bfp25
+0x1.b9ddc53febefap453
+0x1.cfc301950d687p1015
+0x1.1cb21718dca32p23
+-0x1.232350a52c4f7p983
+0x1.d6e6a10d548e5p23
+0x1.977056a2668eap292
+-0x1.ffc1c328d34b1p3
+0x1.91d0e100810d6p-9
+-0x1.3e0756498d337p1
+-0x1.b68aa43ff9110p45
+0x1.a53200b957e9dp-6
+-0x1.c39415555077fp-6
+-0x1.aef7328553c7cp0
+0x1.f2059429fcdd8p23
+0x1.8a50e7c0eec78p17
+-0x1.c21e6658d1fe7p-1
+0x1.9ce192ed63b28p23
+0x1.da1012047ba28p41
+-0x1.b09f87dd277f2p10
+0x1.e58ab4f8ef73fp22
+0x1.9672675520b23p0
+0x1.010b17f807152p45
+-0x1.92d967fe78b7dp831
+-0x1.a71196fb66603p303
+-0x1.2786d24ce59c8p-20
+-0x1.ad6e7205f5d75p150
+-0x1.6c9037f2ec353p44
+-0x1.800ee1d7cd409p914
+-0x1.cac7e495263ffp605
+-0x1.d6a7e7ccedfefp796
+-0x1.1ee981d337986p-9
+0x1.bbb3427565a92p474
+-0x1.c42631df1cefap44
+-0x1.e04a92f8f896bp-1
+0x1.d2a2e5778cc7ep899
+-0x1.bc30d7beea737p986
+-0x1.7ede11aa7d47fp18
+-0x1.489a02a167b04p32
+-0x1.9257b27ecc0d6p6
+0x1.12ab65c6d3b81p46
+0x1.d50d624f63097p24
+0x1.e88f961d0afddp23
+-0x1.1f8fd098fdee0p-14
+-0x1.5c8862170e148p-16
+-0x1.abd9759e682c6p4
+-0x1.f1ac241ecfa70p-16
+-0x1.bf27001863e98p558
+-0x1.c3a843ee1f309p15
+-0x1.5458e7f6ecfeap22
+0x1.af31467613f65p0
+0x1.665d563797d5ap13
+0x1.f305a29da24c2p4
+-0x1.4062318aed418p12
+0x1.7b7721549420bp0
+-0x1.ed9ce71907bf6p15
+-0x1.95a9a284af0c1p843
+-0x1.0f46820718da8p16
+0x1.305e23b30adf3p859
+0x1.3c1fb3275314dp15
+0x1.e58eb396e0188p31
+-0x1.7c43c46f53c30p8
+0x1.4cd3202666397p-6
+-0x1.ca6216ef28d3ep784
+-0x1.7435667810fd5p-20
+-0x1.adf8179db7d4dp23
+-0x1.dc08b58090270p28
+0x1.d1f4356f2e4a6p27
+0x1.eb1f447c6659cp13
+0x1.f2d524e96e3f9p523
+0x1.1ca5d135f4a81p5
+-0x1.b7cd435089283p499
+0x1.9b3f745c109c0p25
+-0x1.aebc724bc9f13p917
+-0x1.0cba50c3750c5p922
+0x1.5f59539f3c424p8
+-0x1.08889270ebac4p549
+0x1.d6d2815236c18p37
+-0x1.f53a4227c3cbbp10
+0x1.8d29342fe90aap22
+-0x1.491bf16e3b738p36
+0x1.8fb153cddee3cp34
+0x1.cad7f140e42e8p1020
+0x1.0ae2e6fd71d2cp30
+-0x1.e84ee3f73d212p-1
+-0x1.7231326f8e61fp650
+0x1.ac0311909abe5p966
+0x1.d5f7e441a9096p411
+-0x1.75e293eb1043dp24
+0x1.7be84683271cep572
+0x1.5f8ff3c680e11p36
+0x1.cf03874ee3db3p334
+-0x1.58c8c1e8be2edp632
+-0x1.baee66c1245c4p9
+0x1.8ced030bb09e6p108
+-0x1.fda225f8ecb2dp368
+0x1.63d8c15566bc3p-1
+0x1.9bbd74b01b538p2
+-0x1.16ed44021834bp12
+-0x1.0235450de863ap29
+0x1.9428b5952ead7p23
+0x1.a512872ac8875p0
+-0x1.8f7e94f6ce64ep-24
+0x1.9d9de34f631a6p0
+0x1.02ee55a75cb5dp-3
+-0x1.0b6532e2c6919p-24
+0x1.9caaa1946b56dp0
+-0x1.efc845be18280p258
+-0x1.4177b13af435cp16
+0x1.564ad7ff494fep20
+-0x1.21e081ad2d02cp312
+-0x1.a4da0315686e9p0
+0x1.663bb46627e4bp40
+0x1.618f84e86d1aep22
+0x1.4dedf383d4291p888
+-0x1.bb9d0678f7888p3
+0x1.5319a1e934edap186
+0x1.1c0897fc41663p10
+0x1.8b6dd26fc7f0cp21
+-0x1.342a0316bd81bp20
+-0x1.ca34766b88f7bp553
+0x1.8a65224d8b44fp188
+-0x1.3637e3eee59b1p-24
+0x1.549801faaed00p14
+-0x1.a08912a6fa581p39
+-0x1.06bd137276b59p226
+0x1.4368a18959df2p17
+-0x1.b4bca5db9d268p-1
+0x1.394126b0c3cf8p3
+-0x1.8654666821399p831
+-0x1.f79af4f836b2cp21
+0x1.9942b024fb0d3p0
+-0x1.1ebad7277d725p-12
+-0x1.fedb203dad286p19
+-0x1.40a4d27a54422p29
+-0x1.a27013a6b5db3p-16
+-0x1.eca7e4e273765p951
+-0x1.dedf0543ecdcfp12
+0x1.7b7ec1819cff0p24
+0x1.064b131f15337p24
+-0x1.a5f5949b9f801p9
+0x1.a3bcf0c3c2f0cp184
+-0x1.83b94461ba34ap-6
+-0x1.5992353ea24efp17
+-0x1.194a036ff1ae4p43
+0x1.e0d7d07382e99p42
+0x1.8ad3f033a34f7p31
+-0x1.c9fdd72e0cce7p8
+0x1.ac66c27ae4518p-14
+0x1.1aad20c97ef2bp-24
+0x1.c687a7e1b3bb2p771
+0x1.02ce270f74c87p-10
+0x1.1562759c45e83p-2
+-0x1.5bf0b43affc94p40
+-0x1.eb88d184013f1p25
+-0x1.bcd3d71c4a84dp15
+-0x1.feb5845a4017ep2
+-0x1.6e1c807e05452p36
+0x1.450494828da68p25
+0x1.7fe6d347bc643p75
+-0x1.1b70f1ea5a1a4p23
+-0x1.2171070c39370p460
+0x1.c0bfd441a9070p172
+-0x1.dff6d1ed042eap155
+0x1.1064c4ba80b64p916
+-0x1.ef5113553c112p310
+0x1.8dcbe38231eafp-11
+0x1.48d1a6fc900a2p519
+-0x1.bce42351af42dp20
+0x1.a169a56cb6b12p-13
+-0x1.750fd2fdd73d5p-25
+0x1.b92933b734341p24
+0x1.a50cf516689b3p19
+0x1.5de0c597781e3p17
+0x1.bd70b0b71c3e5p351
+0x1.eacc7731e857cp495
+0x1.a3fb42a165580p22
+-0x1.8f76c56e255b4p-14
+-0x1.9fbdb32a35c6cp141
+0x1.c3c477621a74bp378
+-0x1.8c380783af50ap2
+-0x1.a05d50261fe1fp5
+0x1.e088235d1a76dp25
+0x1.5011713801c4dp5
+0x1.264d4420ae3abp15
+-0x1.d2ac4569a1c6ap785
+0x1.0411b74a91529p199
+-0x1.4657b01035e58p26
+-0x1.d25ad603e04e0p23
+-0x1.0bfd05a085350p26
+-0x1.974fb15d3aa9bp10
+-0x1.06b730454c09ap1
+0x1.20a7a61fe0c14p23
+0x1.2a3e5568a88d1p-15
+0x1.478f810da74a7p34
+0x1.13486653f1c89p0
+0x1.37e3105c65d09p2
+0x1.d8db173b39e12p685
+0x1.f33e80726ece4p-1
+-0x1.27e633778cc62p-9
+0x1.f4af54734e49ep36
+0x1.94e76082b3cfep20
+0x1.bf1ca6e0f5864p23
+-0x1.901a9197545a8p0
+0x1.132c37fab90d3p-16
+0x1.83d2770599e1cp470
+0x1.2091760b362aap-5
+0x1.04e4c158364eap250
+-0x1.c44196bcbc78ep23
+-0x1.7698c2d4504ecp0
+0x1.74db0716d3237p857
+0x1.86c78536631bcp0
+-0x1.28dad63946e6bp21
+0x1.3fb691eee1a19p24
+-0x1.3a048091bbb1cp21
+-0x1.fc9b13357eec8p14
+-0x1.11f6d7b366483p-4
+-0x1.1d2690d2fc3c9p13
+-0x1.b404c2560d76ep34
+0x1.f7ed62a6e49d8p18
+0x1.7245829fb1c45p500
+-0x1.27b61792a550dp581
+-0x1.e51cb307c265cp20
+0x1.f12564eb04cecp0
+0x1.fb9b7593d9ae8p843
+0x1.94abf50c1ae27p26
+-0x1.bb7a62f317dccp221
+-0x1.659ae30b4af07p674
+0x1.eeda462ccc67cp9
+-0x1.d6ec454444ad5p30
+0x1.edc3b03486bc9p-1
+0x1.8c359325387c4p169
+0x1.a46ec36418dfbp0
+-0x1.668df7872660ap231
+-0x1.7a3f30b53dbbdp20
+-0x1.186542f9de11ap13
+-0x1.ac3103ff8d0dep956
+-0x1.1701e1f4b7a28p45
+-0x1.a77534a41661bp26
+-0x1.805b83ca4a983p741
+0x1.9b8e34cafe7d1p237
+-0x1.7d6591476c813p11
+0x1.2564573a6270ep10
+-0x1.34d5721bd9e2fp205
+-0x1.2d24c4f0d1402p21
+0x1.3975d02ae228ap26
+-0x1.c520231d589a8p12
+0x1.841ed75a75d69p0
+-0x1.6c6be6fa5913ep39
+0x1.c44db37db2cafp267
+0x1.92d8e08dcc638p24
+0x1.87c7a090d5ce1p-16
+0x1.3130f2cb35283p773
+0x1.87fc94babfa17p14
+-0x1.35d156f2365eap663
+0x1.7f0c71af5cf7fp-2
+0x1.c1171538bad68p509
+-0x1.6d8c4522af157p8
+0x1.6923c7c62dd28p43
+-0x1.cc29d0dd1d0a8p7
+0x1.b35e40c13ab28p12
+-0x1.9771f23aa28b8p2
+0x1.fc625426d9743p-1
+0x1.f2eac0a3b585bp18
+0x1.1bf6e59ca97eap-26
+-0x1.1a5641181130dp574
+0x1.c65aa7a45b0efp25
+0x1.db74347a72291p23
+0x1.82abe2590802fp0
+-0x1.021815669b26cp643
+-0x1.4b5f153d3a4a7p37
+-0x1.3ffba4bbd1cf6p15
+-0x1.06b1963b06e9fp75
+0x1.1f230613bbeacp18
+0x1.65da91ad037c7p25
+0x1.efbe10dba52b5p690
+0x1.dc82d7dbf1ef2p4
+-0x1.a78d8512d1313p5
+-0x1.87f2d6caba40cp20
+0x1.6e4bb6102226ap500
+0x1.a88fe25344e53p45
+-0x1.cf03e69d00b76p16
+-0x1.a69333452a9c5p12
+0x1.dd2e13a94b242p6
+-0x1.ce73036c98611p23
+0x1.91e9d1ac14305p10
+-0x1.68e6a230c0c32p26
+-0x1.167d022857473p12
+-0x1.c4d8a56a3c59fp21
+0x1.76fd938c01180p0
+-0x1.9f3023d3fe5cfp-9
+-0x1.25c1b071f9f0ep744
+0x1.d3a0d06d79bd8p447
+-0x1.205561bc373c0p70
+-0x1.bb14c219cf119p39
+0x1.3fc332e6a45d1p1001
+0x1.a94ac5e537ddcp31
+-0x1.455b03fb1f252p19
+-0x1.398ff64a119b4p164
+0x1.a6d3422953772p7
+0x1.e4f53738724b7p35
+-0x1.e3c923a871c32p20
+0x1.3f7a33b9f877cp625
+-0x1.b08cd29c8af3cp41
+0x1.41e0545a9fd41p44
+-0x1.37adf744bfbf4p781
+-0x1.f9b3e0086091dp-9
+0x1.c7cd625a6ffd9p27
+0x1.44dac65c6e037p527
+-0x1.b465f6c0968a6p0
+0x1.145960c880918p400
+0x1.bdda37840188cp16
+0x1.31f306f18f6bbp3
+0x1.4e51a42a59d1dp465
+-0x1.84b5b6411630dp-9
+0x1.b91e57055ad75p9
+0x1.4873658bb25a1p27
+-0x1.f03661c52ba71p15
+-0x1.eacd674476419p5
+0x1.aaae40a57b08ap41
+-0x1.549d609dbc23ep7
+0x1.b9b6227653d8dp4
+-0x1.1bded0f0b7680p561
+-0x1.e92355003abc3p-20
+0x1.dad677e6137b5p29
+-0x1.e196a69741820p21
+-0x1.635324c3f6b71p45
+-0x1.0e1687acad9b8p823
+0x1.a1d7a6774c9a9p0
+0x1.cbca47ac9b582p11
+-0x1.acda422c4bea7p-7
+0x1.621f73a497a57p-16
+-0x1.b8c9242605781p864
+-0x1.db3792a5149fbp0
+0x1.8862c65ee2160p-17
+0x1.d6dd16228de1fp-10
+-0x1.b88502e85c4e6p3
+-0x1.c1a4c6ca9cb90p23
+-0x1.cc1cf066e7a33p25
+-0x1.b5e1749178cf6p744
+0x1.dfc7054b12578p12
+-0x1.29ec85df3a58cp334
+-0x1.85b8b0c95dbd5p13
+0x1.7257e1349b295p33
+0x1.9d85520001790p129
+-0x1.793fe72cc8c1bp215
+0x1.739df4f1e7750p25
+-0x1.a98cd0bd8bf08p22
+0x1.cd8da092fb8dap89
+0x1.8c16c534ebb2bp-11
+-0x1.abb2c2ad80b34p14
+0x1.2de7338716d92p-18
+0x1.9211d060f4465p-3
+-0x1.72fc35651040dp0
+0x1.2a26d2667b91cp29
+-0x1.f4b0d40e31bbcp19
+0x1.fbbe40d2d31c3p25
+-0x1.9f4c04b486a5ep19
+-0x1.45193205aa9c4p164
+-0x1.37a8b60e2d5cep6
+-0x1.3988f220e6441p-26
+0x1.493d31fd3c02ap82
+0x1.2b3340bd6f2a1p39
+-0x1.54cbb04f2304ap-1
+0x1.926940fdef273p38
+-0x1.45ea2765ca2dfp24
+-0x1.ed0821bb849eep479
+0x1.4fba868adf04bp16
+-0x1.e9d417e0bc17cp0
+-0x1.f4f965b3faf30p17
+0x1.7d7f77efe5d3fp23
+0x1.50cfc50c2f640p24
+-0x1.cf1df3c5ffe17p46
+0x1.f936b6dca473cp211
+-0x1.8a1406e6ee482p11
+0x1.463197698d0d5p101
+0x1.2409659b805cep7
+-0x1.3b3d65813a051p191
+0x1.06ce059e85ca0p0
+0x1.b60c06f9f5398p6
+0x1.d60fe7ff7c31cp12
+-0x1.07b0f652e0470p5
+-0x1.4580b6d0afe76p50
+0x1.e21807ed764cep-18
+0x1.fdc865ca4cd63p-1
+-0x1.c499a71b0ca05p269
+0x1.0d75e2b8a7955p160
+0x1.6a04420a71954p-27
+0x1.763e053587862p7
+-0x1.39ef5367547b0p5
+-0x1.2b2e67b7a8bcfp24
+0x1.86f6e7b54f573p2
+0x1.c2b6e3acd3d96p35
+-0x1.e97ef093600a2p11
+-0x1.c572f3826cf29p980
+0x1.796b642ff617cp-3
+0x1.601b631f840c9p-14
+-0x1.8eba049870e51p902
+-0x1.3b17c1c67a109p25
+0x1.d305139f10a36p17
+0x1.ec817466d70a7p0
+-0x1.1265c21b2d99fp245
+0x1.d1fe37e14bb77p-1
+-0x1.f178f690d9f42p6
+0x1.40e3362b70ed9p481
+-0x1.6a04a793aaf0fp-12
+-0x1.8245c6bdd8165p16
+-0x1.7264a53f935a8p10
+-0x1.13fba79ae44ccp18
+-0x1.eb9557cea7ac8p0
+-0x1.8ec847721bf13p26
+0x1.74d974321f101p-12
+-0x1.bb1c86a8ca6a4p35
+-0x1.0c4b1052754aep459
+0x1.067f874c51947p15
+-0x1.9cdeb085dbf66p-25
+0x1.e03a470b607f6p32
+0x1.3f70e0d5faf68p782
+-0x1.0d7ac25499901p39
+-0x1.d0c8711803183p-4
+0x1.dddfb43ab15dbp49
+0x1.80dc4549bc143p-2
+-0x1.8432c6e6dbcb8p46
+-0x1.e7a2c04ccff8ep46
+-0x1.453a2503dad3bp-26
+0x1.3bf04538c0bcfp706
+0x1.b909a6eac3c92p21
+-0x1.7a6db4a0188cap9
+-0x1.1d3e80b32c07ep-11
+-0x1.43fbf1bf87d6ap978
+-0x1.d24c3457d0d3cp15
+0x1.106e24eadb4efp207
+-0x1.291f20d923034p-15
+0x1.910ca4ab8908dp12
+-0x1.8f25f39b6831dp-23
+-0x1.eb0a55dd34df9p25
+-0x1.6aa47787b6253p834
+-0x1.7574d59d3717bp41
+-0x1.cf28f24daf9f0p234
+0x1.7760660a714d0p0
+-0x1.a38422219ffe8p25
+0x1.52d2453a853c0p47
+0x1.905551119e9e1p930
+-0x1.5f7e4096319e3p844
+0x1.9c7951ed1ddf7p11
+0x1.a16287317c9fcp879
+-0x1.0804647cb4089p-1
+0x1.a886323cf0d4ap512
+0x1.1ff6b66d5ebe7p41
+0x1.4ab1627ed8fe0p12
+-0x1.a32a8757fb5eep542
+0x1.5f89860e18209p24
+0x1.7dcfd293f582ap-8
+-0x1.13f813514eaafp591
+-0x1.e5e046e81a4a0p315
+0x1.f4b365dbf8bf5p874
+0x1.c8a4e5e39c9c2p1018
+0x1.fa6c62b3010cep649
+0x1.c2de84df7c3e5p934
+0x1.af51a42607dc8p-18
+0x1.88a3d1f1000cfp874
+-0x1.7a4744d42926cp0
+0x1.aa8de5d123c00p-1
+-0x1.5255469b0b1a0p21
+-0x1.ddce133b21c51p426
+-0x1.324320eae37c5p23
+0x1.ae4c1209db983p-5
+-0x1.b856a600fbd98p38
+0x1.6f4d04c321f75p21
+0x1.01475416807a5p9
+0x1.9d38235f415fdp-13
+0x1.206ec06d9ab68p-10
+0x1.bb75b35deec78p33
+-0x1.1696b22d64f95p113
+0x1.c1df8560b5cbdp18
+0x1.52a872c448619p39
+-0x1.1ef841f17fc34p85
+-0x1.f133c2e3045d9p-2
+-0x1.129596a5af08ap-7
+-0x1.c93715d49ac3ap41
+0x1.603ac7f2c733dp10
+-0x1.d3fbb47476501p143
+-0x1.8cacb5e52c001p26
+-0x1.a3c87118d19b3p33
+0x1.222aa2db4190ap25
+-0x1.5409a38a92aa7p872
+0x1.38cf32c6b7d09p-9
+0x1.a4ec535aa90d5p25
+-0x1.42daf51bf5934p839
+-0x1.316b8421f5fd1p-15
+0x1.b1f814b0326e5p697
+0x1.a9ffc120ca209p668
+0x1.d058e125f023fp790
+-0x1.5112b5102f58ep137
+-0x1.4202328599a61p29
+0x1.da41b5d447aa6p454
+-0x1.ef77a65167e5cp24
+-0x1.0e6276669fc5bp32
+0x1.b0a6d77eb6c83p-4
+0x1.1a345788bd44dp546
+0x1.41f4053900144p-19
+0x1.057f512cc3bc7p14
+0x1.6e8b02db1ffd6p105
+0x1.7ce35635e252ap0
+-0x1.b96b40b776baep24
+0x1.ff4ab03720fa9p-4
+-0x1.adf7c2f3f7875p14
+0x1.e870529e21dcfp17
+0x1.d63b208262928p25
+-0x1.3891962477405p7
+-0x1.437ff414d0fa9p19
+-0x1.291a550edea92p5
+0x1.9ec093b7eb3b2p375
+-0x1.8ed4f1b3bafe7p626
+-0x1.b41a54850cf23p712
+-0x1.a6bc42ea33f9fp767
+-0x1.2d9bb56ea445ap35
+-0x1.aece85e37b54ap0
+0x1.246751c26d13bp296
+0x1.f2e7f697a2d1fp29
+0x1.6c37a490520bcp26
+-0x1.ff8603bbcf498p2
+0x1.362023b6cd6b2p31
+0x1.cf2d87e53206ap0
+0x1.8fe7a627af176p9
+0x1.8a1ba043b40b9p6
+-0x1.8615b0b70103fp0
+0x1.7db401923e93dp923
+0x1.6f54e4a864f17p0
+-0x1.86c5665be0ef3p43
+0x1.6b5066bfcc388p26
+0x1.20d1f69be6b86p3
+-0x1.d177e68f841d5p-1
+0x1.fc49110300d0dp-2
+-0x1.bd5bb6e1c5f43p-1
+-0x1.139a94e47ca10p-9
+-0x1.ac36349c2d3e8p6
+0x1.7698522ba5c25p216
+-0x1.62a700634c519p228
+0x1.dc4a17d8c584ep-13
+-0x1.052aa2ae959adp25
+0x1.d6adb0d709d68p17
+-0x1.0c4c506cc6c2bp79
+0x1.7977c290c1798p0
+-0x1.684b477bd74e1p39
+0x1.bae964ed32d31p-2
+-0x1.aa5d80bdd8324p24
+0x1.b8ba85fbfb8adp21
+0x1.e4eb26b6aaa01p20
+-0x1.ec2a365168686p41
+0x1.28dcc3ac950f9p173
+-0x1.906e052eb7470p-20
+-0x1.707e251ce768ap440
+-0x1.821b023683ae3p37
+-0x1.4db457ffe8a62p742
+0x1.0670c3d7576b1p8
+-0x1.f44a632b6a2d4p2
+-0x1.b75b407bea318p-1
+0x1.507f63e62851ep-25
+0x1.bd10460d75116p15
+0x1.fc3ba353f04b8p13
+-0x1.2af436412167ap34
+0x1.8e58408a0b161p30
+-0x1.cb1884deacccap677
+0x1.112e30c8147d8p288
+-0x1.03a724eaa0da3p14
+-0x1.58a7a7304d337p4
+-0x1.d3d8600450d2fp46
+0x1.6784927c4db75p3
+0x1.925e011c2be99p-19
+0x1.ebfaf6c6dfd75p-1
+-0x1.0730625f34e2cp622
+-0x1.0c78f6f77f4a0p16
+0x1.4e7226251590fp34
+0x1.c2d2c2bcfe176p45
+0x1.92a40269de752p262
+-0x1.6b17d4e0e4095p47
+-0x1.b35df39dbe7bap23
+-0x1.2433941ea6c1dp181
+-0x1.156bc71aaf929p26
+-0x1.c0a2337b73d37p-25
+0x1.c4a1144dd5788p47
+0x1.61d1b135895c0p26
+0x1.defc76272ee65p473
+0x1.d28a2698c470dp0
+0x1.94f6142bed738p0
+-0x1.7f782459fa34fp18
+-0x1.a68016b127852p46
+-0x1.8c8512f7601a6p559
+-0x1.296f002678629p0
+-0x1.6713546c2b7dcp24
+0x1.5820400b8ca32p-17
+-0x1.986947ed54745p28
+0x1.5589220a8d908p2
+-0x1.bb73c7db6c6b5p18
+0x1.57545758dc374p1020
+0x1.3c61573e1df6cp860
+0x1.b5ba913c8b04ap43
+0x1.152d60fff636ap25
+0x1.9dfde0143fc3bp664
+0x1.8002f4ae0cd26p546
+-0x1.5555972687f97p44
+0x1.d4cd0108a77b8p-22
+0x1.d605a75200cfdp799
+0x1.8f1ed35661061p13
+-0x1.aa357490e4b15p16
+0x1.c616b347d6c7cp47
+-0x1.5c1bb32908a9dp37
+0x1.3e63c3071d00ep10
+0x1.f6a851a65eb40p16
+-0x1.09293376e5ff7p3
+-0x1.d28c834a48febp-1
+0x1.5d1f711534ffap8
+-0x1.ab58768a06b4fp0
+-0x1.c305e4720570cp1
+-0x1.fd01f697e68f3p6
+0x1.20aa374d16fa9p-7
+-0x1.640d51133a28dp7
+-0x1.4cbd82a906116p-20
+0x1.e728b313e9290p20
+0x1.2f00b66b200eep2
+0x1.e70cd0870834dp22
+-0x1.424f62131a07dp440
+-0x1.8ffdb1a359d44p8
+-0x1.d14c66613a0afp47
+-0x1.bb9dc4d8f0b60p23
+0x1.8cfc42cbf93fep21
+-0x1.bff987c5b24f7p40
+0x1.acb444767500cp404
+-0x1.e3a3278c0889cp615
+-0x1.c7c03410ee559p1
+0x1.1aeb262f169afp9
+-0x1.c00d57ef36176p16
+-0x1.54b5c337ab8c7p26
+-0x1.fca5308d5a5f0p-1
+-0x1.ee65a575ad332p6
+-0x1.73d3b5be2d412p4
+0x1.994532de92cc3p288
+-0x1.7b3b402cd684ap672
+-0x1.5581914c736a3p26
+0x1.8691a1510a8ddp26
+0x1.439e202ffc78ap31
+-0x1.00f1f1c0a534dp5
+-0x1.e787a060a1beap-1
+-0x1.a40b4564248ddp33
+0x1.9db0f66a7c69ap758
+-0x1.29df95676f2f3p29
+-0x1.c1e2a39fad4f9p30
+-0x1.2398052cf9970p5
+0x1.9584270d98e8ap34
+-0x1.9c3a8363c08d6p-9
+-0x1.c3ae6326607b1p0
+0x1.0e33e435785a9p24
+0x1.3e1547010b972p30
+-0x1.00e45198f46adp12
+0x1.cab9d2d70a0ecp176
+0x1.3cad136952e75p0
+-0x1.b690f763014a7p-1
+0x1.5d5f04e7e601ap840
+0x1.687d04cf256e2p17
+0x1.fef58250afa5ap733
+0x1.bf55465c8726dp10
+-0x1.879cf61bde347p0
+0x1.41fa061534bfbp1000
+-0x1.3547166ae0563p18
+-0x1.29b792c792304p0
+0x1.44f0c244630e4p4
+0x1.b44fa2fd3ba45p-10
+-0x1.ee70d4ee2a313p20
+0x1.e09a910e6fec6p47
+0x1.df08c242a0825p41
+0x1.1b9f438519594p25
+-0x1.009e65b886832p23
+-0x1.b211e177c4878p-25
+0x1.cf4f511036953p-22
+-0x1.a331a056fd10dp15
+0x1.78b95045b3821p20
+0x1.9741d0c92a811p19
+0x1.0799369efbf5ep23
+-0x1.aa78545af6518p25
+0x1.a4f3e0e422feep826
+-0x1.67f8d1c373dd4p871
+-0x1.e4d67454ffbcbp11
+-0x1.c55dd363dd674p3
+0x1.6402e3d9defaap15
+0x1.8b5f257d1ec68p-16
+0x1.af29726910ee4p42
+0x1.99bc46ffb746dp0
+-0x1.a1375601023eep810
+0x1.85c587e566703p737
+-0x1.f7c1e1a4d0636p-4
+0x1.969d9183c03dbp558
+0x1.f049b22399098p34
+0x1.943ec10617417p5
+-0x1.e2dd46c8c4c7ap353
+0x1.fda825f2618b4p4
+0x1.be0c71a4be7fap24
+0x1.253fc5016e602p26
+-0x1.f40770706a468p19
+0x1.a93453e7eedafp544
+0x1.4cbf20bbaffe4p0
+0x1.8523e43195d20p0
+0x1.ef3fe0d51ca0ap869
+-0x1.7bfd906b4bc4cp0
+-0x1.eb85c2e781ca5p834
+-0x1.c72973927a11bp11
+-0x1.07bc71bed30b3p39
+0x1.ca2691e190f22p-24
+0x1.cb48f51c1417ep44
+-0x1.567c86970707bp44
+-0x1.1328459387024p19
+0x1.8dbca5e6ae26bp-20
+-0x1.0ea782b471c95p7
+0x1.885d949bd233ep25
+0x1.5706b40d7d8d3p-11
+-0x1.99ffd54628c49p0
+0x1.4dd434ac6f7e8p150
+0x1.e33c777463aa2p25
+-0x1.f7ee12177cdddp285
+-0x1.13f2e7648aeb4p8
+-0x1.bb3e114af14ffp386
+0x1.0ea653cfc5144p86
+-0x1.97afd730cab3ap0
+-0x1.1b4a96ad1229ep44
+0x1.e6b573ec87b1bp172
+0x1.2f0542b4e0611p533
+-0x1.b95a733cdd7ddp20
+-0x1.d47cf66eebb8ep-15
+0x1.78f0b5f53a39cp33
+-0x1.8c35d7a87e6fep18
+-0x1.5273b2382ccd0p15
+0x1.286441ca5714dp-20
+0x1.136ee1c73224fp872
+-0x1.96c0235d8d55cp24
+-0x1.732f95c827773p35
+0x1.667404de0f089p374
+-0x1.2c5137dddd70ep38
+-0x1.7ac64352f8731p311
+-0x1.375d526b9499bp10
+-0x1.608744f90585bp46
+-0x1.b152d1cd9d10bp11
+0x1.ac15612e56ca9p23
+-0x1.1e20923124ba0p18
+-0x1.976ff6fbebe0cp483
+0x1.19c89663c0f50p1
+-0x1.5d4732b848227p0
+0x1.bce080a10af4ep71
+0x1.4b5181670d98ep1
+-0x1.88ef56cab1b8bp0
+-0x1.124bc48a15e4ep560
+0x1.16aa8030446c5p1
+0x1.ea3d708440531p-5
+0x1.9a933630408d3p0
+0x1.25c992f62ef85p21
+-0x1.892203bbd6e79p787
+-0x1.b69e12ed65962p-12
+-0x1.213bc173722c7p858
+0x1.9ec5648d542b0p0
+0x1.e49be4cdb62fep9
+-0x1.b51b42ddbf7d6p656
+-0x1.d98793002d34ap0
+0x1.8365b15d3d1c8p17
+0x1.512fb18d70d75p39
+-0x1.6de981933ee82p136
+-0x1.985c12bed07e0p13
+-0x1.a5fbc7fc45b3ap-1
+-0x1.8710f55f8c2d7p-24
+-0x1.e21315a4ae92cp40
+-0x1.b9e2943771bf3p0
+0x1.da6de76a482d9p458
+0x1.5599148b4cf81p7
+0x1.d71ea41f64e8ap776
+0x1.89d6b23942ee9p0
+0x1.9fd7d5273c695p21
+0x1.817ca791272d0p1021
+-0x1.3452f5175f006p-2
+0x1.f3af654e608f2p13
+0x1.1d0a0528d7bdep21
+0x1.2c2aa710a863fp924
+-0x1.77b2852f5e175p8
+0x1.9f48d30a1e11bp47
+-0x1.54f600b66c2fep12
+0x1.56b3a59e3e2f4p751
+-0x1.641b67eda77fdp23
+-0x1.62d64749736ebp-5
+0x1.a481622af3746p911
+-0x1.96cec2f358260p24
+-0x1.f82d54d558421p19
+0x1.5c4330323eb8bp34
+-0x1.9f86b23c7fe1fp17
+0x1.5994062e8e0f1p22
+-0x1.b33505561d1cap905
+-0x1.ccdf732c7d20bp680
+-0x1.d6a84378ac8b9p23
+-0x1.a877d1dcede4fp4
+0x1.9c4fb2b271fa0p-17
+-0x1.edb1d145f200ep836
+-0x1.f9a466fe6d9c0p36
+-0x1.e07ab7c21cb33p-5
+-0x1.1c05b681bc11bp12
+-0x1.dfea704995e47p0
+0x1.3ec9e0020df9bp261
+-0x1.2de113c0c0abcp840
+0x1.d523551d1301bp301
+0x1.d57ff49633b0ap16
+-0x1.60e00540a4916p43
+-0x1.ae7cd0ead2707p-21
+0x1.59c5a3da56943p646
+0x1.a0f1e02dc546fp0
+-0x1.90c74581ad4c2p804
+-0x1.3df5a6745c7b4p279
+0x1.b1dbd7c284f4ap0
+-0x1.53a8236e11ad5p613
+0x1.d01ae4b6ec723p5
+-0x1.4f07c42ad516ep38
+-0x1.3f42955e43c60p164
+-0x1.cef08022a889fp-22
+-0x1.a104038d6d3aep-11
+0x1.6ab276053bf58p64
+-0x1.fa13e25fded10p682
+0x1.1346116d1b13ep-24
+-0x1.5cc635b87a547p7
+-0x1.1c6e458e45611p918
+0x1.4da2b3a7d743fp588
+-0x1.5867132e9910dp-6
+-0x1.866e226885b36p3
+-0x1.e4af96c89ac8dp7
+-0x1.32c417258beabp1
+0x1.ec6d23817ac87p136
+0x1.4c42234c4cb83p26
+0x1.627095699f9f2p21
+0x1.29d5932425be5p19
+-0x1.59c3a61405350p997
+0x1.0e0152a02da15p-11
+-0x1.cbd9001dbd84dp-23
+0x1.395d53fa21924p970
+-0x1.21ea97d900ce4p-18
+-0x1.3857250897e85p18
+0x1.23e571394fd82p-12
+-0x1.957af33a560cep-26
+0x1.7a62d3a97c082p-20
+0x1.219ec6b246176p5
+0x1.6a0b96bc3a98ep-27
+-0x1.b3c5f05c06d11p48
+0x1.acb0a26d67df5p-10
+0x1.ce255615d9492p812
+-0x1.977ad219e6c61p0
+0x1.de2041abcf313p10
+-0x1.b942620b8acfep4
+0x1.a66fb3fbc1f3cp5
+0x1.35a9b2e6488d6p26
+-0x1.c36cc56721b05p198
+-0x1.b9edf7dff3578p-1
+-0x1.ffbad564ba12ep16
+0x1.50e3f66a70bd1p485
+-0x1.a6e547a36e5a4p465
+0x1.54e875c76edc9p0
+-0x1.7333a63971418p341
+0x1.c39a24f08faebp18
+-0x1.850e4447fd121p3
+0x1.69b2d631a085bp42
+0x1.7d5f03a544ce5p647
+-0x1.54b9f0c3790dap369
+0x1.b5db54f60d7fcp3
+0x1.bfede6bcbdab5p14
+0x1.c49ed00de612fp3
+0x1.fdd5778773204p20
+-0x1.ea24548478072p-20
+-0x1.bbafb75c3ff50p30
+-0x1.9b0e77b958919p841
+-0x1.ad3172fd06e85p2
+0x1.2d24d32d0d341p203
+0x1.7c2480162bf05p42
+0x1.e028339f344a0p3
+-0x1.5dd47591cf023p11
+-0x1.a20940b9cb5b8p693
+0x1.d9eef5eef22a0p-16
+-0x1.f0f51635acaf5p873
+-0x1.c4353793f8e09p954
+-0x1.3df5f51c831ccp17
+0x1.e5b497ae4cae6p23
+0x1.43162012fdb57p-10
+-0x1.ba6782c6cca02p394
+-0x1.1f4d15ce5c886p976
+0x1.afa4370e97c87p44
+-0x1.4b72433cea7f4p34
+-0x1.01d1a13ce3762p-1
+0x1.4a5b4081f8482p599
+-0x1.e5b132f5337d4p30
+0x1.4812553307bb4p25
+-0x1.2d6ce79efbffap26
+-0x1.102777593c0e7p425
+-0x1.d6cf8795449a2p9
+0x1.0c80d756d5c0bp-19
+-0x1.9950064153b61p25
+-0x1.8e3d83d000c70p30
+-0x1.462b54d1612b6p38
+-0x1.4c6a67184b714p2
+-0x1.0e4572028b0bcp7
+0x1.3e6a630eef30fp822
+0x1.a291d6c857b9bp19
+-0x1.0e87122715084p23
+-0x1.ab4990691ca4fp891
+-0x1.7675c774d88f1p26
+-0x1.76d935c0d01acp957
+-0x1.f86d4487dc29ep39
+-0x1.2ab3d736f572ap-1
+0x1.846c74b34d14bp0
+0x1.a789a2d158e61p3
+-0x1.82c2e4943b305p7
+-0x1.4668a4a069757p184
+-0x1.4bc1d2b00fc7ap14
+-0x1.a544825f32188p12
+-0x1.e2f896a71d084p40
+-0x1.d4f317c77cf8dp34
+0x1.2fcfb6146b469p18
+-0x1.fc0ef70d94a57p992
+-0x1.8bc622e9b81a9p332
+0x1.ab3d255d05066p0
+0x1.032294d998d40p895
+0x1.597286cff2ddcp-9
+-0x1.448590f2dfdf1p13
+-0x1.ec7a74fefbef8p30
+-0x1.fec72598e90e7p698
+-0x1.739c7600c2aa3p0
+-0x1.1532224ccff07p604
+-0x1.adb0720f88c1cp671
+-0x1.0f5c60e6cdf52p918
+-0x1.cd43b383af967p12
+-0x1.412293a10f35bp12
+0x1.637192a10a8c0p35
+-0x1.1310d6c648b59p25
+0x1.d8c161c67b50ap28
+0x1.c64b8175f853ap3
+0x1.db34f69efdf5ep20
+0x1.308bc4c848b55p65
+0x1.9bde77693f64ep0
+0x1.df5fb02f5fb43p41
+0x1.511f0030d8e62p12
+-0x1.623861243cc06p9
+-0x1.f5db61e5469b9p8
+0x1.5b6cb194d89edp18
+-0x1.12c0876a1b15ep18
+-0x1.939f8667ccc46p-8
+-0x1.56cdd13279359p25
+0x1.91eb17eaeb8c4p11
+-0x1.5e31156143a7dp37
+-0x1.46ba04e866f63p7
+0x1.dbfed0411bc7fp538
+0x1.f69893a985cc9p17
+-0x1.11278358c2510p141
+0x1.6c07667947649p10
+0x1.1b5c9235ff249p852
+-0x1.1e9e57d76a9a9p37
+-0x1.388491cbdac70p17
+-0x1.c2eea2091b3f8p-1
+-0x1.cd087524966a7p25
+0x1.f6adc5d4459cap600
+-0x1.f57ff5b713a99p3
+0x1.f2d9b467e8ee0p-8
+-0x1.ee0bd3710bef0p-14
+0x1.a61cc024a420cp-24
+0x1.e902f4b561c63p3
+0x1.9955d0ecba68cp-21
+0x1.60eb50fec72a7p-20
+-0x1.09f0677aee265p1005
+-0x1.8812968970db4p721
+0x1.8dcc40b01b324p112
+-0x1.3a90164a6fb2dp26
+0x1.3802f5cdcda63p6
+0x1.e21a052adc0d0p0
+0x1.a948854deaa16p-11
+-0x1.274d4065edf3cp25
+-0x1.9193532bbe2c9p16
+-0x1.2e26e362aa597p472
+0x1.550114f8cd6b0p16
+-0x1.1c39a294dfb51p946
+-0x1.1ac3f37ca8f9ep6
+-0x1.d0cfd15066c8dp673
+0x1.1b1f153f16bbdp29
+0x1.56b9b46a42022p12
+-0x1.89e4012cc6deap0
+-0x1.d6fb928514d12p1004
+-0x1.a136f5a490ae4p664
+0x1.36932245e98cbp26
+0x1.b1fb46c217a41p277
+0x1.7b54923209cb7p587
+0x1.caaf81b413ec0p608
+0x1.ab5a96a090df8p6
+-0x1.630330ace2d7cp41
+0x1.ee7e47e57812bp-4
+0x1.4351e41d03816p21
+-0x1.aafe0659a5c58p11
+0x1.2748836e9b331p41
+0x1.fe7b979d71d95p598
+-0x1.48c5920336400p-7
+-0x1.b223b4be25585p382
+0x1.a94e62298c7a1p45
+-0x1.5217e3915a0e8p11
+-0x1.2e65032ba771fp-9
+0x1.6a3d4382141ebp-6
+0x1.468a9481d74e4p169
+0x1.b3bf676408855p20
+0x1.ee41d72d85a88p23
+0x1.0f1525458e264p557
+0x1.a601a30301754p-22
+-0x1.71d595d59b86cp566
+-0x1.62e7f03cb1f31p12
+-0x1.73f5402ab4e19p-8
+-0x1.72c1f709ea5c2p13
+-0x1.3919a5ad625dcp-4
+0x1.fd017587ee830p310
+0x1.b7518131b5253p0
+-0x1.f348906bc1126p-6
+-0x1.fc7ac7285a79ap0
+-0x1.59f1d57e68057p17
+0x1.bdd572c2631e7p19
+0x1.bdf7f6ea49a0dp300
+-0x1.8c4877c037477p29
+-0x1.5da7b5197c995p15
+0x1.67de61ebfcad3p107
+-0x1.9096f72642477p323
+0x1.e5fc51f35ab90p15
+0x1.9f7bf6c845f55p0
+0x1.6a59935f352f0p23
+0x1.1f7b41c8d8513p20
+-0x1.86d8339a09175p637
+-0x1.3fa5c32fca635p6
+0x1.23faf483fef1ep-18
+-0x1.408f70d527f00p40
+-0x1.9440f7b969c8ap209
+-0x1.4e380016a4d6cp987
+0x1.a20616e878c04p1023
+0x1.2a9f54471780ap3
+0x1.75dbe2c1ec783p-23
+0x1.67c2221fc3804p23
+0x1.bcdeb6f3c5549p30
+-0x1.bb12215c52f92p779
+0x1.8ffeb3898d1c8p-19
+0x1.1fb8b50205437p2
+-0x1.5a4a653146e40p32
+-0x1.0c6b30ada1b09p23
+-0x1.8b5c231e30042p0
+0x1.1f16455d89ad8p882
+-0x1.513c3208d3047p6
+-0x1.cee964e33c448p30
+0x1.af44434d9c9c6p0
+-0x1.0276334fd570bp-15
+0x1.5dedf26999173p0
+-0x1.1b2e4780cd70fp417
+0x1.534237e205b0ap8
+-0x1.29c1563c96376p41
+0x1.8a3457a805380p776
+-0x1.47fc55d109066p332
+0x1.793aa09de6e04p1006
+-0x1.bf3fb2020504fp896
+-0x1.7366b3b52b79ap-3
+-0x1.b95a21c326d4fp754
+-0x1.8f992737bdb7dp526
+0x1.e0f1212c81cf0p21
+-0x1.5299f2819f9dep19
+0x1.ae0255b511d01p4
+0x1.8fc2a4bf7afe8p261
+-0x1.91f2f0444f31ap634
+-0x1.a8ad341b55868p7
+-0x1.b33f97a647507p4
+-0x1.ac58d36c99905p0
+0x1.717660662d7f4p618
+0x1.747371ab298bap14
+0x1.d500a4ff90ba3p9
+-0x1.c49132a3807d3p18
+0x1.775041f5adf79p40
+0x1.d196f39ecbbfdp-15
+-0x1.955a20c2e98a8p10
+-0x1.eb44149e132e3p20
+-0x1.91fc970666340p-10
+-0x1.8cbd518d4e97ap9
+0x1.446762982f5a5p30
+-0x1.243fd3db30072p7
+0x1.7f9b147083efep863
+0x1.02e06605707fcp11
+-0x1.f943c41c8d938p36
+-0x1.66297706f7c14p727
+-0x1.6b59c16db566cp26
+0x1.5d48f15c59f58p452
+-0x1.e8f5230318f79p-1
+0x1.31fad3c41d123p34
+-0x1.6757e2c0a08a7p11
+0x1.7f07e07a0a269p288
+# cos slow path at 768 bits
+# Implemented in sysdeps/ieee754/dbl-64/sincos32.c
+## name: 768bits
+0x1.000000cf4a2a2p0
+0x1.0000010b239a9p0
+0x1.00000162a932bp0
+0x1.000002d452a10p0
+0x1.000005bc7d86dp0
+0x1.47c453f752654p637
+0x1.b27df119d2861p78
+0x1.b073672e47988p835
+0x1.f2f5607cc76e1p157
+-0x1.3c7b45a1446e9p349
+0x1.544a364a05b26p228
+0x1.157fa0b2ffd20p164
+-0x1.f4ba7359080d6p172
+-0x1.7698941fce366p651
+-0x1.9875603af20dbp433
+-0x1.b00f872fa6260p918
+0x1.468e65e8e3656p661
+-0x1.6cbd47b10d74bp464
+-0x1.2c2c62a2f067ap197
+-0x1.8e3db452cbb07p810
+0x1.8446c34a2644cp277
+-0x1.b0f6f1b8db81ap179
+0x1.93b574629bf16p748
+0x1.b6b6e0a06cb05p344
+-0x1.7cbc2702fbd97p922
+-0x1.887a36760f072p336
+0x1.17b9c169b2efep714
+-0x1.e947b36ae0940p794
+-0x1.d70d15a2338b8p884
+0x1.0a98017bf55bep935
+-0x1.bc07c6c7cc03bp538
+-0x1.c42d477462280p949
+-0x1.9c6dc4908a248p536
+0x1.37a0d35e7fd14p74
+-0x1.9c9cf14390543p64
+0x1.7c0a43fe4ef89p409
+-0x1.cc1fa7c639575p65
+0x1.df36548f960eep769
+-0x1.d3f102775834fp176
+-0x1.0a6bf05ba56c4p713
+-0x1.4775c1ce2834ep903
+-0x1.7ade6237217c2p272
+-0x1.35ebc7dee67bep898
+0x1.26ded2ecd7486p728
+0x1.90c6535aa78d1p591
+-0x1.dd85c54160392p296
+-0x1.1ee7b2598c033p904
+0x1.28de547f9a6a7p156
+0x1.bb7ff11e74372p775
+0x1.bb4da1ff7cd43p113
+0x1.52f2e13f3ddcfp430
+0x1.7aa0c44aa3950p964
+0x1.33ffd1540eeaap899
+-0x1.a8c7f7947c6efp453
+-0x1.3a8f54a1dfe1cp193
+0x1.fedb8178dbabap386
+0x1.b53776fb33667p290
+-0x1.1dbc12b1b9e1ep632
+0x1.ed4db1eaa237cp454
+-0x1.e43334d044861p32
+0x1.db66f595e3e93p165
+0x1.6c6af169f717ap165
+0x1.d14cf2d2b8875p589
+-0x1.1661f59554000p419
+0x1.f76c50b4e5bd1p276
+-0x1.b00253e803df0p175
+-0x1.8ec0a6121e3b6p8
+0x1.5e1195ad8957fp899
+0x1.ec89e4f11ac8fp433
+-0x1.1d38a4ee578e9p339
+0x1.4377875dce8fdp326
+0x1.ee58a172d118cp745
+0x1.ff0232a89efd3p913
+-0x1.a6c9c19756962p883
+0x1.dbb6b6a957161p710
+0x1.12fd57b2e5ebbp83
+0x1.e9e364fad4bcbp329
+0x1.cbe8b375ad172p953
+-0x1.08a4b728fde64p598
+0x1.60f510ee233d5p828
+0x1.ba51673480a49p100
+-0x1.b04114708e216p378
+-0x1.9fd7b6bc2ce33p61
+0x1.c32ea014657c0p820
+0x1.1d3621e24b581p110
+-0x1.4139a7fc5b5dep135
+-0x1.2399c1ea2ea2fp729
+0x1.aa2a835f87dbcp650
+0x1.948dc5cd26e75p371
+-0x1.a5a520d06d146p940
+-0x1.191a55bfe7786p1013
+-0x1.a46e0156a6bf3p525
+-0x1.91fd2519f735bp372
+0x1.1a78a3d726d73p617
+0x1.428c901b2d569p906
+-0x1.9f415555f701bp238
+0x1.a7e133e2c9f01p315
+0x1.e565b67830fabp1009
+-0x1.9e88b6ff1a777p31
+0x1.8ec4d30c1daebp710
+-0x1.5c35d25455dabp540
+-0x1.5957f35326911p855
+0x1.5e8414f558911p832
+0x1.fadce712c669ap551
+-0x1.7b0554f4a1530p340
diff -urN glibc-2.17-c758a686/benchtests/exp2-inputs glibc-2.17-c758a686/benchtests/exp2-inputs
--- glibc-2.17-c758a686/benchtests/exp2-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/exp2-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,105 @@
+## args: double
+## ret: double
+## includes: math.h
+-0x1.8235e0aa4aab1p814
+0x1.0e1220dfad80dp1006
+-0x1.e6a710eed0706p919
+0x1.11def1bbe9bc3p-471
+0x1.05e9b1fc591d9p-1007
+0x1.a58906c628b46p984
+0x1.772627fce1208p-256
+-0x1.461c146b65f2cp-62
+-0x1.6cf046992fa9ep-876
+-0x1.eaca47d76382cp-413
+0x1.5056d0027ca2bp-634
+0x1.1be8235cf2515p-300
+0x1.f667e36bb79d2p913
+0x1.b9ae233039c9cp-721
+0x1.b70ec546dac57p589
+-0x1.3ef895a695202p-318
+-0x1.e73d755c17ecap-901
+-0x1.f0a09005d2fdcp-52
+0x1.77520292c8ea7p786
+0x1.e5c0a38dccd6fp-510
+-0x1.21dd1410a13fdp469
+-0x1.f1ea1752b167cp-855
+0x1.149395c6b1dfcp237
+-0x1.22cfe4ceb2a85p244
+0x1.061a75f02c856p-417
+-0x1.04aaf4e1a4962p-645
+-0x1.b962f2c49c11ap169
+0x1.6074818509343p-151
+-0x1.6b9946b997353p350
+-0x1.6b8631635d607p-328
+0x1.6893162dc2973p923
+-0x1.0a1c40492986dp-371
+-0x1.23ae72061594ap-113
+0x1.d73d84becb49dp-816
+0x1.545894ebc8944p-487
+-0x1.c006c29733c62p325
+-0x1.745dc305eeb06p-994
+0x1.6cdeb63076b54p420
+0x1.c8f137c690673p906
+-0x1.170ab5609f77cp205
+-0x1.0b11b685a3349p-46
+0x1.7f68672b92eb1p-622
+0x1.66d431dee4bfdp-333
+-0x1.e43304b22a96dp228
+0x1.58ac069095de9p-419
+-0x1.3fcaa6e1f1ac3p654
+-0x1.437ed00080554p-88
+0x1.717ad5a379c50p531
+0x1.9688d6a6dd841p127
+-0x1.189c3732f9ac8p505
+-0x1.8c5da688a249ep871
+0x1.808015df2809ep-647
+0x1.54ccb260c52f6p183
+0x1.ec1574f23f1b5p757
+-0x1.2de0222e50454p-176
+-0x1.dc5715d5ac4f3p-882
+0x1.6fa963199b1fbp389
+-0x1.0a143338c0ff3p149
+0x1.c278a3ec4071cp240
+0x1.7bdb071d7e6ffp-360
+-0x1.e9b7a0af460ddp-809
+0x1.d069e62cf695bp535
+0x1.0f7ba1b172a18p-887
+-0x1.96af5166829b7p399
+-0x1.8f70240823cdbp-65
+-0x1.fcd2d5a63a217p-971
+-0x1.089241ad467f2p-247
+-0x1.3fa3940d58aa8p1022
+-0x1.aff1c0aec4e7dp814
+-0x1.6bad319cfc3bcp-378
+0x1.9c8956c66ba36p-579
+-0x1.6d9393f52ee3fp411
+0x1.e529d23501328p926
+0x1.3ec71520af29cp690
+0x1.787576a795b83p194
+-0x1.ef38147d2dc40p107
+-0x1.22a125ccbb1b2p-308
+0x1.5f5c074be0351p-928
+-0x1.377ed64bec482p390
+-0x1.09eae6f62d4b8p-41
+0x1.9f3fd03635c92p-104
+0x1.cb7d07d13c9efp599
+0x1.49e8154de36a7p538
+-0x1.d68343fe573bfp-736
+-0x1.4beba6b79ba1ep-811
+0x1.927774a125013p221
+-0x1.e4a1e48c33931p-152
+-0x1.b8a3123361eb5p641
+-0x1.909ea08b262f3p960
+0x1.0d1b30600d5b0p822
+-0x1.392420cf4ce19p-690
+-0x1.f9e1f71c0f3a2p-349
+-0x1.75600638cbf0ep-527
+-0x1.788911851a5abp-193
+-0x1.2ab1045fa9103p-471
+-0x1.d9c7f1a19cefdp-44
+0x1.ef5a66b13a5f8p171
+0x1.261c24ba6cdfbp539
+0x1.641945dc01d29p-620
+0x1.5c190276797a1p935
+-0x1.ea76b6a8a9d4ap-656
+0x1.41a117e9931f0p-169
diff -urN glibc-2.17-c758a686/benchtests/exp-inputs glibc-2.17-c758a686/benchtests/exp-inputs
--- glibc-2.17-c758a686/benchtests/exp-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/exp-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,589 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.6200315ce81efp9
+0x1.0000000031579p0
+0x1.000000009b551p0
+0x1.000000067ace6p0
+0x1.6200315ad0fc0p9
+0x1.0000000000060p0
+0x1.00000004237a7p0
+0x1.6200315ad0fb2p9
+0x1.0000000054ac1p0
+0x1.6200315c98bcdp9
+0x1.0000000002d96p0
+0x1.0000000000038p256
+0x1.6200315ad0fafp9
+0x1.6200315d680ecp9
+0x1.0000000000042p0
+0x1.0000000000048p256
+0x1.6200315ad0fbcp9
+0x1.000000000000dp256
+0x1.000000000001ep256
+0x1.0000000000015p256
+0x1.0000000000018p-256
+0x1.000000000002ep0
+0x1.000000000004ep-256
+0x1.000000000001dp-256
+0x1.6200315ad0fb4p9
+0x1.00000002ca5f8p0
+0x1.0000000000017p256
+0x1.0000000000022p0
+0x1.0000000000059p256
+0x1.0000000000028p0
+0x1.6200315ad0fa7p9
+0x1.000000048059cp0
+0x1.0000000000023p256
+0x1.000000000003ap-256
+0x1.0000000000022p-256
+0x1.6200315f211bep9
+0x1.000000000002ep-256
+0x1.0000000000041p256
+0x1.0000000000042p-256
+0x1.6200315ad0fcfp9
+0x1.6200315ad0fd7p9
+0x1.000000004bd6fp0
+0x1.000000000000dp-256
+0x1.6200315ad0fb7p9
+0x1.000000000001fp0
+0x1.0000000000024p-256
+0x1.0000000000058p256
+0x1.6200315ad0fc5p9
+0x1.620030025fbe9p9
+0x1.000000000003dp-256
+0x1.000000000003fp-256
+0x1.0000000000009p256
+0x1.00000005c7304p0
+0x1.0000000000045p-256
+0x1.0000000000011p-256
+0x1.0000000000033p-256
+0x1.0000000000036p256
+0x1.0000000000059p-256
+0x1.0000000000001p-256
+0x1.0000000000052p-256
+0x1.000000045baafp0
+0x1.0000000000032p0
+0x1.00000004a5089p0
+0x1.00000005edb68p0
+0x1.6200315ad0fd1p9
+0x1.0000000080d5bp0
+0x1.0000000000038p0
+0x1.6200315ad0fdbp9
+0x1.000000000005fp256
+0x1.0000000291b1ep0
+0x1.6200315af4bedp9
+0x1.0000000000031p-256
+0x1.6200315aea99bp9
+0x1.00000005ab569p0
+0x1.6200315d47b24p9
+0x1.6200315ad0fd9p9
+0x1.000000000003bp256
+0x1.6200315d31eb9p9
+0x1.000000059a297p0
+0x1.0000000000011p256
+0x1.0000000000021p-256
+0x1.0000000000041p-256
+0x1.0000000000049p0
+0x1.00000006857afp0
+0x1.6200315ceb300p9
+0x1.000000000003bp-256
+0x1.6200315bcaec3p9
+0x1.0000000000018p256
+0x1.00000002f3b77p0
+0x1.6200315ad0fb5p9
+0x1.0000000000027p-256
+0x1.000000054447dp0
+0x1.6200315e84846p9
+0x1.0000000172fefp0
+0x1.00000001c8808p0
+0x1.0000000000003p256
+0x1.000000000003ep-256
+0x1.00000002ed36ep0
+0x1.000000000002ap0
+0x1.00000002ae08bp0
+0x1.000000000005dp-256
+0x1.0000000000063p256
+0x1.000000000003ep0
+0x1.0000000000037p256
+0x1.6200315ad0fb6p9
+0x1.000000000005ep0
+0x1.000000000002ap256
+0x1.0000000000056p256
+0x1.0000000266056p0
+0x1.6200315ad0fdap9
+0x1.000000000002dp0
+0x1.000000000004cp0
+0x1.6200315ad0fb8p9
+0x1.0000000000039p0
+0x1.000000000002ap-256
+0x1.6200315ad0fa5p9
+0x1.0000000000035p256
+0x1.000000000005ep256
+0x1.000000000004cp-256
+0x1.0000000000039p256
+0x1.000000055574fp0
+0x1.0000000000033p256
+0x1.6200315ad0fc2p9
+0x1.62003001fc398p9
+0x1.000000000004ap-256
+0x1.000000000001ap256
+0x1.000000005d813p0
+0x1.6200315ad0fe4p9
+0x1.0000000000030p-256
+0x1.0000000000020p-256
+0x1.0000000066565p0
+0x1.0000000000029p-256
+0x1.6200315ad0fc7p9
+0x1.000000049e880p0
+0x1.0000000609903p0
+0x1.00000005e309fp0
+0x1.0000000000013p256
+0x1.0000000000026p0
+0x1.000000000002dp-256
+0x1.6200315ad0fbdp9
+0x1.000000000000fp256
+0x1.00000001a9d52p0
+0x1.000000000002cp256
+0x1.0000000479d93p0
+0x1.0000000000016p256
+0x1.00000001d7d63p0
+0x1.6200315bd5b13p9
+0x1.00000001097e9p0
+0x1.0000000000030p0
+0x1.6200315d37392p9
+0x1.6200315ad0fe0p9
+0x1.6200315ba6119p9
+0x1.000000000003ep256
+0x1.00000000e87eap0
+0x1.0000000000002p256
+0x1.00000006501c2p0
+0x1.000000000004bp256
+0x1.620030022b98ap9
+0x1.000000000003fp0
+0x1.00000002d0e01p0
+0x1.00000001f6819p0
+0x1.0000000000020p256
+0x1.0000000000021p0
+0x1.000000000005cp256
+0x1.6200315ad0faep9
+0x1.6200315c61515p9
+0x1.0000000000008p256
+0x1.0000000000056p-256
+0x1.00000004f2923p0
+0x1.000000000001ep0
+0x1.0000000000028p256
+0x1.000000000004fp256
+0x1.000000000002cp-256
+0x1.0000000000025p0
+0x1.6200315e1215ap9
+0x1.6200315ad0fb3p9
+0x1.6200315e921dap9
+0x1.6200315ad0fd6p9
+0x1.0000000000049p256
+0x1.000000000004dp256
+0x1.0000000000042p256
+0x1.0000000000051p0
+0x1.6200315d83129p9
+0x1.0000000690278p0
+0x1.0000000000036p0
+0x1.0000000000026p256
+0x1.000000000005fp-256
+0x1.000000000000cp256
+0x1.0000000000007p256
+0x1.000000050a3fep0
+0x1.000000000001fp-256
+0x1.000000000002ep256
+0x1.000000000004ep256
+0x1.6200315f00e77p9
+0x1.6200315ad0fd2p9
+0x1.6200315d4ee5bp9
+0x1.00000004552a6p0
+0x1.6200315ad0fe3p9
+0x1.000000003a2cbp0
+0x1.6200315ad0fdfp9
+0x1.00000002b4894p0
+0x1.0000000000022p256
+0x1.000000023a58ep0
+0x1.6200315ad0fd8p9
+0x1.0000000000029p256
+0x1.6200315efe051p9
+0x1.0000000205d74p0
+0x1.0000000000045p256
+0x1.6200315ad0fb0p9
+0x1.6200315d77cc5p9
+0x1.000000065ac8bp0
+0x1.0000000000037p0
+0x1.6200315ad0fbfp9
+0x1.6200315dacc95p9
+0x1.000000000002fp-256
+0x1.000000000000ep256
+0x1.00000006bf05cp0
+0x1.0000000000051p256
+0x1.0000000000062p0
+0x1.0000000000031p256
+0x1.6200315be943dp9
+0x1.000000000005bp0
+0x1.0000000000045p0
+0x1.6200315e08505p9
+0x1.000000000001bp256
+0x1.0000000000005p256
+0x1.000000000005dp256
+0x1.6200315ad0fc9p9
+0x1.6200315e97676p9
+0x1.0000000000024p0
+0x1.0000000000003p-256
+0x1.6200315ad0fd4p9
+0x1.6200315ee2c3bp9
+0x1.0000000000020p0
+0x1.6200315ad0fdcp9
+0x1.0000000000053p-256
+0x1.000000000004bp-256
+0x1.6200315cafb6ep9
+0x1.000000000003ap256
+0x1.0000000000013p-256
+0x1.0000000000060p256
+0x1.6200315ad0fd3p9
+0x1.0000000000009p-256
+0x1.000000000005cp-256
+0x1.00000000acff5p0
+0x1.000000000004dp0
+0x1.0000000000050p256
+0x1.6200315e34fc6p9
+0x1.0000000000044p-256
+0x1.000000000002dp256
+0x1.0000000000062p256
+0x1.6200315bf4442p9
+0x1.6200315ad0fabp9
+0x1.000000000003cp0
+0x1.0000000000019p256
+0x1.000000000000cp-256
+0x1.000000000000bp-256
+0x1.0000000000063p0
+0x1.000000000003cp256
+0x1.0000000000061p-256
+0x1.6200315ad0fb1p9
+0x1.00000006456f9p0
+0x1.6200315ad0fb9p9
+0x1.6200315ad0fccp9
+0x1.6200315ad0fd5p9
+0x1.6200315ad0fd0p9
+0x1.0000000353687p0
+0x1.6200315ad0facp9
+0x1.000000000005bp256
+0x1.6200315e8bb51p9
+0x1.6200315d73094p9
+0x1.000000027bdbap0
+0x1.000000006f2b7p0
+0x1.0000000000057p0
+0x1.0000000298327p0
+0x1.000000019a7f7p0
+0x1.6200315b7b9ddp9
+0x1.000000041cf9ep0
+0x1.0000000000040p256
+0x1.0000000000059p0
+0x1.6200315ad0fe2p9
+0x1.0000000000056p0
+0x1.0000000000034p-256
+0x1.6200315cf49aep9
+0x1.0000000000017p-256
+0x1.000000000bae8p0
+0x1.6200315ad0fc1p9
+0x1.00000004c336dp0
+0x1.0000000000032p256
+0x1.6200315ae9fb5p9
+0x1.000000000004cp256
+0x1.0000000000057p-256
+0x1.0000000000035p-256
+0x1.6200315d4d455p9
+42
+0x1.6200315ad0fa8p9
+0x1.00000002502f2p0
+0x1.6200315ad0fa3p9
+0x1.000000000005dp0
+0x1.0000000000012p-256
+0x1.0000000000006p256
+0x1.0000000000028p-256
+0x1.0000000000044p256
+0x1.000000000004ap0
+0x1.00000000927ffp0
+0x1.0000000000044p0
+0x1.00000006f8909p0
+0x1.6200315ad0fc8p9
+0x1.0000000000061p0
+0x1.000000012a7e8p0
+0x1.000000000000fp-256
+0x1.6200315b6f0a0p9
+0x1.00000001b92adp0
+0x1.000000000005ep-256
+0x1.6200315d436fep9
+0x1.000000004301dp0
+0x1.0000000000023p0
+0x1.000000000005ap0
+0x1.6200315e7189ap9
+0x1.0000000000033p0
+0x1.6200315c19f20p9
+0x1.0000000000040p-256
+0x1.0000000000031p0
+0x1.0000000000027p0
+0x1.6200315d1dfeap9
+0x1.0000000588fc5p0
+0x1.000000015ad42p0
+0x1.6200300248616p9
+0x1.0000000000021p256
+0x1.6200315ad0fcap9
+0x1.6200315ad0fbbp9
+0x1.6200315ad0fbep9
+0x1.0000000000052p0
+0x1.0000000000016p-256
+0x1.0000000000005p-256
+0x1.0000000000046p256
+0x1.000000000003cp-256
+0x1.0000000000054p0
+0x1.000000034ce7ep0
+0x1.0000000000050p-256
+0x1.000000000002fp256
+0x1.6200315f2a44bp9
+0x1.6200315ad0fa2p9
+0x1.6200315f53addp9
+0x1.0000000000043p256
+0x1.000000000002bp0
+0x1.6200315b9a51fp9
+0x1.62003002148e6p9
+0x1.0000000000039p-256
+0x1.0000000000023p-256
+0x1.00000006d45eep0
+0x1.000000000002cp0
+0x1.0000000000055p256
+0x1.000000000000ap256
+0x1.0000000000010p-256
+0x1.0000000000047p-256
+0x1.000000000002fp0
+0x1.0000000000001p256
+0x1.000000040ff8cp0
+0x1.0000000121a96p0
+0x1.6200315c8b9bcp9
+0x1.000000000001cp-256
+0x1.0000000000063p-256
+0x1.0000000000006p-256
+0x1.000000000001ap-256
+0x1.6200300247b12p9
+0x1.0000000000046p0
+0x1.0000000000036p-256
+0x1.00000004bcb64p0
+0x1.0000000000032p-256
+0x1.0000000000057p256
+0x1.6200315e03518p9
+0x1.00000005331abp0
+0x1.000000000001ep-256
+0x1.6200315f76ad3p9
+0x1.000000000004dp-256
+0x1.000000000003bp0
+0x1.00000005b6032p0
+0x1.0000000000007p-256
+0x1.6200315ad0fc4p9
+0x1.0000000000051p-256
+0x1.000000000005cp0
+0x1.6200315ad0fc6p9
+0x1.0000000100a97p0
+0x1.0000000000040p0
+0x1.000000000004fp0
+0x1.000000000003dp0
+0x1.0000000000027p256
+0x1.0000000000000p-256
+0x1.6200315b10d8dp9
+0x1.0000000000060p-256
+0x1.6200315ad0fcdp9
+0x1.6200315ad0fa4p9
+0x1.6200315d07f8ep9
+0x1.000000000001bp-256
+0x1.0000000000041p0
+0x1.6200315ad0fe1p9
+0x1.0000000000053p0
+0x1.00000003168edp0
+0x1.0000000000000p256
+0x1.0000000000002p-256
+0x1.6200315bd4cecp9
+0x1.0000000000047p256
+0x1.6200315b2b8adp9
+0x1.000000000002bp256
+0x1.0000000000055p-256
+0x1.000000000004ap256
+0x1.00000006c9b25p0
+0x1.0000000000054p-256
+0x1.0000000000047p0
+0x1.6200315d8ee5dp9
+0x1.6200315b74b4cp9
+0x1.000000000005ap256
+0x1.0000000000043p-256
+0x1.0000000000055p0
+0x1.0000000000019p-256
+0x1.000000031d0f6p0
+0x1.00000006ede40p0
+0x1.00000002152cfp0
+0x1.6200315f61210p9
+0x1.6200315ad0fadp9
+0x1.000000044ea9dp0
+0x1.0000000000050p0
+0x1.0000000000024p256
+0x1.000000022b033p0
+0x1.0000000000043p0
+0x1.000000000001fp256
+0x1.0000000000034p0
+0x1.0000000000025p-256
+0x1.0000000000034p256
+0x1.000000000001dp0
+0x1.000000000005ap-256
+0x1.6200315ad0fddp9
+0x1.0000000577cf3p0
+0x1.000000051b6d0p0
+0x1.00000006143ccp0
+0x1.0000000000010p256
+0x1.000000061ee95p0
+0x1.6200315c3eed5p9
+0x1.00000000dfa98p0
+0x1.0000000000049p-256
+0x1.0000000000052p256
+0x1.0000000000053p256
+0x1.000000000005bp-256
+0x1.000000000000ep-256
+0x1.6200315e8ca3cp9
+0x1.6200315ad0faap9
+0x1.0000000142a95p0
+0x1.6200315ad0fcep9
+0x1.6200315ad0fcbp9
+0x1.6200315ef86c6p9
+0x1.0000000000026p-256
+0x1.6200315ed1587p9
+0x1.000000067021dp0
+0x1.00000001e72bep0
+0x1.6200315ad0fbap9
+0x1.00000000d6d46p0
+0x1.0000000000058p0
+0x1.00000000a42a3p0
+0x1.6200315b50c42p9
+0x1.6200315c4ee10p9
+0x1.0000000416795p0
+0x1.0000000000014p-256
+0x1.0000000000037p-256
+0x1.6200315ad0fa6p9
+0x1.0000000000004p-256
+0x1.0000000000054p256
+0x1.000000018254ap0
+0x1.6200315dc2365p9
+0x1.0000000000015p-256
+0x1.000000000004fp-256
+0x1.0000000665754p0
+0x1.0000000000046p-256
+0x1.6200315b2ba38p9
+0x1.000000000002bp-256
+0x1.6200315ba202ep9
+0x1.0000000000008p-256
+0x1.0000000359e90p0
+0x1.00000004dae48p0
+0x1.000000000001cp256
+0x1.0000000000062p-256
+0x1.0000000000048p0
+0x1.000000000003fp256
+0x1.6200315bcd48bp9
+0x1.6200315ad0fa9p9
+0x1.0000000000030p256
+0x1.6200315d64448p9
+0x1.0000000089aadp0
+0x1.6200315f0aa29p9
+0x1.00000005d1dcdp0
+0x1.6200315ad0fdep9
+0x1.0000000000061p256
+0x1.0000000000058p-256
+0x1.0000000000012p256
+0x1.000000000005fp0
+0x1.000000000003ap0
+0x1.000000000000bp256
+0x1.000000000004bp0
+0x1.0000000000038p-256
+0x1.0000000000029p0
+0x1.0000000000025p256
+0x1.000000000001dp256
+0x1.0000000000004p256
+0x1.6200315e2240ep9
+0x1.6200315ad0fc3p9
+0x1.6200315b2bbc3p9
+0x1.0000000000014p256
+0x1.0000000078009p0
+0x1.000000000003dp256
+0x1.6200315db488fp9
+0x1.000000000000ap-256
+0x1.000000000004ep0
+0x1.0000000000035p0
+0x1.0000000000048p-256
+# Slow path with computation in 144 bit precision.
+# Implemented in: sysdeps/ieee754/dbl-64/mpexp.c
+## name: 144bits
+0x1.0000000002d96p0
+0x1.000000000bae8p0
+0x1.0000000031579p0
+0x1.000000003a2cbp0
+0x1.000000004301dp0
+0x1.000000004bd6fp0
+0x1.0000000054ac1p0
+0x1.000000005d813p0
+0x1.00000005ab569p0
+0x1.00000005b6032p0
+0x1.00000005c7304p0
+0x1.00000005d1dcdp0
+0x1.00000005e309fp0
+0x1.00000005edb68p0
+0x1.0000000609903p0
+0x1.00000006143ccp0
+0x1.000000061ee95p0
+0x1.00000006456f9p0
+0x1.00000006501c2p0
+0x1.000000065ac8bp0
+0x1.0000000665754p0
+0x1.000000067021dp0
+0x1.000000067ace6p0
+0x1.00000006857afp0
+0x1.0000000690278p0
+0x1.00000006bf05cp0
+0x1.00000006c9b25p0
+0x1.00000006d45eep0
+0x1.00000006ede40p0
+0x1.00000006f8909p0
+0x1.62003000076d2p9
+0x1.6200300017e2cp9
+0x1.6200300023ffbp9
+0x1.620030002b135p9
+0x1.6200300030a8bp9
+0x1.620030003123fp9
+0x1.62003000652b3p9
+0x1.620030007bf4ap9
+0x1.6200300081a79p9
+0x1.6200300090289p9
+0x1.620030009dcbbp9
+0x1.62003000c07cep9
+0x1.62003000ee5dbp9
+0x1.62003000fa646p9
+0x1.62003000fe2cap9
+0x1.6200300125996p9
+0x1.6200300130865p9
+0x1.6200300133673p9
+0x1.6200300136fdfp9
+0x1.6200300150360p9
+0x1.620030016c416p9
+0x1.6200315ee2c3bp9
+0x1.6200315ef86c6p9
+0x1.6200315efe051p9
+0x1.6200315f00e77p9
+0x1.6200315f0aa29p9
+0x1.6200315f211bep9
+0x1.6200315f2a44bp9
+0x1.6200315f53addp9
+0x1.6200315f61210p9
+0x1.6200315f76ad3p9
+# Slowest path with computation in 768 bit precision.
+# Implemented in: sysdeps/ieee754/dbl-64/mpexp.c
+## name: 768bits
+708.00096423260981737257679924368858
+0x1.00000027f5496p0
+0x1.0000015853da7p0
+0x1.0000098e5e007p0
+0x1.0000099a1ac59p0
diff -urN glibc-2.17-c758a686/benchtests/ffs-inputs glibc-2.17-c758a686/benchtests/ffs-inputs
--- glibc-2.17-c758a686/benchtests/ffs-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/ffs-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,103 @@
+## args: int
+## ret: int
+## includes: strings.h
+0x33ed4
+0x2b
+0xba3f6965
+0x4
+0x927e0ceb
+0x7
+0x0
+0x3418b
+0x318c
+0x19a7402
+0x699d4586
+0x392e4
+0x66
+0x7fc86
+0x13d
+0x2aa7a61
+0x29d
+0x1d729b2
+0x13a
+0x7
+0x11b958
+0x3a6a23
+0x1b0d749
+0x1f12ecb
+0x21
+0x285a
+0x24702
+0x88799
+0x10b
+0x5
+0x572739
+0x12f0
+0xa36c89
+0x1
+0x1f58
+0x33743ce8
+0xbefe
+0x7
+0x3
+0xdc
+0x1713e
+0x8d28
+0xbb0ef6d
+0x3c7
+0x2
+0xd0e53fcc
+0x2e2
+0x762
+0xf
+0x35
+0x2fc6e7a
+0x105
+0x58e3
+0x3
+0x16aa
+0x7b1b38
+0x0
+0x2b
+0x99538d
+0xb3234
+0x322
+0x806bd
+0xd73
+0x503a
+0x7d
+0xb88bb919
+0x4f5
+0x1f757c4f
+0xc37e5
+0xd9e519
+0xf0a
+0xe9f1e8d
+0x4664
+0x4
+0x1
+0x1
+0x0
+0x1ee25
+0x75a24
+0x73c57b0
+0x300e9
+0x9
+0x5b
+0x6d25
+0x38bf436e
+0xf4724994
+0x2b
+0xb8a5de
+0x4a
+0x281da
+0x905db8
+0x3d606
+0x6c200855
+0x21
+0x354e0dfa
+0x2
+0x1
+0xf8297c3
+0x2fed30
+0xd4ab7
diff -urN glibc-2.17-c758a686/benchtests/ffsll-inputs glibc-2.17-c758a686/benchtests/ffsll-inputs
--- glibc-2.17-c758a686/benchtests/ffsll-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/ffsll-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,103 @@
+## args: long long
+## ret: int
+## includes: string.h
+0xedada05aba9463
+0x7c4e52bbc75241
+0x16ab7ad
+0x20ec623a4ccdb
+0x1e24e9ed059d
+0x3acf
+0x6eb28fbb803a274
+0xc1
+0x25fc2148c092529f
+0x1d10ba752e5
+0x322bd878b3
+0x26fa11b70e20
+0x30cd6a05a17ca14b
+0x1591d3a2d0cc7
+0x8119d76e910c1a
+0x2b24d878fee314
+0x1c
+0x3022a3955
+0xedc7b7b6a818
+0x40
+0xf28
+0xa2ecb
+0x56a7e4211a2ca38
+0x6a0ee2316382
+0x634
+0x58
+0x4fad66fb43f5
+0x1f004b76
+0x7
+0x6ff84575bb70af
+0x5d5b4e
+0xaa614b130
+0x15504
+0x1a2e2e7e
+0x54b0f28b383cc
+0x6
+0x2a2a3440b7
+0x158a132dc0c20836
+0x77aa8e9c91c43b1
+0x33f526901fc08594
+0x7bf156c
+0xb458b5e
+0x6289fcb44
+0x4d84973bbd8c00
+0x2e8c2de648
+0x150fab
+0x16ebb7bae02934
+0x485285b6065272
+0xfdde0b16299
+0x747d3c940cb
+0x1bdb379
+0xfcb26a
+0x20b90cc92bbef
+0x46
+0xf0e681aaec28b2d5
+0x10c738cf1109
+0x8509bef69993908
+0x3332
+0x219167d
+0x7eb19c6f88f
+0x32a1b4ead441e65
+0xdc93
+0x327a7e6676802312
+0xcc7296c957
+0xb0b20c47c6b500a
+0x55d614072f1
+0x3c8e4
+0x1a
+0x5809b7ae
+0x2
+0x1525
+0x13
+0x6e
+0x1b
+0x7c58cf
+0x2f5347197bcf6
+0x516a0d576e2c3
+0x4f3cf315
+0x3c16a7531f3a1
+0xa929f8
+0x1ce88e5
+0x6ab464e92bc3
+0x3ff39bb2
+0xea9921
+0xb3009
+0x39b037793bef0da0
+0x5d
+0x39a9989019c92
+0x108bae
+0x239c1c
+0x1851dc9178f4
+0x1fc6f70
+0x38
+0xa8f606a147
+0x30dac66b
+0x76d377c20b0e836
+0x2425
+0x4e5a82884
+0x7a1f128a894728
+0xb5f0af24e3f7347
diff -urN glibc-2.17-c758a686/benchtests/json-lib.c glibc-2.17-c758a686/benchtests/json-lib.c
--- glibc-2.17-c758a686/benchtests/json-lib.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/json-lib.c 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,178 @@
+/* Simple library for printing JSON data.
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#include
+
+#include "json-lib.h"
+
+void
+json_init (json_ctx_t *ctx, unsigned int indent_level, FILE *fp)
+{
+ ctx->indent_level = indent_level;
+ ctx->fp = fp;
+ ctx->first_element = true;
+}
+
+static void
+do_indent (json_ctx_t *ctx)
+{
+ char indent_buf[ctx->indent_level + 1];
+
+ memset (indent_buf, ' ', ctx->indent_level + 1);
+ indent_buf[ctx->indent_level] = '\0';
+
+ fputs (indent_buf, ctx->fp);
+}
+
+void
+json_document_begin (json_ctx_t *ctx)
+{
+ do_indent (ctx);
+
+ fputs ("{\n", ctx->fp);
+
+ ctx->indent_level++;
+ ctx->first_element = true;
+}
+
+void
+json_document_end (json_ctx_t *ctx)
+{
+ ctx->indent_level--;
+
+ do_indent (ctx);
+
+ fputs ("\n}", ctx->fp);
+}
+
+void
+json_attr_object_begin (json_ctx_t *ctx, const char *name)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ",\n");
+
+ do_indent (ctx);
+
+ fprintf (ctx->fp, "\"%s\": {\n", name);
+
+ ctx->indent_level++;
+ ctx->first_element = true;
+}
+
+void
+json_attr_object_end (json_ctx_t *ctx)
+{
+ ctx->indent_level--;
+ ctx->first_element = false;
+
+ fputs ("\n", ctx->fp);
+
+ do_indent (ctx);
+
+ fputs ("}", ctx->fp);
+}
+
+void
+json_attr_string (json_ctx_t *ctx, const char *name, const char *s)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ",\n");
+ else
+ ctx->first_element = false;
+
+ do_indent (ctx);
+
+ fprintf (ctx->fp, "\"%s\": \"%s\"", name, s);
+}
+
+void
+json_attr_double (json_ctx_t *ctx, const char *name, double d)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ",\n");
+ else
+ ctx->first_element = false;
+
+ do_indent (ctx);
+
+ fprintf (ctx->fp, "\"%s\": %g", name, d);
+}
+
+void
+json_array_begin (json_ctx_t *ctx, const char *name)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ",\n");
+
+ do_indent (ctx);
+
+ fprintf (ctx->fp, "\"%s\": [", name);
+
+ ctx->indent_level++;
+ ctx->first_element = true;
+}
+
+void
+json_array_end (json_ctx_t *ctx)
+{
+ ctx->indent_level--;
+ ctx->first_element = false;
+
+ fputs ("]", ctx->fp);
+}
+
+void
+json_element_double (json_ctx_t *ctx, double d)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ", %g", d);
+ else
+ {
+ fprintf (ctx->fp, "%g", d);
+ ctx->first_element = false;
+ }
+}
+
+void
+json_element_object_begin (json_ctx_t *ctx)
+{
+ if (!ctx->first_element)
+ fprintf (ctx->fp, ",");
+
+ fputs ("\n", ctx->fp);
+
+ do_indent (ctx);
+
+ fputs ("{\n", ctx->fp);
+
+ ctx->indent_level++;
+ ctx->first_element = true;
+}
+
+void
+json_element_object_end (json_ctx_t *ctx)
+{
+ ctx->indent_level--;
+ ctx->first_element = false;
+
+ fputs ("\n", ctx->fp);
+
+ do_indent (ctx);
+
+ fputs ("}", ctx->fp);
+}
diff -urN glibc-2.17-c758a686/benchtests/json-lib.h glibc-2.17-c758a686/benchtests/json-lib.h
--- glibc-2.17-c758a686/benchtests/json-lib.h 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/json-lib.h 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,47 @@
+/* Simple library for printing JSON data.
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef __JSON_LIB_H__
+#define __JSON_LIB_H__
+
+#include
+#include
+
+struct json_ctx
+{
+ FILE *fp;
+ unsigned int indent_level;
+ bool first_element;
+};
+
+typedef struct json_ctx json_ctx_t;
+
+void json_init (json_ctx_t *ctx, unsigned int indent_level, FILE *fp);
+void json_document_begin (json_ctx_t *ctx);
+void json_document_end (json_ctx_t *ctx);
+void json_attr_object_begin (json_ctx_t *ctx, const char *name);
+void json_attr_object_end (json_ctx_t *ctx);
+void json_attr_string (json_ctx_t *ctx, const char *name, const char *s);
+void json_attr_double (json_ctx_t *ctx, const char *name, double d);
+void json_array_begin (json_ctx_t *ctx, const char *name);
+void json_array_end (json_ctx_t *ctx);
+void json_element_double (json_ctx_t *ctx, double d);
+void json_element_object_begin (json_ctx_t *ctx);
+void json_element_object_end (json_ctx_t *ctx);
+
+#endif
diff -urN glibc-2.17-c758a686/benchtests/log2-inputs glibc-2.17-c758a686/benchtests/log2-inputs
--- glibc-2.17-c758a686/benchtests/log2-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/log2-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,203 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.fe80b73f2f763p-485
+0x1.63fbf19a1a79ap-572
+0x1.63fb4717f36abp-594
+0x1.6a75240c62b59p-162
+0x1.43ad207275c97p-830
+0x1.1c24c26efbca5p-673
+0x1.c37f23c54205ap655
+0x1.fdc0e348d5bbbp722
+0x1.0e2e51e9645a9p503
+0x1.3291a6e483d75p-941
+0x1.6b4f9118d9ddfp329
+0x1.618e84faa68d1p-696
+0x1.7f8a7417686dbp577
+0x1.3fc6a169fc1a2p662
+0x1.6631142da8476p-11
+0x1.67cc768721f6ep159
+0x1.7439b48fb7f01p-744
+0x1.17cad4e754e3fp-833
+0x1.6ca873e653646p35
+0x1.6283941b425d9p-322
+0x1.38de764542fc9p-939
+0x1.6a5706bcca88ep318
+0x1.8b9e71efccf99p-671
+0x1.61d7a07ca117fp-246
+0x1.66707402ed87fp468
+0x1.650ff2faef0c4p-185
+0x1.6afe3332695d8p-382
+0x1.5c05817f1aec0p861
+0x1.61bb62e0a68cdp625
+0x1.678e93ded24cep-614
+0x1.d2b6e60469afdp-753
+0x1.abb9a6eed73b2p-731
+0x1.21a4014034f31p-718
+0x1.bdbe3237b3785p779
+0x1.0f115229b9a52p-437
+0x1.6154e26a722b2p388
+0x1.64e982a82df60p346
+0x1.61bdc663af57bp799
+0x1.091f7362aa8bfp-871
+0x1.e35153cac25b3p873
+0x1.6402b62fbebf7p-329
+0x1.680d413ef3777p775
+0x1.8620d183bd0a7p-670
+0x1.e0e017206206ep-129
+0x1.66d9419f2852cp-526
+0x1.5a07e14aa7e55p-888
+0x1.b91ed57fdd3f2p1017
+0x1.7c58838087ef5p519
+0x1.2d0676720fb21p-145
+0x1.64bcd3d675a60p-390
+0x1.6204f6b121d0dp255
+0x1.6af30218cdccfp-955
+0x1.dcf3f2c2809e1p-821
+0x1.6269366dd0672p436
+0x1.dd117726eefe5p93
+0x1.65de442c50bedp-28
+0x1.10c8b6ab1a5f0p-313
+0x1.6855f7474d2eep828
+0x1.6659b0863e8d0p-545
+0x1.7a80b6736105cp-566
+0x1.3ff7a01b0590cp560
+0x1.6559f386d6ca3p-696
+0x1.68e96369693cep812
+0x1.8d29a4b500b0dp537
+0x1.65b347d411765p826
+0x1.669080c6f3a8bp-121
+0x1.faabb750c7baep548
+0x1.670f72a6f1cd1p834
+0x1.6b75063adb10dp396
+0x1.f030420faed63p-788
+0x1.a20214aeefbe0p186
+0x1.8b3af704f3526p449
+0x1.6663a7e181023p-643
+0x1.e1f6d671b95f6p978
+0x1.6aea24ab9c956p84
+0x1.6318c0bc48f9bp-996
+0x1.6603e22b2d2d1p-257
+0x1.6b59906a87ddfp-896
+0x1.665307aea1415p-153
+0x1.6d9be19aca354p-887
+0x1.640977cfbd7dep-564
+0x1.1c6de3bf6f82ep909
+0x1.24c452230e994p705
+0x1.6b2c473cd0623p-626
+0x1.beab17bff5e9ap-708
+0x1.680445b6d430bp465
+0x1.454de219171f0p158
+0x1.6818a49dfb38dp20
+0x1.15cb95403d2a4p622
+0x1.1338a5210da9ap-78
+0x1.651fc5045320ep-861
+0x1.657ed41aace5bp-2
+0x1.ff563189469ffp-44
+0x1.62c811ba1d5e4p1
+0x1.61f23108289f9p-422
+0x1.168066765d078p875
+0x1.a671a61b114a2p124
+0x1.4471a372f703ep252
+0x1.623ae599ffa3fp98
+0x1.531085de4958bp441
+0x1.4d6172de45534p-911
+0x1.e5dcc2b3d23acp-437
+0x1.67cac1dccdfcdp985
+0x1.0ac1a5608baf9p-896
+0x1.654cd778b1e36p837
+0x1.929004c882902p-552
+0x1.594a8c88348b0p-970
+0x1.dc7f4509ddfd6p-832
+0x1.d49846a313b79p998
+0x1.6314b3a5ac85bp1018
+0x1.d1d1325f66b7ep-763
+0x1.6592a24f64047p403
+0x1.bd47a2a1cc99fp-486
+0x1.644266dda9ad2p778
+0x1.6b2e821002783p26
+0x1.69936648ba64ap-143
+0x1.61d2a2a99f470p-970
+0x1.6599c252868bap-840
+0x1.3590b2e6af870p56
+0x1.6b8311b9abc91p-961
+0x1.29d1a705c6a3bp-660
+0x1.6815d5d44778ap945
+0x1.6ae36036fcee1p153
+0x1.2034b640f0f4ap-3
+0x1.84fec67d11992p85
+0x1.1fa1a74c0af59p-478
+0x1.64de9092a8789p-784
+0x1.701bf3e5b0120p243
+0x1.63ac048ca107bp-666
+0x1.0095c464cfc5ap58
+0x1.5f2d0041e5db2p362
+0x1.62fa34a5c1bcap-412
+0x1.cacf042abda4fp-54
+0x1.647a95ef487b3p224
+0x1.f8c2353681cbep905
+0x1.67bfe67714076p366
+0x1.6779865baf78fp-291
+0x1.9395b1beca360p361
+0x1.6521449e5ffe2p-671
+0x1.667567cd5db59p-293
+0x1.511df0b72a30bp30
+0x1.65f8251162417p642
+0x1.d0a0825ffb10cp210
+0x1.63f2f5ba5415ap-716
+0x1.65681206c6030p-580
+0x1.5254d49bacf90p-849
+0x1.49dd92d7cf7fep-208
+0x1.688f565603c25p473
+0x1.6439333b5f705p-589
+0x1.663922acbdbb0p208
+0x1.5a2631eb8325cp490
+0x1.6171d410fcbbfp683
+0x1.6ae4d6f8f091ep511
+0x1.ae8ff53250e31p-1012
+0x1.f182e535fab45p-332
+0x1.653f84e9e8c3fp-34
+0x1.99a737ac5cdadp328
+0x1.301bb0b8607cbp232
+0x1.706fa3fcd1d85p337
+0x1.b650863c8ead0p227
+0x1.64b9045b2d59dp740
+0x1.681c66eda34d4p-113
+0x1.f881050ae3a0cp-51
+0x1.08bb778ebc5b6p-28
+0x1.815fe4e6e4b72p100
+0x1.691b6172a5798p-576
+0x1.684f74d76367cp1010
+0x1.64d044c4779d2p-207
+0x1.690c021b1ae97p454
+0x1.9d0ec359f67d5p77
+0x1.43686724be426p774
+0x1.678821f848886p-43
+0x1.17abd1fcb3d3bp532
+0x1.616ee4093684fp-43
+0x1.631ec6e8ef9a7p264
+0x1.63aa97d7de121p795
+0x1.b172e7750d144p841
+0x1.6836107e18e77p-826
+0x1.65957572dedc3p-339
+0x1.66b8d2cad9382p301
+0x1.c8f410709f858p-761
+0x1.6a2093c2b009dp-1013
+0x1.b97a45fb7dad5p660
+0x1.8150734f7fc95p40
+0x1.6ab8a053c9089p-246
+0x1.6b81e74a6293ep-813
+0x1.251a74cf150acp779
+0x1.44cf3370a55eap703
+0x1.32e2e35cc77f3p-4
+0x1.c0c6049562d13p-997
+0x1.a050f54285fb8p-397
+0x1.68ada319f3033p748
+0x1.b2f37264e0acbp753
+0x1.617614c5ecea7p137
+0x1.b01c803ac06b1p559
+0x1.4a19f60ad4238p-223
+0x1.6314648785495p-40
+0x1.6936664ef255fp943
+0x1.6208f15a6484fp464
+0x1.6b1244514989ep-886
diff -urN glibc-2.17-c758a686/benchtests/log-inputs glibc-2.17-c758a686/benchtests/log-inputs
--- glibc-2.17-c758a686/benchtests/log-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/log-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,295 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.0c5e3365a2d95p0
+0x1.037414ff63ab9p0
+0x1.fc9366fa4c3a0p-1
+0x1.f710159a37ab9p-1
+0x1.5576e114e4f7cp-961
+0x1.9d3382c6679b7p-1
+0x1.f9e37774c7510p-1
+0x1.058622e63af9dp0
+0x1.fa62a3b5d47b5p-1
+0x1.01fb737f14c41p250
+0x1.fc7952a4bde83p-1
+0x1.b68a54ad54fb4p-320
+0x1.b8978216476a5p837
+0x1.345bf2c9c6238p-638
+0x1.580da4a80849ap197
+0x1.fb0f43269facap-1
+0x1.065f47ccd6b6cp0
+0x1.db1317a87c872p-928
+0x1.f563a1330ee1bp-1
+0x1.8352661de852dp-1
+0x1.887750a7ad5d0p315
+0x1.385ed12583117p674
+0x1.ff610285e1e46p-1
+0x1.02e063a2777f0p-254
+0x1.6b0f9482349a9p-489
+0x1.f0413135a3a88p430
+0x1.1ec910ecf9419p2
+0x1.caab24b23bfdap-1
+0x1.42d83712a1fabp-995
+0x1.01d4b06dc2ce1p-2
+0x1.c10a94cb4f93dp2
+0x1.071a5441b3cabp0
+0x1.04e8940083142p504
+0x1.5083603bf110cp-660
+0x1.f5312171625f3p-1
+0x1.f15370065e66dp-1
+0x1.f4de71c3efa90p-1
+0x1.072a679084c2ep0
+0x1.f89d125e68705p-1
+0x1.31a5450e17b4fp10
+0x1.036d1462f82d5p-1
+0x1.54f131208767bp0
+0x1.016fc65a58dd9p0
+0x1.24b2c009625bfp-512
+0x1.2898b1cc9ddc8p-1
+0x1.0270851f17bb1p-241
+0x1.eb1f03c6aa4d3p38
+0x1.d29a93f1faf4fp964
+0x1.d31de19a4e829p140
+0x1.f8d260eeb5cefp-1
+0x1.f259a4bc8f770p-1
+0x1.8b9016448c4ccp-105
+0x1.240f40168110bp-253
+0x1.06fb26943be9bp0
+0x1.9bae861967209p87
+0x1.51fcc64d69563p-48
+0x1.f4ff2413b004bp-1
+0x1.387d65055d963p4
+0x1.1c5705c916859p929
+0x1.073be54be8356p0
+0x1.544871c917766p-1
+0x1.398536e090d37p-79
+0x1.f34707ce261e5p-1
+0x1.2e5792109f59bp593
+0x1.075bd0ce07ef0p0
+0x1.0ef545b2e5627p0
+0x1.b2aa170bed688p-919
+0x1.e341461098908p984
+0x1.eacd43dea8eb2p-1
+0x1.18c2a0ab6598bp265
+0x1.219df5338fbc1p482
+0x1.a9a0d4ceb201dp2
+0x1.c0a6467baf54dp-23
+0x1.0b499489342c1p361
+0x1.f7c1f18cae6f4p-42
+0x1.d8dea4350fb7fp627
+0x1.0541421affe22p0
+0x1.574bd3c94bdc9p-528
+0x1.9aa814150ab62p-1
+0x1.cab9532515b30p10
+0x1.01e446e6b365ep0
+0x1.04ef17a8014c7p0
+0x1.fd91b3dc4e166p-98
+0x1.9e879318176aap-448
+0x1.605e9760da702p457
+0x1.3e1d3541f8a73p131
+0x1.ce2a303076cbap-9
+0x1.f72021eaea3b7p-547
+0x1.3384548e90a6dp222
+0x1.0215143216bbap0
+0x1.f546109b8e222p-1
+0x1.b828c4971379dp779
+0x1.0465440f18b39p0
+0x1.00a302042eb49p0
+0x1.9914e6bc2d08dp-637
+0x1.aa8176fc83146p3
+0x1.0dc041c8c9084p788
+0x1.c17f14032741cp157
+0x1.f8c3355f2c74fp-1
+0x1.c0c373cb8d3abp-568
+0x1.ffb897f081c1cp-1
+0x1.7da4d5c6ecca5p666
+0x1.1f8dd20fc3029p-196
+0x1.f39d30de8b00cp-1
+0x1.5710417d88db0p526
+0x1.f552e4572e2e0p-1
+0x1.ce97f507ac81ep-196
+0x1.fe0b407a35cf9p-1
+0x1.ffba3091bc8d9p-1
+0x1.f79207f982a95p907
+0x1.f3bc85de399b1p-1
+0x1.f6a9075959280p-1
+0x1.9971a0d49cffcp0
+0x1.fdd4d11db35dcp-1
+0x1.9f453762d3790p-708
+0x1.d1122424ad397p717
+0x1.fd71a20e66628p-1
+0x1.007c20fefd661p0
+0x1.0137d702a29bdp0
+0x1.93e9047c983bfp-16
+0x1.10cdf415042b5p0
+0x1.fe6d8639abca0p-1
+0x1.f7278572f6b66p-1
+0x1.0673e76436ebcp550
+0x1.f34833c8c70bcp-1
+0x1.1b530128cc02dp8
+0x1.ae48a5851e7a3p-236
+0x1.98bdb6dff9d19p74
+0x1.fbfd85f14418ep-1
+0x1.070dd2780fcdap22
+0x1.07a8f5726ae12p0
+0x1.9a2ac2db753f8p-892
+0x1.1461250716450p57
+0x1.3b5be316bc364p-3
+0x1.a2143693816d1p862
+0x1.9418a18831f94p-502
+0x1.ea8306738954cp993
+0x1.fff14533df4f3p-1
+0x1.0693706ddc70cp1
+0x1.59e3947bce39dp-4
+0x1.fa64a24c3030ap-1
+0x1.044ce02e484e6p0
+0x1.a272b5bdc397ep327
+0x1.1c4577fcbe052p4
+0x1.00ede267fbd99p0
+0x1.028e26e56b7dfp0
+0x1.005cf758f0dd7p635
+0x1.bca6110bd6b05p46
+0x1.11e7148e3f7e4p137
+0x1.616e31d9c78afp898
+0x1.f2eff0abf8fa1p-1
+0x1.fd2275eabbc55p-1
+0x1.e8f5a410e1a82p-1
+0x1.7124e6de4fec6p342
+0x1.95b03344f67d4p74
+0x1.fb46137fbdd00p-1
+0x1.78f9961f0c11bp936
+0x1.2d3230575fa1dp-23
+0x1.5cd631b404c9dp564
+0x1.6a7645d7bc818p-901
+0x1.1daca63403190p-160
+0x1.64b4929d7185dp7
+0x1.f95a819a0c75ep-1
+0x1.fa2a9599f61c2p-1
+0x1.f68b82c96e845p-1
+0x1.b5c634c9a19f0p-551
+0x1.706c63689c814p917
+0x1.fa1134f93ff1bp0
+0x1.b8e642ca65132p12
+0x1.fdb645fc3558fp-1
+0x1.9909b15771ca6p2
+0x1.f4f6132242443p-1
+0x1.c02b65da31a5cp-9
+0x1.8b40c0afd5a42p679
+0x1.1d9f80f2849ebp1015
+0x1.3426c343358d6p608
+0x1.f634874d073bep-1
+0x1.016ab0aff9b7dp0
+0x1.f1f34486c65e2p-1
+0x1.022e8230e4320p0
+0x1.fbe0104a4b316p-1
+0x1.55323737c4d7bp-69
+0x1.fa3d13e0efecep-1
+0x1.2a7e11b35214bp281
+0x1.9a2c33af22120p-1
+0x1.986983a9d6f51p-1
+0x1.f2f723416775fp-1
+0x1.5d8565304a570p2
+0x1.f3999057087ebp-1
+0x1.fff027a147cc4p-1
+0x1.f369333fdcaa7p-1
+0x1.15ee471de5adcp-537
+0x1.faa9f49088862p-1
+0x1.0138239c244bcp0
+0x1.8c28955e4efb3p-1
+0x1.c3db66d450094p-916
+0x1.dc4b70539f21cp-390
+0x1.f7a363909f425p501
+0x1.fb86b76e851a5p-1
+0x1.010290232f8fcp-97
+0x1.650a4595be763p510
+0x1.fbd7a36081ccdp-1
+0x1.073f0084dc154p0
+0x1.fb7951f83410dp868
+0x1.0404d08738d62p0
+0x1.f1d895b2a5fdap-1
+0x1.55472046b4703p351
+0x1.f63882efa2ec0p-1
+0x1.f367c590b00e1p-1
+0x1.5251b7177fe50p501
+0x1.49f2a03e6057ap-140
+0x1.d5a68682d9946p-1
+0x1.fcdd65a9229b0p-1
+0x1.98bea1a0d0fbep681
+0x1.260d06b5edc4bp-336
+0x1.f5d520240b30ap-1
+0x1.f8715777db2f7p-1
+0x1.b3b0b64c86e27p-1
+0x1.ae637316fa604p2
+0x1.79919761b73adp43
+0x1.bd55c268d4f40p-1
+0x1.c81103f744ee1p4
+0x1.deeeb24db6f46p-1
+0x1.1056a7ba848e4p566
+0x1.b167817c24607p-513
+0x1.95d245973230bp798
+0x1.04d551a6da2dcp-921
+0x1.df2572264569fp92
+0x1.fb105105409c1p-1
+0x1.277ce2d7a1945p20
+0x1.fc93d4234f18bp-1
+0x1.be9f65acd2fa6p-911
+0x1.0548c4cb78cd1p400
+0x1.794c300f69a14p688
+0x1.7dda15569e759p731
+0x1.fdc9d6a00fb8ep-1
+0x1.faae623a143f1p-1
+0x1.8128373a5b95ep-608
+0x1.c2e13445f6ca7p316
+0x1.01d3a3dd89524p0
+0x1.aee2578e3f114p-1
+0x1.863ff7799e878p-266
+0x1.ea8897550748bp-262
+0x1.0652f24fd5820p0
+0x1.56114467afa90p1
+0x1.01b4561c918a5p0
+0x1.21cd64b06baebp339
+0x1.3d6384a8fd1b3p-35
+0x1.01af659ea1389p0
+0x1.fa8ed0ab15042p-724
+0x1.47c1f4babad96p785
+0x1.fc47829fd7bdfp-1
+0x1.f3d2241382331p-1
+0x1.0a0897e048564p0
+0x1.957ab3f18f8e3p-446
+0x1.5aad466994dacp506
+0x1.fba8a2b4ab119p-1
+0x1.003c906ab1a79p0
+0x1.7039f057a155fp-678
+0x1.f85964e37aae8p-1
+0x1.53e2e0469deecp-711
+0x1.f0cb530a2bf7dp658
+0x1.af8d471733d1dp-1022
+0x1.a684e3b3af12dp-239
+0x1.fd26d7fa466b5p1
+0x1.ebd3605467082p163
+0x1.e29567ed6afecp-11
+0x1.073757004a5a1p0
+0x1.022334168530bp0
+0x1.d4a6e162f4ceap575
+0x1.00dbb330a556fp0
+0x1.276b872c49045p0
+0x1.51e835ab51aafp-7
+0x1.e3c106b648377p-184
+0x1.5a46f2460d290p-46
+0x1.199a05d85e80dp-258
+0x1.cde614a60f60ap-1
+0x1.50f3a79e68493p-152
+0x1.2c9af562aa58dp0
+0x1.f695411839d24p-1
+0x1.e53e5125bcdffp413
+0x1.03e4c3218f178p0
+0x1.d66213dc2e585p-820
+0x1.ff5b9106a784ep-1
+0x1.4d4990f481852p-15
+0x1.39a5976ee7210p-879
+0x1.f5e4d494092e7p-1
+0x1.2bb040585ffdep-28
+0x1.f707b3cd873d2p-1
+0x1.fc1a353ea30eap-1
+0x1.fc44366f2d5c7p-1
+0x1.f9fb832b4f54fp-1
diff -urN glibc-2.17-c758a686/benchtests/Makefile glibc-2.17-c758a686/benchtests/Makefile
--- glibc-2.17-c758a686/benchtests/Makefile 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/Makefile 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,164 @@
+# Copyright (C) 2013-2015 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# .
+
+
+# Makefile for benchmark tests. The only useful target here is `bench`.
+# Add benchmark functions in alphabetical order.
+
+# Run python scripts with $(PYTHON).
+PYTHON := python
+
+subdir := benchtests
+
+include ../Makeconfig
+bench-math := acos acosh asin asinh atan atanh cos cosh exp exp2 ffs ffsll \
+ log log2 modf pow rint sin sincos sinh sqrt tan tanh
+
+bench-pthread := pthread_once
+
+bench := $(bench-math) $(bench-pthread)
+
+# String function benchmarks.
+string-bench := bcopy bzero memccpy memchr memcmp memcpy memmem memmove \
+ mempcpy memset rawmemchr stpcpy stpncpy strcasecmp strcasestr \
+ strcat strchr strchrnul strcmp strcpy strcspn strlen \
+ strncasecmp strncat strncmp strncpy strnlen strpbrk strrchr \
+ strspn strstr strcpy_chk stpcpy_chk memrchr strsep strtok
+string-bench-all := $(string-bench)
+
+stdlib-bench := strtod
+
+benchset := $(string-bench-all) $(stdlib-bench)
+
+CFLAGS-bench-ffs.c += -fno-builtin
+CFLAGS-bench-ffsll.c += -fno-builtin
+
+bench-malloc := malloc-thread
+
+$(addprefix $(objpfx)bench-,$(bench-math)): $(libm)
+$(addprefix $(objpfx)bench-,$(bench-pthread)): $(shared-thread-library)
+$(objpfx)bench-malloc-thread: $(shared-thread-library)
+
+
+
+# Rules to build and execute the benchmarks. Do not put any benchmark
+# parameters beyond this point.
+
+# We don't want the benchmark programs to run in parallel since that could
+# affect their performance.
+.NOTPARALLEL:
+
+include ../Rules
+
+binaries-bench := $(addprefix $(objpfx)bench-,$(bench))
+binaries-benchset := $(addprefix $(objpfx)bench-,$(benchset))
+binaries-bench-malloc := $(addprefix $(objpfx)bench-,$(bench-malloc))
+
+# The default duration: 10 seconds.
+ifndef BENCH_DURATION
+BENCH_DURATION := 10
+endif
+
+CPPFLAGS-nonlib += -DDURATION=$(BENCH_DURATION)
+
+# Use clock_gettime to measure performance of functions. The default is to use
+# HP_TIMING if it is available.
+ifdef USE_CLOCK_GETTIME
+CPPFLAGS-nonlib += -DUSE_CLOCK_GETTIME
+endif
+
+DETAILED_OPT :=
+
+ifdef DETAILED
+DETAILED_OPT := -d
+endif
+
+# This makes sure CPPFLAGS-nonlib and CFLAGS-nonlib are passed
+# for all these modules.
+cpp-srcs-left := $(binaries-benchset:=.c) $(binaries-bench:=.c) \
+ $(binaries-bench-malloc:=.c)
+lib := nonlib
+include $(patsubst %,$(..)cppflags-iterator.mk,$(cpp-srcs-left))
+
+extra-objs += json-lib.o
+
+bench-deps := bench-skeleton.c bench-timing.h Makefile
+
+run-bench = $(test-wrapper-env) \
+ $(run-program-env) \
+ $($*-ENV) $(rtld-prefix) $${run}
+
+timing-type := $(objpfx)bench-timing-type
+
+bench-clean:
+ rm -f $(binaries-bench) $(addsuffix .o,$(binaries-bench))
+ rm -f $(binaries-benchset) $(addsuffix .o,$(binaries-benchset))
+ rm -f $(binaries-bench-malloc) $(addsuffix .o,$(binaries-bench-malloc))
+ rm -f $(timing-type) $(addsuffix .o,$(timing-type))
+
+bench: $(timing-type) bench-set bench-func bench-malloc
+
+bench-set: $(binaries-benchset)
+ for run in $^; do \
+ echo "Running $${run}"; \
+ $(run-bench) > $${run}.out; \
+ done
+
+bench-malloc: $(binaries-bench-malloc)
+ run=$(objpfx)bench-malloc-thread; \
+ for thr in 1 8 16 32; do \
+ echo "Running $${run} $${thr}"; \
+ $(run-bench) $${thr} > $${run}-$${thr}.out; \
+ done
+
+# Build and execute the benchmark functions. This target generates JSON
+# formatted bench.out. Each of the programs produce independent JSON output,
+# so one could even execute them individually and process it using any JSON
+# capable language or tool.
+bench-func: $(binaries-bench)
+ { timing_type=$$($(timing-type)); \
+ echo "{\"timing_type\": \"$${timing_type}\","; \
+ echo " \"functions\": {"; \
+ for run in $^; do \
+ if ! [ "x$${run}" = "x$<" ]; then \
+ echo ","; \
+ fi; \
+ echo "Running $${run}" >&2; \
+ $(run-bench) $(DETAILED_OPT); \
+ done; \
+ echo; \
+ echo " }"; \
+ echo "}"; } > $(objpfx)bench.out-tmp; \
+ if [ -f $(objpfx)bench.out ]; then \
+ mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
+ fi; \
+ mv -f $(objpfx)bench.out-tmp $(objpfx)bench.out
+ $(PYTHON) scripts/validate_benchout.py $(objpfx)bench.out \
+ scripts/benchout.schema.json
+
+$(timing-type) $(binaries-bench) $(binaries-benchset) \
+ $(binaries-bench-malloc): %: %.o $(objpfx)json-lib.o \
+ $(sort $(filter $(common-objpfx)lib%,$(link-libc))) \
+ $(addprefix $(csu-objpfx),start.o) $(+preinit) $(+postinit)
+ $(+link)
+
+$(objpfx)bench-%.c: %-inputs $(bench-deps)
+ { if [ -n "$($*-INCLUDE)" ]; then \
+ cat $($*-INCLUDE); \
+ fi; \
+ $(PYTHON) scripts/bench.py $(patsubst %-inputs,%,$<); } > $@-tmp
+ mv -f $@-tmp $@
diff -urN glibc-2.17-c758a686/benchtests/modf-inputs glibc-2.17-c758a686/benchtests/modf-inputs
--- glibc-2.17-c758a686/benchtests/modf-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/modf-inputs 2015-06-20 21:22:16.301457983 -0400
@@ -0,0 +1,4 @@
+## includes: math.h
+## args: double:
+42.0
+-42.0
diff -urN glibc-2.17-c758a686/pow-inputs glibc-2.17-c758a686/benchtests/pow-inputs
--- glibc-2.17-c758a686/benchtests/pow-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/pow-inputs 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,511 @@
+## args: double:double
+## ret: double
+## includes: math.h
+42.0, 42.0
+-0x1.086f771a2b37bp696, 0x1.592b453fe869fp-81
+0x1.19eb12518e61bp-217, 0x1.c87753325f271p59
+0x1.5c68b7b390060p-869, -0x1.0000000000000p-64
+0x1.d96cb2cd196ebp3, 0x1.0000000000000p-64
+-0x1.f7cb93ee0ba9bp-238, 0x1.b7f046c622df6p691
+0x1.5cf5307b64e94p-233, 0x1.4499d7e88a731p124
+0x1.58bc610fde155p756, -0x1.0000000000000p-64
+0x1.11e4c61e2489ep9, 0x1.f3ddd0aadf9e9p94
+0x1.064765103f18ap-245, 0x1.a413811779c11p89
+-0x1.a26e540b1b5e0p77, 0x1.5987a1b0f6368p897
+0x1.465db461ffd24p681, -0x1.0000000000000p-64
+-0x1.b986d646b93b4p-100, -0x1.936ff2a7c8adep-420
+0x1.af0d371d0a43dp-197, 0x1.f185f2aba0958p217
+0x1.13ce451492820p115, -0x1.1598c3d54c625p81
+0x1.d5ec14b6de205p-604, -0x1.0000000000000p-64
+0x1.cf8ad6a495d19p-100, 0x1.8d2563e08105dp7
+0x1.1a7d3100f9ef4p-636, -0x1.0000000000000p-64
+-0x1.6dd9a7d0122f5p421, 0x1.199895f013a09p49
+0x1.b892e5125d7d1p-345, 0x1.0000000000000p-64
+0x1.5dfa7063ce092p996, 0x1.0000000000000p-64
+0x1.9e7d74cdbf190p512, -0x1.3d1b5206e8127p237
+0x1.b941e202e240dp-325, -0x1.0000000000000p-64
+-0x1.fbe85766fae96p-463, 0x1.91c903c89b075p85
+0x1.eab5553bcdfbap-957, 0x1.ab0a06811189cp90
+0x1.4c2c90f483a09p917, -0x1.0000000000000p-64
+0x1.014bc72248db8p439, -0x1.e1bef116ca6d9p112
+-0x1.6733d0746880bp-316, 0x1.8a34e6c887c39p-107
+-0x1.5a9b05cc4e1c4p461, -0x1.88d2560562b17p-798
+0x1.9690663e74e47p967, -0x1.0000000000000p-64
+-0x1.125986687c812p-159, -0x1.bd3236342d0f4p550
+0x1.3d6422e5177bep-951, 0x1.3878a292f55d9p226
+-0x1.9922669366d2dp590, -0x1.ae14d63976e00p-684
+0x1.d838c66e05cc9p256, 0x1.0000000000000p-64
+0x1.c319328022c2cp890, -0x1.4a627098d6e49p170
+0x1.0deee25028507p461, 0x1.310f343ce0281p94
+0x1.279923dac3d31p147, 0x1.0000000000000p-64
+0x1.e27fe364ee0b4p963, -0x1.107d33f004629p245
+-0x1.8160e4b7efcecp833, -0x1.9612560bf9302p-472
+-0x1.7814633c7452bp-821, -0x1.d36af1ef2c42fp636
+0x1.bac865bccd66ep113, -0x1.454be507db267p19
+0x1.c75b53051ead0p-931, -0x1.0000000000000p-64
+-0x1.cab4e5935aeaep318, -0x1.6794550b87520p-257
+0x1.088056b5fbc0dp-459, 0x1.0000000000000p-64
+0x1.1f8eb28937183p748, -0x1.b2a940cf17bc0p217
+0x1.ba85352faba13p-796, -0x1.0000000000000p-64
+0x1.1d3984c620975p460, 0x1.0000000000000p-64
+0x1.37acd13a9ea78p1019, 0x1.0000000000000p-64
+0x1.0e9d041b054d3p-411, 0x1.0000000000000p-64
+0x1.a156c095ec992p102, -0x1.46f561fd1fda9p98
+-0x1.273ca2d449455p471, -0x1.fa6c92046c475p-860
+-0x1.7b475167ae88ep-116, -0x1.eba627003ccc5p-339
+0x1.2996c344cf7dcp-564, 0x1.21df51e88e157p161
+-0x1.7d29f253d3e79p636, -0x1.8e30a1ba55f7fp77
+0x1.99ffe6fb747bep1003, -0x1.8b1047a0ed3b3p67
+0x1.248c46b353471p251, -0x1.3aa8631084564p8
+-0x1.500c56dfd8fa0p-869, 0x1.819212336e2afp-523
+0x1.012185cb5e155p-672, 0x1.dcbc907d906f0p203
+0x1.964221fe0b0c5p-260, -0x1.0000000000000p-64
+-0x1.172f10899cbcep669, 0x1.e4e656fea6c19p663
+0x1.e356e63b681dep989, -0x1.dd9d772868663p41
+0x1.ccd0118265376p287, -0x1.22ae0058250b6p184
+0x1.3de177d6762ebp742, -0x1.ebc180d571e12p58
+0x1.04caa30a223c6p-294, 0x1.0000000000000p-64
+-0x1.e0ffa63b800fcp-938, 0x1.0a2c229973ed9p149
+0x1.e0ffa63b800fcp-938, 0x1.0a2c229973ed9p149
+0x1.d43815bff9e7dp-685, 0x1.825755f8cae4bp168
+0x1.fe3b21bec8806p456, 0x1.0000000000000p-64
+0x1.b26d766ab1f27p-162, 0x1.184f242e49092p249
+-0x1.1c70d750f61abp-899, 0x1.e3f3e7ec803dap759
+0x1.220fe763e4353p897, 0x1.6a6f650adecc0p141
+0x1.d6f7716723825p-58, 0x1.0000000000000p-64
+0x1.2b0242282c767p308, 0x1.c9dd84f859214p104
+0x1.7d0ee4b3bb946p-563, -0x1.9d1683c6f5c5ap226
+-0x1.8547b5d202937p967, -0x1.14e58570b43a5p-765
+-0x1.568636c53d51fp-638, 0x1.164257f3ab632p-455
+0x1.6d7936f1f5553p-435, 0x1.8f26767f92ccbp147
+0x1.7c18551f15775p147, -0x1.0000000000000p-64
+-0x1.f2ac8209992fbp-965, 0x1.5faaf4ec0340cp-236
+-0x1.f57620fa5afd6p-69, -0x1.096166fce916ep-683
+-0x1.5054f3c0b1320p-215, 0x1.8c01c0a19db1bp-285
+0x1.e41e64f79a6a9p404, 0x1.0000000000000p-64
+0x1.71fc41e25fe85p-413, 0x1.4acb80e80f0b2p214
+0x1.fbf477dec9138p-661, 0x1.0000000000000p-64
+0x1.7575c7cd67604p498, 0x1.0000000000000p-64
+-0x1.f4dd41d434b62p-205, -0x1.981f66551fd64p805
+0x1.76ac564847250p-870, -0x1.0000000000000p-64
+0x1.bb0e222493e31p-632, 0x1.16ad202a7c871p27
+-0x1.079a76db55d95p-974, -0x1.19d4717967203p-409
+0x1.68a7c79597132p-227, 0x1.6c3871ff9ad60p195
+0x1.4961c76e0940cp271, -0x1.0000000000000p-64
+0x1.04cf75ca8337cp-273, -0x1.0000000000000p-64
+0x1.4fffe4a25f260p152, -0x1.a0e3a7e58a0d3p149
+0x1.c125c40bb88b6p-281, 0x1.bedf8672d605fp215
+0x1.bcd59440339b5p67, -0x1.d225c2cc02d3bp60
+0x1.670e80ab2399bp-841, 0x1.887061c29e4afp131
+0x1.7c6ef76479beep839, -0x1.0f72a2967e041p98
+0x1.272f8550905f7p-961, 0x1.21a6d4787c14cp190
+0x1.0a33d4e39655cp-424, 0x1.4dafa3da87794p162
+0x1.a34e21945e568p-641, 0x1.3a0a05d61f5e4p119
+-0x1.b57493dffe1c3p68, -0x1.8e19843fbbd1ep515
+0x1.a8ce11ea61121p248, -0x1.7b2376aa515e8p115
+-0x1.5feca3ddab161p-509, 0x1.3e0c341715e1cp217
+0x1.6695a0cf6063fp-689, 0x1.1852d463ea98ep37
+0x1.9367127039f77p-293, 0x1.adbe75323caaap47
+0x1.6ad5c2f704166p-336, -0x1.9bf7b7271daefp100
+0x1.6791a1f6e89bap-845, 0x1.07e4c362cf895p92
+-0x1.20d7f6086ddb2p143, 0x1.687a7454403f4p337
+-0x1.9bd727a165453p-810, 0x1.742fe1f2bf2dbp-551
+0x1.40c3b16a0dba0p438, -0x1.67a872ec62dadp90
+0x1.5e0ab0f983abfp629, -0x1.0000000000000p-64
+0x1.c929a231173cfp844, -0x1.f25c7501c8144p116
+-0x1.410ad6057e935p204, 0x1.bdb5a3d649e74p-928
+0x1.9f222254cab3fp-817, -0x1.0000000000000p-64
+0x1.7f7d22b44403fp1007, -0x1.2299d752e308dp177
+0x1.41f824f624f36p511, -0x1.0000000000000p-64
+0x1.9fbb158e5d5dfp-525, 0x1.f803767193e3fp31
+-0x1.e6a1216cab6d4p-260, 0x1.100d3600b5996p935
+-0x1.dd23855d0cc3ep1003, 0x1.3411e38397aaep-158
+-0x1.3a9e0585f7979p-827, -0x1.db64725e35a3cp-259
+0x1.ce93a02ba2924p866, 0x1.0000000000000p-64
+0x1.445bf157156d4p-100, 0x1.0000000000000p-64
+-0x1.ba1ca38fc92ebp-848, -0x1.9270247b4b009p-609
+-0x1.5ac2b6a0c0476p-172, -0x1.595d419d9babdp-399
+-0x1.94f2b24fd7b65p839, -0x1.a42b466df80e1p519
+0x1.bf66704c603f1p-859, 0x1.430eb110359f6p-63
+0x1.e9ccb07667b5fp-435, 0x1.e7cec7c8e2138p229
+-0x1.bcd59440339b5p67, -0x1.d225c2cc02d3bp60
+0x1.a5e7c0a9c79d2p-503, -0x1.0000000000000p-64
+0x1.91aa125544e6ep681, -0x1.0000000000000p-64
+0x1.5371f5af7cd6ep-628, 0x1.078a57c0c5e30p147
+-0x1.2890a668b0252p-207, 0x1.ec956130d1ea0p411
+0x1.70f496a3b1319p-183, 0x1.9f04e4dd9dee0p159
+-0x1.ab4c0689a295cp375, 0x1.ec1627c9f2374p-617
+-0x1.390d459924f44p-348, -0x1.8e36a55756005p481
+0x1.c1b483579742ap101, 0x1.a05a357f2d54fp236
+0x1.d0a84005691b7p763, -0x1.68f840a20c734p60
+0x1.f32d34d1fffd4p-40, 0x1.fc09869af26f1p131
+-0x1.e693e5dbee2e0p207, 0x1.2301f18cd9d27p817
+0x1.1f72a3d4f7881p-764, 0x1.4617565381163p177
+-0x1.7f69c3aee139ep-648, 0x1.1f42e1d53ae48p597
+-0x1.adc7f1f9fdc02p38, -0x1.a07af4087ad66p1011
+-0x1.923d01b1c3960p-276, 0x1.2c6710910e47ap889
+0x1.6b60a2accafe3p977, -0x1.78f4404c514b7p170
+-0x1.0a2a3540be5a3p302, 0x1.3259b15ad5075p-333
+-0x1.11e4c61e2489ep9, 0x1.f3ddd0aadf9e9p94
+0x1.e02943925b096p-651, 0x1.3e5010a3be270p137
+0x1.9887e07a7b4bdp-835, -0x1.0000000000000p-64
+0x1.fb9fd6c57d283p-969, -0x1.eb21f1c75479dp195
+0x1.55fb70ae2db62p-910, 0x1.b77402b5190d5p10
+-0x1.38b1775c225eep723, 0x1.7595a59a7ba8dp901
+0x1.fbdc30f777a6ap649, -0x1.ea19f696739e0p183
+0x1.c2b5309403401p760, -0x1.0000000000000p-64
+-0x1.3d6de154feafep496, -0x1.9763760be8c9dp-161
+0x1.1c0a33e2b3719p-116, -0x1.0000000000000p-64
+0x1.06b1024b8b4bap471, -0x1.cd9f24d503076p59
+-0x1.6d0d67d7d2ad2p627, 0x1.35c77413a4d2fp190
+-0x1.881467b6c56d5p-194, -0x1.465995072de7cp707
+0x1.1147d4d59a3a5p-952, -0x1.0000000000000p-64
+-0x1.c319328022c2cp890, -0x1.4a627098d6e49p170
+0x1.993864ddbc05dp562, 0x1.0000000000000p-64
+0x1.f9abd78250a64p633, -0x1.f104e2772f8cep141
+-0x1.4d87f27b51978p-916, 0x1.073e35dc85a96p-1003
+0x1.1e8e0347dd99bp278, 0x1.0000000000000p-64
+0x1.7fbfc71fde6edp891, -0x1.0000000000000p-64
+-0x1.ae86836ca4d83p659, -0x1.5153616fefc6ap-61
+0x1.0452d237e1de7p-518, 0x1.296675c74320cp87
+0x1.12fc06ee54ac1p615, -0x1.0000000000000p-64
+0x1.887c234a8cc63p-708, 0x1.ae5fb57f66c84p175
+0x1.4978c021c25cbp-130, -0x1.115a65f48b23cp80
+-0x1.a1e733c9fd87fp552, 0x1.cef7045a6012ap811
+0x1.f98611b7c6a51p538, -0x1.0000000000000p-64
+-0x1.858f201dffc93p26, 0x1.6a110485981d4p-285
+0x1.84297333218cep712, 0x1.497396c926ddfp73
+0x1.12c3e319b6a54p-783, 0x1.0000000000000p-64
+-0x1.8ee011da43d65p-879, 0x1.7b6cf1473438ep670
+-0x1.4978c021c25cbp-130, -0x1.115a65f48b23cp80
+0x1.f057a19099427p-736, 0x1.0000000000000p-64
+0x1.407a2417c0b48p413, -0x1.90cbb0161a8c6p12
+0x1.04f492d848a39p-816, 0x1.ec7fb651e4df9p225
+-0x1.5290f79114db5p-971, -0x1.feede687f8cf3p-101
+0x1.fb0cc227fae39p-669, 0x1.924f06f662685p143
+-0x1.7d10c2a023848p734, -0x1.86a912207d0c3p757
+-0x1.5ebd0337bf9f3p945, 0x1.cb53f1b618ab5p465
+0x1.cef8d3cce5e81p531, -0x1.0000000000000p-64
+0x1.cdc7962fdc900p51, 0x1.0000000000000p-64
+-0x1.04f492d848a39p-816, 0x1.ec7fb651e4df9p225
+-0x1.23221091a234fp828, -0x1.b08e262c8eca5p972
+0x1.bc16f113ad6ebp-101, 0x1.7c8311241b744p169
+0x1.e1c163876ccdcp843, -0x1.0000000000000p-64
+0x1.3daea5a429d79p-639, 0x1.0000000000000p-64
+0x1.e99204b546e58p215, -0x1.0000000000000p-64
+-0x1.950493326e8b2p679, 0x1.fdc874cefc875p-615
+0x1.016dd4fb0abd2p853, -0x1.c82dd72b4ab44p102
+0x1.d0f6737fbcdbbp-353, 0x1.081a8002b8e53p211
+0x1.f1d1f5c67bb5ap-321, 0x1.d64ec22c49552p176
+-0x1.8a60721e2686ap880, -0x1.936f75de69956p-750
+0x1.8368e4ed700bbp-57, 0x1.0000000000000p-64
+-0x1.7c5d037e915cep538, -0x1.aa30914f141e5p-886
+-0x1.9ff485cb26fa7p227, 0x1.82c1703140ceep465
+-0x1.bc56157fec778p-542, -0x1.898e228074677p-385
+0x1.eb16d56eb1d78p-224, 0x1.393ef32f107adp205
+-0x1.10bf71d60a4d1p-524, 0x1.335ac0ca90f62p1004
+0x1.392bc7ade8723p528, -0x1.50ea12907473fp21
+0x1.a26d44e3b408fp-896, 0x1.beda15a2a2799p129
+0x1.6d0d67d7d2ad2p627, 0x1.35c77413a4d2fp190
+-0x1.47a744db0c087p689, -0x1.0445309d5d5bdp-205
+0x1.0d3c074692057p781, -0x1.885716d3dcfbap146
+0x1.5feca3ddab161p-509, 0x1.3e0c341715e1cp217
+0x1.001af5dcc9beep589, 0x1.0000000000000p-64
+0x1.0b0f700297c73p388, 0x1.0000000000000p-64
+-0x1.4591e2de659a7p796, 0x1.4ab1a273f0697p736
+0x1.1e68964b6cc85p6, -0x1.d50762f9e9ce4p59
+0x1.40a7f08b7509dp-373, 0x1.6784b7c373049p207
+0x1.c43b310d38279p-924, 0x1.d4b5d23a0b96dp239
+0x1.421436f55761ep-12, 0x1.320481b0055a7p227
+-0x1.135fa0f337e6ep856, -0x1.ed172226e05edp335
+-0x1.d0a84005691b7p763, -0x1.68f840a20c734p60
+-0x1.6153c39025700p908, -0x1.87eff6801054cp257
+0x1.ad64258a1c8aep201, -0x1.eb202553cc800p129
+0x1.09a810c8ff945p866, -0x1.0000000000000p-64
+0x1.d14433f742c09p-360, 0x1.f4ff819b628ddp21
+0x1.0c04a59d1fa4fp562, 0x1.66b354392a531p134
+-0x1.84297333218cep712, 0x1.497396c926ddfp73
+-0x1.fb9fd6c57d283p-969, -0x1.eb21f1c75479dp195
+0x1.dd87e7279e72bp748, -0x1.0000000000000p-64
+0x1.e494b3d72a143p612, -0x1.3b94e6aa337a0p-57
+0x1.4a6b277bdabe4p-613, -0x1.0000000000000p-64
+0x1.aa78012aaa9c7p338, 0x1.0000000000000p-64
+-0x1.ab74577adade9p149, -0x1.2057c78ee21ccp31
+0x1.3974c5e1e2049p105, -0x1.d3dbb0fb0baf1p54
+0x1.c83bb023360a9p879, -0x1.0c6922624c625p97
+-0x1.e21c0605b5f2bp-634, 0x1.f28232c2ebba3p-74
+0x1.e61ed69f4f3e5p558, -0x1.0ee6a03187e13p128
+0x1.d32cb4d190af4p-556, -0x1.0000000000000p-64
+0x1.97a202fe3d99bp812, -0x1.12eba5e07e17fp131
+0x1.5cbf140578025p750, -0x1.0000000000000p-64
+0x1.8754d2c071fd1p-796, -0x1.0000000000000p-64
+-0x1.c24a21659e391p874, 0x1.8fca31719d26fp-203
+0x1.db5587ed33e3dp-392, -0x1.0000000000000p-64
+0x1.59b6e3bd2734fp959, -0x1.0000000000000p-64
+-0x1.2f68f32a5979ep367, 0x1.d77b92aecf0f8p-414
+0x1.73e621f69389dp222, -0x1.1235366e0a84bp216
+0x1.076b75274a516p-7, -0x1.0000000000000p-64
+0x1.2505e4b701385p-178, -0x1.0000000000000p-64
+0x1.ae0c974a70a8fp607, 0x1.0000000000000p-64
+0x1.b2c344636c704p595, -0x1.9d1b879d64e7dp213
+-0x1.a6f695e9d29eep-629, 0x1.dad8811e62691p422
+0x1.e5aca4566a08ap234, -0x1.645ed34f63b48p65
+0x1.67faa10de96c9p-929, 0x1.0000000000000p-64
+0x1.503a50f3f36c9p-313, 0x1.a1b537c589279p212
+-0x1.e62711b5b18aap-336, 0x1.176d22b7c6703p-81
+-0x1.78e6d2fb3c6c8p-802, -0x1.4354b70f8d56ap-407
+-0x1.a9b890e6a309bp-974, -0x1.fc73521e05c84p446
+0x1.605c070891e95p751, -0x1.00e8a0f55071cp255
+-0x1.8e249352e8ed4p-690, -0x1.d751a5bb2c420p-254
+0x1.67246027c2465p584, 0x1.3aaa16d492946p178
+0x1.c53735a56d1edp610, -0x1.630662efaf0c6p60
+0x1.d54a131bae182p142, -0x1.a313606a0459dp220
+0x1.38afe5f1ed5b4p-779, 0x1.0000000000000p-64
+0x1.f2aa76462ad42p-982, 0x1.0000000000000p-64
+0x1.e188a166c06b6p45, 0x1.0000000000000p-64
+0x1.fbe85766fae96p-463, 0x1.91c903c89b075p85
+0x1.3342d36ecf081p28, -0x1.0000000000000p-64
+0x1.c2b0a036a1828p719, 0x1.0000000000000p-64
+0x1.ba7f308dc60ddp517, -0x1.b38d014638da6p246
+-0x1.075aa7ba85f42p624, -0x1.a357d32f45a61p-867
+0x1.1fbb4362bf313p995, 0x1.d039c2c0e18bfp-6
+-0x1.150426e803137p622, -0x1.9bafe2efa3e89p39
+-0x1.3f2456d5cba52p116, 0x1.fa9ec45f18306p-389
+0x1.8e58945bd1087p-701, 0x1.0000000000000p-64
+-0x1.ab0ef29932d78p111, 0x1.4313d75c1df97p658
+0x1.ee3e13dd00d34p1016, 0x1.d6b3d3b9034c1p85
+-0x1.7f0bd006c0d62p-324, 0x1.8210646a5ccddp871
+-0x1.c004d2256a5b8p402, -0x1.a01df480fdcb7p98
+-0x1.3717c2e75f865p-749, -0x1.628ab47e4b9c7p-879
+-0x1.dfb414ca1e89fp780, -0x1.b1a6d17b59340p927
+0x1.2bb340a5c99b8p772, -0x1.4cb4a208cd38ap49
+0x1.983d90ffcdc95p-131, 0x1.294857e7a5d9dp66
+0x1.0789a00a3ff0fp-950, -0x1.0000000000000p-64
+0x1.6816c6cd93ea9p112, 0x1.985412f1ac3d6p104
+0x1.3c0e604f8974bp-226, 0x1.0000000000000p-64
+0x1.07acb29e12fc1p687, -0x1.edff80d6b306fp107
+0x1.22c1d3b2c0e45p135, -0x1.9a5dc703e46dbp204
+0x1.ede956a719d56p248, -0x1.80e8e672e144fp156
+-0x1.ff6263662c8fbp-263, 0x1.cf3867b2bac05p652
+0x1.f01e46c129d76p-5, 0x1.00d113cf96023p137
+0x1.45cf928146851p636, 0x1.26b1c5666d711p131
+-0x1.768376c2f7584p563, 0x1.017143ae97b27p545
+-0x1.1f72a3d4f7881p-764, 0x1.4617565381163p177
+0x1.dd9431675dbb5p-114, 0x1.0000000000000p-64
+-0x1.64cc1762105b7p-569, -0x1.2d69b27570067p840
+0x1.bd1077dadd530p235, 0x1.0000000000000p-64
+0x1.0aa166c2b93bdp488, -0x1.48d03430453b8p213
+-0x1.b513845f09747p-331, -0x1.d04e154527b26p685
+0x1.5c97b3a12df62p696, -0x1.e160e008f7d3ap89
+0x1.8eec91bde3d69p-376, -0x1.0000000000000p-64
+0x1.7d29f253d3e79p636, -0x1.8e30a1ba55f7fp77
+0x1.c004d2256a5b8p402, -0x1.a01df480fdcb7p98
+0x1.52b9d41aaa1e9p-589, -0x1.292cb15f1459dp46
+-0x1.ea9ca6fa0919ep-279, -0x1.601e44b6a588cp40
+# pow slow path at 240 bits
+# Implemented in sysdeps/ieee754/dbl-64/slowpow.c
+## name: 240bits
+0x1.01fcd33493ea3p596, -0x1.724bd4e887783p-14
+0x1.032ff59ab34fdp-540, -0x1.61e3632080b87p-24
+0x1.045c337b80f53p304, 0x1.dc3404c30fa69p-56
+0x1.0681338469475p-294, -0x1.3562210f27dfap-51
+0x1.0b55c01eab2a6p-447, -0x1.cd7162fecd483p-48
+0x1.0b74d4b709002p-811, -0x1.0af1478682e96p-50
+0x1.0e4d10f3aabc8p664, 0x1.e2bde3471eaa1p-55
+0x1.110607de11aa5p120, 0x1.dcec269cfd865p-47
+0x1.132aa4cc6f38bp-751, 0x1.366ca7979d9bbp-8
+0x1.138ae6f5a6dadp-680, 0x1.890a0755fce7ap-40
+0x1.1b7b95bdc6400p467, 0x1.ec36f5f75ce4cp-8
+0x1.1c20e7f14086cp-788, 0x1.f22967f8b5d7cp-48
+0x1.278262637b59cp446, -0x1.1aab83169f61cp-10
+0x1.2936f2eb01500p-234, -0x1.aa25c56c7a42ap-51
+0x1.2991068d7df8dp-895, -0x1.e22e0335a6813p-19
+0x1.2a4320a5a4e06p342, 0x1.a60de202d0f39p0
+0x1.2baa57016f98bp445, -0x1.19b39156d7af6p-42
+0x1.3003b731560f2p189, -0x1.d03a35d7809bbp-6
+0x1.3098f631b79b3p322, 0x1.936cf77d12901p-58
+0x1.329f9083895d6p-470, 0x1.c4e0407eac9e1p-60
+0x1.32e62120a48dep-373, 0x1.8c03970ea6143p-15
+0x1.3b69741c89827p-951, 0x1.d7e2d50ab916bp-13
+0x1.46d346d411a30p-451, -0x1.5bed1300261dcp-37
+0x1.48d0870fc99a7p-691, -0x1.4f6541a43b8cdp-5
+0x1.49ae5141ea416p-825, 0x1.cfc4b51dbe592p-24
+0x1.4d1fb5a2a4d73p738, -0x1.d2a54658b1df9p-50
+0x1.4ddb12f9500cbp962, 0x1.48bc1158eb70ap-15
+0x1.4f51d32b02376p758, 0x1.11d1409aaea9fp-27
+0x1.54f723dd63e3bp605, 0x1.6c02f2514de2ap-23
+0x1.5529070b8d631p-489, 0x1.1c3dd76010b92p-37
+0x1.569bf17eb40dfp217, -0x1.8cb97627ae884p-31
+0x1.5e2892c719a5ap817, 0x1.f0e3d4b66e9c0p-11
+0x1.619a049c49284p329, -0x1.0bc7b3735d182p-12
+0x1.62e6745b17235p344, 0x1.86dcb0cd4e584p-39
+0x1.6532120398cb6p374, -0x1.dd57d385dde4ap-56
+0x1.6ab9873394341p712, 0x1.6cec233df7f19p-59
+0x1.6d7c56b0ec1f9p723, -0x1.864ae3aa72d4ap-11
+0x1.6decf38117b3ap-629, 0x1.e1c8b1eaebfbbp-27
+0x1.6f57771705979p518, -0x1.44fbe6fcf4182p-24
+0x1.6f57b14f5f248p880, 0x1.e2554493e7f0cp-2
+0x1.6fee9735004b7p-71, 0x1.8eaf1527d88bep-48
+0x1.7190e00c6cae0p-495, 0x1.705594f79ee43p-33
+0x1.7238a1904c29cp40, 0x1.d454673e675eep-30
+0x1.76aa529cae2a7p-457, -0x1.0652207d202acp-45
+0x1.78e630a117b59p-105, 0x1.ecb1a67d5b9dcp-32
+0x1.7d0976b552b5bp-316, -0x1.9c52a2a02f146p1
+0x1.80a10162f3c9ep-462, 0x1.af6ef1f1d004ep-54
+0x1.8794943d6e34bp-745, -0x1.0c7df064d51e9p-10
+0x1.8a3d749288cbcp-469, 0x1.a9bf9202d914fp-46
+0x1.8da421e64749bp-540, -0x1.494a81df89b6bp-26
+0x1.8e05154795810p247, 0x1.3c04802f44ddcp-47
+0x1.91b9d616c0878p-313, 0x1.a3c9263d26b2ap-30
+0x1.95e973a94d414p-229, 0x1.d83d8244e6566p-28
+0x1.9a3217b4fb0e5p-990, 0x1.82853149b1e30p-42
+0x1.9e2556775fc02p-377, -0x1.a6ec93193a127p-38
+0x1.9e83d7b0c831fp-906, 0x1.6a3485e3e4fe8p-21
+0x1.a51cf0f0f49f7p751, 0x1.07b941a3af664p-12
+0x1.a883c2cef7802p-432, 0x1.b5ee3711a8260p-34
+0x1.aca70602f90f3p205, -0x1.a40d85c2b0ddap-55
+0x1.b118069c4e0f8p133, 0x1.85ed946b41169p0
+0x1.b1ada0a8ca383p-699, 0x1.ddfec76f67c1fp-37
+0x1.b236b6872f638p419, 0x1.fa8f6525758b6p-5
+0x1.b2413258b83b1p892, -0x1.bcea65c80772bp-12
+0x1.b51563dac9885p-571, 0x1.7a1e16e485fdcp-30
+0x1.b5e4833e40f76p-445, 0x1.44e23325bcc3fp-22
+0x1.b6a2168ec3212p-674, -0x1.35bda0265f18bp-30
+0x1.b8dd676727fa1p124, 0x1.3605e6ec76006p-29
+0x1.b95437f961192p-500, 0x1.9276767f94721p-10
+0x1.bb6647f65218ap741, -0x1.b9dd250927a8ap-6
+0x1.bffdf0efb5c4ep-703, 0x1.85fac77188c01p-9
+0x1.c0345583020c9p236, 0x1.de31b044cb918p-37
+0x1.c4b9163604b90p548, 0x1.0a51f116977d3p-17
+0x1.c66ec323be811p-726, -0x1.8829c716f5ddbp-24
+0x1.c69da72348031p-390, 0x1.109f77bb4a2a2p-37
+0x1.c712558c00177p-883, -0x1.9cf047e60fa38p-8
+0x1.c74df6d64da29p-154, -0x1.bdba55e26ef07p2
+0x1.c75fa2c065d1dp731, 0x1.fa827749d723cp-21
+0x1.c8f5b7f54aa5fp-998, 0x1.59fa40e2d7a95p-10
+0x1.c957e3768f0c2p-102, 0x1.0047f59669535p-5
+0x1.ce0615637c099p-737, 0x1.b1795333136d6p-59
+0x1.d1a7872210098p245, -0x1.afd8c410a1918p-16
+0x1.d39ee7b8cae5ep722, 0x1.639a1575eb95cp-56
+0x1.d4b4276a02096p-5, -0x1.7ff8354a6ba9cp-21
+0x1.d500d1daf1bfcp-352, 0x1.e4c7243104fa7p-34
+0x1.d684c68e86321p-661, -0x1.11305765580a9p-13
+0x1.db08f6fcae9f5p-637, -0x1.a8cba163bd1dep-21
+0x1.db09e6535414dp809, -0x1.0b10e70ed8d88p-48
+0x1.e50573d07ecc0p41, 0x1.19ec44b6d99e6p-58
+0x1.e59505ef043e0p926, -0x1.3201c7a1e8882p-62
+0x1.e6b9b28e678a4p546, 0x1.70e042daa89e7p-30
+0x1.e9a4e6bbbf235p-851, -0x1.1d70f7b787412p-21
+0x1.ea68a16e4b7c9p-733, -0x1.ee7f337779825p-34
+0x1.f0e76025ece1cp642, -0x1.bdc0d0d7020d5p-57
+0x1.f1bcb1d70f84bp-568, 0x1.98c5d3b11e934p-21
+0x1.f568146a8c658p240, 0x1.4def9749a6a7ep-44
+0x1.f75bd43867225p-454, 0x1.34b1e5cb0df40p-16
+0x1.fae7a09d10f34p955, -0x1.f7f8439082552p-31
+0x1.fae913d4f952ep-809, -0x1.4b649402fce63p-6
+0x1.fe6d725408f24p484, -0x1.25f4f6441d2e4p-12
+0x1.ff6393f9150ccp-718, 0x1.a0cb50a9bf2f3p-31
+# pow slowest path at 768 bits
+# Implemented in sysdeps/ieee754/dbl-64/slowpow.c
+## name: 768bits
+1.0000000000000020, 1.5
+0x1.006777b4b61dep843, -0x1.67e3145491872p-1
+0x1.0477a5cfb1972p-402, 0x1.8742e7a1ce99dp-1
+0x1.0827a160ab475p-239, 0x1.fcae51d2d997dp-1
+0x1.083723672b1a4p-204, 0x1.baddc57f1404cp-2
+0x1.0b39f4b2f5c4fp-546, 0x1.7d02a31183f36p-1
+0x1.0e2d62ea9d078p-68, 0x1.8afb43919ece2p3
+0x1.0fedd1fd9bdc5p-1011, 0x1.c0ce64b178832p-6
+0x1.10b984764821ep724, -0x1.36e872083e630p-4
+0x1.12424342d99bbp686, -0x1.f8d4e18b1b309p-5
+0x1.1335f40a059c7p1014, -0x1.5818e19224448p-2
+0x1.14185484cbdb2p-780, 0x1.23f8d7d596280p-4
+0x1.14f5b49e12b8fp-751, 0x1.522c717bca3eap0
+0x1.15fe345b21e2bp399, -0x1.0a09061cd1de9p-1
+0x1.17c3e75436530p104, -0x1.ef30d09c541e9p0
+0x1.1e5296bbfeea7p747, -0x1.f68df5996bfedp-1
+0x1.1efdd081a8d35p-90, 0x1.7c7d10d98a3c9p-1
+0x1.203101f62452ap317, -0x1.3be834bfd34fap-1
+0x1.29cb8617add92p968, -0x1.9cbe73f892a16p-6
+0x1.2d75353d5df74p719, -0x1.e2f317d7b2c01p-1
+0x1.2f08247664913p592, -0x1.35ab9793384a5p-2
+0x1.2ff58217e86d7p725, -0x1.2c98b6be067ccp-2
+0x1.3113614c8b9e1p159, -0x1.fc2f4279c8cbep-1
+0x1.3115402118c24p134, -0x1.d435f65f0eefcp1
+0x1.32e5a1ba96cdap52, -0x1.f7d8248930c17p-1
+0x1.346f712d4c234p78, -0x1.830235fa4eb2cp3
+0x1.35ea84ad8b4fap742, -0x1.728dd1bc7d70cp-3
+0x1.36b91497c147ep579, -0x1.b7e7b0d1ad44dp-2
+0x1.3752c6b5da9e6p351, -0x1.2a00f003acdd1p-1
+0x1.3bccb31761b21p-193, 0x1.bdd7b5da189c8p1
+0x1.42c0b561c10bep-850, 0x1.dcdee5de63ebcp-3
+0x1.4520f56ca1422p-471, 0x1.348c312c9f319p-1
+0x1.46e7406c8e11ep546, -0x1.876f67bed28c4p0
+0x1.4ba3f35d2f4afp-333, 0x1.6e39f0895a072p-3
+0x1.4cb3303ab8786p-838, 0x1.fe88a032de46ap-1
+0x1.4d61505a36a60p234, -0x1.45c3e271db1fep1
+0x1.4fcff0e946b1ep909, -0x1.90fa07de4eea5p-1
+0x1.5172c6b32f2aep293, -0x1.fb0fa58fc74abp-2
+0x1.51e4b4afeb58ap-2, 0x1.f184d702a5f4bp3
+0x1.5212b31c06068p306, -0x1.e8e5c1b09f30dp-2
+0x1.55c7413fbdd0cp-168, 0x1.68687102fa0b8p-3
+0x1.5975f5580b29cp361, -0x1.cda627a0b0899p-3
+0x1.5b3d77ff20607p-694, 0x1.95877099718f5p-4
+0x1.5b85e6f45d26fp763, -0x1.b727a35d92656p-4
+0x1.5c83b2d038766p-984, 0x1.4232c330c81b9p-1
+0x1.5ec6e7e275af2p773, -0x1.8da470ca7dd62p-1
+0x1.60b0e6123149bp-743, 0x1.25a696ab5fc09p-4
+0x1.6567f1ab52caap-769, 0x1.ff57c1e78cc81p-3
+0x1.689cb423d7ec7p95, -0x1.71d3f5a46c36fp-2
+0x1.69e2a022e3db6p-672, 0x1.209f77b27f146p-1
+0x1.6a6bb05202fd0p-621, 0x1.bc1f316194126p-5
+0x1.72b181bf25fd7p303, -0x1.629be448db4f7p1
+0x1.7667d46544feap887, -0x1.e92ef7681c985p-3
+0x1.776f45edc5aa6p967, -0x1.8b34366de0584p-3
+0x1.77d4e3169e8fdp889, -0x1.7159c5a0e440ep-4
+0x1.792c56f01b25ep-474, 0x1.45237144dc76dp-2
+0x1.7c4d814b67ce3p-30, 0x1.32f4217aa69bfp2
+0x1.7fec1487cd8c2p-790, 0x1.373ec1a13952fp-4
+0x1.8280e15921e7bp-544, 0x1.17f4d1f294f23p-2
+0x1.8be4858d98288p395, -0x1.8ecf7076c1cadp-3
+0x1.8c1a3651b2a3cp251, -0x1.fe464693b592fp-1
+0x1.95b8339b15437p-805, 0x1.c590d48f70e09p-4
+0x1.9ea712eab015cp643, -0x1.9f9a2005cd04dp-2
+0x1.9ec010ebb0fb4p966, -0x1.322de55e2f27dp-3
+0x1.a055b4cacfb90p692, -0x1.45a6d0302680bp-4
+0x1.a2541721f7549p508, -0x1.46b5008fed93ap0
+0x1.aa4ea2a62e6d3p146, -0x1.4948a7f0b9447p-2
+0x1.aeab6627bd7fep-883, 0x1.e334b6e331bcfp-4
+0x1.afc9062dd5d6cp285, -0x1.704640b7e8a60p0
+0x1.b2e0e5768b8a4p700, -0x1.e3cc63841415cp-1
+0x1.b44dd7483ff8fp762, -0x1.376275f0c7542p0
+0x1.b461c649ef81fp-297, 0x1.757d3606ad420p-2
+0x1.b47177acf880bp162, -0x1.dbc2c7336fcdcp-3
+0x1.b5d597a5647bep312, -0x1.0d87f0669fd98p-3
+0x1.b5f5f6894898fp824, -0x1.aeec9752febccp-2
+0x1.b78b84a583db6p711, -0x1.443983558960ap-1
+0x1.ba15f474f95a7p250, -0x1.9d46c49adf4ecp1
+0x1.ba6e74fdcaafap685, -0x1.c69a403d3e719p-3
+0x1.c14ed18d4eb53p652, -0x1.231bb32f82a5fp-1
+0x1.c44727ecf4620p-965, 0x1.c61391aad6567p-6
+0x1.c492c6882ec27p-423, 0x1.6bb9123ab40fdp-1
+0x1.c525d219db143p-681, 0x1.5e10738bb6aefp-5
+0x1.ca9510663b619p878, -0x1.8966f1a726428p-2
+0x1.d2d4d70d57384p-769, 0x1.eec5e348f3c65p-5
+0x1.d3275243b3fd2p-203, 0x1.a56f87acf7afbp1
+0x1.d5d3022665384p-509, 0x1.d4f984b477a34p-5
+0x1.dabf72e2c886fp642, -0x1.e930d581ea0c3p-3
+0x1.daffa04064cf7p799, -0x1.b944c271f477bp-1
+0x1.db25c4ae37695p710, -0x1.ff84b0c08defdp-3
+0x1.dc06652f06a70p-689, 0x1.f2eb368dd304ap-3
+0x1.e09726def851ap-784, 0x1.8d62918b2f6a5p-5
+0x1.e1561576de8f5p-470, 0x1.983137f5396b2p-2
+0x1.e5e4c7891da9bp-871, 0x1.5775130263654p-5
+0x1.eca182884f17fp-295, 0x1.af55d3375f461p-3
+0x1.f1c172bc4f401p-360, 0x1.f40476496c282p-4
+0x1.f244722a51df2p548, -0x1.20f7a2f2fc3e8p-2
+0x1.f422f159f235bp126, -0x1.339620de97b69p1
+0x1.f43463d9cef16p-845, 0x1.2c364792462fep-3
+0x1.f8b79758182dap-884, 0x1.ed6174093fca4p-6
+0x1.fa5c677254961p133, -0x1.c91962524971ep-1
+0x1.ff0544adacb78p649, -0x1.6c17c3a7210e2p-1
diff -urN glibc-2.17-c758a686/benchtests/pthread_once-inputs glibc-2.17-c758a686/benchtests/pthread_once-inputs
--- glibc-2.17-c758a686/benchtests/pthread_once-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/pthread_once-inputs 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,9 @@
+# This tests the common-case scenario for pthread_once.
+# We have a single thread that runs a no-op initialization once and then
+# repeatedly runs checks of the initialization (i.e., an acquire load and
+# conditional jump) in a tight loop.
+# scripts/bench.py doesn't handle function pointers, so we just use void *:
+## args: pthread_once_t *:void *
+## includes: pthread.h
+## include-sources: pthread_once-source.c
+&once, once_handler
diff -urN glibc-2.17-c758a686/pthread_once-source.c glibc-2.17-c758a686/benchtests/pthread_once-source.c
--- glibc-2.17-c758a686/benchtests/pthread_once-source.c 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/pthread_once-source.c 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,25 @@
+/* Measure pthread_once best-case latency (i.e., when already initialized.
+
+ Copyright (C) 2014 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+static pthread_once_t once = PTHREAD_ONCE_INIT;
+
+static void
+once_handler (void)
+{
+}
diff -urN glibc-2.17-c758a686/benchtests/README glibc-2.17-c758a686/benchtests/README
--- glibc-2.17-c758a686/benchtests/README 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/README 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,99 @@
+Using the glibc microbenchmark suite
+====================================
+
+The glibc microbenchmark suite automatically generates code for specified
+functions, builds and calls them repeatedly for given inputs to give some
+basic performance properties of the function.
+
+Running the benchmark:
+=====================
+
+The benchmark needs python 2.7 or later in addition to the
+dependencies required to build the GNU C Library. One may run the
+benchmark by invoking make as follows:
+
+ $ make bench
+
+This runs each function for 10 seconds and appends its output to
+benchtests/bench.out. To ensure that the tests are rebuilt, one could run:
+
+ $ make bench-clean
+
+The duration of each test can be configured setting the BENCH_DURATION variable
+in the call to make. One should run `make bench-clean' before changing
+BENCH_DURATION.
+
+ $ make BENCH_DURATION=1 bench
+
+The benchmark suite does function call measurements using architecture-specific
+high precision timing instructions whenever available. When such support is
+not available, it uses clock_gettime (CLOCK_PROCESS_CPUTIME_ID). One can force
+the benchmark to use clock_gettime by invoking make as follows:
+
+ $ make USE_CLOCK_GETTIME=1 bench
+
+Again, one must run `make bench-clean' before changing the measurement method.
+
+Adding a function to benchtests:
+===============================
+
+If the name of the function is `foo', then the following procedure should allow
+one to add `foo' to the bench tests:
+
+- Append the function name to the bench variable in the Makefile.
+
+- Make a file called `foo-inputs` to provide the definition and input for the
+ function. The file should have some directives telling the parser script
+ about the function and then one input per line. Directives are lines that
+ have a special meaning for the parser and they begin with two hashes '##'.
+ The following directives are recognized:
+
+ - args: This should be assigned a colon separated list of types of the input
+ arguments. This directive may be skipped if the function does not take any
+ inputs. One may identify output arguments by nesting them in <>. The
+ generator will create variables to get outputs from the calling function.
+ - ret: This should be assigned the type that the function returns. This
+ directive may be skipped if the function does not return a value.
+ - includes: This should be assigned a comma-separated list of headers that
+ need to be included to provide declarations for the function and types it
+ may need (specifically, this includes using "#include ").
+ - include-sources: This should be assigned a comma-separated list of source
+ files that need to be included to provide definitions of global variables
+ and functions (specifically, this includes using "#include "source").
+ See pthread_once-inputs and pthreads_once-source.c for an example of how
+ to use this to benchmark a function that needs state across several calls.
+ - init: Name of an initializer function to call to initialize the benchtest.
+ - name: See following section for instructions on how to use this directive.
+
+ Lines beginning with a single hash '#' are treated as comments. See
+ pow-inputs for an example of an input file.
+
+Multiple execution units per function:
+=====================================
+
+Some functions have distinct performance characteristics for different input
+domains and it may be necessary to measure those separately. For example, some
+math functions perform computations at different levels of precision (64-bit vs
+240-bit vs 768-bit) and mixing them does not give a very useful picture of the
+performance of these functions. One could separate inputs for these domains in
+the same file by using the `name' directive that looks something like this:
+
+ ##name: 240bit
+
+See the pow-inputs file for an example of what such a partitioned input file
+would look like.
+
+Benchmark Sets:
+==============
+
+In addition to standard benchmarking of functions, one may also generate
+custom outputs for a set of functions. This is currently used by string
+function benchmarks where the aim is to compare performance between
+implementations at various alignments and for various sizes.
+
+To add a benchset for `foo':
+
+- Add `foo' to the benchset variable.
+- Write your bench-foo.c that prints out the measurements to stdout.
+- On execution, a bench-foo.out is created in $(objpfx) with the contents of
+ stdout.
diff -urN glibc-2.17-c758a686/rint-inputs glibc-2.17-c758a686/benchtests/rint-inputs
--- glibc-2.17-c758a686/benchtests/rint-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/rint-inputs 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,7 @@
+## args: double
+## ret: double
+## includes: math.h
+78.5
+-78.5
+4503599627370497.0
+-4503599627370497.0
diff -urN glibc-2.17-c758a686/benchtests/scripts/benchout.schema.json glibc-2.17-c758a686/benchtests/scripts/benchout.schema.json
--- glibc-2.17-c758a686/benchtests/scripts/benchout.schema.json 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/scripts/benchout.schema.json 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,42 @@
+{
+ "title": "benchmark",
+ "type": "object",
+ "properties": {
+ "timing-type": {
+ "type": "string"
+ },
+ "functions": {
+ "title": "Associative array of functions",
+ "type": "object",
+ "patternProperties": {
+ "^[_a-zA-Z][_a-zA-Z0-9]+$": {
+ "title": "Function names",
+ "type": "object",
+ "patternProperties": {
+ "^[_a-zA-Z0-9]*$": {
+ "title": "Function variants",
+ "type": "object",
+ "properties": {
+ "duration": {"type": "number"},
+ "iterations": {"type": "number"},
+ "max": {"type": "number"},
+ "min": {"type": "number"},
+ "mean": {"type": "number"},
+ "timings": {
+ "type": "array",
+ "items": {"type": "number"}
+ }
+ },
+ "required": ["duration", "iterations", "max", "min", "mean"],
+ "additionalProperties": false
+ }
+ },
+ "additionalProperties": false
+ }
+ },
+ "minProperties": 1
+ }
+ },
+ "required": ["timing-type", "functions"],
+ "additionalProperties": false
+}
diff -urN glibc-2.17-c758a686/benchtests/scripts/bench.py glibc-2.17-c758a686/benchtests/scripts/bench.py
--- glibc-2.17-c758a686/benchtests/scripts/bench.py 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/scripts/bench.py 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,308 @@
+#!/usr/bin/python
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# .
+
+"""Benchmark program generator script
+
+This script takes a function name as input and generates a program using
+an input file located in the benchtests directory. The name of the
+input file should be of the form foo-inputs where 'foo' is the name of
+the function.
+"""
+
+from __future__ import print_function
+import sys
+import os
+import itertools
+
+# Macro definitions for functions that take no arguments. For functions
+# that take arguments, the STRUCT_TEMPLATE, ARGS_TEMPLATE and
+# VARIANTS_TEMPLATE are used instead.
+DEFINES_TEMPLATE = '''
+#define CALL_BENCH_FUNC(v, i) %(func)s ()
+#define NUM_VARIANTS (1)
+#define NUM_SAMPLES(v) (1)
+#define VARIANT(v) FUNCNAME "()"
+'''
+
+# Structures to store arguments for the function call. A function may
+# have its inputs partitioned to represent distinct performance
+# characteristics or distinct flavors of the function. Each such
+# variant is represented by the _VARIANT structure. The ARGS structure
+# represents a single set of arguments.
+STRUCT_TEMPLATE = '''
+#define CALL_BENCH_FUNC(v, i) %(func)s (%(func_args)s)
+
+struct args
+{
+%(args)s
+ double timing;
+};
+
+struct _variants
+{
+ const char *name;
+ int count;
+ struct args *in;
+};
+'''
+
+# The actual input arguments.
+ARGS_TEMPLATE = '''
+struct args in%(argnum)d[%(num_args)d] = {
+%(args)s
+};
+'''
+
+# The actual variants, along with macros defined to access the variants.
+VARIANTS_TEMPLATE = '''
+struct _variants variants[%(num_variants)d] = {
+%(variants)s
+};
+
+#define NUM_VARIANTS %(num_variants)d
+#define NUM_SAMPLES(i) (variants[i].count)
+#define VARIANT(i) (variants[i].name)
+'''
+
+# Epilogue for the generated source file.
+EPILOGUE = '''
+#define RESULT(__v, __i) (variants[(__v)].in[(__i)].timing)
+#define RESULT_ACCUM(r, v, i, old, new) \\
+ ((RESULT ((v), (i))) = (RESULT ((v), (i)) * (old) + (r)) / ((new) + 1))
+#define BENCH_FUNC(i, j) ({%(getret)s CALL_BENCH_FUNC (i, j);})
+#define FUNCNAME "%(func)s"
+#include "bench-skeleton.c"'''
+
+
+def gen_source(func, directives, all_vals):
+ """Generate source for the function
+
+ Generate the C source for the function from the values and
+ directives.
+
+ Args:
+ func: The function name
+ directives: A dictionary of directives applicable to this function
+ all_vals: A dictionary input values
+ """
+ # The includes go in first.
+ for header in directives['includes']:
+ print('#include <%s>' % header)
+
+ for header in directives['include-sources']:
+ print('#include "%s"' % header)
+
+ # Print macros. This branches out to a separate routine if
+ # the function takes arguments.
+ if not directives['args']:
+ print(DEFINES_TEMPLATE % {'func': func})
+ outargs = []
+ else:
+ outargs = _print_arg_data(func, directives, all_vals)
+
+ # Print the output variable definitions if necessary.
+ for out in outargs:
+ print(out)
+
+ # If we have a return value from the function, make sure it is
+ # assigned to prevent the compiler from optimizing out the
+ # call.
+ if directives['ret']:
+ print('static %s volatile ret;' % directives['ret'])
+ getret = 'ret = '
+ else:
+ getret = ''
+
+ # Test initialization.
+ if directives['init']:
+ print('#define BENCH_INIT %s' % directives['init'])
+
+ print(EPILOGUE % {'getret': getret, 'func': func})
+
+
+def _print_arg_data(func, directives, all_vals):
+ """Print argument data
+
+ This is a helper function for gen_source that prints structure and
+ values for arguments and their variants and returns output arguments
+ if any are found.
+
+ Args:
+ func: Function name
+ directives: A dictionary of directives applicable to this function
+ all_vals: A dictionary input values
+
+ Returns:
+ Returns a list of definitions for function arguments that act as
+ output parameters.
+ """
+ # First, all of the definitions. We process writing of
+ # CALL_BENCH_FUNC, struct args and also the output arguments
+ # together in a single traversal of the arguments list.
+ func_args = []
+ arg_struct = []
+ outargs = []
+
+ for arg, i in zip(directives['args'], itertools.count()):
+ if arg[0] == '<' and arg[-1] == '>':
+ pos = arg.rfind('*')
+ if pos == -1:
+ die('Output argument must be a pointer type')
+
+ outargs.append('static %s out%d;' % (arg[1:pos], i))
+ func_args.append(' &out%d' % i)
+ else:
+ arg_struct.append(' %s volatile arg%d;' % (arg, i))
+ func_args.append('variants[v].in[i].arg%d' % i)
+
+ print(STRUCT_TEMPLATE % {'args' : '\n'.join(arg_struct), 'func': func,
+ 'func_args': ', '.join(func_args)})
+
+ # Now print the values.
+ variants = []
+ for (k, vals), i in zip(all_vals.items(), itertools.count()):
+ out = [' {%s, 0},' % v for v in vals]
+
+ # Members for the variants structure list that we will
+ # print later.
+ variants.append(' {"%s", %d, in%d},' % (k, len(vals), i))
+ print(ARGS_TEMPLATE % {'argnum': i, 'num_args': len(vals),
+ 'args': '\n'.join(out)})
+
+ # Print the variants and the last set of macros.
+ print(VARIANTS_TEMPLATE % {'num_variants': len(all_vals),
+ 'variants': '\n'.join(variants)})
+ return outargs
+
+
+def _process_directive(d_name, d_val):
+ """Process a directive.
+
+ Evaluate the directive name and value passed and return the
+ processed value. This is a helper function for parse_file.
+
+ Args:
+ d_name: Name of the directive
+ d_val: The string value to process
+
+ Returns:
+ The processed value, which may be the string as it is or an object
+ that describes the directive.
+ """
+ # Process the directive values if necessary. name and ret don't
+ # need any processing.
+ if d_name.startswith('include'):
+ d_val = d_val.split(',')
+ elif d_name == 'args':
+ d_val = d_val.split(':')
+
+ # Return the values.
+ return d_val
+
+
+def parse_file(func):
+ """Parse an input file
+
+ Given a function name, open and parse an input file for the function
+ and get the necessary parameters for the generated code and the list
+ of inputs.
+
+ Args:
+ func: The function name
+
+ Returns:
+ A tuple of two elements, one a dictionary of directives and the
+ other a dictionary of all input values.
+ """
+ all_vals = {}
+ # Valid directives.
+ directives = {
+ 'name': '',
+ 'args': [],
+ 'includes': [],
+ 'include-sources': [],
+ 'ret': '',
+ 'init': ''
+ }
+
+ try:
+ with open('%s-inputs' % func) as f:
+ for line in f:
+ # Look for directives and parse it if found.
+ if line.startswith('##'):
+ try:
+ d_name, d_val = line[2:].split(':', 1)
+ d_name = d_name.strip()
+ d_val = d_val.strip()
+ directives[d_name] = _process_directive(d_name, d_val)
+ except (IndexError, KeyError):
+ die('Invalid directive: %s' % line[2:])
+
+ # Skip blank lines and comments.
+ line = line.split('#', 1)[0].rstrip()
+ if not line:
+ continue
+
+ # Otherwise, we're an input. Add to the appropriate
+ # input set.
+ cur_name = directives['name']
+ all_vals.setdefault(cur_name, [])
+ all_vals[cur_name].append(line)
+ except IOError as ex:
+ die("Failed to open input file (%s): %s" % (ex.filename, ex.strerror))
+
+ return directives, all_vals
+
+
+def die(msg):
+ """Exit with an error
+
+ Prints an error message to the standard error stream and exits with
+ a non-zero status.
+
+ Args:
+ msg: The error message to print to standard error
+ """
+ print('%s\n' % msg, file=sys.stderr)
+ sys.exit(os.EX_DATAERR)
+
+
+def main(args):
+ """Main function
+
+ Use the first command line argument as function name and parse its
+ input file to generate C source that calls the function repeatedly
+ for the input.
+
+ Args:
+ args: The command line arguments with the program name dropped
+
+ Returns:
+ os.EX_USAGE on error and os.EX_OK on success.
+ """
+ if len(args) != 1:
+ print('Usage: %s ' % sys.argv[0])
+ return os.EX_USAGE
+
+ directives, all_vals = parse_file(args[0])
+ gen_source(args[0], directives, all_vals)
+ return os.EX_OK
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv[1:]))
diff -urN glibc-2.17-c758a686/benchtests/scripts/validate_benchout.py glibc-2.17-c758a686/benchtests/scripts/validate_benchout.py
--- glibc-2.17-c758a686/benchtests/scripts/validate_benchout.py 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/scripts/validate_benchout.py 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,85 @@
+#!/usr/bin/python
+# Copyright (C) 2014 Free Software Foundation, Inc.
+# This file is part of the GNU C Library.
+#
+# The GNU C Library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# The GNU C Library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with the GNU C Library; if not, see
+# .
+"""Benchmark output validator
+
+Given a benchmark output file in json format and a benchmark schema file,
+validate the output against the schema.
+"""
+
+from __future__ import print_function
+import json
+import sys
+import os
+
+try:
+ import jsonschema
+except ImportError:
+ print('Could not find jsonschema module. Output not validated.')
+ # Return success because we don't want the bench target to fail just
+ # because the jsonschema module was not found.
+ sys.exit(os.EX_OK)
+
+
+def validate_bench(benchfile, schemafile):
+ """Validate benchmark file
+
+ Validate a benchmark output file against a JSON schema.
+
+ Args:
+ benchfile: The file name of the bench.out file.
+ schemafile: The file name of the JSON schema file to validate
+ bench.out against.
+
+ Exceptions:
+ jsonschema.ValidationError: When bench.out is not valid
+ jsonschema.SchemaError: When the JSON schema is not valid
+ IOError: If any of the files are not found.
+ """
+ with open(benchfile, 'r') as bfile:
+ with open(schemafile, 'r') as sfile:
+ bench = json.load(bfile)
+ schema = json.load(sfile)
+ jsonschema.validate(bench, schema)
+
+ # If we reach here, we're all good.
+ print("Benchmark output in %s is valid." % benchfile)
+
+
+def main(args):
+ """Main entry point
+
+ Args:
+ args: The command line arguments to the program
+
+ Returns:
+ 0 on success or a non-zero failure code
+
+ Exceptions:
+ Exceptions thrown by validate_bench
+ """
+ if len(args) != 2:
+ print("Usage: %s " % sys.argv[0],
+ file=sys.stderr)
+ return os.EX_USAGE
+
+ validate_bench(args[0], args[1])
+ return os.EX_OK
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv[1:]))
diff -urN glibc-2.17-c758a686/benchtests/sincos-inputs glibc-2.17-c758a686/benchtests/sincos-inputs
--- glibc-2.17-c758a686/benchtests/sincos-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/sincos-inputs 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,27 @@
+## includes: math.h
+## args: double::
+0.9
+2.3
+3.7
+3.9
+4.0
+4.7
+5.9
+0x1.000000cf4a2a1p0
+0x1.0000010b239a8p0
+0x1.00000162a932ap0
+0x1.000002d452a11p0
+0x1.000005bc7d86cp0
+## name: 768bits
+0.93340582292648832662962377071381
+2.3328432680770916363144351635128
+3.7439477503636453548097051680088
+3.9225160069792437411706487182528
+4.0711651639931289992091478779912
+4.7858438478542097982426639646292
+5.9840767662578002727968851104379
+0x1.000000cf4a2a2p0
+0x1.0000010b239a9p0
+0x1.00000162a932bp0
+0x1.000002d452a10p0
+0x1.000005bc7d86dp0
diff -urN glibc-2.17-c758a686/benchtests/sinh-inputs glibc-2.17-c758a686/benchtests/sinh-inputs
--- glibc-2.17-c758a686/benchtests/sinh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/sinh-inputs 2015-06-20 21:22:16.302457953 -0400
@@ -0,0 +1,303 @@
+## args: double
+## ret: double
+## includes: math.h
+0x1.bcb6129b5ff2bp8
+-0x1.63057386325ebp9
+0x1.62f1d7dc4e8bfp9
+0x1.d038a32d61933p8
+-0x1.e471c1bac1ce4p-7
+0x1.a552c2076a2c0p4
+0x1.ea80c14d17262p4
+0x1.62e67590a0733p9
+0x1.62edf5f8ef2d6p9
+-0x1.23f9c5b9b41c5p6
+-0x1.62fac5eb878c6p9
+0x1.3e57e666e2e04p3
+0x1.bab6037e306ecp4
+0x1.aeceb373ec08dp5
+0x1.62ff7470df95dp9
+-0x1.6c62d6c0af55fp6
+-0x1.633c1105ee490p9
+-0x1.c6d344d145206p5
+0x1.50fc32aba8311p-15
+-0x1.62eff1edf3d60p9
+-0x1.7019f600db82cp7
+-0x1.ecea83f0b3977p-4
+0x1.6302c49c75ac4p9
+-0x1.1929f6abc031bp8
+-0x1.c6abd4778861bp3
+0x1.df98b1662cf01p8
+-0x1.0a9950e69a9dep-23
+0x1.62f873b46c417p9
+-0x1.6300b68646dc7p9
+-0x1.465a556d29a85p-7
+0x1.63018139cc344p9
+0x1.62f23680e783cp9
+-0x1.0469009da6a29p-16
+0x1.baaef71d93bc9p-22
+0x1.62f446bf431b8p9
+0x1.62ecb5c679f45p9
+0x1.632045a8a7ef9p9
+-0x1.66e894b6d218cp6
+0x1.62ee439267fe4p9
+-0x1.632432d0e9e8fp9
+0x1.5d07807c20bb9p1
+0x1.aa3c546601d68p6
+-0x1.2cdd0674e4abfp7
+0x1.62e9f2b4a0744p9
+0x1.631844f7a96d0p9
+-0x1.2bf936af0bb54p4
+-0x1.848c54c9d08a5p-13
+-0x1.a38c970185777p-6
+0x1.b1d18499dc98dp-27
+0x1.02c7030513fd7p-15
+-0x1.bdcec5aecd2eep-17
+0x1.633c66e5307e9p9
+0x1.6061d09a4b532p-10
+0x1.eb7555bb47463p5
+-0x1.6327e1c51ff78p9
+-0x1.316943f542202p-26
+0x1.6e54069de0b49p-9
+0x1.bd8310798ec44p-8
+0x1.cc4af059aa66ap8
+-0x1.9a5ff5ea279f8p6
+-0x1.9725c1ddcc807p5
+-0x1.6317b78869f21p9
+0x1.9d2f87fc603f4p5
+0x1.213554dad3888p9
+0x1.6302b7464cd16p9
+0x1.493644a3cb32cp9
+0x1.62f1877c1501ep9
+-0x1.6315b48bf51f2p9
+0x1.633cd176d9771p9
+0x1.6328531b0a130p9
+0x1.6304f3ed14c82p9
+-0x1.62e9313aabeb2p9
+-0x1.c1b3f715f7ad9p-6
+-0x1.c43692f7b838cp-24
+-0x1.6323360b63d60p9
+-0x1.562ea1c51f0f0p7
+0x1.600ef62445c5ep4
+-0x1.7f4191bd896cbp-2
+-0x1.f4d3f0d1b85eep7
+-0x1.62fc3361285d3p9
+0x1.3395d7ec1a5dbp-18
+-0x1.3ccc114df227ap-23
+-0x1.5bb910de6973fp-24
+0x1.83f8e51d82968p6
+-0x1.a729d2ed077a7p8
+-0x1.1b005777a51cdp7
+-0x1.62fa736043269p9
+0x1.97df8447ce884p-22
+-0x1.09774517f3944p7
+-0x1.d042739a998a6p-27
+0x1.8a1a0335512a5p-23
+0x1.632396c691df1p9
+0x1.0f45b5a6c79f5p-21
+-0x1.0d68a2dbd6a04p-2
+-0x1.239ff60f28877p6
+0x1.632b742e1d0c9p9
+0x1.ee36b15df2fc4p7
+0x1.7e02f6f960a46p-18
+0x1.f1a48503e33b1p-22
+-0x1.6319f733c541fp9
+-0x1.5f2434426cd39p-16
+0x1.630c71268199ap9
+-0x1.4d2140c9727ddp8
+0x1.8713c2f7dd25ap-6
+0x1.69bb815d57e03p-22
+-0x1.633a822e16e6fp9
+0x1.62f667f0092adp9
+-0x1.ba2396d33e90cp8
+-0x1.62fdf19fea01cp9
+0x1.8195955afb315p7
+0x1.6337149eda940p9
+-0x1.633754b36f51ap9
+0x1.9356878778911p4
+0x1.6318527f69db0p9
+-0x1.ee0742d151b97p-18
+-0x1.88703361b4ad5p3
+-0x1.631675fa3bc04p9
+-0x1.f2bd954cf1c51p-27
+-0x1.d897a0d2877f2p3
+-0x1.630fb3c419c60p9
+-0x1.62e861c33ae29p9
+-0x1.84acb4c33fff9p1
+-0x1.378b42b89d79dp-22
+0x1.2825d1de625c8p6
+0x1.631f833e694f8p9
+-0x1.36853687b4e6dp-20
+0x1.9b9a335db58d1p-21
+0x1.e3928304b1b20p7
+0x1.6316835c7cf05p9
+0x1.6303738c05d04p9
+-0x1.3c0e136ebb1d3p8
+0x1.96cf3250cc987p-8
+0x1.652cb53670db0p6
+0x1.6440639342e8ep-4
+0x1.4512d30165887p1
+0x1.6337b63365473p9
+0x1.449ee05b6ff3ep-12
+-0x1.d1ecf009b1e3ap8
+-0x1.be8e1102ed7f3p-12
+0x1.62fa155e6e26ep9
+-0x1.de739010d6091p7
+-0x1.8c1a422a7d8b8p4
+0x1.465d81dad540ep7
+0x1.3db012d4e554dp5
+-0x1.5329b46ad494ep8
+-0x1.5695b6e7fcd02p6
+0x1.6300e31dc8554p9
+0x1.630252d0050e1p9
+0x1.8d80571cb3337p-11
+-0x1.62e93642f1118p9
+-0x1.fb2f329c0bb96p6
+0x1.9d18d4dc71c0bp-15
+0x1.6311f75346d75p9
+-0x1.7498c57682670p-9
+0x1.f690a6c3716cbp-3
+0x1.d63fe6b5c7c89p7
+-0x1.a2388127452f0p-19
+0x1.0738a10cb2383p6
+-0x1.ca36b52292e65p-3
+0x1.62ea1202d9816p9
+0x1.1e4701aec3142p-22
+0x1.6322f270f7ff5p9
+0x1.62e6b6e528603p9
+0x1.54c5f63777d5ap0
+-0x1.02a544984fd67p-5
+-0x1.ab3a9254e8794p5
+-0x1.6321d7d010e1ap9
+0x1.6335078d8f6f1p9
+0x1.6336a46b6c9bap9
+-0x1.630397a6b37e0p9
+-0x1.baead70b0c2bap4
+0x1.988527731f959p-20
+0x1.cfd2c4878fd4ep6
+-0x1.ce3bf20083050p8
+-0x1.d3e823224ebe4p8
+0x1.31a6458858034p7
+-0x1.62f3821bac3f3p9
+-0x1.1043c4ca951fbp-23
+-0x1.074b075fe582ap-6
+0x1.62f9213f8bc1fp9
+0x1.415f919197b6cp-26
+0x1.d6c6f6b983d6cp7
+-0x1.631537abd1539p9
+0x1.631ca21fe1f5ap9
+-0x1.b276e5fc0915ap8
+0x1.630a6325d4276p9
+-0x1.3c6721ec5fd14p-11
+-0x1.6330b03f5aa48p9
+-0x1.30b15478c1933p-5
+-0x1.630ef52917607p9
+0x1.d20df37103516p-21
+-0x1.a69a66dbd2ea1p8
+-0x1.c69e923a07adcp6
+0x1.6a7f505fea5d9p-17
+-0x1.ca384346f16a9p8
+0x1.32a202fb0895dp7
+-0x1.320c539d2690cp8
+0x1.10c193b381a23p-10
+-0x1.2a2bb2e417439p6
+-0x1.d1b6a4e76701bp-10
+0x1.ba51c02ad2c00p-8
+0x1.4eb503a5e519cp6
+0x1.632b31037059ap9
+-0x1.f03c46b9d44dbp-25
+0x1.0810152df1887p-4
+-0x1.f6a97309476d8p6
+-0x1.f56fa7db86bf4p5
+0x1.df804326360d0p4
+-0x1.141d54326d8a1p7
+0x1.0078e7f84d8d8p6
+0x1.cef6f7b56f8c2p-19
+0x1.0d0ce07e697a5p-15
+0x1.6326673bf0ee0p9
+0x1.3c1dd34b185a1p6
+0x1.ddc3c42ec39bap6
+-0x1.632752aab262cp9
+0x1.630e01d39d028p9
+0x1.dac293f73d850p5
+0x1.631510cd8cc49p9
+-0x1.028ed1e8dd32dp-17
+-0x1.b0bb57c60b6a0p5
+-0x1.783bf33152679p-18
+0x1.c5d5e473ebbbbp-26
+-0x1.915ff68d55569p5
+-0x1.633510495d169p9
+0x1.6312d35913b55p9
+0x1.6d20f44123714p7
+-0x1.6303c0b5329e9p9
+-0x1.62faa7a46d17bp9
+-0x1.633196bcef4aap9
+0x1.6329f34ef70a1p9
+0x1.3877f0875dea2p5
+-0x1.413e167d515b4p-8
+0x1.f017e3196ac82p3
+0x1.230e2092aaa0ep5
+-0x1.7b67d6318a255p7
+0x1.04c9f0425e693p2
+-0x1.1ebe27d65ffa7p6
+-0x1.62f596dff99e7p9
+-0x1.496ec324e967fp5
+0x1.2f75110873a31p8
+0x1.62ec21c319df7p9
+-0x1.487513da26b06p5
+0x1.6329675608d9fp9
+-0x1.1de0320fc0737p9
+0x1.73d4f770b54e0p5
+0x1.62ef2138efd07p9
+-0x1.7cd5764bf11ffp7
+0x1.402ca060e1497p8
+0x1.632cc11415f53p9
+-0x1.631ec3cf4a7b9p9
+-0x1.278e06c2c4ea4p-17
+-0x1.62f55568a253dp9
+0x1.6310e758dfd28p9
+-0x1.3d480025e3245p7
+-0x1.4517c5d83e40fp-1
+0x1.6307c4b105e8bp9
+0x1.630181fc28954p9
+-0x1.8d2e660962aa3p-9
+-0x1.98df07527c0bbp8
+-0x1.a27ee2e3a28adp-10
+0x1.6387b36f3b875p8
+-0x1.05cbb323669c8p7
+-0x1.52594428d68c5p1
+-0x1.4c9235b765b89p-18
+0x1.632a66cd5c94bp9
+-0x1.62fbd7e6a4400p9
+-0x1.728176d7c18f0p-24
+0x1.62e6378477ec7p9
+-0x1.632b611f08364p9
+-0x1.25a7b6bd7d0d0p-3
+0x1.00efd61470d55p-10
+-0x1.6336976d5e8adp9
+-0x1.359ca2cc9fc70p-12
+0x1.5e2af7dfe1034p9
+0x1.62fb546601bb5p9
+-0x1.630544284f262p9
+0x1.0b72226f94781p3
+-0x1.1fb7b0f3e9cecp-22
+0x1.c7b7361a9d625p5
+0x1.dde5178b689c3p5
+-0x1.13d52288f4693p-15
+0x1.1868b4ff4df0bp-22
+-0x1.a9369360a2239p-18
+0x1.d35412055367bp7
+-0x1.35d973c1b14fbp1
+-0x1.6316075c46ee9p9
+0x1.7c96f7ff40e1ep-25
+0x1.2b2582d457cd0p6
+-0x1.a28481bf5abc7p6
+0x1.467a936424936p8
+0x1.a1ca4036cbf56p-4
+-0x1.34b9e14e1af56p5
+0x1.00e73296682cap7
+-0x1.01f6e4bd76df4p-13
+-0x1.d84f005ebcd13p-7
+-0x1.632dc46b7230cp9
+-0x1.724f81862e781p-25
+0x1.62f6f6ca932f5p9
+-0x1.b07147eb43dd0p4
diff -urN glibc-2.17-c758a686/benchtests/sin-inputs glibc-2.17-c758a686/benchtests/sin-inputs
--- glibc-2.17-c758a686/benchtests/sin-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/sin-inputs 2015-06-20 21:22:16.303457923 -0400
@@ -0,0 +1,2913 @@
+## includes: math.h
+## args: double
+## ret: double
+0x1.4e31719759424p353
+-0x1.202ae0c324949p20
+-0x1.0f8c771855528p-8
+-0x1.339f22dc85e76p22
+-0x1.904e251c945aap343
+0x1.e13c5531993aep-2
+0x1.5b05529d780f3p-24
+0x1.41e8f0676cd4ep8
+0x1.411e056bd6bcap-2
+-0x1.0ca910674bec9p11
+0x1.0c7df3a6a06b7p0
+0x1.ef4075c4a3c3bp-11
+0x1.52224219293bbp791
+0x1.c227d66030144p3
+0x1.b2a5d2451fcc7p0
+-0x1.56a2c78366fcfp19
+0x1.0e02525c58105p26
+-0x1.e39c357c7c18bp404
+-0x1.a4b3865993274p15
+0x1.871d4238016f0p1
+0x1.9c0ff32380748p-12
+0x1.89db74b290234p-4
+-0x1.46c0d53d48490p40
+0x1.d2b7221564888p739
+0x1.1ed4f44792d40p30
+-0x1.f4cff05c7df9fp24
+-0x1.130783c5347b2p19
+0x1.f439e3a751c06p0
+-0x1.630814d89b60ep23
+0x1.e641156ac4981p28
+0x1.b09f366ca1e8dp-1
+-0x1.5e9a670db3d03p33
+-0x1.130fb139e93b7p546
+0x1.138355fdffae2p36
+-0x1.20908459428fep42
+0x1.8a1293891effap-2
+0x1.d3fd23a93e82cp0
+0x1.9c95c4a9d8f7fp848
+-0x1.23c7340f1b756p-8
+-0x1.aa82b642da2d7p304
+0x1.1d4f233dfb177p26
+-0x1.b55807b7ef532p-2
+-0x1.971032fa3d5e8p21
+0x1.d4e9e5d2cb6eap29
+0x1.bc051494f7144p23
+-0x1.661bf799c255fp201
+0x1.052840edc4f07p24
+0x1.0551d741e16d9p10
+-0x1.3c365242efbadp690
+-0x1.a1bcf06ea66e7p244
+-0x1.4b20e44b06e11p14
+0x1.3e5112fb02b33p45
+-0x1.89cb01f331009p18
+-0x1.de6db48d64d8ap-1
+-0x1.d0bce02378eb6p24
+0x1.3a9b24b4ad685p32
+-0x1.e0c1554a97eabp136
+0x1.398670a088410p23
+0x1.7c2150ddf2a1bp-1
+0x1.2153d792ddc8bp599
+-0x1.ed7986b460920p34
+0x1.6de72477b695fp789
+0x1.0a1a8631872ccp1
+-0x1.df4c22cbd016fp14
+0x1.1b96201522f46p28
+-0x1.8c8ea54e4ea92p13
+-0x1.e36b62515b546p725
+-0x1.62b4633089889p965
+0x1.e1dcf4a52ec6ap23
+0x1.3d7fb4750aed3p34
+-0x1.ede78680f7292p40
+0x1.96c0917ba637bp959
+-0x1.e051760806b8bp-2
+-0x1.e86f230e487d2p-16
+-0x1.1d3397349ac97p8
+-0x1.ddf236157546cp743
+-0x1.70c031efdc4f9p415
+0x1.233ff3c09d84ap9
+0x1.3edab4c5f3a26p0
+0x1.6c93b47873059p436
+-0x1.3237841f0b0bep237
+-0x1.8760d1293a1f3p-13
+-0x1.a18c37bc89a24p1
+-0x1.3f2766f7d26b6p542
+-0x1.bec6222bee7a6p-1
+0x1.f26ce5fd59845p456
+0x1.5b32c136e1f9dp18
+-0x1.b7ed411870c8fp6
+-0x1.72aa75c106ffap42
+0x1.db2c644144982p915
+0x1.1415b4c83775bp24
+-0x1.25a7566e7f67cp10
+-0x1.9facd2a3d5418p18
+0x1.78e1e40bdde9cp47
+-0x1.5c33011915d84p0
+0x1.ff6852a9c8d2cp22
+-0x1.cc23573b9a1c2p37
+-0x1.824f12c733c82p-2
+-0x1.3cab932de7796p37
+-0x1.1c4df62e7d177p1
+0x1.c1b95025989fcp14
+0x1.832e22eeb5989p-5
+0x1.452f327db73f8p10
+-0x1.290d05147591cp1002
+-0x1.beaa851f05e92p-1
+0x1.ad58373023277p513
+0x1.f93821eb50de3p42
+0x1.1bda02f0f3f9fp1
+-0x1.38d441441abf9p33
+-0x1.624000e54a29cp631
+-0x1.d98c1179cdcb5p22
+-0x1.c44511ec2f8b4p28
+-0x1.30ef1448b9e93p-2
+-0x1.c308f108883c4p333
+0x1.12e7d2402f07ep7
+-0x1.e74a96ae3bb5fp132
+0x1.c31f54a536722p4
+-0x1.56e14428bc436p-6
+0x1.edb3a48cb14d9p-1
+-0x1.f027b77ce5bddp14
+-0x1.0c53346de6015p40
+0x1.b19cf55c66693p14
+-0x1.a19e001e2c6a1p16
+-0x1.0e2865378e3aep3
+-0x1.f65794e9df99fp47
+0x1.e1ee854626d4ep536
+-0x1.940bd6337c84cp-13
+-0x1.2cbf8175aa84ap17
+-0x1.961bc1591e602p3
+-0x1.87b2b0601d2fap1
+-0x1.772c74a581f96p751
+-0x1.59e08127aee39p23
+0x1.a527c23e0a4e1p0
+0x1.eb60950795a35p-2
+-0x1.1e46f002c96a2p-2
+-0x1.9acc80758e051p8
+0x1.a45c62bacde78p29
+-0x1.5d26d76eeb16fp39
+0x1.326df3a5344d2p18
+0x1.adc29195a1e2dp15
+0x1.ff9265140dcf4p89
+0x1.76b20648c5b8dp19
+0x1.5ca4265555944p-1
+-0x1.9cc0e0deeb24bp2
+-0x1.325eb43fe815fp-11
+0x1.36bcc00217c62p393
+0x1.b78b3134ed03ap8
+-0x1.889c50b50e994p355
+-0x1.03938396f299ep13
+0x1.8f76b03720eeep25
+-0x1.2ff306722b5a0p-20
+-0x1.9166f7eede8c9p753
+-0x1.ac96117a61cb3p35
+-0x1.cf3642f86351ep5
+-0x1.65ef55c9472d7p28
+-0x1.d7e391105fa79p978
+0x1.1c6cd319235fap46
+-0x1.aa7970ac6beb8p40
+-0x1.cff1e6c12b98dp27
+-0x1.d0e054e560649p39
+0x1.fe0175557d0dap-2
+0x1.862a0150c14c8p24
+0x1.ab0df0da7ef0dp0
+0x1.452292fcc9743p-2
+0x1.b525530505534p991
+0x1.80e514cb850ebp14
+0x1.e83385b509520p673
+0x1.f73857e61fd2ep36
+-0x1.c140a422bbc7ap10
+0x1.6a3836b018674p666
+0x1.420174d78cfd8p11
+0x1.34bb45e923e9dp1
+0x1.b90f228298b54p25
+-0x1.399605f4445a3p203
+0x1.c95d15ef0ce1ep-1
+0x1.6ed1160abd68ep8
+-0x1.40bbe306fa9b5p46
+0x1.da8267a8f6494p46
+0x1.6407626ac4921p3
+0x1.5635a0a1b6c48p0
+0x1.a2e9e58ba39c0p31
+0x1.d4e0d618fbcfap697
+0x1.973f27485658dp166
+0x1.d17c3143c6d80p529
+0x1.d936e70a9f908p16
+-0x1.0a8ba2bc9bb3ap107
+0x1.17e910c087095p26
+0x1.4e23340e98273p991
+-0x1.5f6a72e7950c9p-1
+0x1.d29737bd89976p187
+0x1.a7db27e5bb0fbp33
+-0x1.dbcf01f3ac92fp19
+-0x1.40aa778cc7865p-2
+0x1.f16163407b344p-1
+-0x1.32b196585adb2p26
+-0x1.c83eb643cf122p165
+0x1.291fa0c5f8d40p-4
+-0x1.7ab62403e1a78p680
+0x1.68f2830723d8dp-2
+-0x1.54cf77dd7d83fp11
+0x1.aee6014383723p16
+-0x1.39ced0bf900c2p-2
+-0x1.e3ce76406226fp-25
+-0x1.7e5623b6bd702p20
+0x1.478a64a7d9020p369
+0x1.8888438f4aa60p495
+0x1.804b902d0663ep-6
+0x1.74c501d7381dcp0
+0x1.65c56626b3f5dp20
+0x1.7ca955c1db56bp-2
+-0x1.3257f754500c2p6
+0x1.93b0e2b87951bp807
+0x1.78c226a06ff9dp881
+-0x1.2a61e2ec72661p26
+0x1.515561fe9c724p109
+0x1.f04611a3f263cp-5
+0x1.ef0196a9c0554p25
+0x1.58bb53a309d66p147
+-0x1.b67d94ed2b039p22
+-0x1.a08f75ea1519bp-24
+-0x1.9b14260bb0430p855
+0x1.018fe4f13cc1ep563
+-0x1.42f125d031ba6p663
+0x1.7cdb837d7a326p8
+-0x1.885d54001463ap0
+0x1.e315d2bcdedaap0
+0x1.cbd6f6692bc81p-3
+0x1.f5be652eb0059p4
+0x1.260be58c40562p84
+-0x1.0fe3d67fb0d33p0
+-0x1.a665d08300b9bp21
+-0x1.879cf57ffe1b5p18
+-0x1.8896d5a45e3d5p-2
+0x1.182964987bd99p15
+0x1.ae4ed76c12ddcp-1
+-0x1.2b387213c40c0p10
+-0x1.190326f5c5c9bp506
+0x1.fc8ab2a922d40p56
+0x1.84ba0399b0479p34
+0x1.196320ea67543p801
+0x1.c6f8306ba2e53p541
+0x1.f79d44a0719afp7
+0x1.8ca3c3000d226p7
+-0x1.c434b33e05c76p-5
+0x1.868d10df4adcbp-2
+0x1.d365237c3ee46p-1
+-0x1.2f53a0332a1b2p949
+0x1.23fb93f05a5acp40
+0x1.7170c1501bd5ap-26
+0x1.bbb7d3ba1b005p650
+0x1.41c1575e5df36p6
+0x1.46d3f4d9169a3p39
+0x1.c9fa657c758adp16
+-0x1.c463d1e0760e3p5
+0x1.0ef4e317bbeb3p45
+-0x1.6b8f175a47735p1022
+-0x1.9cbcb495f934fp0
+0x1.b035202e76644p429
+0x1.dfea1413ef865p-1
+0x1.c30c667184d73p4
+-0x1.6e4350ad76c38p6
+0x1.11023720f1a27p-17
+0x1.7d39738644047p5
+0x1.08e8904336050p26
+-0x1.a0f4632092bf4p31
+-0x1.31db61e58f2c6p327
+-0x1.216362a55985cp21
+0x1.59afd473ae079p620
+0x1.a67b229194875p0
+-0x1.102f35c99abdcp408
+0x1.7c8930f344010p8
+-0x1.236814c694776p26
+-0x1.69695069a7660p-2
+-0x1.4833d2eb288d6p23
+-0x1.6253b6dbdbdf0p-2
+-0x1.cebd11d7b8c60p23
+-0x1.6e47719d8cbdap23
+-0x1.bc0e60a3d372cp-24
+-0x1.aea4a37abf07bp-2
+0x1.a424422079a3cp0
+0x1.5f4ad2d1ae141p0
+0x1.9d1c7329661c5p4
+0x1.c95da42d6a20ap5
+-0x1.637d860a40277p911
+-0x1.777bf17319cfep11
+-0x1.b8f294e0feb0bp5
+0x1.f8dab5af1a40fp44
+-0x1.4e822143a7e22p-6
+-0x1.30f1a29272a12p0
+0x1.ec9c45a34f565p548
+0x1.5b2031d5f55c2p9
+-0x1.596311decda04p24
+-0x1.88dea317671eep84
+0x1.1672932dd9083p-1
+-0x1.dceba122a6c97p3
+0x1.2a5880f1f8375p15
+0x1.db8507740bf47p19
+0x1.51a6f417b2d0bp-25
+0x1.17296500d6e03p26
+-0x1.05a473760addep-1
+-0x1.95e0b2c256513p20
+-0x1.150cf2ae9f714p19
+0x1.f69660154e06fp0
+-0x1.9aab65d69ac86p25
+0x1.097f676316fabp8
+0x1.e60dc42ce17c8p356
+-0x1.6f236799d0618p18
+-0x1.ddef96de04f2fp-3
+-0x1.4f76b349a0943p-25
+0x1.e41e1113025c6p779
+0x1.026094b0f4060p17
+0x1.69b29144b9540p-1
+-0x1.b55194638c050p34
+-0x1.b78f56c9abb41p38
+0x1.eda3e2bbf366bp4
+-0x1.dd66f0d648089p-2
+0x1.f70f54c519e03p5
+0x1.b2ed91264f4b0p736
+-0x1.7e89b7cbfeef2p790
+0x1.9ebdd376c6af6p669
+-0x1.31bcf466a0f71p38
+-0x1.db600765a5820p880
+0x1.83720115e49bap19
+-0x1.72f7158f3031dp485
+0x1.b493a52c77e8ap262
+-0x1.61b575ab7671cp-1
+-0x1.d872154df6929p25
+-0x1.966b0439fdb8ap949
+-0x1.48ec6657af67cp-2
+0x1.b79c505f0f0cap0
+0x1.8cb2918d277b2p556
+-0x1.57d9c07b3aff9p-1
+-0x1.928615736e2c3p0
+-0x1.89a736dbeb43ep273
+0x1.78484185770a7p-1
+-0x1.9716820109e97p82
+0x1.e772957d51225p36
+0x1.082be0a48a4ddp23
+-0x1.fcb8f111481cbp-2
+0x1.9221f605bd679p8
+-0x1.4901b4e9ae99fp19
+-0x1.107b70bf37787p19
+0x1.116bf43b5a0c9p-1
+-0x1.aaf0763749048p25
+0x1.9958546576d59p2
+0x1.7f1374d7f65b5p13
+0x1.2b12a66cfcbfcp24
+-0x1.032e0018d5e31p93
+-0x1.b47f10ba68386p-22
+-0x1.3d2b81e149a51p-1
+-0x1.421ff5c85a241p24
+0x1.e600548bb210dp-18
+-0x1.678015108956ep-1
+-0x1.e02ab7babc6e4p21
+0x1.209470304e32ap9
+-0x1.e80132771d75dp0
+-0x1.a3344487bd369p27
+0x1.e1eb2267b7fdcp496
+-0x1.7721478b2d466p14
+-0x1.9f701607ace6bp32
+-0x1.3b5b74d34ada7p-12
+0x1.2477a5441ffd0p9
+0x1.d66a76c489eb1p3
+-0x1.5bed268942217p0
+0x1.2f7b251d454efp3
+0x1.7e30f5f452228p10
+0x1.eb98508ea666dp-10
+0x1.2fcfe5c7591f1p0
+-0x1.a0ac164173a04p17
+-0x1.468a06a5522b9p21
+-0x1.5824c7106d618p16
+0x1.eb81c45f51ccdp40
+-0x1.a3e486adaff0ep479
+0x1.1974e0f299718p592
+-0x1.e5a1e74789b73p45
+-0x1.619690cc59a49p807
+-0x1.aebff5a970e6cp15
+-0x1.bfffc1c94a5fcp203
+0x1.c6ca100bb7092p674
+0x1.b95db5be3c216p-9
+0x1.1f43a01f3499cp875
+-0x1.de5737f187a25p6
+-0x1.b0bb15e917960p24
+0x1.26c0670524e93p17
+-0x1.809321a40d4a8p-1
+0x1.9dcd443d72518p484
+0x1.6dbde56f8d28fp28
+0x1.0842a4feb907ap1011
+0x1.e22643ea2d366p840
+-0x1.5a6d36e2f784fp0
+0x1.941a537fbac6bp-19
+0x1.735171a8af18ep390
+-0x1.6c21854e6ac4ep-2
+-0x1.4966b64a86f86p13
+-0x1.9151a1dcc653ap-2
+0x1.d39194332f055p-2
+0x1.3441f2d9046a4p45
+-0x1.63827188db8d2p27
+0x1.6638414088a1ep-1
+-0x1.a6bfc2a427d20p12
+-0x1.a69f971d4e130p25
+-0x1.d3300078065d9p46
+0x1.4f37818518d61p356
+-0x1.ad6bd45d98764p32
+-0x1.2fbf90a8a2c99p877
+-0x1.ff71d39bd81cap22
+0x1.5fdec455fd1a8p20
+-0x1.226887072ca0ap377
+0x1.f72e43d6cf555p951
+0x1.dc26c361d9df5p2
+-0x1.0294c7e317c97p24
+-0x1.7ed5874833105p-1
+0x1.719536cabadbep803
+-0x1.ec79d4096ea8fp27
+0x1.eec6d47320e53p261
+0x1.a1f7f00ab9ef0p19
+-0x1.131f85094d6b2p-3
+-0x1.62fd06cec62e9p920
+0x1.3ac61495513e6p-10
+0x1.38a2e3a18c65dp-1
+0x1.4a7fb2f2fb6e3p-7
+-0x1.2d23b2b1b0716p467
+0x1.654b17175f19dp-17
+-0x1.9e9791bea55b9p12
+-0x1.1ba351d709f03p-20
+-0x1.17cf2637f69aep956
+0x1.e97fa01af0da4p12
+-0x1.2fc4818397878p805
+-0x1.cde053fdf18dep33
+0x1.1e57e7c749fb6p907
+-0x1.b6423794860bcp-2
+-0x1.5f6ab21f70061p39
+-0x1.a8d663f09366ap694
+-0x1.ec4db28b5e248p-2
+0x1.56f98549fccb5p7
+0x1.94cd10662c26cp21
+0x1.22fce3cdc1d23p258
+-0x1.c59f864bc9d01p336
+-0x1.265292b9f7156p26
+-0x1.f079443577dbbp24
+-0x1.361ac7035cb65p1
+-0x1.e74096e5beb90p12
+-0x1.7230603fa3279p47
+-0x1.e9cbe08e63864p0
+-0x1.6ebb6528c0777p27
+0x1.5c5af7dbb0328p928
+0x1.fa7c83278e735p19
+0x1.331b21b0a2c88p2
+0x1.f56ef59955713p32
+-0x1.248d826402212p822
+-0x1.2a96722b314a5p11
+0x1.ce7975ddf3677p-19
+-0x1.954ab0cb2f1dfp0
+-0x1.ee8861dc9cd21p1
+0x1.b8c9d509b7774p0
+-0x1.accac3020df12p24
+-0x1.c0b1048baa584p13
+-0x1.247b04589de3bp32
+0x1.7908215d3793ap-22
+-0x1.8a0a5596f99e3p283
+-0x1.30e8b0467a611p-14
+0x1.7688417c5e950p25
+0x1.071177de1d758p-1
+-0x1.55a7203e5bb54p-11
+-0x1.4beda7f02fc58p0
+-0x1.8e6c752f1efcfp30
+-0x1.c96c975bef932p31
+-0x1.8123d67897403p24
+-0x1.bd6ae1f640868p426
+0x1.9fecb3cbf41c7p490
+-0x1.a15bc3ae996e6p8
+-0x1.05b3619b69842p14
+-0x1.0442141ed67adp13
+-0x1.e57d71c2d90aap6
+-0x1.509d16f50ec01p544
+-0x1.9010e6a39e0aep831
+-0x1.e7b93430ad1d5p1
+-0x1.5f96469e388c6p418
+-0x1.2d5ed5dc35c75p134
+0x1.85cd87f4cc346p-2
+0x1.8b37f442cf6e9p0
+0x1.9b1ae7a4ae625p0
+-0x1.53c115a7be97bp38
+-0x1.ff32d7edcd704p-14
+-0x1.953fa5f60bd50p8
+-0x1.f45e927d7ec3fp-1
+-0x1.45de4402c93edp-1
+-0x1.8fab8457e4c73p2
+-0x1.e062920d6e2b6p-2
+0x1.d85f469b95361p577
+-0x1.98b8e736546f7p21
+0x1.baf561d55a741p17
+0x1.a72bd7daabe8bp105
+-0x1.1ef7f1c2e5c9bp-18
+0x1.0435b73182174p18
+0x1.561e661a58867p-13
+-0x1.2f150336c7ec0p3
+0x1.ac91a59fb0bcap3
+-0x1.078942a38f20cp1
+-0x1.718d90b3efe95p-1
+0x1.8dba84562c1a1p-25
+0x1.9f94a2a92cc63p25
+0x1.529ab6f344416p15
+0x1.a005943ddb8eep0
+0x1.ac93d3c825de4p19
+-0x1.1140b5380990ep-2
+-0x1.8ef2408d49792p9
+-0x1.ca5042b95a883p11
+0x1.7c287447df731p599
+-0x1.e15023bd4744cp210
+0x1.657882484d13fp23
+0x1.e88f328b258fdp23
+0x1.855dc0e37b99ap395
+0x1.598187ea5ae51p33
+-0x1.637ae365b4384p-1
+-0x1.1923e00bf8e04p1
+-0x1.5f4ed07d8a997p16
+0x1.268767573e897p22
+0x1.ad3f47ad94f57p227
+-0x1.05cc81c2d4884p25
+0x1.bc8e47678920ap0
+-0x1.f772a716fb113p-22
+0x1.bcdc73da531a3p-7
+-0x1.b526f046be5e2p-2
+-0x1.f888c3eda4f44p92
+0x1.6f90f7637cce6p924
+0x1.6ae52307d05c4p18
+-0x1.40ea87b7fb3a9p2
+0x1.270c426bb2c09p38
+0x1.d82674e4cec0cp874
+0x1.2dc86702ce991p122
+0x1.e15520525a088p19
+-0x1.ea28530234be7p17
+0x1.9ba9b4938d1fep8
+-0x1.8dcf703e176e2p12
+-0x1.cc265742b5c6ep0
+0x1.0065329f84432p554
+-0x1.161137df0d91bp1
+0x1.8fb0027634696p0
+0x1.b9fa22d8a4cfep0
+-0x1.667ba642c426bp628
+0x1.6ea694c30205bp27
+0x1.49f3651093200p822
+-0x1.79f5a0df3fcebp667
+-0x1.b53dd3f934f2ep427
+-0x1.0565b1cf6e355p20
+-0x1.7ef691c9c2091p-1
+0x1.2f6062f73a03ap-2
+0x1.d4f4c36b692b3p3
+-0x1.945c555415314p3
+-0x1.e1efa2575c11bp284
+0x1.daa7f3648ccb3p680
+-0x1.5ad77206e5e6ap-2
+0x1.c79a40f6473f6p29
+0x1.48fcb0b8cc309p73
+-0x1.c0cb8090ed1dbp-8
+-0x1.9411631355aa0p2
+-0x1.4a1e129f65869p234
+-0x1.7619e7382b57bp-7
+-0x1.80f5c7807337ep5
+0x1.e30ba2147b72ap23
+0x1.faaab405c970ap10
+-0x1.8db3b01985f05p-17
+0x1.b155055e2c9bcp-12
+0x1.7b1531e9dea19p16
+-0x1.3f4041f462a08p35
+-0x1.809d32d7edc1cp18
+-0x1.261472134e23bp-6
+0x1.9a6785f0bd19bp406
+0x1.8227140a3e10dp491
+-0x1.ef5aa000c8afbp845
+0x1.41c582661c062p2
+0x1.67fca3ca351fdp-2
+-0x1.eb4e319782bc5p0
+0x1.2f2de7f12ed11p0
+0x1.f5a6b78c7b2e5p4
+-0x1.1297c67142642p1007
+-0x1.e1f4a032a77f6p0
+-0x1.088754e6657a4p1
+-0x1.75e1d72e80fbap30
+0x1.78b350a1f00e8p22
+0x1.271167a076a83p44
+0x1.e70f437159d71p-2
+0x1.87e957b57fa84p75
+-0x1.677a102f413c2p0
+0x1.8fc497cbb0095p-20
+-0x1.d25da5b15d323p-1
+0x1.76e7f1f9d8687p72
+-0x1.36d924ab23541p25
+0x1.b6964733ca4b5p1003
+-0x1.fb16015e8942bp-1
+-0x1.70a972441252ap981
+0x1.7e76507a8675bp-17
+-0x1.1cd0058f54456p122
+-0x1.c0fb733c7fc31p-3
+0x1.9eeeb2ae4b3ebp710
+-0x1.adb9d02c6d361p1
+-0x1.8043944ab395cp-2
+-0x1.3929134a7aa22p6
+-0x1.afef537037707p22
+0x1.f95dd74ff9bd0p265
+-0x1.46ee17ceaa71fp-1
+-0x1.7f6ea716e7feep317
+-0x1.1e22240f16846p-1
+-0x1.20a474cb7609fp24
+0x1.70e043acc61e5p16
+-0x1.7eefa2d58eb0ep337
+-0x1.5f0916075f895p25
+0x1.587ca1f01e2f3p4
+0x1.ec1f57978ca5fp-3
+0x1.03b1a7547b5f9p313
+0x1.b92e15306ee93p-1
+-0x1.b52f21e5fe14bp-17
+0x1.0e10b6ab5a214p-8
+0x1.8c4b96284f26ap24
+0x1.5f0360b127d60p-1
+-0x1.9b60e1c781a78p501
+0x1.20dad3315b635p586
+0x1.34af961f320dep220
+-0x1.300e85c202993p41
+-0x1.4d8eb16113ddap-6
+-0x1.73d644b4030d5p0
+-0x1.368a658fa09f8p2
+0x1.0c89d6b268d24p20
+0x1.bb1a765ce28fdp47
+0x1.8f4006e283f2fp13
+0x1.92eb72301aaadp-20
+0x1.d3c0d2e0def1cp14
+-0x1.5bb3b4c71a538p268
+-0x1.64f9c74e4f02cp409
+0x1.092eb44978cc3p1
+-0x1.871aa3260142cp12
+0x1.b2231204c9adcp14
+0x1.169a93b39b7c8p-2
+-0x1.aea221c5784dep439
+-0x1.bc398053cf866p725
+0x1.5c55063fa98a0p26
+-0x1.6d60d14fab3ffp19
+-0x1.61a907b23322ep26
+-0x1.3e2aa7e0685c7p28
+0x1.1870b10038923p-1
+0x1.3a52b1e143ab8p28
+0x1.7bb547d4e8b19p18
+-0x1.1f24978e6140fp507
+-0x1.a95f874fe9ca8p42
+0x1.65ecb6f9f87dap0
+-0x1.71a20409c9197p0
+0x1.385a123a7bc69p-22
+-0x1.2f9e350b93eefp0
+-0x1.1485e2b270712p19
+0x1.3ac6f562d19b3p-2
+0x1.6476142969e6cp325
+-0x1.56463176cb1a3p283
+0x1.20e5f768ccce0p0
+0x1.319f01a378b2cp2
+-0x1.8969458ad3464p-2
+0x1.b1f7254761461p-2
+-0x1.6cf2f4320d01fp0
+-0x1.7906d597ec6d3p806
+0x1.4efb250a0b393p-20
+-0x1.6c12c573e5d7dp5
+0x1.daafd30c1507cp24
+0x1.9d6185d00050ep996
+0x1.934ac1f1b9ed3p231
+-0x1.1a45e56568952p-2
+0x1.65bfa7b4278fcp16
+-0x1.1aace0acffbdbp1
+-0x1.68d463926e0dep-1
+0x1.b1dab378ca1c2p25
+-0x1.506cf2a809fddp704
+0x1.358a15ae4294dp-13
+-0x1.42c3c05c5826ap390
+0x1.2fcbf708a00e3p3
+-0x1.3677e200ab18ap-15
+0x1.2873c5d55c2cfp-22
+-0x1.2724526c9752dp-21
+0x1.8d9b06275b83dp12
+-0x1.b12f058122586p181
+0x1.527573274a8d4p8
+0x1.195f40a45ebb6p0
+0x1.27e087658825dp-1
+-0x1.2fa5c194bf350p8
+0x1.aee9b799e7960p9
+0x1.e7068384c91e9p19
+-0x1.9c15b7bbbe8efp786
+0x1.5e87f540349a7p36
+0x1.4c6543847dd73p496
+0x1.c589e3ee9a17ap33
+0x1.c807c6669378cp-1
+0x1.3adbb27f40e7ep0
+0x1.5b0442a02b1cfp23
+-0x1.4603d2868b08bp-2
+-0x1.28a4e5eda874ep277
+-0x1.a25a728b6e591p147
+-0x1.12e453911f316p808
+-0x1.e2b24769906d4p32
+0x1.f884d2ae76492p-1
+0x1.fda586dbd3223p18
+-0x1.3f09d311f4081p893
+0x1.289fb3f9141abp16
+-0x1.41f333066913dp19
+0x1.dee9e7bf987c9p976
+-0x1.32a5b4fa2e6b2p0
+-0x1.e20aa461c2157p34
+-0x1.4a66f2ea0a5c0p45
+-0x1.5ff44343e926dp0
+-0x1.c88e22ba7c82cp0
+-0x1.4026b50f54360p0
+-0x1.7afb6345c0c15p24
+-0x1.c17db7ae50ae9p8
+-0x1.120ae360cb67dp11
+-0x1.4cb780f424d93p13
+-0x1.27eb05143f027p25
+-0x1.20c813e3aed73p709
+-0x1.86d2e433d192fp889
+0x1.0961e47b86039p0
+-0x1.8abfe08bbc72cp599
+-0x1.d6de9255f915fp0
+0x1.37c9063f4c54fp34
+0x1.ef29e5cc63bd3p8
+0x1.b0e307f445021p34
+-0x1.2dd254b5abc94p5
+0x1.774825660c90bp-8
+-0x1.059295ecd45d1p0
+0x1.4fedc45fad571p26
+0x1.f40711380db13p7
+-0x1.b95cb138eca91p35
+-0x1.51ef12b10b034p-2
+0x1.ed7034a4ba5fdp26
+0x1.3407c59c49bd0p0
+0x1.103160b4631c0p21
+0x1.e19f639692ac0p261
+-0x1.9fae70cb2d56cp31
+0x1.38ee669963b88p21
+0x1.99cb42f6c9388p355
+-0x1.bcda7573c7ce4p927
+-0x1.6291301099b9bp30
+-0x1.d782c2e2c92bbp15
+-0x1.784e8037661c5p19
+0x1.36744643c4a42p36
+0x1.c381c73ba6b44p5
+-0x1.8e6584afbb6bap29
+0x1.60ef319355c1dp478
+0x1.754fa41b33911p888
+-0x1.dc27a33bf6306p-18
+0x1.b33d46d5e22fdp18
+0x1.2bc62656f694ap827
+0x1.3d75b544d079fp-2
+0x1.e054c651bc3dep960
+0x1.1a72c20a37235p14
+0x1.aed6f37f159a8p4
+-0x1.01992507d64dcp11
+0x1.3b56f71608c5ep0
+-0x1.d7e042bfb55fcp16
+-0x1.eb3e0216540efp894
+-0x1.4fd1c1f7dd5c2p46
+0x1.02f127955effep0
+0x1.cdbb710ee6b4bp40
+0x1.090911a7b9637p-2
+0x1.d74c64e6dda8dp29
+-0x1.98a6009907880p158
+0x1.a5cc91ee0faa7p41
+0x1.943d06841a6c8p34
+0x1.8ac7d5e70a232p-2
+0x1.ba2c04cc3ef8dp3
+-0x1.b58f95aa564d9p0
+-0x1.973e5700e6b4bp20
+0x1.b7a3524725846p0
+-0x1.128721b885a46p17
+0x1.bc6b54987973cp19
+0x1.b4ad251ee68e4p-2
+-0x1.50fc219493101p842
+0x1.d58ae142787d9p-1
+0x1.316d83c961b95p4
+0x1.34d343338acc5p9
+-0x1.8045f5444a6b6p24
+-0x1.839b72308621ep1
+-0x1.0e7452e31d1a4p17
+-0x1.24c7e44469182p1
+0x1.da29e623ef67ep-2
+-0x1.0dbce3889c2c5p800
+0x1.3bcca50129997p-2
+-0x1.6b0ab247362d3p806
+-0x1.600922864a5cbp12
+0x1.0389370f595d0p-17
+0x1.7ccf72e3efcffp23
+-0x1.cb8b1074ff472p-2
+0x1.b7a66671d9bc0p557
+-0x1.c55a54873485dp5
+-0x1.ed643182b4f8fp-1
+0x1.3d6fb3a57bc7ap-2
+-0x1.20776336f7781p1
+0x1.42b72105c6ed8p612
+0x1.06a4d6dd3a5c4p-2
+0x1.830a33db5faf6p0
+-0x1.bec3309e61a85p25
+-0x1.cdd4202956c13p9
+-0x1.456894b0fe5e2p-9
+-0x1.5e75c7bfd1c26p13
+0x1.2511840847d4ap1
+-0x1.311d36a26ce96p25
+0x1.7b3583c108d12p368
+0x1.2b3ea65fb3fb0p3
+0x1.9d531434f54aap1
+0x1.b097301ac5504p16
+0x1.8c8b55474e5dbp0
+-0x1.1e79f18b6a2e0p44
+0x1.ff9ad1733ab79p-2
+0x1.475ca4f6bbc44p937
+-0x1.bf0114ace534bp177
+-0x1.b91072375d8a4p-2
+0x1.84fcc3902af81p971
+-0x1.81eec4a99819fp18
+-0x1.18a9e42a54f34p0
+-0x1.4019e136b83dcp-2
+-0x1.78f283c624525p-2
+0x1.2701b12d4f844p22
+0x1.36fc85bbb6070p401
+0x1.6b35225fd0908p94
+0x1.e6e2131951debp279
+-0x1.b82af00e76418p14
+0x1.be658653e6766p256
+-0x1.385b70831cafap29
+0x1.d3f5c24cbc413p-2
+0x1.f93972d50cfb3p-1
+0x1.3b7813b2681acp0
+-0x1.7f27f0e41cc47p24
+-0x1.eb9b45f3358c3p9
+-0x1.236842aae5290p1
+-0x1.69135229dc5c9p4
+-0x1.a81f93c59e748p11
+0x1.21ed75692e14fp32
+0x1.7ce2f7e7f462dp30
+0x1.f9bfe445d11b5p2
+-0x1.80d5201176135p10
+-0x1.6502724d070d2p26
+-0x1.756325ea0de70p357
+-0x1.14982063b0f3bp18
+-0x1.b62bd1473f7b4p683
+-0x1.cbc8c7e76a18dp22
+0x1.01ff77285718bp-1
+0x1.149063aaa5e7fp26
+0x1.36a8923cacda4p25
+-0x1.3db72554025e2p10
+-0x1.445e35540ca90p493
+0x1.51bf04c8ae132p-25
+0x1.6f5394c33dd94p5
+-0x1.1ff746f462c25p-21
+-0x1.109b702903094p10
+-0x1.d5c5e7e8246e0p2
+-0x1.52b9318533d0ep8
+-0x1.73c380e23710fp11
+0x1.63a440fa11bbbp230
+-0x1.5d2961e3f707ap704
+0x1.8b42849cca6abp1
+0x1.8bc2e1537e745p10
+-0x1.406c125032124p701
+0x1.50850019bb449p-7
+0x1.7df5d165411e6p-21
+-0x1.c089e1db09fa1p24
+0x1.fd15959b89b57p18
+0x1.722ac54ce4ca6p28
+0x1.9ed9928e455fep-9
+-0x1.58698376f1cc9p4
+-0x1.0cf1601dabfd0p-13
+-0x1.23afd7ed7fb9dp-1
+0x1.be965057282e2p112
+-0x1.696652132ab94p18
+0x1.77458321cdbd7p549
+-0x1.417ae73977eeep-22
+0x1.85abf3e024aacp-12
+-0x1.b9cc71340e0abp-1
+-0x1.2f5e246efd99ap1
+0x1.700f73433df7ep-1
+0x1.6016960e7dd29p205
+0x1.fb0380828c4cbp39
+-0x1.630bb6882ef0cp8
+0x1.f6646483933acp-1
+-0x1.aa81e7a2dc38fp614
+-0x1.0a2d10e978ec2p154
+-0x1.7df4b33b5344fp5
+0x1.d702811d5c6abp984
+-0x1.ec22926e5a82ep-21
+0x1.34039400fe24cp11
+-0x1.bd6547ae731d4p0
+-0x1.ab8f03598b253p-1
+-0x1.2c2aa517d17b7p152
+0x1.d5afc263e2f26p7
+0x1.2f1b33b063f94p0
+-0x1.45a626aafd49ap45
+-0x1.a819d0880c43ap8
+-0x1.6fd166b7cf8a9p28
+0x1.8f14c6d951680p-2
+-0x1.f95a164067f69p-6
+0x1.89b4a08a38cb0p14
+0x1.a4b996c33a6bdp37
+0x1.4aeb0322ec440p-1
+-0x1.a420305ddf0dep20
+0x1.5b68332d5fe77p189
+-0x1.6929678422be5p19
+0x1.dd2126a36ab02p10
+0x1.98f53759e6cc2p776
+0x1.c327955ab4d9cp600
+0x1.c152d36d52060p-1
+0x1.794e9268cf1f9p-3
+0x1.0fd9b34cf9e14p0
+-0x1.f1c2c3f721d38p24
+-0x1.c2f18449c0b1cp-13
+0x1.1f6f72691226fp26
+-0x1.9eba60739e9fdp22
+0x1.55e6b0539f3bap982
+-0x1.deaf371270943p6
+-0x1.9d3ae228b1311p12
+-0x1.fecfd748896e1p0
+0x1.fd5a059f9c172p-2
+0x1.c7a7c29f81427p24
+0x1.36ca81fa9a1adp684
+0x1.8c3ff49ca4904p12
+0x1.1d0d849df4253p1
+0x1.f52c4094b100fp36
+0x1.3349a0a047c9ap24
+0x1.397f1147f1b4ap-7
+-0x1.c7ea6242b1fa7p12
+-0x1.01f5933842764p38
+0x1.81c1a5562ef0dp29
+-0x1.71a012ad6b2dap-2
+0x1.4e0114b92be2dp846
+-0x1.ea54b35d3f7e3p11
+-0x1.8758771ca14b1p580
+-0x1.a17a467fd6aadp8
+0x1.f18514b3d4bc4p0
+-0x1.acfaf20b2d004p15
+0x1.5985717523c39p8
+-0x1.8c04a7df8a0dfp-1
+-0x1.2f9d510841af2p-1
+0x1.153361ad245bep11
+-0x1.85103699de39cp16
+0x1.2df047f79c291p201
+-0x1.489e6110776d9p0
+-0x1.6b8242e1f61e9p-1
+-0x1.9bb0554427766p995
+-0x1.5661e39faa45ap14
+-0x1.6c4da055e41c0p24
+-0x1.d4e2a3a4090cdp175
+-0x1.e5e790e8baa1bp-14
+-0x1.129e75c7aff37p6
+0x1.5375038c8dd70p27
+-0x1.c04a313036171p992
+-0x1.e12566734cc7bp976
+-0x1.ed8b413aed34dp716
+0x1.a3e0646c6265dp738
+0x1.74a4333e87a2bp9
+0x1.5d02455d1bb3dp15
+0x1.712c9673a7d13p-26
+0x1.4840b2e17f6edp1006
+0x1.2053e5b7f6eedp26
+-0x1.b5a30398cb230p-14
+0x1.fe83c131a134dp0
+-0x1.63f1305740debp8
+0x1.ff796761e132ep34
+-0x1.7d193269b00f9p22
+0x1.94e78186aeac5p25
+-0x1.278cb595be809p-2
+0x1.d4ccc2ff780b8p42
+-0x1.ef8b614873906p0
+0x1.c8b7f506376c4p33
+-0x1.97b4b07142435p-2
+0x1.1efd54bfbe9fbp100
+0x1.1560d1a87593fp27
+0x1.5e8c0545cfcf4p26
+0x1.9c69e6fd6459ep637
+-0x1.4b25e05d58b46p863
+-0x1.81ec10a304cf8p774
+-0x1.1f9604ed5dc18p-1
+0x1.becfd05c673b6p20
+0x1.bde267b487883p183
+-0x1.d917f2a793ddbp5
+0x1.e85f16573a72dp919
+-0x1.0cc5657e9b661p1
+-0x1.446982673e881p9
+0x1.e84e42461caddp326
+-0x1.a479565cee358p-2
+-0x1.2e7db1f9f89dap3
+-0x1.6807f62188ee4p19
+-0x1.f9a73671b8d07p1
+0x1.1beef08374679p0
+0x1.1dafc2f5778abp25
+0x1.9250a762e1ba1p20
+0x1.f9812520917ecp12
+-0x1.0da0d4531229dp416
+-0x1.72ff65f41d183p-2
+-0x1.164d766bf45fep19
+-0x1.3c7a02cb96b62p-1
+0x1.3fd9603c15434p-1
+0x1.6ed333c5adb05p-15
+-0x1.b35ad0e907efcp23
+0x1.ee8f5619a8d0cp-1
+0x1.4523c70e30a5ep45
+0x1.74f607e52d238p-1
+-0x1.0fc6108958cecp1
+0x1.9ccf57ca88ef6p621
+-0x1.0809650c00191p20
+0x1.ccf645ad30624p-2
+0x1.40a22315ce02ap10
+-0x1.4b4f6440c04d3p0
+0x1.e846d4c3490f2p593
+0x1.f92f20b5d8cafp-7
+0x1.b90bb5fd78cd4p786
+0x1.16afb2cf4deb8p538
+-0x1.1aa4248addfffp5
+-0x1.587286bdceb7cp1
+-0x1.2ce667139fd6ep26
+0x1.2fe84506f5385p963
+0x1.3acb00c272448p-16
+0x1.e0a3c2d64fee3p719
+-0x1.b487d227fdec7p-2
+0x1.faa152bb52391p18
+-0x1.e79f5357231aep15
+0x1.c65bb6c53d3dap-23
+-0x1.ddfa475af1db1p674
+0x1.d15766ea575b6p754
+0x1.cc77931bf80adp1
+-0x1.39d87172d2d3ap955
+0x1.eee6f4a4110bdp829
+0x1.a81e612359044p-12
+-0x1.2876e2ba2738cp-2
+-0x1.281e96b11431ap20
+0x1.1679654620215p634
+-0x1.c19584949678cp0
+0x1.b8da124791494p-2
+-0x1.e18f25739b74dp607
+-0x1.4b5b316466f4ep-1
+-0x1.c3f2d4a621a5fp12
+0x1.7ca620f840a2cp828
+-0x1.e2a1c45179529p-6
+0x1.03b8346424511p-2
+0x1.b135621e69725p551
+0x1.28f6635324af0p1
+0x1.ce24171b296d6p23
+0x1.7fca444e86945p24
+-0x1.de18458a2ee35p699
+-0x1.10aaf42a372b8p-10
+0x1.3175567afe205p25
+0x1.b3ea9658f5c1ep-2
+0x1.5cdfe0c3508c0p27
+0x1.718706e31a168p-12
+0x1.4b2475de57328p581
+0x1.7e06534da3912p26
+-0x1.bc4683ab53857p24
+-0x1.dcbd172495052p-11
+0x1.953bb577e3442p8
+0x1.c704b77880f42p960
+-0x1.e1cdd796bd369p25
+0x1.c6f0846cfe9e4p-2
+-0x1.6a35f6969e604p22
+-0x1.648dc686aa66dp-1
+-0x1.7362b1dd212ddp198
+0x1.7311f4cc57a57p-2
+0x1.437536a391f64p-16
+0x1.989c90dd19204p34
+-0x1.8382a5f03a8c2p-10
+0x1.ef9bf32947b5ap8
+0x1.4e8642971464ep9
+-0x1.873e050c19a35p403
+0x1.3b96e14be3ce6p9
+-0x1.acdfb08fca270p9
+0x1.a48c61da23d9ep255
+-0x1.f23d367e7d312p-1
+0x1.8657c785cda01p21
+0x1.b834d785cb551p0
+0x1.2e9e363624743p-1
+0x1.d6bc40afd2e5cp1
+-0x1.b28dd3c03580bp25
+0x1.464f2654be753p15
+0x1.0e66174c1a5b8p57
+0x1.9513603120188p-11
+0x1.d8f947940be48p462
+0x1.f555e2ba605b4p15
+-0x1.39e4b7d1c13c1p2
+0x1.77b477c4ce082p450
+0x1.db29e26cbb155p12
+-0x1.09437624580b4p1
+-0x1.54e64408c718dp-8
+0x1.bc6023572bcc5p24
+-0x1.b434a601701d7p601
+-0x1.f4b1d689b2dd0p11
+-0x1.0169d2091a98fp-2
+0x1.3f8ff3fa74d41p-5
+-0x1.8c80c2779ce0cp2
+0x1.868886f5a1110p10
+0x1.9c4df0b876ebfp-25
+-0x1.71f585d4559b8p0
+0x1.8de525de7f0b7p2
+0x1.4176a6a108549p39
+-0x1.5f815601d20b9p-2
+-0x1.a38f23bfc9035p19
+0x1.c5d840b1da838p-1
+-0x1.34bd228405e26p24
+0x1.57512021aabcap26
+-0x1.bca9f6e287c33p-14
+0x1.5ac0c1a2f4fafp24
+-0x1.994ab36e7d723p2
+-0x1.328d45a5fc470p341
+-0x1.64af70ee7def2p-4
+0x1.ee1db2f62022fp0
+0x1.5f2dd10e6a6ecp-20
+-0x1.838631f252728p42
+-0x1.19cf34161b21dp11
+0x1.9f91840121c5ap-22
+0x1.9dbe335793b39p41
+-0x1.839fc42eeae8cp103
+0x1.eef9e6c8ffb8ap6
+0x1.8541c004e3180p22
+-0x1.8c1920d4c1503p85
+0x1.b218a059a4570p-2
+-0x1.a58d75620b198p667
+-0x1.6efd621a14b0cp17
+-0x1.099e53d938376p14
+-0x1.18d6e5d70b10fp-1
+-0x1.5788e732cd976p11
+0x1.07ef71676445cp34
+-0x1.ca4487363d2c1p27
+0x1.dc926279d77cep263
+0x1.8753049e6d5e1p-24
+0x1.65f042ee1fc9dp47
+0x1.bc3453e531abap-1
+0x1.bcc4873bb393bp6
+0x1.116535b98ffadp42
+0x1.de18a3376458ep8
+0x1.db06306746181p13
+0x1.84c37202fcf43p1
+0x1.866395219626bp18
+-0x1.141071db29322p257
+-0x1.73ef56ec1f623p950
+0x1.e4d520d681029p25
+-0x1.9eeee3bb51702p1
+0x1.f0d4059310340p11
+0x1.5183a5f0807cap12
+0x1.1bfe251a8c4a8p21
+-0x1.1a87e14b480c2p0
+-0x1.7edd86bc0ed71p628
+-0x1.ab66712e5be65p12
+-0x1.5780654d83cf9p20
+0x1.0e08e43c171b7p-23
+-0x1.88da66ec65c0dp324
+0x1.5c5926ec4f1a2p-2
+0x1.decdf19a88501p4
+-0x1.5bb127177c60fp935
+0x1.7744646704854p0
+-0x1.cddb237f3dfcdp672
+-0x1.8c87310c7aa0ep16
+0x1.1a8aa57389535p-1
+-0x1.b27e20d250282p26
+-0x1.facbf497fa225p576
+0x1.fac832440d064p-1
+-0x1.228927aeb745fp-2
+0x1.3cd4a0cdd1361p47
+-0x1.85c831564ddeap1
+-0x1.83f066bfc1359p14
+-0x1.b753f35ab1670p14
+-0x1.76e0b3655bb28p30
+0x1.4ef00786f3c9fp27
+0x1.2621a3ae6c888p2
+0x1.f0f6471c67c9bp-2
+-0x1.ad9653d2d06aep-2
+-0x1.f6717146079e5p22
+-0x1.27ea06c37db0dp982
+0x1.567a43608f4dcp8
+0x1.c2aec319a9eb1p3
+-0x1.0c9f22529d27dp-3
+0x1.f675c28973d34p6
+-0x1.b1ba46b0c8b89p-9
+-0x1.348066bcb437ap-1
+-0x1.c1e203c94dc06p19
+-0x1.bd2d4187954e7p30
+-0x1.85eb466fe1e41p-13
+-0x1.2ce2532f3a652p11
+0x1.ee2be60192dfep-2
+0x1.7c77736361d2ep619
+-0x1.9bb2716c8b4e1p21
+0x1.458cc63edc9ebp16
+0x1.427fa56cf1226p791
+-0x1.cd4a90f4529cfp0
+0x1.5a66116e3a525p585
+-0x1.a44717a44cee8p9
+-0x1.89c766e207c5bp47
+0x1.8497829793fafp-2
+-0x1.b169742951e02p18
+-0x1.6f4840b361b11p-23
+-0x1.caa2b00a5545ap22
+0x1.158d27d29b47cp25
+-0x1.c113704bba518p0
+0x1.ad9bf10cb5ff8p14
+-0x1.4e0a32305965bp-2
+0x1.067fe63e938a4p-23
+0x1.b96914a1b3a21p438
+0x1.63dfb19a046cep34
+0x1.db0804f3c7c9ep0
+-0x1.8410d2e1034b3p0
+-0x1.d1aaf2398a33dp-2
+-0x1.bbb454f7f7f07p24
+-0x1.c9acc42e8d061p19
+0x1.203d60670cd9fp-8
+-0x1.767535411c076p-1
+0x1.60cc4040d39f1p422
+-0x1.d10600cb8001bp29
+0x1.b8e581930f94dp-1
+-0x1.355566120a0b9p1
+0x1.45b580cae60afp18
+0x1.d911332e98370p0
+-0x1.91177292f4cabp8
+-0x1.418ad2d34bae0p-10
+0x1.8291b4650a69ep-1
+-0x1.79d9f4f590c73p24
+0x1.a6c83045cbf27p20
+0x1.671f710ecd668p1008
+0x1.318ea4b002d99p-10
+0x1.a7b8b355e681ap46
+-0x1.8f1101e38969cp61
+0x1.be31961f3aa50p160
+0x1.0836b413055ffp647
+-0x1.95d046a1ab722p919
+0x1.fc127769b2558p421
+-0x1.fa2d535dfb0ffp0
+-0x1.19df965ee45d7p653
+0x1.c409446d99c17p615
+0x1.259ea3875295cp42
+0x1.1d90964dac75cp23
+0x1.2019d5248771cp42
+-0x1.328307633514ap1
+0x1.a28317d7099c2p23
+0x1.ac9cd6e82d051p19
+-0x1.32f0c45d72d8dp0
+0x1.76fa3642a2e9ap2
+-0x1.f5cac7ebb5a18p7
+0x1.76df575b7cff4p12
+-0x1.714c26d8c8d24p-26
+0x1.14a3e3533f825p2
+-0x1.aca7465e17036p-1
+-0x1.6ea6365296b7fp37
+0x1.903ff0fd1d1d1p816
+-0x1.0acae1b832bffp618
+0x1.0b9fb4c808dd7p15
+-0x1.fc968462e80a1p42
+0x1.971fe623dd7bbp-12
+0x1.b2c787b5a85fbp10
+0x1.6af4437902edap-26
+0x1.eafdf13258e48p22
+0x1.40dcf08370d64p-16
+0x1.3c49f4603b25ep158
+0x1.7d156688d9d5ep203
+0x1.ea6ec75e3a3f8p14
+-0x1.39770057684f9p335
+-0x1.203f737ae7869p-12
+0x1.820394211c83fp551
+0x1.2a2466c9759cfp21
+0x1.d7edd63490c31p-1
+0x1.da78c7461ca5cp20
+-0x1.5eada05f63f1ap12
+0x1.4d0466560feb1p23
+0x1.f840d32accedbp576
+0x1.f017d5329baeep34
+-0x1.28f2e2a8c25a1p6
+-0x1.3b6705c364a3bp-12
+-0x1.dce5f1df42de0p0
+0x1.0d48966683a4ep1
+-0x1.1c63a7cadb22ap-22
+-0x1.16ba8367f31fdp156
+-0x1.8b3e13c7f3a03p21
+0x1.97fcd0035fe76p23
+0x1.bec9562483afbp1
+-0x1.88e6d0eac076bp3
+0x1.5b15217b8879ep10
+0x1.aedeb39054577p271
+0x1.3fb5b2335be6dp-15
+-0x1.c331a14d8c473p-5
+-0x1.bfc2a2cb84079p17
+0x1.3c11d271df1bap24
+-0x1.13ea25a9e3f6bp108
+0x1.2e2b40a38617ap-1
+-0x1.f528b5d80128cp-21
+0x1.6aadf20c0b366p542
+-0x1.f50a1346f56cep306
+0x1.2d5b105aa946fp0
+0x1.f5a63052565cdp15
+-0x1.cdc68541a84efp8
+0x1.bd32141c6c295p25
+-0x1.4ddb2056462ccp24
+0x1.7830865a59204p23
+0x1.468106f7529f8p5
+-0x1.025cc0f22a1fbp37
+-0x1.c00d57ad60ac5p0
+-0x1.2a4135493a5ccp35
+-0x1.2afa33c25a200p603
+0x1.74f407f05f616p8
+0x1.5b8937978050fp21
+0x1.7a5db0fda57f4p16
+0x1.4695f2bc976e0p0
+0x1.f481e2cf35d18p-2
+0x1.c262e34521fb6p-1
+0x1.2cbc860c13474p17
+0x1.64d371b08759ep15
+0x1.da18e713e4cb9p-5
+0x1.abc9a6f91a6d6p-8
+0x1.2df6d29bbc5b5p1012
+0x1.aa2cb76cdfa0bp0
+-0x1.5fe9976d6cd0bp12
+0x1.85f14525bfb00p-1
+0x1.49b43399b1c42p106
+-0x1.9cd354c208505p-15
+-0x1.9d4235a514407p2
+0x1.ee0a16b3daac7p17
+0x1.fcc165f31733fp0
+0x1.e5e150a67c9f2p-4
+-0x1.75a4c2ba36cecp26
+0x1.e94cf46939e6cp755
+-0x1.0b7b352b6c592p-1
+0x1.d4f714edbb965p21
+-0x1.e1e8645c60564p747
+0x1.0a3fd37d282e1p-1
+0x1.9621f5e7054c9p-2
+-0x1.c1a72478daa53p867
+-0x1.985c42bec01c7p0
+-0x1.1cf386cd14914p8
+-0x1.5f67a73764c42p614
+-0x1.522cd68c1bf68p26
+-0x1.d799532d49d5ap674
+0x1.46bb22a16728cp5
+0x1.389933b0164ffp10
+0x1.a5f50513df15bp99
+-0x1.be02a2624e3e2p-6
+0x1.842b00d07b638p18
+0x1.2411e326586bap-1
+-0x1.e39ec39ec78acp100
+-0x1.9a0136520b211p-20
+0x1.473bd1a29d139p-12
+0x1.5997d3e7d9cfcp596
+0x1.c569803b425e1p13
+-0x1.a38fc2debd07bp914
+-0x1.e7a0c727b8c85p-13
+0x1.fec181572dc93p143
+-0x1.9d59b64a201eep-2
+0x1.730c81ab84d39p18
+0x1.0b25801e3ab2dp4
+0x1.23a5f5c54b7b8p1
+0x1.322b0576073e0p0
+-0x1.c1f8e33410fe8p-11
+0x1.867ef74ad8684p499
+0x1.364d612cd2496p1
+-0x1.caec529ba1df2p42
+-0x1.b99d77d2009bdp0
+-0x1.4bf4f0d4925c5p909
+-0x1.79d630227d604p512
+-0x1.fbbc014403c00p855
+0x1.32e5e1654b2a2p-1
+0x1.c94ed499f75c2p25
+-0x1.805ce3fcfd6cap236
+-0x1.38c217951cfeap14
+0x1.d2c6423a89b18p32
+0x1.fa9fb7906c851p8
+0x1.6a2e105660a34p460
+-0x1.3bb4055b92b4bp20
+0x1.19b7d1cb31d88p5
+-0x1.b710d75b84f62p30
+-0x1.abc2246751c8dp-2
+0x1.a9454155ad3bap5
+-0x1.8107e221264ecp30
+0x1.3554a38510ef4p-2
+-0x1.8c392588b88aap-2
+0x1.6a61e531ae636p-1
+0x1.522c04ef79576p-2
+-0x1.585b113866998p935
+0x1.6572d38c4566bp324
+-0x1.01c407a78269bp-2
+0x1.c667704230cf4p119
+-0x1.c26e3294a15b7p609
+0x1.398957506d8ebp0
+0x1.e0b6730234a2ap12
+0x1.5f55247076d4cp886
+0x1.91a7e436c803ap85
+-0x1.b405442f13b0dp-1
+-0x1.89197589af46bp12
+0x1.b689827fcf442p0
+0x1.e511f183f3761p38
+0x1.8bbf8044036dap-21
+0x1.a6f9739fb14bdp715
+-0x1.e0b26088aa820p260
+0x1.7ba5e059f9881p23
+0x1.fe66a754c0fd2p25
+0x1.6c6a32bf8575ep-1
+0x1.eaaca56a33a78p-1
+0x1.9015009c0d6f2p359
+-0x1.6cb7f41a689d7p511
+0x1.aacc71d5bacbdp95
+0x1.29e4c477b18a8p36
+-0x1.ef83a0fc79d14p-3
+0x1.32e2c2a316640p21
+0x1.ec0675ef5c64dp18
+-0x1.dbfc56a89d5c5p-17
+-0x1.cbf486a4cadf0p927
+0x1.07936134292b1p8
+0x1.b151d4537a8d3p192
+0x1.67efc2818dc90p323
+-0x1.9cd295f2ce662p16
+-0x1.821820585b1efp0
+-0x1.e5de90be0509ap-6
+0x1.d26fa3ccb06acp-1
+0x1.0f26767f7e19ep9
+0x1.9732e3a149dcfp2
+-0x1.738c626bee029p22
+0x1.ebc397d721a35p-10
+0x1.628a90978e6e9p313
+-0x1.7e31f7114dea8p15
+0x1.79cc77a2bab11p10
+0x1.2983d646690f3p588
+-0x1.5eafc23db65cbp32
+0x1.8942a552364e4p-2
+0x1.e3ccf6eb08b48p25
+0x1.7880661b82c3cp13
+-0x1.960bb106193b4p3
+0x1.512562f1663f3p-9
+0x1.d73bb4b91b054p-1
+0x1.da72a35c1109ap0
+0x1.b7ab22fa83736p844
+0x1.d13c003e58e8fp-1
+-0x1.ad34c4a774bafp-2
+0x1.215ee10881727p787
+0x1.94e87183d84f5p-2
+0x1.e67e95b1bfec2p5
+-0x1.13b3721046567p433
+-0x1.3496b371b7047p-20
+0x1.a20233bcdcf1ep478
+-0x1.8b2493a06a535p-1
+0x1.a84f74a1a6298p15
+0x1.20bc40cdba97ep-2
+0x1.d77ea17713c46p99
+-0x1.6206e0239f1adp43
+-0x1.d3e2555f60ea3p-1
+0x1.aac214994c1dap-23
+0x1.b16e41716b9a4p1012
+-0x1.bff49465bba1fp-5
+0x1.3922b5075dd33p-23
+-0x1.826d62aa4fc16p1
+0x1.c787f3022d540p17
+0x1.0e8f744f79d08p8
+0x1.8224508569db1p4
+0x1.3551056491610p39
+-0x1.d97a27aa772f1p24
+-0x1.080464f37e4f9p-1
+-0x1.ef7ec170b1cc7p-14
+-0x1.56a34672be8a3p0
+0x1.568ce0836dad1p0
+0x1.68e4d1349211cp0
+-0x1.cdd5647152dccp0
+-0x1.df937407c9261p-2
+0x1.dbedf324f26c8p42
+0x1.e61e938251d5bp-26
+0x1.27aa70e4f9180p10
+-0x1.2beb30d17d09fp11
+0x1.fc2f613c865cfp612
+-0x1.18a437c0c0337p989
+0x1.497f7636bc81ep5
+0x1.eefc152fee26ap-1
+0x1.e01e636b8c0e8p13
+0x1.641203e8ff6c4p10
+0x1.7cd5f6dc77b45p-1
+-0x1.a8c463d05a384p-18
+-0x1.939935c60bc6dp32
+-0x1.112004f389f0bp26
+-0x1.e3dd8706dbb77p-2
+-0x1.06660332f032dp0
+-0x1.2df664008c6b8p946
+-0x1.db05f1c0a68afp-2
+-0x1.c148b6e43e444p8
+-0x1.5de1353d73697p4
+0x1.66fdf2d6b465bp9
+-0x1.62c167e6e4b10p23
+0x1.9eaa3110cddb2p86
+0x1.88c261dc17162p11
+0x1.1309b29673b81p-2
+-0x1.2bb1f6b417cb9p30
+0x1.087814c0ec7fap624
+-0x1.e0c945389d582p8
+0x1.7943a676a5441p24
+-0x1.320c04ceb42ffp-21
+0x1.d909361bb3862p45
+0x1.3b65434a04806p23
+-0x1.afd001facc7b1p-2
+0x1.0b19c619a640ep-10
+0x1.0957e03dfef54p38
+0x1.24e94466217eap-8
+0x1.63119435659e9p0
+0x1.3f3e90058cdf8p32
+0x1.9c5120fa60573p-20
+0x1.4582f3a60e340p46
+-0x1.909e3202d81a4p4
+-0x1.0437d4ebf5610p-9
+0x1.6539d39ccc38ap568
+-0x1.41a5b0bbfb9bcp6
+0x1.7e8bb37871e1cp19
+-0x1.ad8ad1bbd74e5p18
+0x1.de4de49f18b51p25
+0x1.826ba7055be5dp0
+-0x1.ef63f73ede073p13
+0x1.3beb24857264ap-16
+-0x1.6f4b015987fdfp13
+-0x1.a1c3d13b1c1efp38
+0x1.e54744ab0b987p-18
+-0x1.30d3903b0fef8p0
+0x1.221cb2580e640p-2
+-0x1.3686a2b46f392p20
+-0x1.953a23666db27p23
+-0x1.0e27f512156c1p41
+0x1.8aeac1aea8951p507
+0x1.859272081065cp24
+-0x1.1421f542a190ap22
+-0x1.13f9b5260c5c6p1
+0x1.26e7e7db18108p-1
+-0x1.5c5fa31066b6fp24
+-0x1.f561528837944p47
+-0x1.296430993cfacp6
+-0x1.2d27a23459f85p12
+-0x1.532a550f8785ap8
+-0x1.97da24484f8b4p1002
+-0x1.6dd96318f0afdp-20
+0x1.c22a23981d826p880
+-0x1.bb6595d952b59p-9
+0x1.9d303417d2283p-8
+0x1.2fad41ad10377p3
+0x1.0fa034dfdbfacp97
+0x1.ac9f668620937p201
+-0x1.0926c03aab751p431
+-0x1.1122f714c565bp-24
+0x1.85b8127865850p194
+-0x1.70a2c17f946dcp41
+-0x1.41fda46167f73p23
+-0x1.25ad23c987dc1p11
+-0x1.8b7901317fc7dp-14
+0x1.3a39378fff8f4p7
+-0x1.27d681a249f5cp30
+0x1.cb79b21c83a00p65
+0x1.6682c62f9ee17p544
+0x1.9722e5ad48a83p0
+-0x1.6877c6503e926p-11
+0x1.60bdc18e9615ap38
+0x1.71209215d4d4dp166
+0x1.3b3083c9e79aep29
+0x1.226c15a2738fbp20
+-0x1.850e61bf2adc0p46
+0x1.cf59c1a465033p4
+-0x1.f28f75a1e366ap-2
+-0x1.ddfe107392c51p752
+0x1.ad9a867a0f388p7
+0x1.c190d52d7d990p-2
+0x1.40f39083588dcp0
+-0x1.72a507fb05048p23
+-0x1.cb11020748b01p915
+0x1.1af08708ba5cap15
+-0x1.627c101f73406p530
+0x1.689206a8915abp318
+-0x1.cb6761b5dea79p634
+0x1.c2e0d162c326cp404
+-0x1.718305de4f896p17
+-0x1.e93fc085fd701p-2
+0x1.11ece54e13460p5
+0x1.8727425cf3cd8p24
+-0x1.b42da698277c1p45
+-0x1.6596f74580a61p749
+0x1.5527e4a40304ap13
+0x1.e44661960fc6ep861
+-0x1.f172b70a99607p-1
+-0x1.0551459f69b31p1
+0x1.fe53e03d64618p-23
+-0x1.32fa65f2e7445p-18
+0x1.d186c41b4314ep15
+0x1.554651879adf5p21
+0x1.11ffd2256e002p-2
+0x1.af32d40afb747p25
+0x1.7f07047f01402p46
+-0x1.7d6eb6b631adep325
+0x1.368db60e46f81p0
+-0x1.7dff648d5243bp2
+-0x1.8c2ec01e5fedcp0
+0x1.2a285014439ffp25
+0x1.97d7a7e9d1488p267
+-0x1.aa7e802105b2bp3
+0x1.71f44577ef0e0p30
+-0x1.c348a7a1cf0cap-5
+-0x1.e3c124e128e3cp513
+0x1.6382e3388fe7ep0
+-0x1.535d11123ca67p-1
+0x1.cb8544daa77adp232
+0x1.c711c1bebf09bp-2
+-0x1.5af6028fa5346p944
+-0x1.96048340a5514p22
+0x1.f72ff33637c6bp22
+0x1.19acb5b9c1f96p849
+0x1.2812a646b9299p-1
+0x1.75f772acd0271p614
+-0x1.182e332b82935p951
+-0x1.20dda567e407ap389
+-0x1.aabc54e09bf9fp5
+0x1.e6b50061378a4p40
+0x1.2f68852bc70d7p0
+-0x1.823b97f7229a4p-15
+0x1.c4e326b2e2dbfp21
+0x1.7e4f6774b8a2ep-1
+0x1.1ab614657417dp98
+0x1.f3e634c32e8b7p3
+0x1.e9e836b498598p-9
+-0x1.1c64235980810p10
+-0x1.aafc1207ad818p-2
+0x1.9f3d233a5c111p-5
+0x1.7999c2260403cp31
+-0x1.f30211be994f6p24
+-0x1.0c43722a9bbbep-6
+0x1.930ee35921be4p-1
+-0x1.5d6213b5f1254p22
+-0x1.7d22615123c54p1
+0x1.83b3112e046efp46
+0x1.f41974f304112p603
+-0x1.3a66e15aa8fe4p20
+0x1.a13001aba9f6bp852
+0x1.412aa2c7532c4p-14
+-0x1.c81352e8264c2p23
+-0x1.591d02625a9b5p22
+-0x1.c41166b01542dp20
+-0x1.5131d3c932102p2
+0x1.3e0812627d769p0
+-0x1.42230381aec5ep24
+-0x1.f2b3323fb84d7p10
+0x1.eb6774d11a107p309
+0x1.66bfe7efc9981p413
+0x1.7393b483ef4c9p18
+0x1.1c23a0ccf4a1fp5
+0x1.f726a29f3c7b0p-1
+0x1.56a6c4b8f4c03p0
+-0x1.d81fc1be44ccap0
+0x1.acb2a2c71b283p0
+-0x1.fc027711d2a95p42
+0x1.fc337688991dap0
+0x1.199a1661ea960p13
+-0x1.3b86d2611c320p27
+-0x1.61c2d21282edfp26
+-0x1.64e50317eefc2p785
+0x1.def315b3fe290p780
+0x1.cf1e17c160022p-18
+-0x1.38eda7d8530bep24
+-0x1.808c94ffe4d91p-1
+0x1.4610f3e719abep7
+-0x1.1e9381dc4ec70p-11
+0x1.43cba0bf131a0p13
+-0x1.dc42b575ed4d3p1013
+-0x1.6ed8149cc7bc6p-1
+0x1.4a60f7c0d69e4p13
+-0x1.538585ddb4696p23
+-0x1.0864d6a255b66p19
+0x1.fbb200de88ab3p20
+0x1.0121e4f96ae33p19
+0x1.d249f66c94efap-26
+0x1.f22cd10757b66p-17
+-0x1.dc648333c448cp28
+-0x1.bd93661102aabp6
+0x1.111ac7383f502p24
+-0x1.2b702455abc46p3
+-0x1.0a6586568a0d4p0
+-0x1.66ac624962909p45
+0x1.28169042cc3a5p12
+0x1.f66474e488ef9p22
+-0x1.9537062a41765p14
+0x1.c121e1e9723f6p-20
+-0x1.9f26e345e6c69p45
+-0x1.c04f565228f00p23
+-0x1.3f2a165966b01p14
+0x1.e49031acb773fp4
+0x1.45d4862b31a5dp14
+0x1.d3f8a349399cdp651
+-0x1.95bf4422cf479p21
+-0x1.5e80e7683c406p38
+0x1.cf9e839f22581p-13
+-0x1.bcbd040073ae7p42
+0x1.0dbf80c846440p1
+0x1.b967a548e9278p25
+-0x1.09f7d6e2794a9p36
+0x1.f52b73cf4435bp957
+-0x1.7bc586cbd1a46p12
+0x1.ec2ca0ba0169fp956
+0x1.7b4ec7011ab15p-14
+0x1.9590d2642b855p2
+-0x1.1792b47e89a3ep-2
+0x1.096e8355c6a33p387
+-0x1.0309a65ffc7d0p389
+0x1.bbe450a514bbbp23
+-0x1.c2a0c154c1ea8p22
+0x1.8c8840b2a87e4p-1
+0x1.bc053744b4d71p525
+-0x1.0bad1023cf416p26
+0x1.6c74f2f70249fp-2
+-0x1.df29e2bbca95ep-20
+0x1.541ef0a6c96dap25
+0x1.228634785edb5p959
+-0x1.2e5246cb79ea9p-2
+-0x1.e27d61cf42df9p-1
+0x1.92d2218c0d244p-3
+-0x1.28dab0f8375dbp19
+-0x1.6a69c59ed57f1p24
+0x1.bc5c338bdaad2p9
+0x1.1b86b1509d103p-2
+0x1.96f70720b437fp-1
+0x1.ec2dd7a3ff01bp11
+0x1.6d674707f674dp24
+0x1.8ccc84df77093p467
+-0x1.fce2734699b46p131
+0x1.78c0233339f48p-24
+-0x1.10d36236e14f4p-22
+0x1.0e5087309073ap0
+-0x1.964d52d42dd8bp184
+0x1.ae23e780b9411p-21
+-0x1.54204161ed466p836
+-0x1.954a4649af744p41
+0x1.bdbbb7d31f152p-1
+-0x1.56e0943fe5998p-22
+-0x1.36a8e4332551dp927
+0x1.020b52f89937ap23
+0x1.d7a20332bdd63p11
+0x1.3b0dd5979b6adp-2
+0x1.c0e8434f16674p-10
+0x1.87e7f538c365dp25
+0x1.d3e821a1bc5a8p7
+-0x1.96b7d456e788bp25
+-0x1.3ad9e1e70f896p943
+0x1.53ee76bc80972p-3
+0x1.96fa10c429e87p-9
+-0x1.8056956d2cfadp24
+0x1.c741b2b122791p6
+0x1.ba3a96c89b1b3p166
+-0x1.83990344b014bp766
+-0x1.3e571252648bap15
+-0x1.3bb1972c795a9p9
+0x1.adb4d3351c887p43
+-0x1.ff802660bf9a5p0
+0x1.6e469006517f7p47
+-0x1.900d500fb6d49p26
+-0x1.c76ab659c3834p25
+0x1.e521b219c20dbp-7
+0x1.921a034787ed3p10
+0x1.e995010c15b21p8
+0x1.8c2b466dd9540p47
+-0x1.04c05174f23b9p12
+-0x1.93b6b3adbef7bp392
+0x1.c56de7617c8d9p-1
+0x1.5160533d35ef7p19
+0x1.e130936be6602p-1
+-0x1.739414d989802p16
+0x1.31b1d2c632ab2p-1
+-0x1.c31d635f38768p22
+0x1.bbb4f5b78c9c5p32
+-0x1.e445c444330bcp388
+-0x1.8c4be45fbe950p-1
+-0x1.837291c50b911p-2
+0x1.a8e1958326948p22
+0x1.3489902ffcd05p89
+0x1.3937a140c8ebdp102
+0x1.6e18d2c91a6ddp-1
+-0x1.ca05a2df5e759p-7
+0x1.2cfef3c22cd0bp130
+-0x1.4cf717964a9bfp7
+0x1.54579498874b1p24
+0x1.c107738f9b691p12
+0x1.7bff9229e04d2p-2
+-0x1.d03de2576ff0fp3
+0x1.5f7b7021a52d5p45
+-0x1.1942d4250cc59p402
+-0x1.e0e3e37700163p34
+0x1.e9b38334f06d3p655
+-0x1.58ee600866d4ep189
+0x1.5ef6e7cc455f0p289
+-0x1.2c28461a00b92p4
+0x1.10d365a1e8d8ap21
+0x1.468d92dd56b89p7
+-0x1.6abfb0ce30badp23
+-0x1.5f89a14d0efd0p-2
+0x1.15d3e3cd4669ep539
+0x1.4713f780aa584p-2
+0x1.3b21b2c71e99bp26
+-0x1.48b56671059e1p-11
+0x1.1bc1d481ce9dbp69
+-0x1.b1ae27d09baa0p-2
+0x1.33d7670cbf8a4p8
+-0x1.6ac4255cad8dfp-8
+0x1.62dab6f6b3009p34
+0x1.425c721226be2p442
+-0x1.275535869b097p9
+0x1.ecb7c62bea980p0
+0x1.bbcc660f5e0a8p15
+-0x1.1f9e74b3579c2p0
+0x1.fd7275569c113p36
+0x1.dea7467ccaa26p-2
+0x1.a791b0a57606ap24
+-0x1.82cad3f8be955p22
+-0x1.4157360076d26p-1
+0x1.c97d10ced4329p0
+-0x1.932787d6383efp2
+-0x1.c01812d3d51a9p-2
+-0x1.1c84d6fec1316p609
+-0x1.0f01559dc82d6p-25
+0x1.00f5458920f43p4
+-0x1.43719306d3215p1
+0x1.c656d370d0ffbp354
+0x1.0e11c40e388b9p26
+-0x1.290134e6aff9cp35
+0x1.1040550bddeb0p-9
+0x1.9a7781da48013p4
+-0x1.0a9e5772e3233p-8
+-0x1.0d91b0bf21e8ap-1
+0x1.948055d3de56dp27
+-0x1.3e88a1b46969ep40
+0x1.bbcbb014c46c2p10
+0x1.e9d0279c4b0a1p20
+-0x1.b6238112f8687p398
+-0x1.e242654542bebp-11
+0x1.a762d2287829dp988
+0x1.9bd01053b4464p8
+-0x1.f8cd636f4e283p837
+0x1.aa1c81bd7973bp47
+0x1.970f71af84cc4p21
+-0x1.aeb236cb2b17ep431
+-0x1.93c0e6c9d5101p4
+0x1.6a8314d7ab46ep14
+-0x1.dff0340ed9b5fp23
+-0x1.20d4206297414p0
+-0x1.bfe4e19c4431ep16
+-0x1.e364e69ce1acbp-2
+0x1.da3807b2bef2cp5
+0x1.7d5bf5fdf17d8p3
+0x1.403cb40fa6ed7p-2
+-0x1.e5eb014cd4696p-2
+-0x1.12c867efadb58p-1
+-0x1.17b9111cd2dedp47
+0x1.5fbd06f46a166p20
+0x1.3fa931008c3ddp12
+-0x1.671603ed400c7p39
+-0x1.f3a3f55752ffap381
+-0x1.06d0b08cc2f3ap19
+-0x1.20f970c57de9fp405
+0x1.26bca4618e8c6p450
+-0x1.e84bc67cbae25p21
+-0x1.847b219c71e8ap-19
+0x1.6485a7df487c2p-5
+0x1.79e9b12eaade0p0
+-0x1.ea3177ec5e17ap1
+0x1.9061b7ce1ba79p-11
+0x1.aabb7153d3d41p0
+-0x1.cd05349e06fb9p453
+-0x1.387bd166fd5c6p6
+-0x1.5b7dc65df367ap16
+-0x1.f014b7e23834fp0
+0x1.be4041821c70ap5
+-0x1.bb11127a3673ep-2
+-0x1.69b7a36b6d3a1p44
+-0x1.d182b403ec2d6p435
+-0x1.fa162577a34bfp356
+0x1.837c5378cbac9p1
+0x1.f6aa460693a38p25
+-0x1.30e5c6ba6d18bp0
+0x1.f26723819b91ap-1
+-0x1.a81dc27444846p14
+0x1.3ec314460be45p-21
+-0x1.a92ed0de504fdp25
+0x1.026645ce3b546p5
+-0x1.d783568871061p-20
+-0x1.94e5527db2c75p27
+-0x1.67f7371aa18ffp23
+0x1.d3c365bbdea80p4
+-0x1.9e1a5225f6428p211
+-0x1.258ad3e2c8fa6p28
+0x1.3136354b964fdp-2
+-0x1.96d4f40d26403p10
+0x1.095bd56107f24p5
+0x1.9fce92abc33f3p19
+-0x1.ce7553d981cd1p-1
+-0x1.e601531fa6475p22
+-0x1.6ab42170809bcp2
+-0x1.b251d2575cac5p-18
+-0x1.4c41d161ca889p-20
+-0x1.1072d2e8dc7acp42
+-0x1.59f0d7ec9545cp27
+0x1.60e971fce2225p-1
+-0x1.cae6a23b7284cp7
+0x1.65457653e73cep10
+0x1.e5d2c1b0f8814p-6
+-0x1.2379c4cafa4c7p2
+-0x1.a10a970cc1572p1023
+-0x1.ca2f3652ecb2bp0
+0x1.eef9a3fc5f760p19
+-0x1.e34471bd585d3p0
+0x1.c01c5448e8150p12
+-0x1.bc8e94cc562d0p-1
+-0x1.df2934c9a3eb9p-19
+0x1.932107520d49bp0
+-0x1.664d64c583dc0p26
+-0x1.df503401587dep23
+0x1.ff26b5f73eb26p0
+0x1.223f61fd260f6p15
+-0x1.388ca56b6eb09p-9
+0x1.c843f6cbf0218p0
+-0x1.5b55b55f69e3dp12
+-0x1.55d2b6c9ccac1p-17
+0x1.8fab8647c1b20p25
+-0x1.c39c1323c517cp26
+0x1.9b8cb5c150892p567
+-0x1.075482bdba47ap11
+-0x1.9eb9c5f4e9bfep-12
+0x1.9301916eb43c8p-2
+-0x1.8b05471774a4dp36
+0x1.0cd1f741bc013p-1
+-0x1.4dcce7d816178p952
+0x1.5bb4d5a081463p313
+-0x1.512e913b3aec4p43
+-0x1.4363149bdc7b9p13
+-0x1.363bc2214c09bp1
+0x1.773a72172fd88p-1
+0x1.585f6579ec411p13
+0x1.d5f6f68d24a76p-2
+0x1.69fd3358c8b0ap-23
+-0x1.a4b6f1189e5dbp6
+0x1.0de1b1a9735c3p-2
+-0x1.dce0808027bddp22
+0x1.0e7ce079de804p-8
+0x1.9f5a738b4d6eep-2
+-0x1.8462d5daae41ap11
+-0x1.68674675a393bp24
+-0x1.e10d4227c6195p-2
+0x1.9efc93f7ae5e0p856
+0x1.b21722c3599a5p998
+-0x1.9230777d2e819p2
+-0x1.234b04e484f07p-1
+0x1.f0a83169e44f8p21
+-0x1.551ab52bbf836p10
+-0x1.954191e744c98p778
+0x1.2b5df36e4639ap687
+0x1.6febe142407c9p-1
+0x1.b0a7d19a8a36bp14
+-0x1.283335399df8ap582
+-0x1.ff008550804a8p21
+-0x1.7b3e67a391ce4p23
+0x1.1d85929407a6dp24
+0x1.5da834d23e5a3p447
+-0x1.4692871c1db20p8
+-0x1.afc295fcdbcb4p12
+-0x1.9f23a78c18795p-1
+0x1.6080b280acfddp17
+-0x1.2e5266ef4d581p26
+-0x1.24b7b38d26da1p257
+-0x1.c53977510263cp4
+-0x1.fb19403b773a8p-1
+-0x1.244143543f68cp-9
+-0x1.de8675a5953d7p-10
+-0x1.127a02301391cp25
+-0x1.e81cd0632e8f1p-6
+-0x1.8f0832d2d654fp23
+0x1.8d0592c41d57fp-1
+-0x1.5bb7a2c85295ap829
+0x1.5d0f05a6628d0p33
+0x1.0fa8504e8dc88p26
+0x1.efa587af6be2ep1
+0x1.0e33b1aa5c9bap7
+0x1.2910965c221adp24
+0x1.7117912e9cc38p-19
+-0x1.14f1f66cce91bp309
+0x1.253d965df51d6p-2
+0x1.c129f2121f395p8
+0x1.725be7dae8d66p19
+-0x1.93edb5e7fb6cfp5
+0x1.5018651cc719fp-1
+-0x1.cb02c64f918bfp46
+-0x1.f46340a22bb84p21
+0x1.8f68f646ec9f2p43
+-0x1.6d9a331135c58p25
+-0x1.170ac534d5637p44
+0x1.a4a742eb49b6dp25
+-0x1.7020056638407p607
+0x1.48deb525372e9p-1
+-0x1.33e8601f36771p-1
+0x1.ec3874c4618a1p96
+0x1.fc37d39694eb5p39
+-0x1.ff4071cb454c4p10
+-0x1.ed9d16ccafc18p730
+0x1.7745c1d7844b9p-2
+0x1.577ea4e34c3b6p437
+-0x1.3207305c1a799p0
+0x1.0917100431cc1p-21
+0x1.2c183093fa529p603
+-0x1.2c5d51ba70531p14
+0x1.608c1509bfa83p148
+-0x1.f839c173e805dp14
+-0x1.98e12705bc31ep995
+0x1.3a50f5332c5c9p123
+0x1.a3c53078bbb14p14
+0x1.7774161aba4aep38
+0x1.f77d9613e7c1dp-1
+0x1.087e662e1679bp0
+-0x1.f6a5441a51460p9
+-0x1.943ec15bcfd0fp-24
+0x1.ca08a5623522dp836
+-0x1.b94390a4ec03bp21
+0x1.f028210e4643ep86
+-0x1.a08b00ea57565p0
+-0x1.d32a26194266ep33
+0x1.f9c00577e6bdap14
+0x1.2aa9d7f90174dp-2
+-0x1.a73675bf09391p24
+0x1.8e42320f970aap-5
+-0x1.456e713f4c160p26
+0x1.0a7c735c32ef7p370
+-0x1.599d856aa3f83p126
+-0x1.a2aeb2b04f0a4p-1
+0x1.1b9611214c8efp38
+0x1.b79443495fae2p555
+0x1.bb96e62f437c0p449
+-0x1.d8628272405eep331
+0x1.3e7d077075b34p3
+0x1.f02863b1964cfp-18
+0x1.bc64148bb2bcbp963
+-0x1.abbfa06274d7ep-2
+0x1.4124c7371ae20p-12
+0x1.01bea1cd85371p-2
+-0x1.86f4c7d558b23p365
+-0x1.2d7045098fc2bp6
+0x1.12cdd38e1f1fcp40
+-0x1.cf87f031ba281p-1
+0x1.900f77d2e17b8p-3
+-0x1.780482ed78ed2p0
+-0x1.c0b7e330a1569p622
+0x1.e964c06440769p21
+-0x1.0575c6582a7e8p219
+0x1.014cb3689dba2p364
+0x1.757270c3f8b5ep6
+0x1.f4b96482cda61p25
+0x1.b56110293d311p31
+0x1.c319d66d3a8c0p-15
+0x1.42d33307c41bdp14
+0x1.ea5575e42d23ap17
+-0x1.a6e025cb863c7p0
+0x1.cc5d70ede499dp27
+0x1.e359a47239531p0
+-0x1.d8d93754b2b11p29
+-0x1.8ca7b5053585fp1000
+0x1.d9d5310c25ca5p-1
+0x1.8d9430af4511fp961
+-0x1.66d8a6638d99bp512
+0x1.b41ad75a8801bp9
+-0x1.6a1f971fa26b6p-14
+0x1.ab5c81ae14fe6p-1
+0x1.1f8577d10b9c5p971
+0x1.cdd440ab2d669p9
+0x1.4951f5844ad5ep4
+0x1.ec76109115f59p10
+-0x1.5e9a80ad92f6cp0
+0x1.a0e386b6ccb40p253
+-0x1.987135136f652p-15
+-0x1.4972078157c11p18
+0x1.71af54cd3edcbp-22
+0x1.2cb9c16feca61p4
+-0x1.881612ba1bac0p23
+-0x1.a1bc462181294p6
+0x1.59e7f20d1a85ap20
+0x1.6efbf694bc721p795
+-0x1.194d02c8696c5p1
+-0x1.c29f770300210p40
+-0x1.465474694864dp5
+-0x1.be79c39a626abp-2
+0x1.a84f059ce3c46p0
+0x1.7aa4e54b620c4p8
+0x1.3da7c7bc6677fp-8
+0x1.f69225fe61ad2p28
+-0x1.64de33982551ap-1
+-0x1.914f65e648df9p27
+0x1.8a6b04c753621p4
+0x1.9bbe37ce952f4p151
+-0x1.dde326d0cc835p989
+0x1.98c0d3cdf20d3p21
+-0x1.284c014de6027p-7
+0x1.88d835cac3b12p0
+-0x1.b6db809206af5p2
+-0x1.e565b22e34e93p32
+0x1.749c6053c4d99p27
+-0x1.117985fc29082p-3
+-0x1.4aea6753378aep18
+0x1.e0dab03922291p582
+0x1.6215370395220p-11
+0x1.c6fd922332304p23
+0x1.634a06577ffe6p14
+0x1.7a0794ef5f1b2p-17
+0x1.12abd5b589964p-2
+-0x1.7dc825820bbc5p-1
+0x1.8dac9227f7521p19
+-0x1.152a74beb6671p0
+0x1.91c8274862218p-1
+0x1.6b46c437366a9p2
+0x1.91be1642b829cp-4
+-0x1.9bbe55e1e875bp0
+0x1.cf53d39670350p30
+-0x1.6106a19021fd0p25
+0x1.b4f8156fc19c5p951
+0x1.e681709062081p40
+-0x1.d940928c3f987p2
+0x1.691480d2f533ap737
+-0x1.85c093aaae1ecp900
+-0x1.5affb35c6bf7fp26
+-0x1.dc84061a932cfp17
+0x1.ee1e42315879ep25
+0x1.678d23f005c62p764
+-0x1.ec9774244565cp535
+-0x1.9271662cb2093p16
+-0x1.f83131ca71ccdp-17
+0x1.ca7930f286682p13
+0x1.a7255589c90d3p-11
+0x1.53ac82fd92bd9p14
+0x1.a47a64b427441p43
+-0x1.3a1722f39b3dep25
+-0x1.9f33140b8a810p312
+0x1.d03d52df1c72bp688
+-0x1.1c6fc748fa1e5p43
+0x1.0b3414a9938eep2
+0x1.dd0da78a5d1d8p633
+-0x1.4c4580f79db55p36
+-0x1.92c9b7d98ad52p16
+0x1.33a582ad335b4p8
+0x1.8412d4cdc4b13p2
+-0x1.6d70c0e74843fp-1
+-0x1.094ee77340bdep25
+0x1.29f1d2a5785f4p1014
+-0x1.d15b11be3fe7bp7
+0x1.58a4143823bb5p291
+0x1.902405ab3dbd7p-12
+-0x1.927bb2a52a3a0p22
+0x1.72dfe5a32fb2bp26
+-0x1.84fd5529c70e0p-2
+-0x1.309e3082bb94bp3
+0x1.1f345701b89f5p1
+0x1.7dad63072bcb5p20
+-0x1.ade4901d73471p99
+-0x1.c22aa72bdcd7cp-24
+-0x1.f59845faa6563p18
+-0x1.ad6e102c9bc28p18
+0x1.0fb34286e7064p0
+0x1.94a631bd3477bp-13
+0x1.210a974f1dccfp10
+-0x1.2e4bb56104384p0
+-0x1.baefd380be2d4p9
+0x1.ed1987f86a22ap36
+0x1.774a94a24ef7fp21
+-0x1.2df7e52525ce2p23
+-0x1.b56ff18142c84p244
+0x1.5cf265da00a46p0
+0x1.2301239fc121cp8
+0x1.422ed28d49c39p695
+0x1.737c10c4444c9p-15
+0x1.2d1c455042173p729
+-0x1.7ab92567a3677p47
+-0x1.a93bc46c3f91cp-1
+0x1.a84da7b1e13e8p764
+0x1.01b0716556196p7
+0x1.9279d0b582281p52
+0x1.87062189adde4p283
+0x1.1b0bf0a2108b2p36
+-0x1.5eb4d47d17207p46
+-0x1.2d48f70490ef9p41
+0x1.02a927e62e4ccp229
+0x1.64ece5d8585f1p-10
+0x1.f348233a76acap526
+0x1.18ae26a877ec0p-2
+0x1.f29784bc68275p47
+0x1.6001f45f7971bp12
+0x1.a22b2698b25fap352
+-0x1.e03a853c027d9p29
+-0x1.a95c30e27b155p978
+0x1.54ba70dc907bbp8
+0x1.2973942fbefc1p-2
+-0x1.d880a44876022p-2
+-0x1.5714a530cbfe6p-8
+-0x1.cafc377dc6968p152
+-0x1.d75a05f2b42e7p32
+0x1.457431b89e9fap-1
+-0x1.1459601867581p0
+0x1.d012824c3e9bdp-2
+0x1.cba0151869ee4p-15
+-0x1.28514551cf3c2p41
+0x1.1a8f5790ecb1bp-2
+-0x1.e3ca859ef8af9p-20
+0x1.61d8824c0577cp17
+0x1.0dbc60263979ap0
+0x1.13ae60bcf616cp11
+0x1.2b64749c50115p1
+-0x1.d4d6b06398109p6
+0x1.62482046dcfa3p-10
+-0x1.144d5089806e4p0
+-0x1.2a84e1516c3b9p-3
+0x1.a4a9c383e277ep15
+-0x1.b6a4a184f369cp14
+0x1.0934a50d726c4p-2
+0x1.9fac46d3bac78p-2
+-0x1.0f3d41801c34ap830
+-0x1.ddf6e4b3ae58dp14
+-0x1.f8c654fd8faf6p578
+-0x1.83e3d444fb99cp9
+-0x1.29462350fde9fp18
+0x1.c2d23298201f5p32
+0x1.38dbe21a97dc9p765
+0x1.b0ff117ae0c79p4
+-0x1.936ba48a606fep-8
+-0x1.5ed053069752fp9
+0x1.73c4c4bf7d0eep5
+-0x1.e7005748bed43p-1
+-0x1.5f9f348eb0d61p-14
+-0x1.fd0626e287666p-10
+0x1.272f865f58d3fp1
+0x1.89aa61b27b617p19
+0x1.d3c0a3db910c4p703
+-0x1.28c846d807abfp17
+-0x1.ff57f267de4afp650
+0x1.2f37531444d22p-1
+0x1.295914905d114p-2
+-0x1.a2cc76af10462p-2
+-0x1.7e2a733986885p-12
+-0x1.b026f4918478bp581
+-0x1.940790b8f17d3p-17
+0x1.0bea736dfa349p20
+0x1.4c5ab26cb0893p17
+0x1.cb8c42b26858cp4
+-0x1.65eb419220961p8
+-0x1.49628342f28b6p25
+-0x1.0b70b20ac9274p-17
+0x1.22d8177d1ee00p1
+-0x1.df4a5041f3718p-24
+-0x1.ad8cf7fdfad7fp-1
+0x1.a24842645f612p5
+0x1.36eac1a4ee651p13
+0x1.f72fc2f8c5b6cp0
+0x1.60901647c0c3bp18
+0x1.983594e2c3028p2
+-0x1.ae2e63b37144dp-2
+0x1.63d9f29bc831cp3
+-0x1.3f91157ed1b34p30
+-0x1.f6a1a206c06cfp791
+0x1.e5ba950e3dd7dp9
+0x1.3db5f00ed6a5bp-2
+-0x1.e758d3fa84fb9p14
+0x1.26a215493eb73p-1
+-0x1.9fbdd53b4633ap25
+0x1.c6bd362b83b42p28
+0x1.a57c06d6537a5p-3
+-0x1.4d5ac675483eap-1
+0x1.1b5483494381dp10
+-0x1.a5e0731359db6p-17
+0x1.d3285119915d0p-1
+-0x1.9be71114e21b1p18
+-0x1.ea8b7689adf04p125
+0x1.78fea6e183fbep3
+0x1.f0cf91eb94836p278
+-0x1.3306524c34930p191
+-0x1.4a2f071f69873p17
+-0x1.ff2122f77561ap-2
+0x1.511377046730fp229
+0x1.14d73581dc669p976
+-0x1.eb7e33dcfee72p35
+-0x1.f4dbe5a5ff877p6
+-0x1.d825938e1c238p6
+0x1.5f0be541c74cap-6
+0x1.079e24e0494c1p18
+-0x1.34a8d3f3b42a6p901
+0x1.34dc83fb0c6e7p-2
+0x1.cf75150d00db1p0
+-0x1.f031f0e0356b2p882
+0x1.6b7973cd0aa93p862
+-0x1.310095a968ce1p-2
+-0x1.2866d1eec6cc3p-16
+0x1.8191b0738f308p613
+0x1.456f53f700f99p7
+0x1.62847459e8128p183
+-0x1.ba63e002b502dp-1
+-0x1.1fc736191f77ep2
+0x1.37572263819e5p-2
+-0x1.7ae3b64ce441bp0
+0x1.202e1625823d7p11
+0x1.789183b6d53c2p33
+-0x1.9f1015a572e03p27
+0x1.ac19f4c66f202p21
+0x1.3ffd935b47f14p827
+-0x1.21ec60724c4d4p-23
+-0x1.7d92c063e1943p794
+-0x1.3329c4f9bcf9fp-1
+-0x1.fb79b1e12f1b9p-1
+-0x1.b453f204e2828p572
+-0x1.05e91426fc791p287
+-0x1.a0aca06187ac4p-2
+-0x1.944d07402e20dp10
+0x1.8b84302c454dap-1
+0x1.57da67e840d07p-2
+-0x1.5e139699b437cp0
+-0x1.9611421dfe9a2p2
+-0x1.dfe0a6790c2a1p15
+-0x1.8d68a527dc4fep9
+0x1.75d6920bfd64fp1
+0x1.6ea3c72a463d9p0
+0x1.017036841b9aep45
+-0x1.b24cc456e7eecp11
+-0x1.8fddc0abaff9ap16
+-0x1.2415b665f8c99p26
+0x1.8e6f32ff35e01p12
+-0x1.e26252412c215p-2
+0x1.955a700a5a653p-8
+0x1.0ea7178825459p46
+0x1.296d37b08b64ep140
+0x1.166047ebdfbedp977
+-0x1.4bcc33f01f7a1p36
+-0x1.98d541beb3ab0p367
+0x1.d75a350666c4ep36
+0x1.c04822eb730fcp105
+0x1.da66e151417f3p296
+0x1.cb5376938dbe0p20
+0x1.2bf8f7b48e8f0p15
+0x1.8258537a3087ap19
+-0x1.3f6af42d9b4e8p19
+-0x1.123aa03954350p38
+-0x1.768367b440c00p2
+-0x1.406233b0d0f57p1
+0x1.d8af4507de888p270
+0x1.1ed46343e62d9p16
+-0x1.0d2394e306c24p25
+-0x1.2a47265c02b22p13
+0x1.67f5d015d7adfp-2
+0x1.6c7e32a8599bep24
+0x1.4ff3f3faf1308p-17
+0x1.6035a2fc3ea56p-2
+-0x1.e85e0106abbc3p764
+0x1.86eae4c63027cp-1
+0x1.c79935bc19ae9p24
+0x1.a99b811fcf714p-3
+0x1.dc958723955fap32
+-0x1.f256339f1d6d3p-1
+0x1.fb29c0800abbep8
+0x1.bfad063d46fa8p37
+0x1.12b4c290f307cp0
+-0x1.8cd584141bce7p26
+-0x1.ba60a391b830dp4
+-0x1.56d524c7c30dap41
+0x1.6ffee3009fd2bp26
+0x1.8bb180dc99719p8
+0x1.6e1fe42f432d5p-10
+-0x1.37a006c891712p46
+0x1.2f1c942c39c55p402
+-0x1.238be2f2d8cf2p863
+-0x1.2b9d539b3b59ap21
+0x1.73b8e458a50b9p21
+-0x1.2768e227b49b5p-2
+0x1.1516936960c2ep26
+-0x1.ddde71ae89716p47
+0x1.cde9e237806c8p332
+0x1.14df62ffadc86p22
+-0x1.cef3d59d11bbfp0
+0x1.147587cc39596p11
+-0x1.184116faeabd4p6
+-0x1.52c9054a194efp532
+0x1.00f111e190f7cp18
+0x1.d7f525064b7ccp536
+0x1.0d44e7cc02644p100
+-0x1.16d8e062f9b27p33
+-0x1.57b431dc4ddc9p-25
+0x1.b6ece13eb981ep-18
+-0x1.ef7cd24e26cddp28
+-0x1.bedb764df5e91p14
+-0x1.7a53f5bc491f2p-2
+-0x1.c75c474186d48p-21
+-0x1.7948a2340f8ccp27
+0x1.7f28459c4c5b7p-3
+0x1.7dba412384bdap24
+0x1.f1a1763482009p751
+0x1.e89f662826886p703
+-0x1.cac75138c3526p13
+0x1.39e786d2dc05dp9
+-0x1.c0de8654d9d2cp-23
+-0x1.b5b83454d5726p24
+0x1.dfd9b4f326a02p9
+0x1.5a792494bf6a7p602
+0x1.c4f9f5fc40745p-1
+-0x1.dec4154d34035p22
+-0x1.d20985b372880p13
+0x1.e08322497ccc7p34
+-0x1.088f34cbb4570p-3
+0x1.153a418434cf5p-1
+0x1.e10de5e9186fep0
+-0x1.dd6d97c9413f8p14
+0x1.2386d6bba99b2p22
+0x1.feb6a2da00daap-2
+0x1.e1ce1507325e8p33
+-0x1.282147169eea5p755
+0x1.bb36d35a952fep-2
+-0x1.f78ac5d6e92e7p31
+-0x1.3fbb37d76149cp464
+0x1.c565b245f458ap-2
+0x1.63dd7410e99b0p46
+0x1.374ad2ddaa195p20
+-0x1.7679872738853p47
+0x1.9d2e621a95f51p10
+-0x1.63681742e61f1p160
+0x1.723377f56685fp25
+0x1.d4b42063b45aap-10
+0x1.faa64445b0a9fp5
+0x1.9f13f08a2c68cp24
+0x1.5e08863f90e4ep634
+0x1.3520f14a3d100p12
+-0x1.6dec1180c4a30p23
+-0x1.363ad7dd94e15p91
+0x1.957711c469872p4
+0x1.6a78174e047cdp283
+0x1.e9ce64d645dcbp25
+-0x1.aa5cc3fc79e94p540
+0x1.313657c5c4981p298
+0x1.6c129238ecbdbp0
+0x1.817ff5141d57ep0
+-0x1.a1a6536a8fe4cp926
+0x1.bbd8e12bdc612p0
+0x1.1a0a03f67cd7bp2
+-0x1.415d0133cd310p2
+0x1.08b0c1e34b29dp35
+-0x1.e428432cbb7d5p9
+-0x1.b9bd67795f0c3p0
+-0x1.a893152e49e16p5
+-0x1.e81760a539c99p33
+-0x1.9d53d5c59a937p38
+-0x1.cefea277671d9p11
+0x1.ff43248d63df5p24
+0x1.593914af16198p-21
+-0x1.f34910fa15b18p0
+0x1.58dab48d5e553p0
+0x1.0a37f2b44bad6p35
+-0x1.fc5f828ec77eap-15
+-0x1.6592d152f9b08p472
+-0x1.85a5754cd7c5bp12
+-0x1.3c3e25ef48b5ap726
+0x1.d27767aecb29dp5
+-0x1.ee967500bcd88p19
+0x1.be64452b706aap-2
+0x1.9406e7378ff47p3
+0x1.ca3c24bcd59c8p25
+0x1.407c766a773cdp29
+0x1.26ef70700dfa8p789
+-0x1.b493b77a34bb6p-21
+-0x1.2d5334bdb970ap3
+-0x1.f31ed51dda243p-1
+-0x1.561677af890b4p-2
+-0x1.52ad65df5e675p29
+-0x1.46d5938b70d32p22
+0x1.bd8b859bdf9eep23
+0x1.a515f6afc22e2p8
+0x1.697520652bfd6p-1
+-0x1.cca3159203943p11
+0x1.c7a4967c92f5ep21
+-0x1.e4076083ff124p118
+0x1.4795b3dc73be5p21
+0x1.4f5cc76450352p25
+0x1.5d66d43044e72p-12
+0x1.6e6e764a0b517p376
+-0x1.3c2c46d020cafp0
+-0x1.71878383e54a0p11
+-0x1.90106128d6098p13
+-0x1.345da3083c0cap37
+0x1.1f3a52c232082p1
+-0x1.b387718274c28p28
+0x1.c4c15722ddd7dp4
+-0x1.c67b533fc5d98p18
+0x1.9ec4236ad4513p0
+-0x1.262a57b5908ddp581
+0x1.138ff2f62ed96p924
+-0x1.2a3377ef850f0p9
+-0x1.558bc5f67ee33p-14
+0x1.e888750254606p-22
+-0x1.f9d0d50d11f2ep37
+-0x1.777ae766c28a2p29
+-0x1.09e346e656647p17
+0x1.eb546416c8f84p293
+0x1.174e663e83926p36
+-0x1.ba27457883c9dp-13
+0x1.0e21179146e72p1
+-0x1.dc30b5c7227e5p-1
+0x1.1c5330a65cc14p-23
+0x1.776655ee11a36p634
+-0x1.4c06c77fa9d4cp21
+0x1.0d94e52fa5002p19
+0x1.7401000fb7cacp24
+-0x1.d7d3544b26309p0
+0x1.93c922c6fe31ep-2
+-0x1.a3a0a3914f51ep-1
+-0x1.4059b70d2e1ecp24
+-0x1.8d2e12a9a241dp38
+0x1.0a7df2e2ab942p296
+-0x1.8b1a329e5ca50p0
+-0x1.006b53dc2aef5p1
+0x1.e69e734d01bbep21
+-0x1.8586769b7591ap20
+0x1.e609e60aa3770p804
+-0x1.f62974bd1fcbfp13
+0x1.c487460dd09fep7
+-0x1.301c302e779c3p20
+0x1.c142e3e9c59afp-1
+0x1.37b9223a076c1p0
+0x1.9ed467a1acc4ap7
+0x1.85f744c68532ap-20
+0x1.a76c83c5cb5abp9
+0x1.2e4d91120cf95p743
+0x1.20a2a661fc64cp6
+-0x1.de8b904fc74c5p17
+-0x1.3efab0ae9c967p390
+-0x1.baaaa4beb4737p-1
+0x1.c7a8c31fb995dp292
+0x1.0ac905d847bf4p-1
+0x1.3e16b224f5c6bp0
+0x1.f24711f81bd86p-13
+0x1.278ae68d14b89p25
+0x1.13031191b1bbbp357
+-0x1.0ef5a328fd16ep13
+0x1.725d3352c48d0p-1
+-0x1.4b4e915a26043p4
+0x1.14d3f243c8183p21
+-0x1.0adfb179858e8p-12
+0x1.2048f1cff6f18p1
+-0x1.56b496d283959p-2
+0x1.0ae9d3320c997p1
+0x1.76b1309a080c2p-1
+0x1.40edd36c748b1p37
+0x1.cf356041cb269p20
+-0x1.2a6e248dc8560p40
+-0x1.565ee78e2b2e6p-23
+-0x1.8958f521381a8p1
+0x1.fd0df44606563p-22
+-0x1.a9612691423a1p-22
+-0x1.16bab391b0ce9p13
+-0x1.0c3ef5c0a4b6ep-13
+0x1.930b260dda0a5p13
+0x1.82c01684f4c65p678
+0x1.2c88b588e9bcap4
+-0x1.e11bd2ef6de2ep-1
+0x1.8944d76626ab7p669
+-0x1.693890da99eb1p708
+0x1.78b1c579b4d4bp1
+0x1.745707b19c6c6p-2
+-0x1.89a741e1dfe7bp23
+-0x1.d99707ee6300ap8
+0x1.635006e567dddp168
+-0x1.37f2423f6167ap0
+-0x1.736a4513d92c2p-10
+-0x1.676693b285b0ep584
+-0x1.8c741522b0a01p15
+-0x1.34b35744794b8p30
+-0x1.0d6de0053f3f3p1
+0x1.e1acd5fefb9f4p551
+-0x1.288825d0eac71p480
+0x1.7e1cc30d3316bp25
+0x1.2b46a2786f662p10
+-0x1.e35d76793d823p18
+0x1.b36c0651aa89ap949
+-0x1.ead715358b740p-1
+0x1.87c461d4ae342p29
+-0x1.7582e22ec0fffp682
+0x1.ccee33c7e403cp-1
+-0x1.c129832b83460p26
+-0x1.a73d4529d4d51p-1
+-0x1.7a9417de1e482p-2
+-0x1.cfe415b09159fp5
+0x1.9937b7d8057d3p-25
+-0x1.1185143f94830p33
+-0x1.d243651a4c153p41
+0x1.738c07ff28a5fp33
+-0x1.8c5de38eee632p1
+-0x1.c81275f494f57p-1
+-0x1.9fd4660ed63a1p25
+0x1.18e380b5f2781p44
+-0x1.497f37a345aa8p934
+0x1.0bc797ce995e4p47
+-0x1.490600f788389p539
+-0x1.92e3e1c5eb894p4
+0x1.d6977199168acp335
+0x1.d06137ede4884p959
+0x1.b25ac40cef705p432
+0x1.695eb77a3a499p-1
+-0x1.7e5900737e9ebp17
+0x1.639e337b89a9dp238
+0x1.e967a4713d5a0p43
+0x1.56f9e4a16d041p346
+0x1.b90fe0e573bd2p902
+0x1.8fc2151c3268ap13
+-0x1.0c5b50a95ef55p-19
+-0x1.cd09619d8ede1p5
+0x1.e23a368aeff4bp45
+0x1.a299d6fc56011p-2
+-0x1.7946b6c035ce1p6
+0x1.f0c2d3f3f6809p23
+-0x1.857651fc6cb0bp22
+0x1.8b6c9589243edp28
+0x1.d0063763af7b7p-6
+0x1.a03a279df3b61p-12
+-0x1.8f6440dd3a571p15
+0x1.5702115e3395dp11
+0x1.753293dcaaa78p0
+0x1.691ec4d9bd585p165
+-0x1.b671f3877ed27p0
+0x1.97af437bbd99bp36
+0x1.664c00fb70dcap26
+-0x1.94f1c6757b92ap27
+0x1.97dd3222f8901p36
+-0x1.ab2ec50e36b5ap16
+-0x1.42ab81528cdc5p29
+0x1.9537a3e475a1bp-1
+0x1.69ba402842bdfp-2
+0x1.204fa031269b9p12
+0x1.acd0117b50401p10
+-0x1.6f1e24963cba0p24
+-0x1.3678853a3c342p17
+-0x1.1c7fc2d0f2645p1
+-0x1.af8373184d592p-2
+-0x1.f931f3789237ep3
+0x1.05b356c5c6808p-10
+0x1.e49f04420f1a3p0
+0x1.f535c5c0909a8p198
+-0x1.82dc21619e2b7p34
+0x1.479b9359aa14bp35
+0x1.92d325fbe6eecp11
+0x1.909ea21f78d00p1
+0x1.435cd7c1ee887p8
+-0x1.3a9fc4354363cp44
+-0x1.00b646dd4b498p10
+-0x1.11a1e6e51f4f5p115
+0x1.1a7ac52b21875p-2
+0x1.e6a8849733aefp-19
+0x1.6962c39edf43dp25
+-0x1.ea1d7661b1044p68
+0x1.0337f102c6521p26
+-0x1.762915df91144p289
+0x1.446ae20aa874cp-2
+0x1.94e331e8c93a0p16
+-0x1.7c7b439118666p25
+-0x1.5f8ad60de99e9p6
+0x1.549137cc746edp-21
+-0x1.21d9e6074ed97p0
+-0x1.574861d5d2449p6
+0x1.331650a915232p11
+0x1.e646a1f117d41p25
+0x1.2018d63454393p-2
+0x1.4cb4c39f91e0dp28
+-0x1.5dcfb2b00277cp-14
+0x1.daa065c9d4747p-3
+-0x1.628af5ece9cb0p-9
+-0x1.0443e4cad7780p-1
+-0x1.dedc5001517b5p0
+-0x1.9605a6741836bp-2
+-0x1.0eac403d3a375p-8
+-0x1.907957a46c55dp33
+-0x1.bdd996400fb39p366
+0x1.5d60d6c3bc1e3p13
+-0x1.f684f28967382p-9
+0x1.d2bc13e424342p0
+0x1.1306d48e431d2p123
+0x1.a44ac34907179p254
+0x1.80a0b504d05cfp46
+-0x1.c4c130a5a2ab3p4
+0x1.aa9875a0ad120p42
+0x1.92f40304c3502p-1
+-0x1.5a086217bae89p-1
+-0x1.7f92461fb7863p221
+0x1.dcaa21c629a7bp20
+0x1.973c70526c1c4p10
+-0x1.58f6b3cebb936p0
+0x1.366af7287b353p26
+-0x1.a150963ef219bp-13
+0x1.8dcb25a44c4a5p25
+-0x1.abb293ca64809p16
+-0x1.55ce241f8abe8p4
+0x1.e0113452c0f03p38
+-0x1.27fc007f4c82bp-1
+0x1.abcb74a6eeb53p1009
+0x1.53b0f0bb07b86p14
+-0x1.54c8141b03f12p36
+-0x1.0736e6ee73839p30
+0x1.75f8001aae382p33
+-0x1.024ad6d77126bp1
+0x1.57d661a9e1759p778
+-0x1.28dc4531d726dp-20
+0x1.34b0271d50e17p1
+-0x1.13b720a462992p0
+-0x1.f2dec31d45c7ap0
+0x1.51ddf26d6dc8fp14
+0x1.4f8eb36cd79c9p15
+-0x1.a3eab77c6bc5ap-2
+0x1.3536c2505e758p24
+-0x1.a48c91ce6acf6p1
+-0x1.cfe614d084590p-1
+-0x1.37c223479d8e5p34
+0x1.3ab302a5e1187p19
+-0x1.19bfb39635af3p9
+0x1.50f1731d7f698p-2
+-0x1.c5f92281bfc73p35
+-0x1.f69343f49bb20p13
+-0x1.82723036a9e57p7
+0x1.e4ed355b3c00ap-23
+0x1.7ebd829292355p0
+0x1.6a20975fc296dp6
+0x1.814aa1f83ddc5p19
+-0x1.e9fb42073effdp883
+0x1.61d877698a956p25
+0x1.dcc1f7b93cb11p-2
+0x1.fcbe6062a5d86p-1
+0x1.b28d50696ad27p44
+0x1.57bab70bb9f72p-5
+0x1.f8c9631dd7bebp4
+-0x1.cd4e077c60321p453
+0x1.8f7c10d20a751p700
+-0x1.9e3aa6a16e660p16
+-0x1.4e1b47763daf8p3
+-0x1.2039d5a282e43p45
+0x1.15d7a3ccd36b3p12
+0x1.b32b804c5c7bbp21
+0x1.bc2f721362d31p-21
+-0x1.a77f51d99609ap-2
+-0x1.78254470e56f2p885
+0x1.065b616a9cb9ep20
+0x1.a455362c38b73p17
+0x1.7cd9012d31cc5p19
+0x1.f38b658d5c5c8p13
+0x1.a1d8c7cb3e755p46
+-0x1.8720419fcf071p861
+0x1.c9d664de86fa0p11
+-0x1.3032c7cb3f4f5p20
+-0x1.4c5cb2dee8a4cp15
+-0x1.af5bd3377809ep32
+-0x1.8a3584d35cbb4p3
+-0x1.5173771549c2cp3
+0x1.70c313d51072cp6
+0x1.f6f0b32aae83fp321
+-0x1.cec9d1bb2b60cp624
+-0x1.cd421185a053cp-2
+0x1.7195806a8c89dp23
+0x1.2ad661d2aa35bp324
+0x1.72be4126e7236p523
+0x1.d9a36630b8946p-10
+0x1.7fa3815765425p19
+-0x1.70c7d60688adbp-10
+-0x1.eaa751f3372a5p0
+0x1.bdeaf5b08c989p-24
+-0x1.3a9f0155171a9p33
+0x1.3cdd52c4dc184p0
+-0x1.1bd7b2d4c4423p-1
+-0x1.9f5150c2b709ap20
+-0x1.89d8068abc6f1p842
+-0x1.ceec2438b810bp21
+-0x1.a948a503102a9p21
+-0x1.cf78364f7fc71p27
+-0x1.08deb24991385p0
+0x1.70133227579bep-2
+0x1.6205800dc93f8p0
+-0x1.4e2a376e6f0e0p721
+0x1.e30d43adb903bp35
+0x1.f64210657b93ap12
+-0x1.28618129a1956p14
+-0x1.47e9104d7daf9p-1
+-0x1.a032301a639dcp0
+0x1.64d8d4817d586p22
+0x1.bfbe973aefd26p17
+-0x1.a99ba07350567p196
+-0x1.8683c572cc281p545
+0x1.904e746fd5521p26
+-0x1.1ab434d351229p0
+0x1.78bb5749ecc74p-24
+-0x1.5a1f9122af4e0p-1
+-0x1.0096f76176198p1014
+-0x1.c374b2142bb05p-23
+-0x1.14c5717c7ab84p46
+0x1.304756bf39c0dp26
+0x1.032157b7ad5b4p12
+0x1.0167a4376c0c5p404
+-0x1.2b33e07d94903p815
+-0x1.0546b04e2f28ep1
+0x1.4e7a67202b6c7p222
+-0x1.1569c5f7c9a43p22
+-0x1.7a4f25a89b8d7p0
+-0x1.b19b42481db05p7
+0x1.2fb006b058a81p44
+0x1.41bb26e7ea591p22
+0x1.9edc565a8a7ccp750
+0x1.da4e0046b9d06p9
+0x1.53b98665e609cp0
+-0x1.42b700ad8d530p18
+0x1.1fdfb58958afdp414
+-0x1.56b4353a278a4p43
+-0x1.f706a5edd47b4p691
+0x1.ac72f4f2109fcp59
+0x1.77e333e16d85dp13
+0x1.ee51c6871309bp605
+-0x1.c61080b14654fp0
+# sin slowest path at 768 bits
+# Implemented in sysdeps/ieee754/dbl-64/sincos32.c
+## name: 768bits
+0.93340582292648832662962377071381
+2.3328432680770916363144351635128
+3.7439477503636453548097051680088
+3.9225160069792437411706487182528
+4.0711651639931289992091478779912
+4.7858438478542097982426639646292
+5.9840767662578002727968851104379
+-0x1.946913945ef0bp919
+0x1.1c8780f7a4682p611
+-0x1.e5baa0e086df7p435
+0x1.215b6544ccd9dp988
+-0x1.0400243513f3ep355
+0x1.af2591e3a6c8dp352
+-0x1.8469102c2b910p496
+-0x1.ad614701ebe00p373
+-0x1.53d895d79f028p79
+-0x1.c1f47655dbf06p748
+0x1.955383c0fe4dbp236
+0x1.fd00b10489e25p1017
+-0x1.1ac573f72a900p617
+-0x1.e6c5a2c754d63p668
+-0x1.c04c06d3c9bb6p169
+-0x1.6b50c75d0379fp154
+-0x1.e404e32d17aa6p374
+-0x1.13f7e64dd059fp981
+0x1.b83c446cc221fp197
+-0x1.6884818ec1e2bp34
+-0x1.efaea6e07ba1ep118
+-0x1.2f4a042ea2aa5p925
+-0x1.7f2ce5eec3a1ap435
+0x1.e099963c33c2ep382
+-0x1.9e21f646e47e4p72
+-0x1.1276c444b2602p767
+-0x1.091891781b177p631
+0x1.623ba2d6dd62dp940
+0x1.b41e736053e23p204
+0x1.0fdab611b5e72p853
+0x1.e438955b23efap180
+-0x1.743616457e1abp981
+0x1.06b554eea34dep70
+-0x1.83d775bab0aa6p260
+-0x1.2389541676301p787
+0x1.ec20d06255fc4p43
+0x1.f4b9d28ce2dd6p729
+-0x1.aa5f20f1a2b4ap222
+0x1.17d374c688e49p844
+0x1.3adc16a4b2461p173
+0x1.3b87c3935314ep829
+-0x1.6c5b05b13f352p661
+0x1.c76c8671f2d00p207
+-0x1.a19d949bd5ef8p301
+-0x1.ff232524cd4f5p699
+0x1.b23a63ccbf933p429
+-0x1.260cc706b7092p86
+-0x1.b4b845158c16fp607
+-0x1.6b29c047caf4ap1003
+-0x1.5451e75d6c4e5p93
+-0x1.1ce9d2b02f8b8p173
+-0x1.5f9141de74c66p228
+-0x1.8477c7f84ee2fp795
+0x1.8c20366e61996p771
+-0x1.fa14b5d1e2278p929
+-0x1.7838e2f1f3458p630
+-0x1.908427a2b2b25p89
+-0x1.4f35846a0e4f5p906
+-0x1.6ad7d5bd4f80bp26
+-0x1.e079761c09377p692
+0x1.98ac66fb30c7dp342
+0x1.cfe96007166fdp648
+0x1.2554008adbf67p470
+0x1.37c43698bc76cp113
+0x1.0eb237971695bp629
+-0x1.dbd26599b0a10p295
+-0x1.72a877adef21ap763
+0x1.cb57400936f56p750
+-0x1.82def1457c813p937
+0x1.b16f3533cdb98p897
+0x1.67f3805325585p654
+-0x1.673ba2ec64800p409
+-0x1.ce15a75f15e94p464
+0x1.fa20f59a4d4efp447
+0x1.4ac8c2d45ccbfp105
+0x1.a47d934601d32p685
+0x1.1c4d64b15b946p989
+-0x1.c8409231e383ap884
+0x1.1c4ff63867e5ep479
+-0x1.569bb7635282ep208
+0x1.27e6e0f904293p386
+-0x1.8d4e92ca6aaa5p455
+0x1.0da3b3fbc6164p128
+-0x1.0808e0778b59fp148
+0x1.c13a5641139ebp550
+-0x1.908b307add0ebp662
+0x1.49eb1291c429ap216
+0x1.fc58c4ac0478cp86
+0x1.6a2e33b334902p445
+0x1.27f611aee303bp387
+0x1.5ddb515b26a4ap933
+0x1.437534c005adep412
+0x1.55de40b98c58bp151
+-0x1.98d521c355be2p813
+-0x1.6e04203014222p146
+0x1.e4d52737fa44fp179
+-0x1.1e3fa3fb95c37p782
+-0x1.082555c869c25p980
+-0x1.1b1e726bdbf7ep429
+0x1.f475c1183eeb5p844
diff -urN glibc-2.17-c758a686/benchtests/sqrt-inputs glibc-2.17-c758a686/benchtests/sqrt-inputs
--- glibc-2.17-c758a686/benchtests/sqrt-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/sqrt-inputs 2015-06-20 21:22:16.303457923 -0400
@@ -0,0 +1,10 @@
+## args: double
+## ret: double
+## includes: math.h
+0.25
+0.75
+2.0
+4.0
+2209.0
+6642.25
+15190.5625
diff -urN glibc-2.17-c758a686/benchtests/tanh-inputs glibc-2.17-c758a686/benchtests/tanh-inputs
--- glibc-2.17-c758a686/benchtests/tanh-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/tanh-inputs 2015-06-20 21:22:16.303457923 -0400
@@ -0,0 +1,203 @@
+## args: double
+## ret: double
+## includes: math.h
+-0x1.79ea722d33e33p-9
+-0x1.94d4e0c3df9bcp3
+-0x1.b63e91ff711e0p0
+-0x1.299707cfa0a5ap-5
+-0x1.35ec261f6be52p-19
+-0x1.d139c624e1f41p-49
+-0x1.ba38b666e3abap-6
+-0x1.83f902d2c81afp3
+-0x1.dc37227180c76p-51
+-0x1.922cb3b58f124p-3
+0x1.3579562644365p1
+0x1.3d52b2702b0dap3
+-0x1.f7e79460fc57ep-7
+-0x1.3f96b4611fb28p0
+-0x1.a82265377c4bbp1
+-0x1.ced121527ff6ap0
+0x1.e4e26333b349ep-4
+0x1.8c5fd0ab12b60p-40
+0x1.c1b891cbc8f77p0
+-0x1.223b80efcf234p-33
+0x1.7184670fd30eep-41
+-0x1.8a4421ee0d23ap-1
+-0x1.67e981e763866p-41
+-0x1.368b80b14c57bp1
+-0x1.66353498bb0efp-39
+0x1.1aa8449c2cce7p-18
+-0x1.d70654bb75b1ep-43
+0x1.c84f96b02d6f2p2
+-0x1.f327d6a043438p-9
+0x1.212b318a2bf91p-49
+0x1.6253304db0fedp3
+0x1.ca25248faffc4p-32
+0x1.d502b71784735p2
+-0x1.5c6891472b6bdp-29
+-0x1.c05af046daa21p0
+-0x1.3f35f7d788487p4
+0x1.f71314c80ac27p1
+0x1.ffb1e0c514641p2
+0x1.cad8c2d932d94p-32
+-0x1.ff34f15f5e3e6p-3
+0x1.6156d70921443p-53
+-0x1.4b5a84c95c083p0
+0x1.c22fd4b9cc811p3
+0x1.3fa1e66f4df60p2
+-0x1.90f3f58afd000p-52
+0x1.0d16c5632879dp1
+0x1.421a752ee683cp1
+-0x1.4b25106b6dd56p3
+0x1.ac89b6ae063b4p0
+-0x1.f5a005d7de302p1
+0x1.263f96335fa00p-25
+-0x1.81c160ff9fde2p2
+-0x1.4c0a56228350bp4
+-0x1.2c2e339d063c9p-47
+-0x1.b57eb40fc048ep-21
+-0x1.53a807e326e09p-39
+0x1.535963f5cea8ap-43
+-0x1.d049e60c0ecd3p-23
+-0x1.ad3f8713c45ccp1
+-0x1.b955931acef5cp-35
+0x1.480e5368b9fb9p-33
+0x1.9f8f61aff6da0p-54
+-0x1.80ed544374dd1p2
+0x1.0a15b06364b72p-42
+-0x1.2700a6bd0f1cbp3
+0x1.8257449cfd281p-42
+-0x1.a96977ae27fb0p1
+0x1.0fbf54939b136p-16
+-0x1.68dc338c13b02p0
+-0x1.08c49666633fcp1
+0x1.7112c1edd1600p1
+0x1.45aa62e647503p-13
+0x1.24318616e191cp1
+0x1.2712f5e21b96ap-52
+0x1.cd76975043db0p-32
+0x1.9ab2842033f1fp-15
+0x1.9cf3279d8ff3ep-21
+0x1.dccc3241d912ep-48
+-0x1.b2a4e543a5268p0
+-0x1.9802a51e2fa5ap0
+0x1.3da4954669e1fp-27
+-0x1.d4670486ae6c5p-50
+0x1.12d690cf283ebp-25
+0x1.34763296811bdp-39
+-0x1.2f5427f0973cdp1
+-0x1.44a7f0d39a7cbp-18
+0x1.c954869657fd0p-45
+0x1.c99220da8d555p3
+0x1.a067b10753d0cp2
+-0x1.4cfdd35756bc5p-10
+0x1.5090825895bd5p-43
+0x1.bbbc049609e09p-34
+-0x1.d79730d4df424p1
+0x1.4aeba21a72c73p-11
+0x1.72115177d9511p2
+-0x1.3a4015774746fp3
+0x1.555713307b9b4p-37
+0x1.a877a7a5a6963p-46
+0x1.ba8ad1105bb80p-6
+0x1.e500b2666c494p0
+-0x1.7c7801ef98594p1
+-0x1.89c34195ab10dp-21
+-0x1.9653b765a54c3p1
+0x1.cbc5464770c96p1
+0x1.80dd335890daap-29
+0x1.a88610813e760p-35
+0x1.3bf7077dcaeb2p1
+-0x1.58fc25c99925ep-51
+0x1.99f184fd14ba6p-37
+0x1.a5c077f3ec9fbp3
+0x1.1676a1bd6d7fdp-31
+-0x1.151f61d509024p0
+-0x1.82b1234ed4accp-21
+-0x1.9c78a7464a06ap2
+0x1.81db55fe7d6a8p0
+-0x1.403546a25090dp3
+-0x1.884175facb7a0p-5
+-0x1.8cd807cf97147p2
+0x1.28b7d3631da7ap-16
+-0x1.dbdfc6a3b7a56p3
+-0x1.93ca444439063p2
+-0x1.863014637e6b2p-40
+0x1.6f0606cba779fp-48
+0x1.e4bb004a92da3p0
+0x1.4e7cd59b97811p-22
+0x1.d82513d934824p0
+0x1.08ea668aed516p-4
+-0x1.4eb052c08e36ep3
+-0x1.947540f62626bp-38
+-0x1.9d4c17b3aa3e3p-18
+0x1.ffdc334c6a7a3p3
+-0x1.f01e851ab2990p-45
+-0x1.040ac02963464p-37
+0x1.deca67ef259e8p3
+0x1.7ea616ef23425p-31
+-0x1.5ad5526a35b13p1
+-0x1.18477773e1136p2
+-0x1.da68368e73652p1
+0x1.d47856d151708p-32
+-0x1.8dff62e84740bp2
+0x1.512c92bc3fd5ap-42
+0x1.0d46e50f3e34bp-38
+-0x1.f2cba4b66f7aep3
+-0x1.1bd6063435779p1
+-0x1.314a92dc0593ap1
+0x1.78e992e23299dp3
+0x1.547ba4fcc9d15p1
+-0x1.10b63582d5e5fp1
+0x1.2bc994ee38c37p-3
+-0x1.8edd86fbebfb1p3
+-0x1.0f5bf4ace5c69p-54
+0x1.e38d83d2c8025p-43
+-0x1.9c31372efb7c2p-25
+-0x1.01ea8256aa697p3
+0x1.b68125750b075p-9
+-0x1.49f40645faf47p0
+-0x1.72a777e07e732p-8
+0x1.198ea0f0d15eep1
+-0x1.ecc6037c6538ap-21
+-0x1.e649c0259ccc7p3
+0x1.06f1640c8e2a4p0
+-0x1.693d851f3cfeep-10
+-0x1.0087454a6db2ep1
+-0x1.05519085ee41cp-51
+-0x1.df8af593c9a6dp2
+-0x1.fa5552ca0ed82p-13
+0x1.5d5fa0d6d5003p-9
+0x1.726ff56109b1fp2
+-0x1.17fe022e20687p2
+0x1.261da31e2fd34p-35
+-0x1.55b5028331f05p1
+-0x1.5b3682390c9a9p2
+-0x1.2e7715356184dp-16
+0x1.5be03400eeeb7p0
+-0x1.b530c329abc95p2
+0x1.b3c9837089937p-50
+0x1.9286b5e44023fp3
+0x1.106137779070bp2
+0x1.df2ad20740b3dp-26
+-0x1.1ae7653a10472p4
+0x1.1cecd7b22c032p4
+0x1.e16190519649ep-48
+-0x1.43ad33cd63d71p3
+0x1.f978d68c76a16p2
+0x1.340975e58a8a7p2
+0x1.2ca3d4cef3844p3
+-0x1.75fb149690f20p0
+0x1.1c6be31b1d0b9p4
+0x1.1b54873bb0292p0
+-0x1.73c327f48e34fp-33
+0x1.0e0354caf6818p-54
+-0x1.168b022d669ccp1
+-0x1.816c547ac8d97p-45
+-0x1.ee86709f7750bp2
+-0x1.137d50ed8e775p1
+0x1.094c253414b65p-22
+0x1.87a6a3e8c8b4fp-37
+0x1.9c4674b85fc58p-9
+0x1.2ba8d7d38efa2p-43
+0x1.35e7234d9a485p4
diff -urN glibc-2.17-c758a686/benchtests/tan-inputs glibc-2.17-c758a686/benchtests/tan-inputs
--- glibc-2.17-c758a686/benchtests/tan-inputs 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/benchtests/tan-inputs 2015-06-20 21:22:16.304457892 -0400
@@ -0,0 +1,3456 @@
+## args: double
+## ret: double
+## includes: math.h
+-0x1.8223b3a325943p573
+0x1.a8a424675610fp845
+0x1.923370ded0653p554
+-0x1.759b34bb0cfdbp553
+-0x1.a390469582e59p924
+-0x1.cd9252152d901p462
+-0x1.e2d1d2e34fd97p568
+-0x1.b59d71a85565ep-15
+-0x1.be1224d8f2474p629
+-0x1.327c5786c74fbp559
+0x1.75e1260927766p519
+-0x1.d1ae866714e99p662
+0x1.a086249ef7bb6p159
+-0x1.008130223996dp463
+-0x1.f77636d051905p336
+0x1.dfed4714271cdp574
+0x1.7204451a9cfdfp372
+-0x1.31ab43b06eac7p703
+0x1.4866b5a4dfafdp978
+-0x1.cf2ba523a76c6p815
+-0x1.25bc94b7d96b8p604
+-0x1.b986e7275d085p225
+-0x1.8d4ed15015b22p740
+-0x1.58d231c6a5340p390
+0x1.5f14b443ceb0fp0
+0x1.40ae43729ddcap969
+-0x1.d4e9674fd10a8p528
+0x1.24d8e4308a916p413
+-0x1.b143609970b27p101
+0x1.b609b67cc8c6fp974
+-0x1.8fc291f86553fp171
+0x1.b24a7238fb771p275
+-0x1.cde032076fb81p545
+0x1.bbb5f22a04b44p794
+0x1.5bdaf73cb6febp803
+-0x1.58c180ec8edecp408
+0x1.b5e6345064274p152
+-0x1.83bd627132077p50
+-0x1.bb46e4e6e61a0p585
+0x1.bb9757f54f100p733
+0x1.c55d070f0ac5fp438
+0x1.3476a63166a0ep648
+-0x1.a15f134f42095p828
+-0x1.32e840e69acadp392
+-0x1.bf17857e50b11p559
+0x1.f73021afd46e7p407
+0x1.9f00e7f88fb55p775
+0x1.f64fe31245205p510
+-0x1.857c82089e8dbp933
+-0x1.e7c0240150699p244
+0x1.85f1e1ff46b97p607
+-0x1.8ac482283b408p507
+0x1.655985eb933b4p332
+-0x1.6e7ad10117706p577
+-0x1.9f9b018c5a565p944
+0x1.e15694711c05bp690
+0x1.623803fd581a2p555
+-0x1.58f8b25bde0c0p477
+-0x1.e019f3e23ca4fp648
+-0x1.6f1b061695e57p6
+-0x1.c4e4506f6c270p698
+-0x1.9249404f2bd69p-12
+0x1.f6df00b66684ap227
+-0x1.0a5ff4bbd59fap973
+-0x1.783723759a83fp66
+-0x1.f21b84834aef7p246
+-0x1.8e49927eadea1p587
+-0x1.eca7d45f5234dp631
+0x1.41b1c5ef9873cp95
+0x1.d449a6e011e9ep107
+-0x1.7caa53d604056p443
+0x1.7288a5f18c0aep556
+0x1.8d7ba3b2300e6p183
+-0x1.1747478ffe5b4p148
+-0x1.769a84af31c8ap851
+-0x1.e41b6039c9d89p23
+-0x1.273bf4a49e223p408
+-0x1.2d74708a8d553p7
+-0x1.71a9314bbf5abp11
+0x1.63c804f1dcb3bp654
+0x1.a81bb1a86a2f5p368
+-0x1.bbb1d0d267af6p679
+0x1.574264e94bcacp646
+-0x1.1ee57113a55bbp916
+-0x1.e043311b22e8ap45
+-0x1.2fd7c5340e069p842
+-0x1.2faa426020fadp642
+-0x1.92507362ad808p175
+-0x1.9318c5c281337p897
+-0x1.aeada555a018ep178
+0x1.04d4f6535e33fp367
+-0x1.e49b378f96eb8p749
+-0x1.064e801d2dc83p75
+-0x1.64deb34cefc2fp403
+0x1.6d2e677f31896p467
+-0x1.466ac0cf4dd29p746
+-0x1.609c83df01cf5p137
+0x1.d960e2cbe66a9p449
+-0x1.602bd715ecb91p46
+-0x1.b0af218f7c6a5p629
+-0x1.21a921acce2fdp22
+-0x1.f83004121d518p837
+0x1.4ca7a2fb63bc5p156
+0x1.191295449db9bp54
+0x1.c9bd7171fde58p949
+-0x1.e4162302d0c20p397
+0x1.077f42760d255p258
+0x1.a3b173403bf03p644
+-0x1.c9ff841ec836dp889
+0x1.acf92502f5b3cp624
+-0x1.b8c23518af5e3p508
+-0x1.88e416ff6ad6dp268
+0x1.6280e7b9872b9p807
+-0x1.7cd6b732512b1p212
+-0x1.67ee930f4dcfcp388
+0x1.64f4659e0b759p93
+0x1.6cfa374d378c3p788
+0x1.c1082531b7386p261
+-0x1.b8d1e18e1c2ccp953
+-0x1.46d403df71732p268
+0x1.07f2566a38fafp589
+-0x1.cb5ed766d06c9p356
+0x1.64e9c5f032a8bp358
+-0x1.a81485a8eb7a9p15
+-0x1.29d6113c439ffp960
+0x1.46f14425dfb7cp-22
+-0x1.46d884db8e124p760
+0x1.b6b2023f59712p442
+-0x1.f8fea40ac8ffep855
+-0x1.d363d57ed5fe2p800
+0x1.385f65d4ccb30p812
+-0x1.b13d912fc1851p600
+-0x1.189687400f8b5p930
+-0x1.3359b450bf3bfp285
+-0x1.64d114ac159fep767
+-0x1.9bc8e4afa247fp213
+0x1.1299f68a1c892p327
+0x1.8bca15f2a63b3p771
+0x1.92d6366b40cd5p704
+-0x1.c7cbe0307540ap1005
+0x1.d2bfc0eb2f0f9p665
+0x1.788336461cdf9p887
+0x1.64c99758893dbp728
+0x1.364825de23c96p378
+-0x1.033600f7ce301p531
+-0x1.34862202e7ecap256
+0x1.6a6f4552a83b5p949
+-0x1.a55017d2ab992p179
+-0x1.a70fc12d64d86p591
+-0x1.7f00f4d75d44fp563
+-0x1.58a4c1d691cb1p209
+0x1.37a2726f0d414p445
+0x1.b7c3035071ef7p459
+-0x1.3c5d37b781aecp256
+0x1.a979508d7bd0dp576
+0x1.708213f2fd915p528
+-0x1.2054b2257c924p889
+-0x1.0446b4b20cd97p573
+0x1.9cba327cc49c7p207
+0x1.f14ce310e4517p147
+-0x1.8e4313d57243bp405
+0x1.32f131e4e2c5dp-7
+0x1.7b7d4171a5b89p761
+-0x1.768b96404272dp319
+0x1.e389677da758ap725
+-0x1.f7f1270f6df26p963
+0x1.97bd878c7b4e3p597
+-0x1.b35ac52109914p372
+0x1.86a351193c827p418
+0x1.c78c9454775e2p325
+-0x1.f7093192ede9bp819
+-0x1.8f7823d7fe58fp200
+-0x1.2068039af64a2p944
+0x1.95a951ef8e07ap424
+0x1.98b5776341626p241
+-0x1.661af6c71f830p275
+-0x1.bded24148bf8fp265
+-0x1.da06d35c1e049p352
+0x1.50c4c103b3adep946
+-0x1.d89fc3a1a0038p683
+0x1.e01904f9e518bp65
+-0x1.904ac477905adp21
+-0x1.566ae646625edp938
+0x1.3fec71e5f5cbcp514
+-0x1.88db248db4dbfp865
+-0x1.5dc2c3388d7bbp213
+-0x1.b5ac97796d94cp400
+-0x1.7bbad1b8269a2p305
+0x1.2115275214bf2p809
+-0x1.b6727037ce307p726
+0x1.983327e1249b5p120
+-0x1.d10951541ff1fp728
+-0x1.4f84e0b4a8cd1p28
+0x1.0dbc3589068fdp241
+0x1.1e9a9359bb743p399
+0x1.a923364cdc026p924
+-0x1.20ab54a355b5ap996
+-0x1.90c1f77a05003p285
+-0x1.2772c2d8adf26p15
+-0x1.d75d54bd7efd8p221
+0x1.5d0352b2cac14p335
+0x1.92297454b3ba4p203
+-0x1.e74193f05cdd7p411
+0x1.e526b6137b06ep800
+0x1.e99bb5f69bb23p558
+-0x1.12fb97edc8ef7p509
+0x1.93f9f4c363c48p114
+-0x1.7da8c406ad9edp290
+-0x1.681230393be1dp694
+-0x1.c8ec5071ed259p771
+-0x1.1010810f5ddd5p158
+0x1.c74a81bf3dfe1p502
+0x1.1a36b350bffb4p326
+0x1.9997153de8d50p936
+-0x1.2a4b83a44adb1p262
+0x1.143135a73f62dp112
+-0x1.a9fb66d704d20p924
+0x1.52ad267e9e691p941
+-0x1.960237aa0b476p456
+-0x1.86f60247145c7p1002
+-0x1.40fc032059f50p822
+0x1.36e3e02584408p699
+-0x1.19f154949871bp690
+0x1.955050762de4dp982
+0x1.da92c16dc3379p408
+-0x1.7db2843ebc2e9p106
+-0x1.5ed053da6629fp251
+0x1.7a438137d5cf5p379
+0x1.848bf06d16cb5p742
+-0x1.10c327274daf3p243
+0x1.e7d565d867a08p675
+-0x1.fe4a75adfcf0ep507
+-0x1.27ffc345d783ap83
+0x1.7505c7af55362p582
+0x1.e91a6585b3efep39
+-0x1.c3f6c7813dc77p258
+0x1.aa1a94fbb80afp391
+-0x1.f91010d34d5a1p575
+-0x1.d1c5e776352f8p81
+-0x1.42ed75713379fp760
+-0x1.443db008d07f8p671
+-0x1.62b031d37d269p872
+-0x1.e74ca5fa66410p11
+-0x1.24c032fc2a37cp54
+0x1.b10d0082d4525p430
+-0x1.52a7436543c32p449
+0x1.80de825c86b09p478
+0x1.aeb2530eace81p186
+-0x1.069422760f985p379
+0x1.d254b2b61ba52p468
+0x1.859f00c1dfdb4p946
+0x1.b77c51fdbe932p801
+-0x1.d84b803d9a2a9p653
+0x1.fdeee09bb33b3p522
+-0x1.977296b455844p588
+-0x1.4da2b665db234p110
+0x1.6e4656ff0b546p687
+-0x1.427ef58be39fep749
+0x1.5458b4f78e18bp1020
+0x1.dbf6b5a443ad8p63
+0x1.fabc4531c35d3p786
+0x1.750be012c6154p365
+0x1.d406b5ad76da9p348
+-0x1.136ac7e63a7a4p852
+0x1.f38d97e18ed30p770
+-0x1.86eb94206ac9bp845
+-0x1.9fd97758ea039p519
+0x1.57e104a418329p842
+-0x1.f47a53b612eedp131
+-0x1.8c7f907591c6ep317
+-0x1.7797a7c218b28p683
+0x1.a65d35c8b88bfp445
+0x1.e2eb60871eb89p30
+0x1.569f174caec6bp914
+-0x1.b83cc28d283bdp-9
+0x1.4e3625ca8ae68p798
+-0x1.5b0a1690ba66cp1010
+-0x1.b964703464db3p516
+0x1.594d72f510320p234
+0x1.e0fd20fb450c9p195
+-0x1.4c71468889a23p828
+-0x1.b0550500c4f1ap615
+-0x1.0660b078d6f3ep275
+0x1.1aea54022a7c9p566
+0x1.944f35657817bp909
+-0x1.b918b7742beb2p620
+0x1.30c8214b4ebd4p1003
+0x1.b4b1127df81bbp636
+0x1.499bc35bdb268p230
+0x1.239303c6019cep75
+-0x1.2ddf17942d7abp335
+-0x1.c1cd51bb6ef20p219
+0x1.317ef522313edp576
+0x1.6622455a81f5ap165
+0x1.a7cd35a9a03cfp611
+0x1.55f8a593d1051p681
+-0x1.8ac0e40f85b62p207
+0x1.339c053ef2e4fp974
+0x1.07bac767e2915p807
+0x1.0572243093b94p336
+-0x1.7e6d32d8e9b1fp573
+0x1.05f97096a8c08p301
+0x1.a0f3f063dc5c8p319
+0x1.079d71aaef5c9p133
+0x1.aae49653bc771p-9
+-0x1.de13b5b4f8b8bp779
+0x1.ed07835644d79p859
+-0x1.86ae6094e5cb8p640
+0x1.f45d03d3167a8p44
+-0x1.1c9161ed1811ap657
+0x1.ba5ae0f7f6255p730
+0x1.3dc4917e05df6p199
+-0x1.637eb2e09fc81p-20
+-0x1.35c8010ca51abp558
+0x1.46b46213d42d3p263
+0x1.e82bb7d6f0966p439
+-0x1.4a5335f72040ep748
+-0x1.9150364d7a3e8p521
+0x1.811436d27e101p345
+0x1.1e6fd3d8c4c47p24
+-0x1.d3dd14d8c8a72p195
+0x1.7f6fa7878270ep615
+0x1.0e23f7c6192b9p883
+-0x1.64fb914120bf9p181
+-0x1.5b9b402c6b12dp216
+-0x1.67072619357dfp556
+0x1.cb6d523053edcp116
+0x1.0400b6f327cadp209
+-0x1.cb1c2559a73a8p538
+-0x1.0832e6f8f9389p562
+-0x1.e237659a26998p113
+-0x1.d390a323282adp250
+-0x1.2abb75708ac0ep1000
+0x1.93bcf2432f778p707
+0x1.bbdbe0f57dba0p780
+0x1.9ce4a245e8487p56
+-0x1.f65290202bc33p297
+0x1.2286377c2a7bep402
+-0x1.25ba94a2a1b39p23
+-0x1.7e7034f66b646p226
+0x1.dfd3921f61b6fp865
+0x1.8e77026d1dd42p947
+-0x1.259a210ae8dbbp883
+-0x1.ff947770042f4p50
+-0x1.b11b83cbe34a6p138
+-0x1.ed02f523ba5fap948
+0x1.fae0c20538cfdp378
+-0x1.f106f16618a36p390
+0x1.12f06118a71a6p435
+0x1.f459e36013ac6p193
+-0x1.b71e601c8937ep647
+0x1.741dd54a711bap303
+-0x1.5fd0806197195p648
+0x1.c08a364cba1c4p476
+-0x1.0fae377d13b6bp376
+-0x1.284b125539b1bp740
+0x1.1b26509b3d375p643
+-0x1.b3d3e132b5f3ep409
+0x1.f5e2c4a09c6f3p579
+-0x1.27c3958127ffcp568
+0x1.3d88f5ed5e951p522
+0x1.9f271783e03d7p573
+-0x1.e470858d1dc67p587
+0x1.cb625701aabb5p297
+-0x1.583541c8ef4a9p519
+-0x1.cff7a379366fdp449
+0x1.ff5284d44492bp734
+-0x1.36bec43199ee1p-24
+0x1.21c7f78d864fep503
+0x1.e84e55708a34cp1003
+-0x1.bc6db2028ef2dp357
+-0x1.03dc7515aba2fp362
+0x1.d36d2291f6b57p427
+-0x1.6b09f585f9193p808
+-0x1.9c94e5c6b368fp214
+-0x1.b637e724f9976p589
+0x1.c782220738d46p18
+-0x1.55e0e443747ecp298
+-0x1.ae36671f9deb3p951
+-0x1.ab18e77da892bp237
+-0x1.b8214411e595cp533
+-0x1.905e068e442f4p539
+-0x1.9dac66939446bp803
+-0x1.30d441b8ea8f2p401
+0x1.2023c219ba756p306
+0x1.9b83c3efed8c5p14
+-0x1.3f0ef3440cb1ap1000
+0x1.fe50609963492p823
+-0x1.b29653a0b816dp53
+0x1.3cb0a7690e4f5p279
+-0x1.3bfba620e087ap429
+-0x1.82e784a2946a4p187
+-0x1.f2a2a27a31febp659
+-0x1.1f6e730cbc7f3p330
+0x1.232570e622955p1006
+0x1.815d92a977bc4p742
+-0x1.afefb62db66b2p361
+-0x1.393f51c4b001fp-21
+0x1.2e0a56d573c24p551
+-0x1.85c9e0d20fc03p13
+-0x1.ddf8e355bc110p27
+-0x1.c421925083f29p63
+-0x1.477b658be3782p332
+-0x1.dfa7e1f25247bp101
+-0x1.0ef1e0f8a34ebp836
+-0x1.9736b5b40d3a6p328
+-0x1.fc2130e5cb2ddp72
+0x1.cb19b23ae4117p87
+0x1.5e908222450d6p683
+0x1.83d3300fda787p465
+-0x1.1f75315eae92cp312
+-0x1.4f87c66f9c24bp218
+-0x1.20a0c7bb5ab06p713
+-0x1.4379a08c0b472p507
+-0x1.37c013509290bp25
+0x1.30733493bc82ap796
+0x1.451a0144b107fp12
+0x1.d3b5609052753p696
+-0x1.baded35e9b11fp215
+-0x1.9010f587e1588p838
+0x1.0e02515adc0f5p656
+-0x1.786204df84f7ap400
+0x1.cd5976e18d08ap562
+0x1.a3b8b07edd8a5p695
+0x1.272c360b4a09cp240
+0x1.c76272882f071p807
+-0x1.05a6b23f98b31p854
+-0x1.309684da428b4p519
+-0x1.b0b45682b1411p156
+0x1.16d122510e170p482
+0x1.d219a347bf3b0p121
+0x1.76ddc05352dfep610
+0x1.2f8b83aa236f5p634
+-0x1.bff5136871c7cp321
+-0x1.449411e1a1534p786
+-0x1.6b9964e711a38p523
+0x1.610080e646a92p572
+-0x1.5a2035384b325p183
+0x1.2f15b33162e14p520
+0x1.5edd45422f82ep694
+0x1.adc571bdc2896p1021
+0x1.11ede09781861p818
+-0x1.384970657fe1cp731
+-0x1.b93df7e5ba775p747
+-0x1.80e8650f78da7p617
+-0x1.ceac833c51ddfp745
+0x1.6531a38ced12cp46
+0x1.91fb517112447p535
+0x1.52a4566db4283p745
+0x1.dc0275f484b73p935
+-0x1.a14ae7206183fp724
+-0x1.b3dcb3a37ca8cp-6
+-0x1.e79600282da96p149
+0x1.b8758421e1862p507
+-0x1.2547846b083e9p-6
+-0x1.84e3629cbab35p361
+-0x1.c716339c7bd00p830
+0x1.d39d1592b1957p616
+-0x1.c416c32a4efa9p963
+-0x1.c966d274ac272p421
+-0x1.39623033efda7p13
+-0x1.47b562fb33e7ap61
+-0x1.908e8784678e6p615
+0x1.90b9900e518b3p163
+0x1.836e560de08e8p164
+0x1.772670b0b8d27p226
+0x1.7fd2e348de960p918
+-0x1.3cd1201cba22fp198
+-0x1.a7dbd2320565cp159
+0x1.ca98f6aef3966p325
+-0x1.d0c1a2329035bp2
+-0x1.c0d31445503d7p530
+0x1.c4b027bbc1746p567
+0x1.32341565ed07ep159
+-0x1.8c7b4695abfe2p513
+-0x1.4578608c13f56p-22
+0x1.5bab8379ff00cp49
+0x1.306e7570eda77p869
+0x1.732110fa64bafp393
+-0x1.1146f698db29bp160
+0x1.6885a0cfa919ap211
+0x1.714b252420ac9p858
+-0x1.486b66411fe7ap398
+0x1.18421057ffa6ep237
+-0x1.e731c4f710eddp197
+0x1.7cff352552c84p37
+-0x1.6abf14aa70dacp746
+-0x1.f29b55bb8fe31p416
+0x1.a77473515adf8p195
+-0x1.4922814b5a637p498
+-0x1.9ce303b95ccc7p511
+-0x1.fc646726a5f20p951
+-0x1.21eac2c21fe54p113
+-0x1.e4e213df08c2ap265
+-0x1.887dd5a85818ep912
+-0x1.bbb2171b888c8p103
+0x1.8b34a46c873c2p501
+0x1.70e367db79ea0p241
+0x1.7ce0039ed7da4p808
+-0x1.c7fc26380f6c6p101
+0x1.18c360c75aad0p234
+0x1.fee2f67629486p962
+0x1.a4d7a588fe8bbp-3
+0x1.570291341d887p437
+-0x1.a10e9531b0df8p337
+-0x1.ca6825fbb4bf7p602
+-0x1.c8d000ca12af8p113
+0x1.b74a232faf0c9p-10
+0x1.1dfd417243258p88
+0x1.c755e373bd292p806
+-0x1.3124b71499691p1020
+0x1.a84680e1992ccp483
+0x1.c5b2c448b0259p534
+0x1.c54e340119590p56
+0x1.42d4e3fc4a7dbp943
+-0x1.6f81959716f0ep600
+0x1.38fac2222482ap313
+0x1.aa4840527639dp-25
+0x1.9ad706bfe85f3p1020
+0x1.2f2da18ecac33p825
+0x1.6ee875bc8e577p747
+0x1.da3412d07c978p387
+0x1.cd8e14f3d97dep105
+0x1.cd6cc00d3cff1p360
+-0x1.f7bd4156bade4p679
+0x1.9d89611d9047ep925
+-0x1.2b41b1691def0p18
+-0x1.806210fa000dfp258
+-0x1.2f49e07812d94p116
+0x1.339605b7fab92p1020
+-0x1.0c09f7db12243p891
+-0x1.81a2a42a061d3p903
+0x1.a791057d419b5p888
+0x1.581315b6920c6p-21
+-0x1.c5f64504ae5f4p791
+0x1.8982e6ced130fp227
+-0x1.d0db364678c1fp12
+0x1.43aa32552d958p657
+0x1.899c234387f3ap633
+-0x1.41470481079e0p614
+-0x1.2aa723c52c3c4p920
+-0x1.bcede1fa49331p512
+-0x1.f37ac77972cdap-18
+-0x1.e22c64e877035p779
+0x1.754480a7b3bf9p898
+0x1.6ae1a66d4b83dp6
+-0x1.90c107ffacd38p913
+0x1.b9381618da422p371
+0x1.a981920976fa2p680
+0x1.3a6ec4b57bc2ap15
+-0x1.28dcc1f6d20bdp108
+0x1.4326147c15728p335
+-0x1.2259a0e73e4f4p122
+-0x1.11cc764de91bbp18
+0x1.f481816abfcb9p72
+-0x1.c1d2d049ee85fp-23
+0x1.61e4d0a08bebdp12
+0x1.d86ed0f586a17p516
+0x1.b100560d69d98p432
+-0x1.50b8331476685p30
+0x1.9f32c7425b9f6p739
+-0x1.d89d2066c2887p0
+-0x1.61ee079dde498p465
+-0x1.3602968762b9ap32
+0x1.4c2c9725ac92ep-20
+-0x1.3a0d7321c02abp108
+-0x1.b1325468e8fdbp781
+-0x1.613d634860a5cp756
+0x1.41f616b0ffe33p752
+-0x1.61a3765afebf9p788
+-0x1.538be659aab9ap199
+0x1.da3661b9d7828p8
+-0x1.76e835de4916dp-21
+0x1.83db501e98db6p965
+0x1.184bd1b938793p927
+-0x1.6352b0ec9b3bbp851
+-0x1.e00891c81db9fp966
+0x1.6d2bc0bc2c25fp29
+0x1.16f205d5ea0efp341
+-0x1.222b02360aa21p423
+-0x1.c43fc00ad0827p175
+0x1.4a9da6ed14181p96
+0x1.742f7252b3888p-24
+0x1.e3a1434f237eap-6
+0x1.788f015a48ed8p487
+0x1.fdd0a707a7b24p120
+0x1.bab124b6990f7p10
+0x1.c8ffe2cf83b94p755
+0x1.2372c778a1441p348
+0x1.612b072d760cbp958
+0x1.609f218942867p274
+0x1.0483c3df44e59p24
+-0x1.6f1a40a16d5e7p406
+-0x1.784bf15a26f31p173
+-0x1.7fd4e7bec6056p611
+-0x1.c478c30401e95p33
+0x1.0bbaf1e77d127p947
+-0x1.0e6da7540b809p122
+-0x1.47a8d09dbc89ap895
+0x1.bc06021871563p927
+-0x1.f89bc1de14148p464
+0x1.98a2f4afe66b7p674
+0x1.5f0bb5633b7dbp833
+-0x1.8ce676f64c1f2p25
+-0x1.4c8a51a1b0cbap555
+-0x1.8210c69bcd3f0p26
+-0x1.0b4731be2b020p855
+0x1.73d857da7baa2p23
+0x1.01075749d6fc6p689
+-0x1.112e67981aa71p146
+0x1.b01dd2c3cacd8p793
+-0x1.cd5737ff4c257p433
+-0x1.3e519196e9292p729
+0x1.5b65b0284bd0dp839
+-0x1.1c4762b976c53p-10
+0x1.794245506f756p32
+-0x1.4e1c35958207bp707
+0x1.c3913360602d8p800
+0x1.83f2621884b92p26
+0x1.c069f020301dcp328
+0x1.b27b85f417892p184
+0x1.e004a34aff785p750
+0x1.29fc70b6808adp70
+0x1.2ec1a69b905fcp919
+0x1.df6a235533225p599
+0x1.438a2370d9eebp231
+-0x1.dddd767c99337p889
+0x1.0568d154a2870p18
+-0x1.3363041710f4ap216
+-0x1.64eb7482628abp653
+-0x1.3772b3ab575c6p0
+-0x1.1bdee549c535bp184
+0x1.d556148c8ea18p820
+0x1.6d31247f5cf60p84
+0x1.aec7658e1d55ep-7
+-0x1.df40a65c08fd9p16
+-0x1.359021a96067ep851
+-0x1.47ef93788827ep585
+-0x1.d9a6960c12269p688
+0x1.67a8b27b1b917p158
+-0x1.d6d2a6399e8d2p292
+0x1.431a4325d3651p320
+0x1.b274e747ec490p365
+0x1.d042571362911p3
+0x1.3ffff11ae8155p254
+-0x1.ea8cf38a078e5p25
+-0x1.da1f81d728183p288
+-0x1.d2f442f6baea0p3
+-0x1.1125e418910dbp22
+0x1.e28ee7f211bc6p608
+-0x1.c7b590b383ae1p490
+-0x1.ec07032c9fe8ap417
+-0x1.2f82b55eebd81p266
+-0x1.2d0c72c2a6eaap3
+0x1.7654c41150714p-8
+-0x1.cb7ba6fe71addp17
+-0x1.ea76b17ba5274p1
+-0x1.cee634f158cf0p478
+0x1.9389c0f24345cp-5
+0x1.ff0ab7bfdc77ep0
+-0x1.5a2a9634b735ep118
+0x1.a99a656f9766fp9
+0x1.25e6b6c33e77ap760
+0x1.5c07b3fdfc784p24
+0x1.659bd21884363p21
+0x1.a1e2d2a599b2cp-2
+-0x1.b669c6b9ff4eap954
+-0x1.227fe1b1d363dp375
+-0x1.9d8815914355cp23
+0x1.08f9c73e5d0b1p58
+0x1.06ebc1e205a69p11
+-0x1.c475c33c6e4d9p419
+0x1.26e2f03c3b568p952
+0x1.142e653198e2ap876
+0x1.a17610c798c44p385
+-0x1.5d25b7f4ed01ap784
+-0x1.553e05b0c2d7fp1
+0x1.ac28301a1a99dp-5
+0x1.1e2830cae9f10p585
+-0x1.89ecf76a7976bp784
+-0x1.36a6c7f575816p91
+-0x1.3290c1e3ab0fap439
+0x1.571f2024af517p407
+-0x1.9e9f16af2b7f2p-19
+0x1.547107a4abf1ap556
+0x1.8d9bb18e74c7fp327
+0x1.6bf844726431dp79
+0x1.6882c40a36829p521
+0x1.5e33a37495769p499
+0x1.aa1c25076a0c0p54
+0x1.af11a32c8711cp844
+0x1.842ef2865faebp19
+0x1.69ab61853a58ap25
+0x1.9955a12bf91eap155
+0x1.e8a7220cbb889p593
+0x1.c275a73192796p259
+0x1.f79d74bb2c42ep261
+-0x1.b80435f49efd4p25
+-0x1.a3f243a5aba38p960
+0x1.ab2a83515090ep837
+-0x1.b93c62ada1c23p12
+0x1.b042d7b712ce3p608
+0x1.e173865ea2fbfp711
+-0x1.c721e58a282efp25
+0x1.b7dd57c5e569fp171
+0x1.a148e142f39b9p699
+0x1.2a5fa6d540fa0p62
+0x1.34bb57427099cp574
+0x1.6f2dc0bc39621p500
+-0x1.0cc9448729503p734
+-0x1.c234d03687945p494
+0x1.7bccb6482f77ep4
+-0x1.8c5e908aa7fb5p831
+0x1.b1df92d2ec3b8p283
+0x1.e333354359049p989
+-0x1.e892b0f07a619p220
+-0x1.ec44220b9f17ep8
+0x1.f25a34ac7fbc6p7
+-0x1.7472b4254d705p367
+0x1.22e011afd6d0ep345
+0x1.065d20ae2ee95p117
+-0x1.6418273399593p831
+0x1.388612f03819dp40
+-0x1.dfc0d7643e76fp-6
+-0x1.7689e01d3ef5fp189
+0x1.f48a26de3d1a5p673
+-0x1.3a86439ca37c9p-23
+-0x1.de0cb3b3a1df8p355
+0x1.8fca33d3d5d24p550
+-0x1.5ee022e10d5ecp145
+0x1.d65386a7e7b24p408
+0x1.a75471ed7f723p3
+0x1.84a43795ffed7p-25
+0x1.270743fc743fdp404
+0x1.3fdc27ff3d6f6p16
+0x1.c2ca7781852bdp415
+0x1.783d81633686dp295
+0x1.0c62c5098c3c2p-4
+0x1.abe5e0d2c9c74p9
+0x1.8763249337c43p522
+-0x1.354a300bdf2b4p9
+0x1.77f8512b9b058p494
+0x1.85e423863bfb1p299
+-0x1.ff6a529c5f799p582
+-0x1.af91845aed73dp292
+0x1.bbe7d76864319p838
+-0x1.6b92a5b928341p42
+-0x1.bc96d3fe8ae11p453
+-0x1.4cf8e5fdb6606p14
+0x1.d7a286a93d573p552
+-0x1.1e168326fabfcp619
+0x1.2b78d4cf920a5p-11
+-0x1.8b6761d15a192p11
+0x1.7e41058d14f88p444
+0x1.4ed112f6fe397p276
+-0x1.4db517680987fp623
+-0x1.2224f5210184cp332
+0x1.bebb126a84646p845
+-0x1.3890a2fcd6ed1p771
+-0x1.ff3303971888bp-10
+-0x1.c088d7303166fp9
+0x1.3da6a7f5bc078p14
+0x1.151f505312964p29
+-0x1.3d0bb60c7b363p104
+-0x1.6b9a26936754ap496
+-0x1.9199b437eccc0p127
+-0x1.aa36d2b9371b7p445
+-0x1.0b8f350ea5f8cp-22
+-0x1.f1f4b4b0405cdp-11
+0x1.3105b5f0ba9bcp-15
+-0x1.aa88d154a4ddep551
+-0x1.0f68f1251f868p291
+-0x1.9f078781f160cp1012
+-0x1.9cabe23aae521p577
+-0x1.4dae06e7b4120p16
+-0x1.e43e623d48c49p-18
+-0x1.29ccb1801e4c7p77
+-0x1.6adca332f1fe7p-13
+0x1.4d98f1ff8002dp-9
+-0x1.b5a3575f4713fp470
+-0x1.6374a29768141p237
+0x1.af58667bcfbf2p127
+0x1.128ff1d95cbe2p22
+-0x1.1cd1c2bf75c3dp394
+-0x1.911146b47e563p965
+0x1.c9b034c25b038p1003
+-0x1.f45070caf3082p630
+0x1.dab7970bc1de9p1
+0x1.4aea409a375dfp287
+0x1.59d34792a5525p482
+-0x1.50cd458fc25dep253
+-0x1.759d44cd1fd81p269
+-0x1.04a6060096d96p-3
+-0x1.604b42f7ccab0p419
+0x1.c30db3408e834p20
+0x1.f7d0003cef355p465
+-0x1.d33647c71ddf6p713
+0x1.941117709cdfdp23
+-0x1.8aaa468ff284bp786
+-0x1.4c6536f0b6777p-16
+0x1.8c86677fee3afp133
+-0x1.0b1b35dbd7737p325
+0x1.de2f93f581a04p12
+-0x1.5a3ba4b477d56p15
+0x1.e83645234e293p24
+-0x1.3fca1310ff561p74
+-0x1.2aeb7470b2da6p635
+-0x1.3f3ad4cd76224p25
+0x1.09752219591d6p-12
+0x1.bc88b48080aa6p31
+-0x1.e98923b202a64p20
+0x1.bf0474f0f41e2p104
+0x1.a4e9d3f2451a8p3
+-0x1.3541735027a8bp560
+-0x1.f73dd55c810dfp23
+-0x1.505b10dc0eae6p912
+0x1.3649c1c465dd4p17
+-0x1.c777e501c8dfcp21
+-0x1.5701a0b3897a4p11
+-0x1.c320c380b445cp712
+-0x1.1b36c09e0a14ep663
+0x1.f60ea3f1a14cbp561
+0x1.c6a3005c06a44p-18
+0x1.af722598ce867p659
+0x1.d636c36a5d8afp187
+-0x1.16a3c0a4e81aap-7
+-0x1.8f3db57790c2ap-19
+0x1.703ca04fb8f62p-17
+0x1.f73de47c2fb9ep35
+0x1.973a34ff90b9dp-18
+-0x1.d08281fbb5c2cp838
+-0x1.be0f904e8c33fp342
+-0x1.e01d440fbebdap-18
+-0x1.df0f220b1c2acp-15
+-0x1.bcc990cf09edap-25
+0x1.8a350004b6021p21
+0x1.0746671992572p12
+0x1.bca1f2ae769dap-25
+0x1.1c0ee394715fap13
+0x1.bc9a351ecab48p356
+-0x1.3e4cb5ef07939p17
+-0x1.f2b664e58004dp1
+-0x1.f42ee6d0e89ddp19
+0x1.5f0a34dcee39dp20
+-0x1.1debc4db7ecf6p20
+0x1.0fc713f5c5de6p-3
+-0x1.5d4db109cd5c4p5
+0x1.73e807d8297f3p-17
+-0x1.676ce231eda86p861
+0x1.ebfa67a80676ep-10
+-0x1.b9f6a30ee6469p-21
+-0x1.c73277e6727fdp601
+0x1.74de03b6dea40p159
+-0x1.2259c59f68e46p-16
+-0x1.cd68d2e6479f4p-23
+-0x1.47b7f6102f2c2p10
+0x1.cf24a2347776cp-27
+-0x1.b725b137fdd1dp-3
+-0x1.009047102718cp993
+0x1.0771b34af6f2fp-8
+0x1.049d06f739b38p699
+-0x1.e8c0710c55d89p-17
+0x1.23b5322648c9dp-12
+0x1.cf0fe10d20725p2
+0x1.50052516748d2p0
+-0x1.afddd01d4ff78p2
+-0x1.3e0df401f7903p381
+-0x1.c9fc3321d1d88p8
+-0x1.8b10a044fbcabp-16
+-0x1.89260258d6e7bp14
+0x1.db24554246421p-25
+-0x1.420505cd0119bp521
+-0x1.917894697053fp264
+0x1.4e4bc6a5bd810p-22
+0x1.613766f0b8925p-21
+0x1.96bde6095382ap-1
+0x1.0028d14831ce2p18
+-0x1.c2174546c88c0p1017
+0x1.83ec835c217c5p-10
+0x1.fe32319f71affp913
+0x1.3fa26558eafebp-9
+-0x1.170bc0306f9d3p14
+-0x1.2da6158b9104bp-6
+0x1.da4016ececc3cp23
+0x1.4aeb75f4274a8p74
+0x1.0feda4108c230p-11
+-0x1.9e9580350379ap975
+0x1.8c72429a6c6b8p803
+-0x1.753eb56c15fc4p205
+-0x1.a8d226aa188ddp10
+0x1.552f237c39a5cp24
+-0x1.5101e740c55d2p-2
+0x1.f83282678cd2bp87
+0x1.380e51076f80ep17
+-0x1.4e58c2d312887p1011
+-0x1.709a10ec34872p-8
+0x1.c115c4b52dd81p-11
+0x1.dbf4f68b24b22p175
+0x1.fdcfc21030c47p13
+0x1.e3c234340a70cp870
+-0x1.7ef4c3f9f118ep-17
+0x1.4d8ec7ddbe0a5p-5
+-0x1.ca4ae67422cf1p46
+-0x1.1e79333cf2819p-16
+0x1.088641b858387p14
+-0x1.93191290365a6p163
+0x1.f321d1dd96f4fp756
+0x1.e771b71cceff9p8
+-0x1.ae56c771a7cffp18
+0x1.4ba1448b1d144p408
+0x1.8439648ab93dep17
+0x1.65f514736d787p943
+0x1.fb6472b3bce83p334
+-0x1.73e6857d4cf54p879
+-0x1.0cb95433e6b2fp-1
+-0x1.27ae632085c5ap2
+0x1.f68fe052bec12p753
+0x1.a8cc8446b7afcp17
+-0x1.9e2494726de25p25
+0x1.d825d64df0641p10
+-0x1.ba99b6fb023c9p141
+-0x1.53a8b1ea85f56p11
+0x1.bfa5e68028b9cp930
+0x1.feccf31f1a983p-5
+-0x1.88d3a0062385ap-16
+0x1.50f3313a7d76cp24
+0x1.3ba8870e96502p727
+0x1.fffc900187a9bp761
+-0x1.683c12d0f5288p-5
+0x1.89f8430bf5854p895
+-0x1.dd1c76087e343p-11
+-0x1.2be8706763f1ep-9
+0x1.359462ac17cd2p15
+-0x1.a972c2fa07af1p1
+-0x1.fce055f5fd92fp397
+0x1.93d615d9775fdp7
+-0x1.a734a251665eap-21
+-0x1.96aec33f91274p3
+-0x1.d088b0ef518b3p24
+-0x1.e36ff2227faa0p664
+-0x1.968c9528f761cp-18
+-0x1.55feb6226d9c6p-12
+-0x1.c5fbf2dc0f1d5p374
+-0x1.30df34bf0f038p-5
+0x1.75ff2344da2ebp638
+-0x1.6c95073fd64f5p-3
+-0x1.80ecb21eaf859p23
+0x1.a395a3209e01ep24
+-0x1.08fa41560be83p-17
+0x1.f5129125f47e1p-24
+0x1.ea61c1b68dbaep-25
+0x1.f9980204cad5bp13
+0x1.ca5571cae9585p300
+0x1.1457460444b6fp308
+0x1.f75fc7df35e9bp463
+-0x1.259877b2c7433p808
+0x1.4c4fd2558a03dp-2
+-0x1.77e600a0f8d1ap10
+0x1.ce0a20f8622dbp782
+-0x1.163735c430e54p21
+-0x1.077f533341f7ap-25
+-0x1.5bbea1334dce3p22
+0x1.17edb056a1e69p582
+-0x1.ab2f3216588abp-8
+0x1.ad5473156bcecp608
+0x1.495167c77e0b7p1002
+0x1.ce1fb4d50c2d2p-2
+0x1.0b6367a2e5b51p-13
+0x1.4bebf24710022p18
+0x1.cf035256dea51p-15
+-0x1.b2d165e3c4438p329
+-0x1.415066810a6ebp5
+0x1.231e43a52fc6cp759
+-0x1.3ad3866e7e5a8p-23
+-0x1.f5ac52c3f7320p364
+-0x1.3d01b455ea097p-23
+0x1.a57f56aa1cc32p9
+0x1.043250b5cbb79p892
+0x1.49de321920550p721
+0x1.c870766bd9d53p80
+-0x1.c4fd755e743ffp21
+-0x1.b37d062015770p-2
+0x1.5022353402118p0
+-0x1.c896463f5386cp-7
+0x1.6f2f169391729p-17
+0x1.bd8476b405432p250
+0x1.322de42f4c84ap22
+0x1.c3a2c33bf9e6ap43
+0x1.9793e2027ca1bp19
+-0x1.cced16209f116p-5
+-0x1.535c83351d7dap13
+0x1.5ab2e7182498ep1
+0x1.c2aa0412973d9p19
+0x1.6d5087c15f8b6p8
+-0x1.cd9e619dfc1f9p272
+-0x1.a291f0cf8c7f3p491
+-0x1.7726454f22bc9p16
+0x1.01d737edff679p-18
+-0x1.2eee17c89d93ep18
+0x1.d690a2fbc75ddp17
+0x1.e477309fee5e9p-5
+0x1.265176315b6b7p548
+0x1.d036d3c6d89f6p4
+-0x1.70e42649dec93p26
+0x1.685656f96535ap21
+-0x1.1cfd02fa51fdep-2
+0x1.75d1455fcfa44p590
+-0x1.718613f6ca999p645
+-0x1.b254238b7bab4p472
+0x1.7afe534d5251bp-9
+-0x1.b3cdb07891d41p-2
+-0x1.f956817bbdd80p704
+0x1.e04a74104462dp14
+-0x1.d953d153059f4p43
+0x1.9a4fa2868350dp878
+0x1.7efdd4f9e156dp671
+0x1.940ad2c424e0dp69
+-0x1.4d5ad6e0fa515p-12
+-0x1.975f1701f1516p10
+0x1.686ff10e39dcbp-18
+-0x1.47c80041fd8f7p-6
+0x1.0bbcf0786c446p-1
+-0x1.7dc7163623c62p-16
+0x1.c773a0bde09abp14
+-0x1.59776427dd29ep22
+-0x1.c428306233d02p1
+-0x1.2b34449d61818p18
+0x1.946545746e430p568
+0x1.fc5d70b15d6a1p-12
+-0x1.33c530a2e703ap198
+0x1.4586c7aaed300p23
+0x1.4047f3cea71fcp21
+0x1.d95a0359eb81ep13
+-0x1.2027133fa9651p-15
+0x1.4c9c737d289bbp993
+0x1.29ed82663c830p19
+0x1.2a2431406668dp964
+0x1.140c003d7b003p692
+-0x1.ca47d1c5105abp778
+-0x1.1e42d4bc3a5bbp621
+-0x1.c487c6add8db4p104
+0x1.5240c7e94fca2p346
+0x1.8a21e49e99f87p739
+-0x1.ec7a3732512efp665
+-0x1.e7e0c60c72a8dp666
+-0x1.4b2df12f55803p16
+-0x1.1a11950ff7262p253
+0x1.913010e21977cp22
+-0x1.557b91af754ddp548
+-0x1.1a5a85b93333cp0
+-0x1.152436888890cp10
+0x1.6242f32a2b3a9p24
+-0x1.33e4b774b0406p79
+0x1.4d20507145703p18
+0x1.805ee638666c7p1001
+0x1.2088f31deb3dep26
+-0x1.2136d4a8edf58p369
+-0x1.a5c002d03e071p350
+0x1.8e25144772023p619
+-0x1.49c336247aab8p20
+0x1.209f141d6a3f0p905
+-0x1.7df363dd844bbp301
+-0x1.d8c5a2fad0ddcp843
+0x1.955904e859e69p-2
+0x1.b78170f9c0f21p396
+-0x1.1856132fbf136p-1
+0x1.daadd2d9a8fb5p366
+-0x1.904c42e144851p840
+-0x1.1086823c84588p579
+-0x1.eee3b28d8e277p18
+-0x1.601eb2587f407p532
+-0x1.e77f45947cdeap646
+0x1.ac9d1257a463dp8
+-0x1.6022b4ad26dfbp0
+0x1.35d246dce052dp257
+-0x1.d87a368873c5ap11
+0x1.b79c7081c299ep249
+-0x1.e9b573eed4beep380
+0x1.87fb012c6dbe8p22
+0x1.9ff675e52fd5ap10
+-0x1.e768e1c4dc0c4p336
+0x1.eadd71dae6ae0p12
+0x1.8097a2036b3f4p926
+0x1.88fb542f66420p9
+0x1.6548027f7a3a1p23
+-0x1.9830129387949p17
+0x1.c3d7c15bf28c5p4
+-0x1.53daf69f10b1dp0
+-0x1.b90f21ac330e5p21
+-0x1.9b0a377b76cdep21
+-0x1.d0a0a05604f38p-1
+0x1.e3e8b72617fc0p17
+0x1.ed2f26a4f9de4p19
+0x1.af91858c30b58p20
+0x1.4abc00b2bfabfp24
+0x1.dc67b22b6d111p5
+-0x1.c247046a455a1p9
+-0x1.fb41c728f7cbcp14
+-0x1.891962b6634f3p7
+-0x1.7cbac2b76a18ep13
+-0x1.fb101566432dcp25
+0x1.90448733f0f47p23
+-0x1.8884367e47700p13
+-0x1.37d7a4bfa5918p15
+0x1.778a11c7fccd0p22
+-0x1.33526112284dbp22
+0x1.acb6870fb9e6ap21
+-0x1.5a7ec1b268139p0
+-0x1.0ea0c6bcbb4cdp17
+0x1.0eeb153b1d5cep-2
+0x1.2915060d6792dp19
+-0x1.f1c193bf9731cp7
+-0x1.a37b92d1c834bp17
+0x1.ea6c164f563d3p5
+-0x1.c1a342aeeff9cp18
+0x1.341f80345a109p18
+-0x1.b96f42fb8bf4ep21
+0x1.ed99773e5e0b2p-3
+-0x1.1b9c620a22bdcp20
+-0x1.93a342bce9d83p25
+-0x1.5647879df4c39p5
+0x1.1b5a74379d8bcp22
+-0x1.f65e80bbc64e4p1
+-0x1.f514118cd579cp14
+-0x1.d72c805888cd1p20
+0x1.891fc407363cbp0
+-0x1.f5f910e2a922ap21
+0x1.13ab76a6396c5p6
+-0x1.779c34504754cp7
+-0x1.0f44243ca88f6p4
+-0x1.94d8e73e1e8d3p14
+-0x1.86ae04f21b804p22
+-0x1.dbaf1624ab130p11
+-0x1.e2b2534178f87p5
+-0x1.cd1f04e46ab89p4
+-0x1.534e73dbf82d9p6
+0x1.d77307aacf285p16
+-0x1.d02d057014609p22
+0x1.63c7f14ec1826p18
+-0x1.4700d06054318p23
+-0x1.8c9e77f2c5169p20
+-0x1.4440d5499645bp13
+0x1.f830d1530dc5cp6
+-0x1.3158f1b64b60dp16
+-0x1.fa3cd6daa1a84p14
+-0x1.6f453297966cfp2
+-0x1.b50c62db9fa33p24
+-0x1.1f01b348e43cfp3
+0x1.f96f42e962369p15
+-0x1.d42235ed34040p11
+0x1.6a97b4ebe527ap25
+-0x1.069365a978478p19
+-0x1.301312077210ep5
+-0x1.079ed7eb88a2cp20
+0x1.e181d27a14ee9p22
+-0x1.1a6ef1e1b02b6p1
+0x1.605322092fdb1p16
+0x1.28cc961d4d565p1
+-0x1.0d1b956eefd65p21
+0x1.136a46db7583dp12
+-0x1.463a51e655419p3
+0x1.06b280c58f749p4
+-0x1.81a8422a0e891p10
+-0x1.36d660b754afep2
+-0x1.869b518b7abf6p23
+-0x1.ca5da55d82232p6
+0x1.c7b553dac1cd9p7
+-0x1.5c85b71c923d3p9
+0x1.cd38e05f93bd8p23
+-0x1.72322760da308p6
+0x1.2696c6205df80p-2
+-0x1.c31466f5abe12p5
+0x1.53ca818613b56p15
+-0x1.6d0e32af8c7fap25
+-0x1.82c493bc254bfp7
+0x1.29b5476d3c003p-3
+0x1.545ad52476bedp2
+0x1.210de622c50fcp13
+-0x1.4ce9501256fecp7
+0x1.bec8f2a75761fp-4
+-0x1.ef455712f7403p24
+-0x1.05ac51c61d35dp10
+-0x1.179912e48e4d8p2
+0x1.8309468cee051p-1
+0x1.4ba7338d7adb9p-4
+-0x1.86fb84d7687fbp13
+-0x1.b440d2dfa7cfdp-3
+-0x1.f21935fed929cp24
+0x1.248647fb68621p9
+-0x1.49cbf71886ed9p-4
+-0x1.46b18502c494cp6
+0x1.d60453a7627dcp9
+0x1.90d72030622a0p-3
+-0x1.99dc012169112p20
+0x1.5b1582ba1840ep26
+-0x1.a2d0e6722064cp10
+0x1.51d930a0faa1cp-1
+-0x1.e2f5b411dfbe0p11
+-0x1.8978d711c2457p-3
+0x1.9f390111d8e17p-4
+-0x1.64e526c906dd9p15
+0x1.3442b50cfed58p17
+0x1.696de2ba96decp3
+-0x1.1797a538e22cfp14
+0x1.6b9a91b6bc0b6p15
+-0x1.230dd7b9de0efp25
+-0x1.c570875d25b1cp17
+-0x1.4e93f3cd23d0ep7
+0x1.836bf1949fdd9p-1
+0x1.d55994d3bc6a5p22
+0x1.34976081e3c93p0
+0x1.325232301be88p-2
+-0x1.724d85212c2bep21
+0x1.f6ea543e490d8p16
+0x1.9816822b9c9eap5
+-0x1.2c5942e617f9fp25
+0x1.9916d5a987c95p4
+-0x1.9e10b7e75a799p17
+0x1.cd41449ad1c08p14
+0x1.bfbd219130397p10
+-0x1.d299552d58110p20
+-0x1.10990673db383p24
+0x1.6860579da3e41p4
+0x1.57c17718caa8fp16
+-0x1.d480c713e380cp2
+-0x1.5ef770cc4fd6fp-2
+0x1.63fe54f142182p-3
+-0x1.e57fe1748c166p25
+0x1.38e472a1b69aep-1
+-0x1.d7eb84d9725a8p19
+0x1.979751083fa46p0
+0x1.af7d8295ca361p0
+0x1.93d6033938ce4p16
+0x1.60d5f07b31fe1p23
+0x1.d345416a2b360p14
+-0x1.1451d5a8abe28p26
+-0x1.da4ba1007d69fp7
+-0x1.5c7583f8bbbb3p22
+0x1.8c85070cab228p20
+0x1.bc26967cda999p17
+0x1.bcfc7238281b7p14
+-0x1.f936f6a071917p0
+0x1.c00e11c935746p0
+0x1.759dc14fe7eb9p10
+0x1.26c7d5b4b926ep5
+0x1.c6512134c5122p-3
+-0x1.9ebe3455ed58fp9
+-0x1.be4832965373ep17
+0x1.7f68b772cfc9ep18
+0x1.baca2181e77dep17
+-0x1.c2f755dd7a244p19
+0x1.c4de32af2dd91p18
+0x1.589f6697070fap22
+-0x1.4a37b4210f303p8
+-0x1.4ecfe0a126fb0p5
+0x1.89dcb692c40e7p10
+0x1.7d6342e0df42fp21
+-0x1.0aec35f5f853bp-3
+-0x1.7f68335d52ca5p10
+-0x1.84f6e31758356p5
+0x1.3a5a166d0b827p16
+-0x1.eba706d2de457p8
+0x1.489f72add92f9p5
+-0x1.da6b250d6a545p23
+-0x1.e50b35770abc5p-4
+0x1.4b1b40263e386p6
+-0x1.e6864361f583bp6
+-0x1.bf8ca4dc53bfcp23
+0x1.5de1b4a13724fp5
+-0x1.3ccf14da239a8p16
+-0x1.2c352220b6d92p19
+-0x1.7a1a04680b72bp9
+-0x1.63e577fdaa152p15
+0x1.8dd7323abf3d4p-2
+-0x1.7896d1e003d8cp5
+-0x1.b4a72034750d1p19
+-0x1.c9752551240f4p0
+0x1.88c816d89c028p7
+-0x1.e765347c03b1bp1
+-0x1.f5a3e6d431f22p10
+-0x1.bcbd4269b3468p-3
+0x1.27d5c33a2b9cdp24
+0x1.c24173c80f8fap-3
+0x1.e5d8c7f661bdfp12
+0x1.f248554706676p23
+0x1.6b9b012dc2faap25
+-0x1.c53702c39d6b5p10
+-0x1.ba8441a0e4b94p13
+0x1.6276f46c87421p23
+-0x1.cab117d6a7540p2
+-0x1.696a408d00cd8p22
+0x1.a85c0033d55eap20
+-0x1.f1d5338e62f8fp17
+-0x1.cab73716e3a08p6
+0x1.7ff7625f9ca6dp23
+0x1.fee2e4e051542p25
+-0x1.898ec4cbce2fap13
+0x1.054c5714bee5bp1
+-0x1.e769a1325c9b3p18
+-0x1.00ef90bb0ea31p13
+0x1.d99cf6f223a12p7
+-0x1.4802b635a9faep6
+0x1.5c49e6bca57d7p9
+0x1.9cfa3500116d8p3
+0x1.20a380697021fp22
+-0x1.cc9ee1c701912p-2
+-0x1.159814f41ffddp12
+0x1.bcdae38e2096bp19
+-0x1.a4c564a58485ep0
+-0x1.b3ccf11be8cb0p3
+-0x1.2e036784747fdp-4
+0x1.3178b79bf23d6p15
+0x1.762022e7db160p3
+-0x1.19abb2ad29c47p0
+0x1.702aa52a2b081p2
+-0x1.3b2f85e3448eap15
+0x1.fba527184dd2dp0
+-0x1.0e13b3dc07053p5
+-0x1.6e3d0266ae8b8p5
+0x1.5a2d64a6aa882p14
+-0x1.409c93e21717ap0
+-0x1.90c8d5e8d4dbbp-1
+-0x1.c6f751e442d8dp14
+0x1.ba19007f25633p1
+-0x1.30f675c6b9d89p10
+0x1.f5966161ca0f3p19
+0x1.8f2fb44baebe3p-1
+0x1.974bc69c68cabp24
+0x1.c56de726c32d3p0
+-0x1.10dc876280044p10
+-0x1.0aae85d11cbc7p3
+0x1.fc6cb52005104p15
+0x1.05e5130ff091ap25
+0x1.e1ba941321d52p1
+0x1.66c5a13cdadc8p5
+-0x1.55c8322221dc9p14
+-0x1.92bdc5556bd73p14
+0x1.096e742861630p1
+0x1.2a16e7c69bc3bp4
+0x1.da44529305931p16
+-0x1.c2d2d332c16bfp24
+0x1.20c675f6fe727p5
+-0x1.d38d6225474d3p23
+-0x1.481de5e77c136p2
+0x1.d279c02f61ae3p2
+-0x1.e7d9573de4581p11
+0x1.35fe74c080235p-1
+-0x1.ac005162cad81p12
+-0x1.13b0a70cb376fp22
+-0x1.ebb45106c5803p24
+-0x1.1dc057ac89a8ap3
+-0x1.b8c0d151742e0p16
+0x1.970375264e6a1p10
+0x1.7e866527c9d49p12
+0x1.c2ddf22b1bccbp1
+-0x1.ab4174efa2f0ap15
+-0x1.e253067271c08p2
+0x1.0d4fb486d614ep1
+-0x1.abd6e292f5548p17
+0x1.eda5e7728b075p14
+0x1.1454a6c45a426p23
+-0x1.25e591a6a9a8cp0
+-0x1.7cfbf5669ec46p12
+-0x1.4679e1cbdf113p8
+-0x1.ce9af0afc0c65p4
+0x1.62f4634b7620ep4
+0x1.62a9b3c2b9823p23
+-0x1.1769864efbd8dp3
+0x1.f34715ef52c0fp-4
+-0x1.8b62623c188c7p8
+0x1.7975e1f8c7996p-4
+-0x1.3bb2403639e82p0
+0x1.b19f02fc16c82p17
+0x1.570b03b60ea6ap25
+0x1.7b12645745ec7p25
+0x1.c49c016ba07efp-3
+-0x1.9654e0923906cp1
+0x1.df287182db6fap-1
+0x1.8082a573c5c90p9
+0x1.067783759fc7ap1
+-0x1.0193d3485481bp19
+-0x1.f21fe48c86139p25
+0x1.3b79f760c1f6bp6
+-0x1.dfea72f0a3541p24
+-0x1.6c0bc68338735p4
+-0x1.585dc43d90bdcp-4
+0x1.0b4a74ddaeffbp7
+-0x1.96334231685ddp-1
+0x1.f6f5538f88159p3
+0x1.9b4c653dc6242p-4
+0x1.8be735e377e26p-1
+0x1.e11465e6856f1p0
+-0x1.7198d0b28bc64p-1
+0x1.dcbed3c85165ap9
+-0x1.75cf96486fb5fp8
+0x1.bc5d4762ed95ap18
+-0x1.b4ab765a2ce10p2
+0x1.eb8d56eda92c4p6
+0x1.513d51d6c544ep21
+-0x1.724cb58ad93ecp-2
+-0x1.ae2f075a1c1e9p-4
+0x1.3b27a36ab9d59p18
+-0x1.3d35f4b149caap20
+0x1.5d2301f5b984dp10
+-0x1.b4f9911c7cbd5p5
+-0x1.3c85c4e8893f2p0
+0x1.ff16d24d0bd20p-1
+-0x1.587e438ccd381p17
+0x1.ef7cf5c296d36p22
+0x1.e83847d5313bep18
+0x1.7e01f150d09a5p4
+0x1.d1c293dd145c8p3
+-0x1.585e926cd5b1bp-2
+-0x1.fb42f3ec59b27p3
+-0x1.59b854f3c58b0p13
+-0x1.f841b3d82549ap6
+0x1.4aaa17e78776ap13
+0x1.be3491ea08398p19
+-0x1.8157656f77f49p10
+-0x1.ef5b133a05238p9
+-0x1.a84b3275b47aep-2
+0x1.d2d40379eed33p-2
+-0x1.b38e5132a2518p1
+0x1.0b583593881eap1
+0x1.de0c21d2e13f6p2
+0x1.e57f91ef79d08p21
+-0x1.35787426e7659p0
+-0x1.2fc096d91558cp10
+0x1.ca92d112801e6p-1
+0x1.c130f673f9d00p3
+0x1.ab43360e99861p7
+-0x1.dfc494915cb98p16
+-0x1.662a1708721aep23
+-0x1.632a633f7b779p10
+0x1.900746f103c7bp18
+-0x1.1725a276c7758p13
+-0x1.01e616e258a20p10
+0x1.161df51eb42d5p16
+-0x1.9116109f57baep-4
+0x1.0924248619f04p-3
+-0x1.528a30859b8aap1
+0x1.3214b1efe1264p11
+-0x1.279bd7646bb1fp14
+0x1.9cac25e81f355p5
+-0x1.c1b4e4b65f4c8p15
+0x1.b9446219929c9p24
+0x1.85dbc095a8b7ap15
+-0x1.71a3c59471916p19
+0x1.390f94db871c9p3
+-0x1.667266143481ep-1
+-0x1.3f41661ad1011p-3
+0x1.39e7b0627a056p4
+0x1.4be6257d4db36p1
+-0x1.42b4f39ad58a8p21
+-0x1.0ddfc3c773e9cp0
+0x1.3e0b505a62bfep23
+0x1.17ae947b55a16p3
+-0x1.450e033bf3474p3
+0x1.fc5a706652876p3
+-0x1.ec85a78011932p-2
+-0x1.1a2587c2acc7ap19
+-0x1.0413c7bd307d9p-3
+-0x1.c14f93438c9c7p24
+0x1.c23452cc49201p0
+-0x1.822bd11a73bb1p-4
+-0x1.50a39655d03a3p19
+0x1.93da259e63c6bp19
+0x1.2b38c33777246p0
+0x1.16ab521fc8f08p-2
+-0x1.bd2e1426c0b97p9
+-0x1.3f66f1cab29c2p24
+-0x1.89542080e7b23p2
+-0x1.a57e9572fab9ap-4
+-0x1.ea38e30d4f2e9p-1
+-0x1.6980315b826ffp21
+-0x1.5f0ed5102c7e4p23
+-0x1.bcee5575ad4e3p25
+-0x1.f9a690462f13fp-4
+0x1.b19d857513a36p20
+-0x1.b14a15fcc1146p8
+0x1.949ce3f3aeaedp13
+0x1.d8b3403249e60p16
+0x1.b42cd3bb4ca54p-2
+0x1.805807a27361bp7
+0x1.fa5ab42962ce2p24
+-0x1.390543514c4d6p7
+-0x1.a786543bad777p8
+0x1.d38f169be1c02p18
+0x1.a22dd22ff3ad6p3
+0x1.5dafb7808dbe5p-4
+0x1.c9dde4e221c90p-2
+0x1.ad9804a975e98p7
+-0x1.6b6343d804919p-4
+0x1.40efa3258a7e0p-2
+0x1.4994104561818p15
+-0x1.202c76ef257b1p10
+0x1.9dabc7786d2c8p3
+-0x1.1bcf75d5e6e6ap4
+-0x1.8802471c77a93p1
+-0x1.8edc21142d145p2
+0x1.21c2c22bbc29cp10
+-0x1.6a6c82b8898ddp4
+0x1.a3adf1a7b1a13p3
+0x1.49d3d7c9f2254p13
+0x1.b79d130f9431dp-1
+0x1.0d1b7459c7e69p1
+0x1.ab10c361ca6dep6
+-0x1.fc0e761dad4fbp3
+0x1.c45ad1e916b60p-4
+0x1.077d3554fe489p0
+0x1.dc36d78d24b31p3
+0x1.60ae735b6f4b7p0
+0x1.ee39527f71eb4p15
+-0x1.6e7213bcc9467p0
+0x1.431002c64536ep16
+0x1.e5be6089f8d20p1
+0x1.5e46b0f01f53dp23
+0x1.69fff66d50910p0
+-0x1.a0e9131bb56dbp18
+0x1.674805aee7412p-1
+-0x1.dabff64ead53ap0
+0x1.d4a2274cff182p-1
+0x1.fb3a27edc048bp1
+0x1.a82744aaa00eap-4
+0x1.302d4443c6c04p0
+-0x1.2dc450ab7367fp-2
+0x1.3cada637e6251p23
+-0x1.1ba7f471bf8cep18
+-0x1.a9a1b0bc1f9f7p1
+-0x1.21a6435313043p-4
+-0x1.72f020a7330b1p20
+-0x1.9d4906d826708p-1
+-0x1.b78fc5f05bc95p3
+-0x1.156706eda9f85p4
+-0x1.59c5832441b87p11
+-0x1.de49e509aa110p9
+0x1.e395a4ef1ad69p-2
+-0x1.085cd295378c4p5
+0x1.3a3167bb15567p19
+0x1.f1c1f7a981956p17
+-0x1.d57eb0ccc1192p24
+0x1.49c4a7fce174dp12
+0x1.42a6f5366340bp3
+0x1.c73946000ef3cp15
+0x1.31ce910c8f277p-4
+0x1.0e1e520b20462p7
+0x1.3c2672f8a2c03p12
+0x1.0f9a64fdeb055p7
+0x1.922625557e01ep-1
+-0x1.abd306314559dp0
+-0x1.1cdb82c46c748p22
+0x1.f8b26607a6659p12
+0x1.e5f5a3659806ep16
+0x1.8a997615a5e47p4
+-0x1.9a88b64eed8c5p12
+-0x1.d685f50d87896p23
+0x1.817095a80c3b6p-1
+0x1.6142c7c1265e2p14
+-0x1.d148003201454p5
+0x1.2e8a76f17e51dp14
+0x1.427402f1c86dcp0
+0x1.9b2d423fdfa51p-4
+-0x1.86f0c60e56f2ep-2
+0x1.b32e43a763dc8p-1
+-0x1.8cff449c1e97dp24
+-0x1.880110436ba05p-1
+-0x1.97b7d36271db4p1
+0x1.f30b30d1aa293p-4
+0x1.e5ada37f74455p19
+-0x1.c26e223a61790p22
+0x1.13a14657deeb3p4
+-0x1.6478570f08c98p0
+0x1.ceda65c15f255p11
+-0x1.f62630fc890a7p22
+-0x1.7782824757591p24
+-0x1.98bfd567b54f1p-1
+0x1.1c6955755acc0p3
+0x1.65ac87fd01210p4
+0x1.7bf572a17df2bp-2
+-0x1.10ba33750f2b8p12
+0x1.0eb2a5c9e5ab7p11
+-0x1.a36377f89ac61p9
+-0x1.1ef0e24d3ae7ep25
+-0x1.754f03aa6e28dp4
+0x1.ee53f7fbf6eafp-2
+0x1.f50fe52b03ffbp2
+-0x1.638950b33d379p1
+0x1.3995d5405f180p2
+-0x1.9d77e47674aa8p8
+-0x1.32a0f62f354a3p21
+0x1.26dbc38bc8937p22
+0x1.3b7b3206286bdp-1
+-0x1.4ee7f59ce5c39p4
+-0x1.d6a1e75344b65p13
+-0x1.d718e5bc70942p10
+0x1.3f5d423f663fcp13
+0x1.f01b35c0d9d59p25
+-0x1.8bcc84208bd5dp-3
+-0x1.181ad4f3244b1p16
+0x1.0273210f71286p18
+0x1.d29bc36a4515dp11
+0x1.a20d92a1419efp15
+0x1.2f51d558be78cp16
+-0x1.5e6b84e9ec483p10
+-0x1.16a2b6ee1de0cp11
+-0x1.569474dd1954cp16
+0x1.fb10a07b26f8fp19
+0x1.8585c235045a7p5
+0x1.d3337464c4076p2
+-0x1.972fd5ff17f98p3
+-0x1.2ed312782dbfbp17
+-0x1.efa051135e1aap8
+-0x1.f710d597fef71p8
+0x1.aa8dd6f8a9beap9
+0x1.9f1dc377cf120p2
+0x1.62c3a7358a4f6p11
+0x1.34efa6be82f88p14
+-0x1.184f25cf949f5p0
+-0x1.3f7491d3e3894p12
+-0x1.f221e4559b24dp3
+-0x1.f342571a6ca3ep1
+-0x1.b50c874b791dcp23
+-0x1.6b12a335d95e7p-2
+0x1.73cf16b52cc79p2
+-0x1.b18fd6ef0fcc4p-4
+0x1.261c17c736b83p0
+-0x1.c86005afe1b46p0
+0x1.0fd231c7aab56p-3
+0x1.3b66100eade0cp-4
+0x1.1b62615d4579dp1
+0x1.cadb62a061c44p24
+0x1.3ae06343b6bcbp14
+0x1.f291c2e85d959p-3
+-0x1.061340896769bp1
+-0x1.2bd0077f3cf19p-2
+-0x1.ad7016b69a63fp-4
+-0x1.e62a635c849dap20
+-0x1.0b91a74b137c8p13
+-0x1.90d2306d27347p8
+0x1.844f36ffbcbf5p7
+0x1.a43987044698dp3
+0x1.4b28a54b06fd8p2
+-0x1.13f7a05c3396fp-1
+-0x1.a7f08659fdc44p7
+-0x1.6230f3bb15667p1
+-0x1.bb4c27fb03a6fp19
+-0x1.abd3330e2907dp0
+0x1.a10a926b01f22p20
+0x1.4ef4737029ef8p20
+-0x1.4fbc07dc0319fp21
+0x1.4f5cf32c6f33fp20
+0x1.9246404054591p0
+-0x1.6556d1b2edaedp-2
+-0x1.8609762c8b440p19
+0x1.f7e69735662a3p25
+-0x1.e924f3e7030bep15
+-0x1.9288c5e79cf59p-1
+-0x1.576322583b5e2p3
+-0x1.36e724118914dp17
+0x1.5af0268d084b3p0
+-0x1.8677c0dacd6e4p3
+-0x1.5499134382165p4
+0x1.bbca46c3b4d52p0
+-0x1.163cb68bf3dccp-1
+0x1.cef2e67ee56dfp5
+0x1.f6364662207f1p22
+-0x1.c2e3f1f65d52dp1
+-0x1.9d8c95af70b3fp2
+0x1.a14de64f1781ep1
+0x1.b20186799badbp14
+-0x1.399014458c7f0p-3
+-0x1.0fc4b2f3ed7c7p-4
+-0x1.eded7159875dep0
+-0x1.a263c32babe5cp-1
+0x1.f58cb01f888cap-4
+-0x1.697672487c482p18
+0x1.5c460397011dbp-1
+0x1.07b5c65ec8ad3p15
+-0x1.4eb6a36be78ecp-4
+0x1.e310154adf232p-4
+-0x1.da842458624edp2
+0x1.35a40221fabbbp3
+0x1.ffcc323b881e2p-4
+0x1.ee99c7c780be9p-4
+-0x1.f901049a4f638p11
+0x1.d3e7502eab4b6p-3
+-0x1.253ef59d5b22bp3
+0x1.059d75fdfb006p1
+0x1.cbbfe23e9b204p1
+0x1.d708f03a832c7p-1
+-0x1.ab75a3d27c91ep-4
+-0x1.6be4347f71cc1p-4
+-0x1.e8c9e1c74124ep-2
+-0x1.0e5f50bd9ab17p0
+-0x1.057b22cc1ca57p-2
+-0x1.4214a3145eee7p16
+-0x1.8ff493b4d0161p3
+0x1.ff71c54ac0722p1
+-0x1.cbeb16791916dp2
+-0x1.dbaa7305da875p2
+-0x1.9e4ca5923b8f7p5
+0x1.85a4e1dc18565p4
+-0x1.66a210312f4fcp3
+-0x1.60ff74a0b47d6p-4
+0x1.2262b5f1adeacp-1
+0x1.4c7db0b6a7422p4
+0x1.e3e8f16cceb2ep6
+0x1.ff5074ef37c49p0
+-0x1.10e6c770bce9bp4
+0x1.c6a3a0025e5dap22
+-0x1.0bb1439478f5dp-2
+-0x1.6fb0156408828p2
+0x1.b28ff518979b6p1
+0x1.9f63566d75ba1p0
+-0x1.cdbd94929acf6p16
+0x1.f3dd143481244p-4
+0x1.5769939835a80p-1
+-0x1.6b4ea312b9249p-2
+-0x1.a73b84ba8d9a0p-1
+-0x1.841c832628699p-2
+0x1.15d930c5d9513p4
+0x1.41317671877f1p24
+0x1.c75165ddd78c0p0
+0x1.693575a9d1138p3
+-0x1.717b171687985p16
+-0x1.945b94a09037dp-4
+0x1.927ee26038e68p2
+-0x1.f599772ffd90bp19
+-0x1.5c5b47eaa8583p0
+0x1.89ecc1f399ce5p2
+-0x1.9feaa603120d3p-4
+-0x1.61b0d15368a4cp19
+-0x1.dd65243b8102ap-3
+-0x1.d01653391399cp-4
+0x1.a6fa353616c25p-1
+-0x1.186f755c9547ap13
+0x1.8ea3a743322dbp4
+0x1.01f3d2122c4b1p13
+-0x1.b43ad29df2703p2
+-0x1.7ae312c61df29p2
+0x1.b8bdf3bef563bp11
+0x1.f8e434e9db303p-3
+-0x1.f2c9a511ea803p1
+-0x1.97c2f0e9d43b1p-1
+-0x1.116c80ce25470p-4
+-0x1.5a980694bcb2fp-2
+-0x1.32e545c122be7p17
+0x1.fa5101a1db44ep1
+-0x1.acbb05a4fcad6p2
+0x1.9c7b63462ad27p-1
+-0x1.0b5fc67ab2279p-3
+-0x1.db886026a7769p3
+-0x1.fc0015986ba7dp3
+0x1.08da532d7c2d8p2
+0x1.1efed083d86d2p3
+-0x1.93ddc734949adp-1
+-0x1.8139b09417df1p5
+0x1.b19e95af39a66p-4
+0x1.fa36f74895f3dp-3
+-0x1.8a50f1b23e664p2
+0x1.eb65d4abdfdddp24
+-0x1.5b58c5cf71143p11
+-0x1.93789271d3e79p1
+0x1.32d8d3818df7fp-1
+0x1.a02656baff621p3
+0x1.456822523692ep-1
+0x1.9e821342b14aep24
+-0x1.bacbd3affeb41p1
+-0x1.5b4543a6420e3p1
+0x1.94c0e4a504564p20
+0x1.12189312e1789p3
+-0x1.5465839d51246p16
+0x1.212ec63d1fc28p-2
+0x1.ea2df3e7023d5p-3
+0x1.de0b83c02018ap3
+-0x1.8240253b43da4p2
+0x1.767607eab92e7p0
+0x1.d9ccb717b987ap0
+-0x1.98dee08d0a3adp3
+-0x1.dcfca0020809dp-1
+0x1.7f869312366ebp22
+0x1.cd961413f209cp-1
+-0x1.3221407824fffp2
+0x1.2ade9658e1126p2
+0x1.b34083bdc8115p2
+-0x1.980922c6e082cp-2
+0x1.799832b5bfa6bp26
+-0x1.a56c15d91cd8bp-4
+0x1.44a3a79631f72p-1
+0x1.dda0957785a67p-3
+-0x1.c54b66b69cac8p2
+-0x1.b0cc178214892p0
+-0x1.c1e5f06ea400fp17
+-0x1.d29493a595f5ep2
+0x1.8bdae6ba44b4bp-3
+0x1.8d26f713baf31p13
+0x1.8cb220c346946p3
+0x1.71de257cb436dp3
+-0x1.a52e1674a0f6dp-2
+-0x1.418065835e8cfp2
+-0x1.a4d5d76840286p-4
+-0x1.3ed0116e38f5ep2
+-0x1.87c515996b87cp20
+0x1.35d67495a3d85p13
+-0x1.430b146120c64p13
+0x1.ce7d04c15930bp2
+-0x1.704f325206940p2
+-0x1.9e18f50e6cf7fp2
+0x1.5269e51b29116p0
+0x1.227c74bba7565p4
+0x1.a81c022b943a6p-1
+-0x1.a105212679fabp-2
+0x1.b87ac53cacaf7p18
+0x1.e71b216138183p17
+-0x1.1668a6b611528p3
+-0x1.586af282ee66ap3
+-0x1.a646106bb9884p1
+-0x1.781022484b783p2
+0x1.4c9ab7f28c644p10
+-0x1.c6dbc36bae35bp-1
+0x1.55352240eedc3p4
+0x1.b6f2b21a2eae2p22
+0x1.9664d29b9e356p3
+0x1.f3919543276fcp3
+0x1.7cc834f6358cbp-2
+0x1.9f07d58ef3ac7p5
+0x1.9de5b20a4a764p1
+-0x1.8aea705541631p18
+-0x1.0952739540b5ap4
+0x1.2993d67ddc894p0
+-0x1.cecb056b46a86p3
+-0x1.585ba625ce37dp4
+-0x1.2c85b49135c11p6
+0x1.1b03f53976b8bp2
+0x1.804b5294eab8bp2
+-0x1.15f090515ae7ap1
+-0x1.c40c30eea2397p2
+-0x1.d222d4cc61156p0
+0x1.491254db782e2p9
+0x1.089244b067d20p3
+0x1.847fe11643736p3
+0x1.aae600dfbb0d6p0
+-0x1.c60c05a64e456p2
+0x1.d3772608146aap16
+0x1.210261c1bad19p19
+0x1.7f61635ba6212p1
+0x1.e03d05d58d78dp1
+0x1.6fa5277426dffp2
+0x1.7dd7a003f1fc5p8
+0x1.d3c3c54fb269bp0
+0x1.456084e1be432p-1
+-0x1.9f35500c78f46p-4
+0x1.b17ad24d5328bp21
+0x1.45a4a452108b8p3
+0x1.ee7835a4a15cap2
+-0x1.5c88834020c4dp4
+0x1.8195e389f02f0p1
+-0x1.4d25e7891a5e3p1
+0x1.a368603b90642p2
+-0x1.fc1e4287a59a4p2
+-0x1.087e41d357143p12
+0x1.ccdb52d850e64p14
+-0x1.ae95e02bbf2c6p2
+0x1.d32c40fb7eed5p1
+0x1.f4be74fc543aep-3
+-0x1.c549772b73225p-3
+-0x1.8e5cd0178d9fdp20
+0x1.c81356a2c080ep-1
+0x1.ed40040dadbe7p8
+0x1.9914806c4c867p20
+-0x1.501a27c66dd4ep21
+0x1.dad8e19368949p18
+0x1.4d9500c7ef7d7p0
+-0x1.dc10c31391064p-4
+-0x1.fc9d741aa8b78p15
+0x1.467ff5c092692p6
+-0x1.57a300f11a56dp10
+-0x1.3289b70ab408bp-3
+-0x1.406e2614c2a4ep4
+-0x1.7320110d87bd1p17
+0x1.ad9f174b85f67p-4
+-0x1.6c05d0f81d05ap5
+0x1.4d9fc757d40a4p2
+-0x1.900c147490e47p1
+-0x1.9bf4951c2d822p2
+-0x1.f57e420cd00b7p3
+0x1.748fa1fba98f6p-2
+-0x1.7a48c776cf20ep3
+0x1.5e1a45452622dp-2
+0x1.ed24031124eddp-5
+0x1.e691f37be2dacp3
+0x1.231531dd30f1dp-2
+-0x1.564fa0bfd60b1p18
+-0x1.ac70324dce95dp1
+0x1.a0d493588e057p23
+0x1.f98780fb132a7p2
+0x1.90ebc38d03a87p0
+0x1.ff96e2f54d04dp24
+-0x1.bf74b63ca40bbp2
+0x1.9af727dde69f1p0
+-0x1.e44071bd7b86bp1
+-0x1.28d786fdcd052p26
+0x1.8692e232cdae6p3
+0x1.9b50469f50d88p-4
+0x1.3ab662a7c7a65p-1
+-0x1.d085169ef3012p2
+0x1.bade31b1d2841p13
+0x1.264cf12a5f18cp-3
+0x1.eaf301a2af660p1
+0x1.e09f42ccc01f3p3
+0x1.4fef37206f995p20
+0x1.3e7ff15ec0784p4
+0x1.6ef7504e7c351p0
+-0x1.65bfb1e6dffa7p4
+0x1.034610cc74f21p4
+-0x1.e7cdf2d5b5d7ap1
+-0x1.56d207d3b7f15p26
+0x1.9ade7656cdb52p-4
+0x1.da34f1f8ba414p-4
+-0x1.0620a0b7e0120p25
+0x1.0aa527ccceddep12
+-0x1.ff9b102c34c06p-1
+-0x1.680934192f0eep-4
+0x1.633c770deedcdp4
+0x1.ac3d562aa3882p23
+-0x1.fd93150cab59cp13
+-0x1.2e68b5aeb1933p1
+0x1.16a1b3634e220p4
+-0x1.9a3017378b041p2
+-0x1.9c6406add3380p-1
+0x1.d28307b34902fp10
+0x1.a256a6fc28529p0
+-0x1.fc32d7015c25ap3
+-0x1.90fe456ab6cd4p-3
+-0x1.d82302f16ed56p3
+0x1.e29194bbd8108p-4
+0x1.ba28875f65f3fp2
+0x1.aa02215f4279dp3
+0x1.04b274650ae6dp16
+0x1.5720460ea9547p4
+0x1.d3565193466b6p25
+-0x1.18ab75ac729b0p3
+0x1.62b49423eac50p13
+-0x1.5d5f51118764fp4
+-0x1.0d11554e6379ep-3
+-0x1.f7b3b55dfdf96p-5
+0x1.d97d4089c87fdp3
+-0x1.74dd56532f950p-3
+0x1.f41ba46bbb346p3
+0x1.15305286fef88p26
+-0x1.6c32d3a71f573p20
+-0x1.65a80408231a7p-2
+-0x1.ef3b14f8fa244p15
+-0x1.4060641b877f0p7
+0x1.bb6e36c2071b4p20
+-0x1.3a30a6c1a2f5dp3
+-0x1.74ae12ec6a97bp1
+0x1.29d196ea1da27p2
+0x1.bfbfc35e1396cp2
+-0x1.967993d8f656bp3
+0x1.7f6f16b033158p15
+0x1.9e5a06b632d09p2
+-0x1.de52b7137b48ap-1
+0x1.42702419de7adp18
+0x1.87fba15348b74p-4
+0x1.f1d4d2ed50b91p1
+-0x1.f58ce2e3bed62p20
+-0x1.0343179c7f2d3p4
+0x1.c08e07f343f5fp0
+0x1.c1bfa71d8698ep2
+-0x1.3b5384007645cp3
+-0x1.985c0097100f5p8
+-0x1.31a462d00219dp14
+-0x1.a1d1359744ef1p19
+-0x1.4a50169190a5dp19
+-0x1.47152657669dcp26
+0x1.08ae25f622e03p0
+-0x1.4a3ce79774730p1
+0x1.4a69800ca5d1ep0
+0x1.f5fc930d18d8dp4
+0x1.643412561c61fp-4
+-0x1.e07966a7404c6p11
+-0x1.e6fbf6a0a6034p3
+-0x1.fbd6e37a14101p2
+-0x1.5a7960250d793p2
+-0x1.a26cb448f2963p11
+0x1.d54cc4dab0dc2p0
+0x1.d49952cff6480p20
+-0x1.a34ce477fb20bp-3
+-0x1.9cec55870bb73p14
+-0x1.cc4e1541cff60p15
+0x1.17e2f5c7ae2dap0
+-0x1.de61b653424aep5
+-0x1.9f6f34286c574p10
+0x1.d2b86784608d6p-2
+-0x1.3395902eb25c8p20
+0x1.69cdb5f2237f6p21
+-0x1.50aa7555719afp1
+0x1.450902d00dba0p14
+-0x1.3581552b644e7p17
+0x1.0c1ca2229363cp1
+-0x1.aa0c55ea1366ap-2
+0x1.935996dd54b32p16
+0x1.3506f3b2a8c5bp4
+-0x1.9ef4a31a3a5b3p21
+0x1.6aed610ee94e6p3
+0x1.9ec537389a85fp2
+-0x1.b61b32703965cp0
+-0x1.47b533489ac3cp14
+-0x1.7a086173ea69ep-4
+-0x1.9096e7b165d22p-1
+-0x1.832a11dca8760p15
+0x1.b46a101d0d0d8p-1
+-0x1.754e34245b1d5p2
+0x1.bd9a871af2cbcp19
+0x1.91cd45ac60878p6
+-0x1.f90ce27d3136fp-1
+0x1.c793155aaf605p-2
+-0x1.43c3752dba4e3p4
+0x1.734ff4f414827p0
+-0x1.5694b43404e9dp1
+0x1.15ff858370de7p17
+-0x1.6cb074bf09b29p-1
+0x1.e15824dff4832p0
+-0x1.a49b82d01f413p15
+0x1.4e92a530645fap10
+-0x1.0fb4501d2b553p8
+0x1.6722853482a22p2
+-0x1.e5ff02b36b547p3
+0x1.8fd106fbca583p1
+-0x1.cd3b94e6e9646p-2
+-0x1.67e73006e1cbbp25
+-0x1.798fe4eef94dap4
+-0x1.9f845051b854ap0
+-0x1.1801059eda986p-2
+-0x1.e43bb3c1ba526p18
+-0x1.858b7675fe3fep15
+-0x1.95e2345d5fe0bp4
+-0x1.3c5416ca090bap19
+-0x1.495fa628eb2fcp-2
+-0x1.7ef11453fd131p0
+0x1.97369592c74a1p20
+0x1.e538f5fd514c9p-4
+0x1.3bdd939d79b75p1
+0x1.51de3650db77cp13
+0x1.0f1761cd1a600p-4
+0x1.148233b993d99p2
+0x1.93cd375850c5ep12
+0x1.27629514fe508p-1
+0x1.bb10511526fa8p-2
+0x1.02fab5f81d1e0p11
+0x1.59dbf0784024cp1
+0x1.83fca118a0f13p11
+0x1.549503148702ep20
+-0x1.ebc3651a9536ap0
+-0x1.a174916f8923ap10
+-0x1.e62893a7af3aap-2
+-0x1.f566616109d72p7
+-0x1.6270b6860dc86p4
+0x1.a88e8569e224ap2
+-0x1.4f3ae6b9b7d44p15
+0x1.565a510728736p3
+0x1.ae5ff3ea9acf8p10
+-0x1.cdaad52eecbb7p-2
+0x1.14fe36e4c388fp-4
+-0x1.b0fac12481c0cp-2
+0x1.4f9e7648c99dcp24
+0x1.fff1f1682d85cp23
+-0x1.4e07d1cba1b3ep22
+-0x1.aece66271bb23p-3
+-0x1.480661fd12984p3
+-0x1.cc42214f97882p9
+0x1.9f8941c90d141p1
+-0x1.a7cb21d392653p-4
+0x1.f45fb2a44f985p21
+-0x1.73ea53f7b5a83p0
+0x1.ae0e97a5a226ap2
+0x1.7116e4f8efeb7p13
+0x1.b8689636e09d7p1
+0x1.f87ea145c3eeap4
+-0x1.7fb3d33c4b6f7p1
+0x1.816ed7aac792bp-1
+0x1.d46e75812b0cfp17
+0x1.a94d05d52e058p-3
+0x1.857ca451b8d1dp21
+-0x1.dfe14188b48a1p14
+0x1.7c5cb7db4b247p-3
+-0x1.5b00f07b798c2p26
+0x1.4927153475bd8p3
+-0x1.659684713be27p-1
+0x1.4b69e654ab5ecp14
+0x1.599ca7a34504cp7
+-0x1.e234942683626p-4
+0x1.2dc9e2b98afd5p12
+-0x1.11eff3e09aa18p1
+0x1.66a8713d0f478p-4
+0x1.ae07b611b2ed9p25
+0x1.e5d5673df6e1ep2
+-0x1.bc9a57d63d9cap-3
+-0x1.f150f7c1a2718p22
+0x1.a39e27b64a20ep0
+-0x1.662a54062851dp4
+0x1.c17bb0a5e2ee3p-2
+0x1.2cde97703beb8p3
+0x1.76c2a0f2dca13p1
+0x1.44ef2264d458cp13
+-0x1.39785220a1e11p3
+0x1.0a9a846a9e8e0p3
+-0x1.4c66f2ff6cd5fp26
+-0x1.a3cf306fe7875p2
+-0x1.f8fad771fd336p-4
+0x1.56cce173621b0p23
+-0x1.8b40322bb8a97p1
+0x1.e9b391467db49p8
+-0x1.c0b11253299d7p2
+0x1.ce6213f40c4ddp3
+0x1.98a4658fa2de2p0
+-0x1.7714e7503ccfcp1
+-0x1.e2c751117856dp-3
+-0x1.116370d84cda0p1
+-0x1.8a95106b4dd41p1
+-0x1.83a101240371bp-1
+0x1.a87241ef9f0afp1
+-0x1.887e6438b7d77p0
+-0x1.c51f915cee016p21
+-0x1.90afb3af83a46p-2
+-0x1.dd69445e1bce5p7
+0x1.52ede1630d384p25
+0x1.e5cb3017006a4p-3
+0x1.7b37a1ae9bea3p22
+-0x1.564077be3ff7dp19
+0x1.0127514e5d65fp-1
+-0x1.86f6945344917p2
+-0x1.e27824003e156p-4
+0x1.20f513644333bp6
+-0x1.4d48e7c7bd1c2p17
+0x1.df4f418ae8bcdp0
+0x1.b530d7eb8c491p14
+0x1.ae84640c8c195p-3
+-0x1.99d503f399970p3
+-0x1.7bac758737ddcp23
+-0x1.b2e7529718232p5
+0x1.d99e875cf2a8dp12
+0x1.ad3fa0d2f24b0p-2
+0x1.fd0875247597fp17
+-0x1.d28dd391af036p8
+-0x1.18c393d58dd4ep10
+-0x1.7a2a73ac407fep10
+0x1.885ec3882da73p1
+-0x1.f4c664113f0d4p1
+0x1.dc61d2bd58699p-3
+0x1.50f330caf00fdp9
+-0x1.2b4c2627a3648p24
+-0x1.bddb32bea8700p-1
+0x1.e55ac08bf2b42p0
+0x1.e75cf1f0cd76ap0
+-0x1.aeb8e3625b94ap-2
+0x1.75a741f3c5a9ap-1
+-0x1.017500e83e2dap7
+-0x1.935241a43297ep2
+-0x1.8c08819bbaca3p12
+0x1.28f7569578c0fp15
+0x1.9a68f5a0e6cb9p25
+0x1.e99ce04bdef98p-1
+-0x1.566b2614bedb3p22
+-0x1.eb5840a35fdc6p25
+0x1.75489211def83p19
+-0x1.832cc5ad826a8p4
+0x1.746297f53d755p1
+-0x1.a92422038c33dp23
+0x1.c94a716ac9472p2
+-0x1.a780f5b351552p11
+0x1.39b4a689dc65fp15
+-0x1.063fd407d19b2p17
+0x1.6c96851c4c0bbp-3
+0x1.343a53f0ac710p-1
+-0x1.78da56a8efd89p-4
+-0x1.2e08371fa4c1dp1
+-0x1.9cb170edaa8d6p0
+-0x1.c47b95e92d85fp5
+0x1.22d540cd4e25bp0
+0x1.c0d7f6f009ad8p11
+-0x1.694c81226c9d5p0
+0x1.559fe2c8a2cb1p15
+-0x1.be71b00f82b6dp-4
+-0x1.949d26f8956a4p0
+-0x1.e794823d81668p2
+-0x1.913cc722037aep4
+-0x1.6c89e06ae49a0p7
+-0x1.d85ac741cf404p-1
+0x1.827ce70a4080ep-4
+0x1.d00906b80e8fep1
+0x1.a5eb32c312d71p3
+-0x1.1c82507185876p-4
+-0x1.2745f53788520p8
+-0x1.d59f5009d4e5cp2
+0x1.cc2070bdb8850p18
+0x1.1720074ab1a4ep1
+0x1.8cd267087035ep1
+-0x1.e5066000552e0p1
+-0x1.894bb7d7746d1p0
+-0x1.ffc9031f3af42p16
+-0x1.9867b7cae951ep11
+0x1.33ffa6ff96953p-4
+0x1.18b8b52580f2dp-1
+0x1.8036540909c52p1
+0x1.cf69072d92af2p9
+0x1.980aa121c5e65p1
+0x1.5f89c3f3a61c7p25
+-0x1.2e09a10012e1fp5
+-0x1.a585c7402c27ep-2
+-0x1.485eb3f6d7ecep-3
+-0x1.f9bd852a74583p10
+-0x1.3b7f83fbcda42p1
+-0x1.6591217c65a71p17
+-0x1.7b21e6ee5ca9cp17
+-0x1.c979f792dbca7p11
+-0x1.77bf75c469ac6p0
+0x1.d16b6275c0f7dp14
+0x1.4917f41f8b6a2p1
+-0x1.19cd525e86beap9
+-0x1.6e5003f71a811p14
+-0x1.370ab7f9719f2p14
+0x1.386006d492b82p3
+0x1.1a58e03059f7cp12
+0x1.2500012feb2d9p7
+0x1.4d36d2e22e8d4p5
+-0x1.f3e1a009ee07cp23
+0x1.4668d78d78095p12
+0x1.79aa13307ebf8p3
+-0x1.c487960e89b2bp2
+-0x1.06e8a5658fb35p-2
+0x1.55c7f05a491fdp24
+-0x1.0523e2d088c7bp11
+-0x1.f62864f5158c9p19
+0x1.c49ce5492ee6dp-3
+0x1.cdb9120e5b67ep17
+0x1.8f8a5268e820ep-4
+0x1.6ee1e30d592a4p0
+-0x1.812844c5cb134p2
+0x1.6df1755141fd4p24
+-0x1.728300fa1781fp14
+0x1.8947c3e79ed66p0
+-0x1.9844d48620c7fp8
+0x1.23655019dc226p2
+0x1.a9e1473cc8a13p12
+0x1.66305231c4640p7
+0x1.82af66fe8c503p2
+-0x1.bc6b01062138ep15
+-0x1.896955bc6c769p-1
+-0x1.a9ee65b00a2e8p21
+0x1.f4c3e6cd69231p-5
+0x1.9013f5a753f8ep8
+-0x1.d92d8497ba609p24
+-0x1.2e2681d1e84bap3
+0x1.8be4435259a45p7
+0x1.79c7f5a2e6e62p2
+0x1.acdbe4eb4b925p22
+-0x1.35aae23bd5519p3
+-0x1.733ba7e8564aep20
+0x1.f77991555ff26p-5
+-0x1.1c5745f873d55p-3
+-0x1.1b14e11d332dcp-3
+-0x1.c731514f4f896p20
+0x1.a0c5c483ebf17p7
+-0x1.36b1d13cb2c7ap19
+-0x1.7a38c0bb685a4p2
+0x1.6236e4c6b17b5p10
+-0x1.f2b9767a6798ep1
+-0x1.3958443bc6781p3
+0x1.d6f1f3d9224a2p13
+0x1.81b9f2569be9bp-2
+-0x1.8f52243d1205fp2
+0x1.2e2e25cd3e4a7p3
+0x1.d34c76b790df9p2
+0x1.7a91752f07156p26
+-0x1.454b06030e52cp1
+0x1.2c40025ab0e66p3
+-0x1.76d66036ed303p18
+0x1.667592a8df4efp25
+0x1.415511ec79f5ep1
+-0x1.7bbb12490183cp26
+0x1.824ec336555b6p1
+-0x1.b8dd16e17d94dp-1
+0x1.7df770031af25p3
+0x1.7bff02b791614p-3
+0x1.13f597d144c47p4
+0x1.81e4962b19a23p0
+0x1.3900731ded692p13
+0x1.9ed1c64a3942bp0
+-0x1.e87ae52969fcdp-4
+0x1.79bb77cc1f90cp2
+0x1.14693020af9bfp23
+0x1.8b61256862012p0
+0x1.edae80414ab70p3
+-0x1.93ab70cfa5b06p20
+0x1.8ba9c535f5d61p1
+-0x1.805ee155735acp1
+-0x1.838ec4acbd018p-2
+0x1.f32f63eb94fabp2
+0x1.e241b1649d3b8p5
+-0x1.3253458419677p10
+0x1.e0df72e4e1543p11
+0x1.e11d606072ff9p3
+0x1.86c16681265b6p5
+0x1.8628f44708c8bp23
+-0x1.e00f07434fc92p9
+-0x1.c17540870ee47p3
+-0x1.9e5bb19dd040bp3
+-0x1.4b2ae7e7eb36bp7
+0x1.563c647e67c1cp14
+0x1.9fd3804bf753ap1
+-0x1.e01b361851110p5
+0x1.f4c404c183defp3
+0x1.91f9d60737e96p3
+0x1.c2b2e43a35dc2p3
+-0x1.93d6f51eaa6b7p0
+0x1.077b77efc4f82p4
+-0x1.5a77916ce4424p4
+-0x1.68b4d3263da38p21
+-0x1.f374766b6ed6ap2
+-0x1.a9a9833b70761p0
+0x1.e32a36975f82ep13
+-0x1.faee82ffb3f86p3
+0x1.e36e2752045d0p24
+-0x1.65cd92ab90cd5p3
+-0x1.2c9e444e88b94p3
+0x1.f120d034d2381p10
+-0x1.a9a8f0b3f6514p-4
+0x1.936706bd2d06ep1
+0x1.a0c1379968e55p15
+-0x1.857891fb49f2dp0
+-0x1.56d056a4a7495p25
+0x1.903154bd06e72p0
+0x1.6682d268e3100p4
+0x1.3193534e62ce4p10
+-0x1.8436b490e2355p3
+0x1.c780d229e6f70p1
+-0x1.c56866de11a8fp3
+0x1.882d57bffac4ep17
+0x1.5c9b122b1d7fcp-3
+0x1.844794defc7edp0
+0x1.ee2d82135ae68p-4
+0x1.85279651395efp16
+-0x1.2cd1153d349f2p19
+0x1.7b6dd3b4f477ep12
+-0x1.7288f46a576b0p1
+-0x1.f8c0e0fc4bb49p2
+-0x1.183706bd54880p3
+0x1.ba0d572401eb1p-2
+0x1.ca518633bac17p7
+0x1.cd57538cf882cp-3
+-0x1.8381b568c9479p9
+0x1.1e9183ce544bcp13
+0x1.6acba6699c0b9p4
+-0x1.ec73039e9f0d4p20
+-0x1.6477f2857b071p-3
+0x1.e4a176c91821cp9
+-0x1.8c0b56ccb6472p4
+0x1.88bb9270ccca0p0
+0x1.01872043ef4f6p26
+0x1.a699a703d54f0p2
+-0x1.4f9480c72527fp11
+-0x1.f3922598eb070p25
+0x1.ec1122cf73e00p11
+0x1.1a5df470f93f2p3
+0x1.2c4ac04f45ad8p2
+0x1.420df3f07e2e9p1
+-0x1.da3007b6e32e6p-3
+0x1.c58594ba64852p5
+0x1.97f94564a530ep1
+-0x1.8f2f3232703fap23
+-0x1.3aced1c22945fp3
+-0x1.9fc3b1f2df6bap18
+-0x1.2f9400213bfacp26
+-0x1.5a93a1aecd7f8p23
+0x1.e21fb377f0629p3
+-0x1.60d2b29133715p2
+-0x1.b35fd552a06bdp2
+0x1.f888f3bf0894ap3
+0x1.6179c63df740ap2
+-0x1.1b57e16b67305p12
+0x1.2df7a492a55aap3
+0x1.f5a8c595b66f3p12
+0x1.eb9b31a499310p0
+-0x1.fa29138391d8dp24
+-0x1.31e9737787955p22
+-0x1.50bec0d665bd3p4
+0x1.240336c6f50ecp20
+-0x1.234332620141dp2
+-0x1.494922947d1dep13
+-0x1.4589500e3dc0cp-4
+-0x1.c5b106e6c98c4p3
+-0x1.8e5975aebe391p1
+0x1.4acbd1eca3685p16
+0x1.3767b5309ae35p25
+-0x1.ab55b215961b5p19
+0x1.9bbb7240953bcp6
+0x1.2a69c6c2ce166p-4
+0x1.236446d855ea1p26
+0x1.007d67d2f6ae5p14
+-0x1.465752c4bba54p4
+0x1.c2c120ada26efp24
+0x1.89d8e773ca030p0
+-0x1.47d112473b7d2p23
+-0x1.961ec43a6ac1bp0
+0x1.cb149641f5e31p25
+-0x1.445105fd4a114p13
+-0x1.fbecb12a6b027p23
+-0x1.7d2f532f070e7p24
+0x1.8623305d4e6b2p12
+0x1.9d4e770b846b6p20
+0x1.2e6f72255a4e3p25
+0x1.217f53ffa3517p18
+-0x1.114cf59a17da7p22
+-0x1.9058c29b9c42cp0
+0x1.8b4964313d448p0
+-0x1.1324f4ac83d84p17
+0x1.8cdc938858e1cp1
+-0x1.8e3ac7bd1d9bap1
+0x1.91dd306db21b7p3
+0x1.1dabf17b5d5ecp11
+-0x1.8c5023b0520fbp17
+0x1.519133d1a30c1p0
+-0x1.83f8b0095f08fp11
+0x1.a2c384402e2dep0
+-0x1.99604221a841bp-3
+-0x1.238c553c5b382p11
+0x1.255263c1e7ea1p-2
+-0x1.f6abe2ca3fa18p-4
+-0x1.28b610d704296p2
+0x1.7fe030dd6870bp21
+-0x1.9277b3b585daap1
+0x1.4aba5560a518fp18
+0x1.d8b2d183392ffp12
+0x1.606e50d62a689p3
+-0x1.c9fe06391a2ffp6
+0x1.33a2c66357454p2
+-0x1.c14834e7cc6fep20
+0x1.70fe71d9a61a1p10
+0x1.9124214c779abp0
+0x1.36fe96d18bbb1p5
+0x1.ac0886bed0cbap-3
+0x1.c394c39ec727ep21
+0x1.8ede90b9ad083p1
+-0x1.63f723efeb8aap6
+-0x1.8006a11624d6fp9
+-0x1.991dd79a46696p14
+0x1.624f7005c927ap-3
+-0x1.5a1bc5448ef00p15
+-0x1.a1b2d04dd23dbp22
+0x1.fbdae5e7003fep9
+0x1.77e2f5191b00ap26
+0x1.6acd972fb203ep7
+-0x1.92e403fb5cd1fp1
+-0x1.bdb8819563c37p3
+-0x1.978c07f231d8cp-4
+0x1.d394c0387504bp3
+0x1.2ad084ae8150fp2
+0x1.1c84d77148aeep-3
+0x1.6cdec2610b6e2p9
+-0x1.ad36f42f1539cp10
+0x1.6b7736f489b84p23
+0x1.428d260202acdp-3
+-0x1.ac7df640f2e9dp-3
+-0x1.383325e10f339p16
+-0x1.9072c3baac08ep2
+-0x1.8d25202dfe5e9p1
+0x1.56cce34ce0a0fp3
+-0x1.87e0b26002871p0
+0x1.e58bf4dbae4e0p8
+0x1.f721c656141c5p-5
+0x1.936a122b128a9p3
+-0x1.9d77a3df09bffp0
+0x1.fee682c2083b1p-5
+0x1.0df346c938fa6p20
+-0x1.79a4807dc1c7cp12
+0x1.43cb96fb17819p15
+-0x1.f6cba0b606489p3
+0x1.279ff1f5aa40ep2
+-0x1.4a0200fac8a92p13
+-0x1.5bb4a64995a2fp6
+-0x1.8cfdf28a87367p1
+0x1.b33a47d6a5006p12
+-0x1.2d44128359d7ap3
+0x1.8e27c5f19370ep1
+0x1.b172a51df2790p12
+0x1.9418b67f79674p2
+-0x1.18472016853adp-4
+0x1.429a944c7fc15p-3
+-0x1.848c2357e315bp0
+0x1.94ffc4b0437b7p-3
+0x1.0ab3c61460bf1p23
+0x1.c46df37c82e74p3
+0x1.ae4073dbb6faap1
+-0x1.333756903e0d4p2
+0x1.9897d041ad55ap0
+-0x1.dc34d00205413p-3
+0x1.11d895596200dp0
+0x1.2c40f229821eap3
+0x1.cdf886a7aa583p1
+0x1.981c0286db7cep1
+-0x1.9e091230bd3a4p0
+0x1.793f34193764dp-4
+0x1.bb2a40332c042p-3
+-0x1.f14492192a73fp-4
+0x1.706253767db02p-1
+-0x1.89a6c7e27292bp0
+-0x1.9ecc544fb92bbp0
+-0x1.929732055c207p3
+0x1.7446d51c7b42dp-3
+-0x1.86ed158a74c67p0
+0x1.514041392ff26p2
+0x1.82d476bb8edb4p0
+0x1.7fd9b27331c05p-1
+0x1.f5b7d49823843p3
+-0x1.f69264abeafa3p3
+-0x1.3b9c9235047b1p-3
+-0x1.618cb26e482adp3
+-0x1.7ff1014b720ddp2
+0x1.89c1b5f05dc6ep0
+0x1.8433102ecaabcp0
+0x1.1a6f4686b08cbp-4
+0x1.f6e9f6c4c11d8p2
+0x1.f420f4826d0ebp3
+-0x1.07e6c7ee77297p-4
+-0x1.883073624792fp0
+-0x1.413bd59318f29p10
+-0x1.eccdd630f04c1p-5
+0x1.ca83404a9139bp-4
+-0x1.2fb1d040fa704p2
+-0x1.ec2965839cdf8p-4
+-0x1.980927a49fc8ep0
+-0x1.8891479510a4cp0
+-0x1.160f00148547bp4
+0x1.2c829387de51dp3
+-0x1.b823d3652d1f6p-4
+0x1.610211fe18f2cp4
+-0x1.4814c0233ff45p4
+-0x1.910a500100124p3
+-0x1.938eb41b840f3p2
+0x1.8b3dc18cdc10cp-3
+0x1.82bbb15b4a321p0
+-0x1.7ca807b240b48p0
+-0x1.e41654090b761p-6
+0x1.2e37b710fc120p2
+0x1.f6b7940e7b623p3
+0x1.110c63611fdc6p3
+0x1.02ee201bcaac4p-1
+-0x1.15cc478b9585fp-3
+0x1.eaa6a5dba0880p-3
+-0x1.5064263da0e06p18
+0x1.29e4125754701p2
+-0x1.9877831252381p-4
+0x1.8f2e232e9ac5dp2
+0x1.2d80559c80ef0p3
+-0x1.9254d7b9c8444p0
+-0x1.f4e9e64183d12p-1
+-0x1.f4c7a7634e935p3
+-0x1.9abbe3194229cp0
+-0x1.9919748132712p0
+0x1.5f26256acb653p3
+0x1.5763e1d0c726bp1
+-0x1.94ff2678d1f72p-3
+-0x1.a90bb2e15f04ap0
+0x1.2dd9e546986a5p3
+-0x1.f740c1ba3020dp2
+0x1.c64395e34728dp-2
+0x1.e3d0458eabfd8p1
+-0x1.ed0765e6ea0f5p-3
+0x1.dab346294cbdap-4
+0x1.f61623d7e20b5p3
+0x1.af9281c09646cp1
+0x1.1b1e15cd3bcc5p16
+0x1.06c4c10e6c8dep-4
+0x1.dd07569c3c3ccp-2
+-0x1.c15824199f02ep1
+0x1.5243561208a38p-4
+-0x1.f416f571790f9p2
+-0x1.caef3657e7abbp1
+0x1.83fbe5b4af7dcp0
+-0x1.8853d6f37a1efp0
+-0x1.46da6147a1b10p4
+0x1.302416be4e2a1p2
+-0x1.f2f8a5dc53cf4p2
+0x1.6055e6e35bb41p-1
+0x1.143d145693511p2
+-0x1.6950a182bf9a2p-4
+-0x1.8fcc8236972a5p2
+0x1.e9cb13665b011p14
+-0x1.f393f56d36bd5p2
+-0x1.6965240cd8bcap3
+0x1.941dd006b64ffp2
+-0x1.f1e3d41258e12p1
+-0x1.fccf763e37c40p-2
+-0x1.b796d71e63f83p0
+-0x1.92b6c5b1be835p3
+0x1.9ce932c77615dp0
+-0x1.73fbf1729d68fp2
+0x1.478eb664414a1p4
+0x1.56d8470b12ea3p1
+-0x1.3e8954f72e006p1
+0x1.f65e065d156a7p3
+0x1.84664031b46b2p4
+-0x1.f47a93802ea52p2
+-0x1.e9592161077e5p-1
+-0x1.2bd1669992834p3
+0x1.6e2943a16b8e1p-3
+-0x1.e7d855d59c297p-4
+0x1.8f433768a46fdp1
+-0x1.e515d3f871f61p-4
+0x1.90af17c3b46a3p1
+0x1.888852da31b55p0
+0x1.2b2b219aba250p-4
+0x1.acd68248a4138p3
+0x1.2e88f26ed5c10p4
+-0x1.93d8526e03271p2
+0x1.326cd7502e35dp3
+0x1.97cf340cdd0aap1
+0x1.9bf172a79ddddp1
+0x1.f762e63f6aa11p3
+-0x1.a352761c52850p-4
+-0x1.8ca4b46938898p0
+0x1.5faf86ccf0263p3
+-0x1.59de804f2786ep-3
+-0x1.1411b2e66b984p4
+0x1.c1744154cb07cp-2
+-0x1.e470062fd9902p-4
+0x1.96cdb4f1f7df7p1
+0x1.23fc15223f81ep2
+0x1.36a273c93939cp-4
+-0x1.cc76161ba5551p2
+0x1.30a473160c957p2
+-0x1.2b9fd42df7d03p11
+0x1.96269286b7ffdp1
+-0x1.26acf7d9c5873p-4
+0x1.4e9a05aed7b47p-2
+0x1.8c2310e286165p3
+0x1.2e7ea55e6bab4p3
+-0x1.947447e283cf8p0
+-0x1.5def45dd8c82dp3
+-0x1.3562b72377e9dp17
+-0x1.827dc1096f2c7p2
+-0x1.864d742b9a86ap0
+0x1.020c84197b2d6p-4
+-0x1.c2b3209b520f2p3
+0x1.4d46507b92ebfp1
+0x1.f7a911dc6f5edp3
+0x1.546ab7b47b80dp-4
+-0x1.8e74270390650p0
+0x1.798ef3689843dp4
+0x1.e4ed141ca4042p2
+-0x1.912b60e8b2288p1
+-0x1.a446f3b0c931fp-3
+0x1.8a8ca0324e319p1
+0x1.85f9f17f3303bp-4
+-0x1.8da4b789837fbp0
+0x1.e0c1b65e1731fp0
+0x1.51d9359cbafe5p0
+-0x1.8c93e53362a95p0
+0x1.2cb685f56e9c7p3
+-0x1.24ca32a7d2e7fp-4
+-0x1.f3a7d55be814ap2
+-0x1.5f5563552f3dbp1
+0x1.9651239a8f51cp23
+0x1.7883f140d86e3p4
+-0x1.f5d4704cadef3p3
+-0x1.1a8b81c161806p-4
+0x1.13a766d95ae15p-3
+-0x1.788d1565e8c73p0
+-0x1.5a00b1d8bf722p4
+-0x1.142ef555a9f1dp2
+-0x1.9f5fd239129c0p1
+-0x1.9234030e398e9p0
+-0x1.de3ee1a88c608p25
+0x1.98b413f614dd1p1
+0x1.919893496d760p0
+0x1.cb4c6209daacdp1
+0x1.716aa6b3989dep0
+0x1.388236a8a2105p17
+0x1.2d8ea65a5418ep3
+0x1.8d3b6586a1f83p1
+0x1.2ee22305d240cp2
+0x1.513c50ad7096ap0
+0x1.274f61da084fcp21
+0x1.8e999360ff9bfp2
+-0x1.634ee01f1e244p3
+0x1.f56b84f17d59ep3
+0x1.90cd66c769319p3
+0x1.948793a745cb3p1
+-0x1.922cc64d4c613p2
+0x1.9202f01408a2ep1
+0x1.647af0f3e78e8p0
+0x1.92c404a15ff85p3
+0x1.296510b2025d9p3
+0x1.8af4d01937e3dp1
+-0x1.905807696feddp2
+-0x1.c5e746b866817p3
+-0x1.74abf60c7458dp11
+0x1.9fd310b80fc3fp-1
+-0x1.0088c702d520ep3
+0x1.99e684301b40dp1
+0x1.9e40e369cece9p0
+0x1.9a10f4d7ad560p0
+-0x1.119517d95be1dp0
+0x1.6507f65c0a11ap-10
+-0x1.8d7e97db6ee5dp1
+0x1.77b3e74ff2733p0
+-0x1.9142f42793975p2
+0x1.b08f86307ef40p0
+-0x1.07f605feceabcp6
+0x1.847750d22aedap0
+0x1.da8917abe3345p-1
+0x1.996981db39a5cp1
+0x1.84af267337c45p0
+-0x1.2d1e62cdb58fep3
+0x1.57eb741c405e9p0
+-0x1.9306d461c4f0dp1
+0x1.97511167e78b7p1
+0x1.a378c189bb9f2p0
+0x1.9f116139e3045p3
+0x1.0e56b2d056bd2p1
+0x1.9022d6b0f776ap2
+-0x1.9a66b69d283d3p16
+0x1.93f2d78fa20b8p2
+-0x1.960097e81f663p1
+-0x1.f16b11682801ap2
+0x1.7c5836e306cd7p4
+0x1.931ce13cf2e8ep3
+-0x1.9604801aef305p1
+-0x1.6047b5e1f6282p4
+0x1.8afcb3ed73526p1
+0x1.f6f66374ec272p3
+-0x1.637a71d0dd8cap3
+-0x1.f503c3e728412p3
+-0x1.6752748f04736p12
+0x1.c39482bf49bafp0
+-0x1.776fc1f105341p1
+-0x1.1c8c0693eea0ep4
+0x1.bf500107c5bf8p1
+-0x1.c8cc1330ebb0fp3
+-0x1.9fc43100011e3p1
+-0x1.0218334d9287bp4
+-0x1.873dc40133dc7p2
+-0x1.6108e6ac3ce75p2
+0x1.827f54be95fd2p2
+-0x1.b3b9c1b2bc85bp1
+0x1.6a566601abe51p1
+-0x1.1838e51e22a74p3
+-0x1.ec20a2f393847p-1
+0x1.50e3f2decb26bp0
+0x1.9e5c631aefd23p1
+0x1.e380f3f3d1435p1
+0x1.2d2396f6e3d53p21
+-0x1.d37267e0da8b8p2
+-0x1.dc488296aade7p-5
+0x1.46ec674ce2a5dp13
+0x1.554101eac799cp13
+0x1.2f3013f5a6c54p8
+0x1.6f83a66c663f4p4
+-0x1.2b08f43aab39cp11
+-0x1.e1e0d1853224dp-1
+0x1.d771b17516553p6
+-0x1.887044239cfe8p1
+-0x1.a1db55509e8a4p1
+-0x1.bfa480fc2440ep0
+-0x1.6d6e63cfe5182p16
+-0x1.fb48863e0822ep0
+0x1.9f00e03bd225cp2
+0x1.759ad7d2fd408p-6
+0x1.127da379773a8p0
+0x1.f29402cc634ddp2
+-0x1.9952a78ed61b8p2
+0x1.97dd5139447c3p1
+-0x1.a76e765e68c3cp1
+0x1.8e67566cd5e8ep2
+0x1.1b03a778e2d96p0
+0x1.5082b4b12d87dp0
+-0x1.b7f804e64ad6dp-1
+-0x1.fd8ec1fbdfc91p-1
+-0x1.c72146ec63767p0
+-0x1.535215502bb28p9
+-0x1.7b86638bd0a8ep4
+0x1.2ee16587be28ap25
+0x1.e01b63e9ed441p-5
+0x1.694304bf328eep8
+0x1.ad55c78d3654dp3
+0x1.9eee975660a8ap3
+-0x1.c8b2561c9f81cp3
+0x1.8283c7a80a610p0
+0x1.5b20d2df32431p4
+0x1.9cd6a2f10b171p1
+-0x1.420cc50d7cdc2p8
+-0x1.dd9861944bbb3p3
+0x1.34a7a7976a495p0
+-0x1.d583650030438p-6
+0x1.d460c5cf3f543p0
+-0x1.d465b0c30b6edp1
+0x1.3c7da5c7e5924p1
+0x1.2346875c60507p2
+0x1.8a7b81be25ee8p2
+-0x1.397700c5fcc57p2
+-0x1.69d2e1c810103p14
+0x1.a85411bd063ccp1
+-0x1.0e29e1cbda382p1
+0x1.9a5e601081659p1
+-0x1.a7889779ffa67p0
+-0x1.438e04868ccc9p4
+-0x1.baa5420b07fdap0
+-0x1.6db8900accb05p19
+0x1.a8aec73d93c27p3
+-0x1.77d4072c1ccf2p0
+-0x1.21f6b21bc817ep2
+-0x1.f6a2f62a6cb31p2
+-0x1.fc06459a51fb8p2
+-0x1.9af657156b1f3p2
+0x1.506bb4f11e78cp0
+-0x1.33ebc72ee6932p2
+0x1.ae86415f42273p2
+-0x1.9bf4a6fe8e910p1
+-0x1.e96e9164690fcp21
+0x1.6947f51227604p2
+0x1.6013a22a2ddd3p1
+-0x1.6af96677a90abp4
+0x1.8afb44943c65ep3
+0x1.8edc46a59110dp1
+-0x1.27672769919c5p3
+-0x1.965194e8561b3p0
+0x1.3b1025ed73e67p1
+-0x1.847770922125cp3
+-0x1.dd5f522fb2873p-5
+-0x1.5efb85cc876f7p4
+-0x1.e68de705848ebp-5
+0x1.7ead02ce67bbcp1
+0x1.a051e272e6562p1
+-0x1.86e703217068ep2
+-0x1.9f42e3ab98d72p1
+0x1.67ed973022fefp1
+0x1.2fecd6c002277p9
+0x1.78c3e7b8861cdp1
+-0x1.a871661620c12p-6
+0x1.f44003f7dc467p1
+-0x1.8de9c11f74395p0
+-0x1.e819107f5c6e2p3
+0x1.95cc935ccd8b3p3
+-0x1.8f4ed509b97e5p0
+0x1.69451445560b1p1
+-0x1.95ef447fbd184p3
+0x1.86f83259b5fd7p0
+0x1.0477224f543aep4
+-0x1.84b8700c2e94ap2
+-0x1.d83170e4e3d42p23
+-0x1.8f0f6463688c9p3
+-0x1.627477b68d92cp4
+0x1.b08cf6f35c65fp1
+0x1.408dd4780aba4p6
+0x1.1086512459ff1p9
+0x1.3909f67380c33p3
+-0x1.949b71c1a11cep2
+-0x1.8d1345e55533bp3
+-0x1.8713c256b3756p2
+-0x1.dbc685c55e3f5p25
+0x1.fa1540a9be9a3p3
+0x1.861632597290fp21
+0x1.8a92623188bf5p2
+-0x1.306816f3567cdp3
+-0x1.46c942568bb98p4
+-0x1.493192769939fp-5
+0x1.6c7626b593bc1p15
+-0x1.de9ae14ed3b14p-5
+-0x1.9ceab67fd3361p17
+-0x1.4635c7e723683p14
+-0x1.f66857bcde805p5
+0x1.1404718e327a9p5
+-0x1.8bead04147772p0
+0x1.67f23030a3b9cp-5
+-0x1.605b1167aec6bp26
+0x1.c492b71449ac9p-5
+-0x1.896c46f57416fp0
+0x1.f67af48b080f1p4
+-0x1.2bf7f4c847654p2
+0x1.d16a349978580p5
+-0x1.62f916740779cp8
+0x1.88d1874b175c6p0
+-0x1.44bb24ced7803p23
+-0x1.8b3367f4a1c9ap1
+0x1.f904679db18c3p10
+0x1.8af0b3bf1bc0ap1
+0x1.91bd642036dc7p-5
+0x1.e05700bd746ecp-5
+0x1.442c71d7052dfp11
+-0x1.c0860397d57f6p-5
+0x1.22fa512afd525p15
+-0x1.17963471d9c22p9
+0x1.dc53e5919c4e9p-5
+-0x1.f0ab744dd7c5ap12
+0x1.6c6b174f1b2ddp25
+-0x1.c0e8e1d4be4ddp21
+-0x1.527b6735e78fdp-5
+-0x1.eb2570edcb498p-6
+-0x1.827ee5ca4565ep17
+-0x1.d312763bdbfc9p-5
+-0x1.1be7c35c5187dp21
+0x1.bb05e3cf5bed1p8
+0x1.2b35242e28392p2
+0x1.2c478726c2eadp3
+-0x1.f601e4eb21834p-7
+-0x1.aa9224d5c7b99p12
+0x1.ee4f61f98712ap25
+-0x1.f11477e64dd5fp25
+-0x1.eacea5fdf0447p22
+0x1.8090172f53488p-5
+-0x1.874452a514b8ap-5
+0x1.b09b7525da067p-5
+-0x1.a4a65761b73e4p19
+-0x1.3edf87b67bac9p11
+0x1.40df32ab49b60p16
+0x1.ad82d260cd27cp12
+-0x1.79d575123f3d3p4
+0x1.1a420309f1acfp19
+-0x1.e3d2815fcea1ap-5
+0x1.9564275cad6b1p20
+0x1.b22d964fa5da9p16
+-0x1.ac6ec099f3767p12
+-0x1.3a56c36fd71f8p5
+-0x1.10a2668b9a962p19
+-0x1.f582e4fb4b9fcp3
+-0x1.c91490880d0abp9
+-0x1.ed1516dd4512ap-5
+-0x1.bd52b3aaf56cbp20
+-0x1.5f8674c2c25b3p3
+-0x1.0c0c55ef2b998p20
+-0x1.d192227536e73p24
+-0x1.2faaa2ecfe577p24
+-0x1.b90651cb301d0p-5
+-0x1.ac3b63b519eadp-5
+-0x1.2bd446f3ca7f3p2
+0x1.a430460e6a9b6p12
+-0x1.b3d576f970023p-5
+-0x1.a78456f24ad8bp21
+-0x1.8e6d24c106191p-5
+-0x1.445ac22c0535bp10
+0x1.6006b3be58fcdp5
+0x1.e2c9a30fed3dbp-5
+0x1.a9c595abf1803p17
+-0x1.dda6a16942918p5
+0x1.882b80046b531p-5
+0x1.e312c4711d211p-5
+-0x1.ffc9304847f6ep23
+0x1.e2bdf53a0e7eap-6
+0x1.aafe55c56b961p4
+-0x1.a42c00873fe91p19
+-0x1.6e05225136648p14
+0x1.8b6d7748a44d0p1
+-0x1.4f9b15e74489bp24
+-0x1.d0f83650acd18p10
+0x1.75d88737c154ep10
+0x1.fd9f30446da4cp12
+-0x1.ea0f976d9c95fp8
+-0x1.2e7ce0068807bp3
+0x1.408f556f1b433p22
+-0x1.33dd44ccdcad4p9
+-0x1.1392b23681ed7p22
+-0x1.a07451f59178ap0
+0x1.4be7960b80101p-5
+-0x1.c35dd7637fabbp3
+-0x1.14eaf252d4e69p24
+-0x1.eb5cb6f319984p12
+-0x1.ff5795cc9e8c9p25
+0x1.f373c7948157ap2
+0x1.8b11d503c9621p9
+-0x1.a6fba484a1e0dp23
+0x1.185dc1c0b0020p9
+-0x1.4205d4a32810fp8
+0x1.ba7665e0e6ca3p-6
+-0x1.9114139572d64p2
+0x1.8550d5a435556p6
+0x1.9217f777d16afp1
+0x1.523d75d52216bp22
+0x1.eaf44618ace9cp25
+-0x1.0ce264ba236dep25
+-0x1.dd0c66bca284fp4
+0x1.e133b560a7249p-5
+0x1.2e73200b72efcp3
+0x1.31d3f1c22bbefp-5
+-0x1.160c73ebb453bp9
+0x1.725517d421c01p23
+-0x1.b322115912690p8
+0x1.3123b6c190157p15
+-0x1.f7c6d4c05900ep2
+0x1.4199c1016ddbep21
+-0x1.939ab538fcf52p1
+-0x1.fe9b67751e8e2p16
+0x1.8194d6944c477p15
+0x1.84ddc763e1a66p0
+-0x1.4e1de2c8b8b84p-5
+0x1.f2b9c3f27bde1p11
+-0x1.616ef1dab5092p3
+0x1.f592e4f2759fep3
+0x1.4aa7e080f1cdbp11
+0x1.ce0a91e4edc80p-6
+0x1.534af4542f502p9
+0x1.9a5816c8c9b58p-5
+0x1.71ed06e256291p11
+0x1.1a3b208fc7a34p17
+0x1.93a935a59f8c6p2
+0x1.d0cc856988238p6
+-0x1.1aba30a4c9984p9
+-0x1.f8c461cdebee7p21
+-0x1.899a449c6c3ebp20
+0x1.363ec045afdeep9
+0x1.439216bc4453bp8
+0x1.4447c6df4c7afp17
+-0x1.9911c1e4c62abp15
+0x1.e16500b58f801p-6
+-0x1.b705b75ed89fbp22
+-0x1.01e46049e5a39p20
+-0x1.932304c2d6686p-5
+-0x1.e6d670226ad2ap-6
+-0x1.bd07e41c8e8bcp18
+0x1.4a0e422534f2bp-8
+-0x1.6940b30465840p8
+0x1.d733705bedd6ep-6
+0x1.d5cc051d8c218p19
+-0x1.2c33e54a305f1p3
+-0x1.e8b8d19effe41p-7
+-0x1.3251544f616aep10
+0x1.7695f68f3e6c7p15
+0x1.8b4f237050232p1
+0x1.0f3804c1ac573p26
+0x1.63b6402daf587p25
+-0x1.ef19b46fc82d1p-5
+0x1.5b24532eef37bp8
+0x1.e3cc25433e63dp8
+-0x1.6adbc65e81bf0p-6
+0x1.4af2127550ba6p19
+0x1.0b0534813be5dp10
+0x1.406e85cef6faep18
+0x1.3624f311203b4p24
+0x1.c539d648b5762p4
+0x1.d33de1b06857cp22
+0x1.088795083936fp26
+-0x1.46d32700ac723p13
+0x1.90cd33bd76f26p3
+-0x1.bc8b039abda5dp-5
+0x1.118c66b20ff59p24
+0x1.86aa4299069edp17
+-0x1.8c0d566b825bdp6
+0x1.a2f000766a5dcp-8
+0x1.f125b5925ecdcp9
+-0x1.42e27168a01e5p-6
+0x1.8d07c5da62627p-5
+-0x1.300382649922bp25
+-0x1.c6af64d64da9bp21
+-0x1.dbf9b7e4544d8p-5
+-0x1.ae66a3b7f8d1ep8
+-0x1.68cae1e2a98b1p25
+-0x1.d9d0e40f5b316p18
+0x1.9240a42e12154p4
+-0x1.85efc5a65c092p5
+0x1.c25b32c0f3a22p21
+-0x1.8ce4e51fc72bcp20
+0x1.2d88a67e7f4d5p6
+-0x1.f9fab7bee125dp2
+0x1.d5ab6667f00aap-5
+-0x1.8de195b535d34p0
+0x1.856a236431247p5
+-0x1.9355b20d3597fp3
+0x1.c86242004b43bp16
+-0x1.f075e5ac52efcp7
+0x1.128a500680aadp22
+-0x1.e05591544f544p21
+0x1.93efc221f8e59p2
+0x1.ab2f462bf74fcp5
+0x1.c49bd6a3c1818p4
+0x1.7b8ad50c7bfecp13
+0x1.fc4e96888c2d1p-6
+-0x1.58d6c2c5e054cp-5
+-0x1.2f6ec7a1377e0p14
+0x1.c58a842a616dbp3
+0x1.834dd78309187p18
+-0x1.c3a496c1450d1p-5
+0x1.f4d2b45c847dfp3
+0x1.8c356160ce725p1
+0x1.3142d7811c731p2
+0x1.93a9516a96a0bp3
+0x1.a1bee68429794p7
+0x1.b95dc334a2bc6p8
+-0x1.19cef672a9a47p-6
+-0x1.d27957ab51079p-5
+-0x1.f326d3c218f96p-7
+-0x1.3663f5c2f7a7ep21
+0x1.92d2c298efc0ep3
+0x1.0c0ac140813e9p14
+0x1.f042d0f375d37p-5
+-0x1.33d93108cefb4p17
+0x1.49bb63dc63385p26
+-0x1.6c4a43fe47766p15
+0x1.ef7b348d27a11p-5
+0x1.75c9e12812395p26
+0x1.646c466065168p13
+0x1.c6a595a4cf1eep-5
+0x1.633eb2bb2135cp13
+0x1.1d6fd48d68d10p16
+0x1.909086ce4aa7bp19
+0x1.33e475eaa77c1p6
+0x1.dd76962579da8p4
+0x1.2f6ff6e564b1cp2
+-0x1.250d605076831p-5
+-0x1.eb5e5279788d8p-5
+-0x1.8d7a8777145a7p1
+0x1.987364729a434p19
+0x1.dabe4125b97b3p-5
+0x1.b17e331eb6789p6
+0x1.6db837fb7d483p-5
+0x1.974bf2de99250p-5
+0x1.eb7783df9a7d7p24
+0x1.d4a382fdca607p-5
+0x1.c819b06815072p-5
+-0x1.884961789ce26p0
+-0x1.49abd42b2da4ap11
+-0x1.c22025eda45c0p-5
+0x1.1507f3d165044p4
+0x1.98d962253bc23p0
+0x1.91d604536b2ddp1
+-0x1.97e455ad89b74p14
+-0x1.e048a7162e609p24
+-0x1.b0f2a035fc460p-5
+-0x1.dfae87af15a41p-5
+0x1.5957d3127c4ecp-5
+-0x1.e19520fdfdde8p18
+0x1.14bbb5a3d4a9ep-5
+0x1.40e1e0445bbe9p20
+0x1.d11a60dfe5ccbp13
+-0x1.2864a79b70a9fp12
+-0x1.d586268ab9766p-5
+0x1.e86f11c2cfc20p-6
+0x1.44cca2c6d41b2p-6
+-0x1.96a014873a351p-5
+-0x1.8d81a234eaeb3p21
+0x1.3a1533e669917p5
+0x1.8ba860cf520bep1
+0x1.4265b33954e48p10
+-0x1.a249f7fe5c4e5p17
+-0x1.2e1957e00bdd5p4
+-0x1.8240d5065f3b6p17
+0x1.8d74a29263a5ap0
+0x1.951506f271652p1
+0x1.e92041ee927e3p-6
+0x1.ed2dc6dcf4002p-6
+0x1.2c92337f90e49p2
+-0x1.683c21e808cdep-5
+-0x1.9a0b940509413p-6
+0x1.98f7007ee0945p1
+0x1.a2320700475bbp-7
+0x1.bd43201cd4e31p-5
+-0x1.cc04710864fd6p-5
+0x1.a21c8714da14ep-5
+0x1.773693ef8fa14p-5
+0x1.79803001fe5dap-5
+-0x1.2c32c75512fe9p2
+0x1.844f25e75eb2fp0
+-0x1.95d877a17a280p2
+0x1.948a43d9d7741p1
+0x1.971c84f87b377p0
+0x1.9127e7382bcc8p-5
+0x1.93fe639e0db3dp0
+0x1.2f4d04d0c8b60p3
+-0x1.902934f6cec25p0
+-0x1.97e5e2e8c9690p0
+-0x1.2e7f34a41089ap2
+-0x1.dbf4d63956dabp-5
+0x1.7de270a1cef9dp-5
+-0x1.a8cfd796dd749p-5
+-0x1.867323de7c548p0
+-0x1.583b54858a854p-5
+0x1.5a32b5f87c731p-6
+-0x1.a893c3b3f116dp-5
+0x1.8dba0559b03f2p-5
+-0x1.8fddc49a817aap0
+0x1.8dfc56712ea84p1
+-0x1.5ec35128245fbp3
+0x1.2ed721b3e7cf3p2
+0x1.f6f6b38e4a725p2
+0x1.8d7636d60e4a2p0
+0x1.f53e24706a8adp2
+-0x1.2b8e75888ccddp2
+0x1.798c20cba7df8p4
+-0x1.c28770144413dp3
+0x1.99b0411242349p1
+-0x1.899d668f66224p0
+-0x1.9584c477164dfp1
+0x1.894db4cfedf00p0
+0x1.478fe109931cbp4
+0x1.60ecc69ceb31cp3
+-0x1.2daad0f631f1ap3
+-0x1.90c0775e5bbd9p3
+-0x1.9563261499472p1
+-0x1.8cce8733835a8p1
+-0x1.8e5bd67aad0bdp1
+0x1.2f88b005dd5c1p3
+0x1.2f79b51aa1b2ep3
+0x1.c5ba9020db5c7p3
+-0x1.91834694280eap3
+-0x1.f59d31d57b57cp3
+0x1.9f12216e6b6e5p0
+0x1.9094e7026c1ebp3
+0x1.155cc046ffb5bp4
+-0x1.848890adc4715p0
+0x1.90ad119b10f12p2
+-0x1.8d9a028100e2cp0
+0x1.c60477c5553dfp3
+0x1.91b295b42732dp3
+-0x1.93e8041f128acp3
+0x1.88cc56d1e4905p0
+-0x1.925832396eb4ap3
+0x1.8a73075e37e87p1
+-0x1.138d60f880517p4
+-0x1.97cf677cc2b69p1
+0x1.915aa29d49dbcp1
+0x1.873b8780d5106p0
+0x1.94c856a2d7bb6p1
+-0x1.90628588db51ap3
+-0x1.8f5770d7d1d70p1
+0x1.c5579491935bbp3
+-0x1.78da03f27aa07p4
+0x1.9209877319a62p1
+-0x1.2aea80b631733p2
+0x1.2f75e48cddd2cp3
+-0x1.5fb7273fcc453p3
+-0x1.8488702ff0c32p0
+-0x1.93dda7bee871ep0
+-0x1.93b653501d3c1p2
+0x1.9205222724e5bp1
+0x1.2df4a1196323ep2
+0x1.6108a416f100ap3
+-0x1.8db7954424fc7p0
+0x1.2bb8a1817846fp3
+-0x1.8abed04ecb123p0
+0x1.92d5f27ca693fp0
+-0x1.2a3e75ea2ae07p2
+-0x1.90fb35edc8d06p0
+0x1.9a76161e739c7p0
+# tan slow path at 240 bits
+# Implemented in sysdeps/ieee754/dbl-64/mptan.c
+# Range reduction is done using mp arithmetic.
+## name: 240bits
+0x1.ee5a221c1ec30p750
+0x1.d0b7237b90954p983
+0x1.50aee539c99e6p817
+-0x1.63457438d44aap53
+-0x1.294211dbd13e4p213
+-0x1.d71b609ef9723p651
+0x1.9c3fc4df7e48ep242
+0x1.ab8b7376e687ep989
+-0x1.23f9a2342724ap746
+0x1.119932858dd5ap966
+0x1.172f40abffae1p573
+-0x1.f9bb63afd3e82p824
+0x1.1d49b6073fd25p1018
+0x1.3825a112069d0p360
+0x1.8e64d153eac98p839
+0x1.e87296bff194bp410
+0x1.607562a57b7cbp149
+0x1.79bab59092899p902
+0x1.de5304e52acddp608
+-0x1.418357b7072b6p987
+-0x1.b86e0050bf853p732
+-0x1.a1efd6e7ed2f7p903
+-0x1.d8f94109ae4a3p874
+0x1.4f3247a1eea1ep815
+0x1.bdea912ba38d1p109
+-0x1.c8df81ba65338p846
+0x1.fdeb13595a17bp798
+0x1.767af536202fcp99
+-0x1.2a30021aae9e6p527
+-0x1.28dee7f401161p970
+0x1.4619840d88992p101
+0x1.6bfc225d005a2p837
+0x1.1e1af0e150b94p594
+0x1.bb40b53e0e710p107
+-0x1.509896c78f606p883
+0x1.d89291baa92acp34
+-0x1.3d17f161b743ep327
+-0x1.39c6a16a6c7c6p264
+0x1.c76d60078cecfp545
+-0x1.154493e3be839p980
+-0x1.b3df5360e6cbfp245
+-0x1.f0c52280d0aadp653
+-0x1.d93ce79dfe195p45
+0x1.88dd7769601fep966
+0x1.a903f553288eap298
+0x1.4ecba03f7132fp152
+-0x1.ee34e7eac85fap992
+-0x1.010e46c3cd107p876
+-0x1.b56fd64fe1fbdp323
+0x1.2c50c6911febep742
+0x1.740dc6b962c9bp422
+-0x1.617e2227cbff6p224
+-0x1.1ad286314c58bp940
+0x1.ac1745b651b5fp649
+0x1.fddce309449cfp982
+0x1.73aa443462592p182
+0x1.7d2e10f57bf82p306
+-0x1.93eef4d8c4abep433
+0x1.3d9bd192c5d05p408
+0x1.1ba6707e8de9ap833
+-0x1.c2f6f7c9e74b3p766
+0x1.404e24bccecfcp457
+-0x1.7a40f3ff05d01p530
+-0x1.10de718a052b3p202
+0x1.406e1464adc55p557
+0x1.9e19028382754p550
+0x1.635c94cbc7020p982
+0x1.984492142a1c0p81
+0x1.4b64a03a03816p428
+0x1.247c4191da022p961
+0x1.c141e714fe35cp908
+0x1.1b3621a4c2bafp257
+0x1.53d5e3c854773p294
+0x1.0747d33080a32p824
+0x1.1632770278ce8p845
+-0x1.c782e7d005b27p622
+0x1.593837dacc255p851
+-0x1.ec2ff0a8e0bcdp569
+-0x1.b594936bb511ep82
+0x1.9b45519d36598p976
+-0x1.9b8684eaa71c6p944
+-0x1.a3d743632fed4p395
+-0x1.b73bd248a7a07p401
+-0x1.dbc2269986a9dp213
+0x1.1db1d61aaef59p102
+0x1.2e8bb0f1ad8e5p797
+0x1.e883f6710822bp235
+-0x1.869ff130d5a8ap348
+0x1.2fa330ffa7b9bp49
+-0x1.0504a5188eddbp500
+-0x1.0d0a04316e717p622
+0x1.e020a6a980593p957
+0x1.869895a12103dp1011
+-0x1.a069a71af1389p432
+-0x1.814d711d1c525p904
+0x1.3648160c04db0p640
+-0x1.fafcf58cb570cp724
+-0x1.00bdd7f58135ep394
+0x1.e4d721588529ep259
+-0x1.2b364691f9147p192
+-0x1.7932c5bb927a9p463
+0x1.d185a23e7a264p121
+-0x1.d82395a639e87p578
+0x1.d19bd28cdb538p1020
+-0x1.91e123b92a975p528
+-0x1.f5b921ff6813fp866
+-0x1.f233e109dede1p346
+0x1.22b5274acfea5p28
+-0x1.b12c358527025p560
+0x1.87f9c3636f7a7p770
+-0x1.b7cfb4bd9ef9fp559
+0x1.ab30f4cdb2826p927
+0x1.3121e66534c09p996
+0x1.32ff26e56b243p66
+-0x1.6a3155c7bbc49p381
+0x1.0629119d19fe7p306
+0x1.666f07ccc3516p444
+-0x1.71b82433bfd05p656
+0x1.787bb435c6119p237
+-0x1.bb81028d4e92ep822
+-0x1.f956b52f53507p930
+-0x1.9f75e34d740f3p394
+0x1.babfd6b429321p307
+-0x1.0546727a98f2fp892
+-0x1.24e7a5b4ab558p36
+0x1.91b656ffc9015p48
+0x1.f214d6691dbc8p813
+-0x1.7508047526de4p708
+-0x1.6e0884d03f494p595
+-0x1.abf2f140b46a1p958
+0x1.cd37e24ae01d2p996
+0x1.874b5349798ddp791
+0x1.5db704095417cp479
+-0x1.385f265e0be6dp529
+-0x1.77d7f72971477p254
+0x1.c1d572032a2bcp231
+0x1.c5f3b1b1e6cb1p985
+0x1.112e0044fe943p152
+-0x1.c39e821cde6d0p860
+0x1.70f7800567a4cp831
+-0x1.bf2987be14b54p43
+0x1.005dc191f8155p428
+0x1.15ae534e6771bp286
+0x1.c90422cac4067p433
+0x1.ce9e737328102p189
+0x1.809d12529d2fcp385
+0x1.1063e5c391f7dp222
+0x1.d2ec86f035aecp981
+-0x1.196f9101def40p684
+0x1.c63095b4787cbp964
+-0x1.974c637b88001p971
+-0x1.1f4ff59ad6375p982
+-0x1.fd2845fc76df9p832
+0x1.1e2872f75696dp150
+0x1.550941834ba74p642
+0x1.0d163506e72bbp960
+-0x1.c4ac9745073bap738
+0x1.8fd3f61e48e52p625
+-0x1.5f9425e8039f3p636
+0x1.3e4f37281e892p558
+0x1.3373f1db8806cp990
+-0x1.038965f403b17p774
+-0x1.bd5b377d53669p945
+-0x1.07b3f085c6733p689
+0x1.3544b2eed1abfp262
+0x1.1532c11ac2507p832
+-0x1.c00c9609102c4p786
+0x1.ad9637e0c897bp581
+-0x1.fe4bc0f718a8cp569
+0x1.0692371444ef5p700
+0x1.cb4e64433e84cp965
+-0x1.69d26008baa73p236
+0x1.62f9711ed5d1ep464
+0x1.e930d2860dadap435
+-0x1.909f574e6549cp658
+0x1.00e4f31691d23p399
+-0x1.0d5823a83628bp540
+-0x1.c7b743f92fb3fp569
+0x1.7dee11c9dafa3p670
+0x1.529be63463210p939
+0x1.62bd520c84081p874
+0x1.c993466a75c4cp61
+-0x1.33b0260c2549bp495
+0x1.09e87208ab6ffp625
+0x1.0ae9e4d036946p291
+0x1.07d5649391891p165
+-0x1.bee4e05b04714p586
+0x1.2b0994ee5f218p167
+0x1.ebfc830d19d34p992
+0x1.382612ecb922ap979
+-0x1.21c82431ac446p1022
+0x1.6196b60f1c50fp190
+-0x1.c25ea71d737a2p248
+0x1.d024774408b26p335
+-0x1.f5ce472da3a21p644
+-0x1.81a011e0b6271p851
+0x1.9cd0227a58f39p939
+-0x1.8698a10662bffp544
+0x1.a07c20fa799d8p622
+-0x1.d126c657c582bp880
+# tan slowest path at 768 bits
+# Implemented in sysdeps/ieee754/dbl-64/mptan.c
+## name: 768bits
+0x1.dffffffffff1fp-22
+0x1.810f60836538dp143
+-0x1.e877a52501e08p134
diff -urN glibc-2.17-c758a686/debug/test-strcpy_chk.c glibc-2.17-c758a686/debug/test-strcpy_chk.c
--- glibc-2.17-c758a686/debug/test-strcpy_chk.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/debug/test-strcpy_chk.c 2015-06-20 21:22:16.304457892 -0400
@@ -54,6 +54,10 @@
#include
#include
+static int test_main (void);
+#define TEST_FUNCTION test_main ()
+#include "../test-skeleton.c"
+
volatile int chk_fail_ok;
jmp_buf chk_fail_buf;
@@ -110,24 +114,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));;
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, dst, src, dlen);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -151,14 +137,8 @@
s1[i] = 32 + 23 * i % (max_char - 32);
s1[len] = 0;
- if (HP_TIMING_AVAIL && dlen > len)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, s1, len, dlen);
-
- if (HP_TIMING_AVAIL && dlen > len)
- putchar ('\n');
}
static void
@@ -290,28 +270,12 @@
}
}
-int
+static int
test_main (void)
{
size_t i;
- struct sigaction sa;
- sa.sa_handler = handler;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- sigaction (SIGABRT, &sa, NULL);
-
- /* Avoid all the buffer overflow messages on stderr. */
- int fd = open (_PATH_DEVNULL, O_WRONLY);
- if (fd == -1)
- close (STDERR_FILENO);
- else
- {
- dup2 (fd, STDERR_FILENO);
- close (fd);
- }
- setenv ("LIBC_FATAL_STDERR_", "1", 1);
+ set_fortify_handler (handler);
test_init ();
@@ -389,5 +353,3 @@
do_random_tests ();
return ret;
}
-
-#include "../test-skeleton.c"
diff -urN glibc-2.17-c758a686/debug/tst-chk1.c glibc-2.17-c758a686/debug/tst-chk1.c
--- glibc-2.17-c758a686/debug/tst-chk1.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/debug/tst-chk1.c 2015-06-20 21:22:16.304457892 -0400
@@ -20,7 +20,6 @@
#include
#include
#include
-#include
#include
#include
#include
@@ -119,23 +118,7 @@
static int
do_test (void)
{
- struct sigaction sa;
- sa.sa_handler = handler;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- sigaction (SIGABRT, &sa, NULL);
-
- /* Avoid all the buffer overflow messages on stderr. */
- int fd = open (_PATH_DEVNULL, O_WRONLY);
- if (fd == -1)
- close (STDERR_FILENO);
- else
- {
- dup2 (fd, STDERR_FILENO);
- close (fd);
- }
- setenv ("LIBC_FATAL_STDERR_", "1", 1);
+ set_fortify_handler (handler);
struct A { char buf1[9]; char buf2[1]; } a;
struct wA { wchar_t buf1[9]; wchar_t buf2[1]; } wa;
@@ -1366,7 +1349,7 @@
ret = 1;
}
- fd = posix_openpt (O_RDWR);
+ int fd = posix_openpt (O_RDWR);
if (fd != -1)
{
char enough[1000];
diff -urN glibc-2.17-c758a686/debug/tst-longjmp_chk.c glibc-2.17-c758a686/debug/tst-longjmp_chk.c
--- glibc-2.17-c758a686/debug/tst-longjmp_chk.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/debug/tst-longjmp_chk.c 2015-06-20 21:22:16.305457862 -0400
@@ -1,3 +1,5 @@
+/* Basic test to make sure doing a longjmp to a jmpbuf with an invalid sp
+ is caught by the fortification code. */
#include
#include
#include
@@ -8,6 +10,12 @@
#include
#include
+
+static int do_test(void);
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"
+
+
static jmp_buf b;
@@ -43,26 +51,10 @@
}
-int
-main (void)
+static int
+do_test (void)
{
- struct sigaction sa;
- sa.sa_handler = handler;
- sa.sa_flags = 0;
- sigemptyset (&sa.sa_mask);
-
- sigaction (SIGABRT, &sa, NULL);
-
- /* Avoid all the buffer overflow messages on stderr. */
- int fd = open (_PATH_DEVNULL, O_WRONLY);
- if (fd == -1)
- close (STDERR_FILENO);
- else
- {
- dup2 (fd, STDERR_FILENO);
- close (fd);
- }
- setenv ("LIBC_FATAL_STDERR_", "1", 1);
+ set_fortify_handler (handler);
expected_to_fail = false;
diff -urN glibc-2.17-c758a686/elf/dl-support.c glibc-2.17-c758a686/elf/dl-support.c
--- glibc-2.17-c758a686/elf/dl-support.c 2015-06-20 23:38:08.194095607 -0400
+++ glibc-2.17-c758a686/elf/dl-support.c 2015-06-20 22:00:26.531904072 -0400
@@ -90,12 +90,6 @@
/* Get architecture specific initializer. */
#include
-/* We expect less than a second for relocation. */
-#ifdef HP_SMALL_TIMING_AVAIL
-# undef HP_TIMING_AVAIL
-# define HP_TIMING_AVAIL HP_SMALL_TIMING_AVAIL
-#endif
-
/* Initial value of the CPU clock. */
#ifndef HP_TIMING_NONAVAIL
hp_timing_t _dl_cpuclock_offset;
@@ -265,7 +259,7 @@
internal_function
_dl_non_dynamic_init (void)
{
- if (HP_TIMING_AVAIL)
+ if (HP_SMALL_TIMING_AVAIL)
HP_TIMING_NOW (_dl_cpuclock_offset);
if (!_dl_pagesize)
diff -urN glibc-2.17-c758a686/elf/rtld.c glibc-2.17-c758a686/elf/rtld.c
--- glibc-2.17-c758a686/elf/rtld.c 2015-06-20 23:38:08.170096325 -0400
+++ glibc-2.17-c758a686/elf/rtld.c 2015-06-20 22:06:24.194043066 -0400
@@ -193,12 +193,6 @@
static struct libname_list _dl_rtld_libname;
static struct libname_list _dl_rtld_libname2;
-/* We expect less than a second for relocation. */
-#ifdef HP_SMALL_TIMING_AVAIL
-# undef HP_TIMING_AVAIL
-# define HP_TIMING_AVAIL HP_SMALL_TIMING_AVAIL
-#endif
-
/* Variable for statistics. */
#ifndef HP_TIMING_NONAVAIL
static hp_timing_t relocate_time;
@@ -268,7 +262,7 @@
{
ElfW(Addr) start_addr;
- if (HP_TIMING_AVAIL)
+ if (HP_SMALL_TIMING_AVAIL)
{
/* If it hasn't happen yet record the startup time. */
if (! HP_TIMING_INLINE)
@@ -277,9 +271,6 @@
else
start_time = info->start_time;
#endif
-
- /* Initialize the timing functions. */
- HP_TIMING_DIFF_INIT ();
}
/* Transfer data about ourselves to the permanent link_map structure. */
@@ -315,9 +306,7 @@
#endif
-#if HP_TIMING_AVAIL
HP_TIMING_NOW (GL(dl_cpuclock_offset));
-#endif
/* Initialize the stack end variable. */
__libc_stack_end = __builtin_frame_address (0);
@@ -330,7 +319,7 @@
#ifndef HP_TIMING_NONAVAIL
hp_timing_t rtld_total_time;
- if (HP_TIMING_AVAIL)
+ if (HP_SMALL_TIMING_AVAIL)
{
hp_timing_t end_time;
@@ -372,7 +361,7 @@
#define RESOLVE_MAP(sym, version, flags) (&bootstrap_map)
#include "dynamic-link.h"
- if (HP_TIMING_INLINE && HP_TIMING_AVAIL)
+ if (HP_TIMING_INLINE && HP_SMALL_TIMING_AVAIL)
#ifdef DONT_USE_BOOTSTRAP_MAP
HP_TIMING_NOW (start_time);
#else
@@ -2720,7 +2709,7 @@
char *wp;
/* Total time rtld used. */
- if (HP_TIMING_AVAIL)
+ if (HP_SMALL_TIMING_AVAIL)
{
HP_TIMING_PRINT (buf, sizeof (buf), *rtld_total_timep);
_dl_debug_printf ("\nruntime linker statistics:\n"
@@ -2788,7 +2777,7 @@
#ifndef HP_TIMING_NONAVAIL
/* Time spend while loading the object and the dependencies. */
- if (HP_TIMING_AVAIL)
+ if (HP_SMALL_TIMING_AVAIL)
{
char pbuf[30];
HP_TIMING_PRINT (buf, sizeof (buf), load_time);
diff -urN glibc-2.17-c758a686/Makefile.in glibc-2.17-c758a686/Makefile.in
--- glibc-2.17-c758a686/Makefile.in 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/Makefile.in 2015-06-20 21:22:16.305457862 -0400
@@ -3,7 +3,7 @@
# Uncomment the line below if you want to do parallel build.
# PARALLELMFLAGS = -j 4
-.PHONY: all install
+.PHONY: all install bench
all .DEFAULT:
$(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
@@ -11,3 +11,6 @@
install:
LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
$(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" -C $(srcdir) objdir=`pwd` $@
+
+bench bench-clean:
+ $(MAKE) -C $(srcdir)/benchtests $(PARALLELMFLAGS) objdir=`pwd` $@
diff -urN glibc-2.17-c758a686/ports/sysdeps/alpha/hp-timing.h glibc-2.17-c758a686/ports/sysdeps/alpha/hp-timing.h
--- glibc-2.17-c758a686/ports/sysdeps/alpha/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/ports/sysdeps/alpha/hp-timing.h 2015-06-20 21:44:22.241186366 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. Alpha version.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson , 2001.
@@ -20,52 +20,6 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-
-/* The macros defined here use the timestamp counter in IA-64. They
- provide a very accurate way to measure the time with very little
- overhead. The time values themself have no real meaning, only
- differences are interesting.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-*/
-
/* We always have the timestamp register, but it's got only a 4 second
range. Use it for ld.so profiling only. */
#define HP_TIMING_AVAIL (0)
@@ -77,9 +31,6 @@
/* We use 32 bit values for the times. */
typedef unsigned int hp_timing_t;
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(VAR) (VAR) = (0)
-
/* The "rpcc" instruction returns a 32-bit counting half and a 32-bit
"virtual cycle counter displacement". Subtracting the two gives us
a virtual cycle count. */
@@ -90,28 +41,6 @@
(VAR) = (int) (x_) - (int) (x_ >> 32); \
} while (0)
-/* ??? Two rpcc instructions can be scheduled simultaneously. */
-#define HP_TIMING_DIFF_INIT() do { } while (0)
-
-/* It's simple arithmetic for us. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* ??? Don't bother, since we're only used for ld.so. */
-#define HP_TIMING_ACCUM(Sum, Diff) not implemented
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa_word (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.c glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.c
--- glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,23 +0,0 @@
-/* Support for high precision, low overhead timing functions. IA-64 version.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper , 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.h glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.h
--- glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/ports/sysdeps/ia64/hp-timing.h 2015-06-20 21:44:03.984740754 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. IA-64 version.
- Copyright (C) 2001-2012 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 2001.
@@ -20,56 +20,9 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-#include
-
-/* The macros defined here use the timestamp counter in IA-64. They
- provide a very accurate way to measure the time with very little
- overhead. The time values themself have no real meaning, only
- differences are interesting.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
-
/* We always assume having the timestamp register. */
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
/* We indeed have inlined functions. */
#define HP_TIMING_INLINE (1)
@@ -77,10 +30,6 @@
/* We use 64bit values for the times. */
typedef unsigned long int hp_timing_t;
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
-
/* The Itanium/Merced has a bug where the ar.itc register value read
is not correct in some situations. The solution is to read again.
For now we always do this until we know how to recognize a fixed
@@ -95,53 +44,6 @@
while (REPEAT_READ (__itc)); \
Var = __itc; })
-/* Use two 'ar.itc' instructions in a row to find out how long it takes. */
-#define HP_TIMING_DIFF_INIT() \
- do { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ul; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } while (0)
-
-/* It's simple arithmetic for us. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* We have to jump through hoops to get this correctly implemented. */
-#define HP_TIMING_ACCUM(Sum, Diff) \
- do { \
- hp_timing_t __oldval; \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- hp_timing_t __newval; \
- do \
- { \
- __oldval = (Sum); \
- __newval = __oldval + __diff; \
- } \
- while (! __sync_bool_compare_and_swap (&Sum, __oldvar, __newval)); \
- } while (0)
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa_word (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, \
- (int) sizeof (" clock cycles"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/ports/sysdeps/ia64/Makefile glibc-2.17-c758a686/ports/sysdeps/ia64/Makefile
--- glibc-2.17-c758a686/ports/sysdeps/ia64/Makefile 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/ports/sysdeps/ia64/Makefile 2015-06-20 22:31:17.725704221 -0400
@@ -7,8 +7,6 @@
ifeq ($(subdir), csu)
CPPFLAGS-start.S = -D__ASSEMBLY__
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
ifeq (yes,$(build-shared))
# Compatibility
diff -urN glibc-2.17-c758a686/Rules glibc-2.17-c758a686/Rules
--- glibc-2.17-c758a686/Rules 2015-06-20 23:38:08.446088067 -0400
+++ glibc-2.17-c758a686/Rules 2015-06-20 21:22:16.305457862 -0400
@@ -83,7 +83,7 @@
# This makes all the auxiliary and test programs.
-.PHONY: others tests
+.PHONY: others tests bench
ifeq ($(multi-arch),no)
tests := $(filter-out $(tests-ifunc), $(tests))
xtests := $(filter-out $(xtests-ifunc), $(xtests))
@@ -192,6 +192,7 @@
$(make-test-out) > $@
endif # tests
+
.PHONY: distclean realclean subdir_distclean subdir_realclean \
subdir_clean subdir_mostlyclean subdir_testclean
diff -urN glibc-2.17-c758a686/scripts/pylint glibc-2.17-c758a686/scripts/pylint
--- glibc-2.17-c758a686/scripts/pylint 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/scripts/pylint 2015-06-20 21:22:16.305457862 -0400
@@ -0,0 +1,5 @@
+#!/bin/sh
+# Simple wrapper around the pylint program that uses the pylintrc file to
+# validate the source code in files passed on command line.
+
+exec pylint --rcfile "${0%/*}/pylintrc" "$@"
diff -urN glibc-2.17-c758a686/scripts/pylintrc glibc-2.17-c758a686/scripts/pylintrc
--- glibc-2.17-c758a686/scripts/pylintrc 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/scripts/pylintrc 2015-06-20 21:22:16.305457862 -0400
@@ -0,0 +1,274 @@
+[MASTER]
+
+# Specify a configuration file.
+#rcfile=
+
+# Python code to execute, usually for sys.path manipulation such as
+# pygtk.require().
+#init-hook=
+
+# Profiled execution.
+profile=no
+
+# Add files or directories to the blacklist. They should be base names, not
+# paths.
+ignore=CVS
+
+# Pickle collected data for later comparisons.
+persistent=yes
+
+# List of plugins (as comma separated values of python modules names) to load,
+# usually to register additional checkers.
+load-plugins=
+
+
+[MESSAGES CONTROL]
+
+# Enable the message, report, category or checker with the given id(s). You can
+# either give multiple identifier separated by comma (,) or put this option
+# multiple time. See also the "--disable" option for examples.
+#enable=
+
+# Disable the message, report, category or checker with the given id(s). You
+# can either give multiple identifiers separated by comma (,) or put this
+# option multiple times (only on the command line, not in the configuration
+# file where it should appear only once).You can also use "--disable=all" to
+# disable everything first and then reenable specific checks. For example, if
+# you want to run only the similarities checker, you can use "--disable=all
+# --enable=similarities". If you want to run only the classes checker, but have
+# no Warning level messages displayed, use"--disable=all --enable=classes
+# --disable=W"
+#disable=
+
+
+[REPORTS]
+
+# Set the output format. Available formats are text, parseable, colorized, msvs
+# (visual studio) and html. You can also give a reporter class, eg
+# mypackage.mymodule.MyReporterClass.
+output-format=text
+
+# Put messages in a separate file for each module / package specified on the
+# command line instead of printing them on stdout. Reports (if any) will be
+# written in a file name "pylint_global.[txt|html]".
+files-output=no
+
+# Tells whether to display a full report or only the messages
+reports=yes
+
+# Python expression which should return a note less than 10 (10 is the highest
+# note). You have access to the variables errors warning, statement which
+# respectively contain the number of errors / warnings messages and the total
+# number of statements analyzed. This is used by the global evaluation report
+# (RP0004).
+evaluation=10.0 - ((float(5 * error + warning + refactor + convention) / statement) * 10)
+
+# Add a comment according to your evaluation note. This is used by the global
+# evaluation report (RP0004).
+comment=no
+
+# Template used to display messages. This is a python new-style format string
+# used to format the massage information. See doc for all details
+#msg-template=
+
+
+[MISCELLANEOUS]
+
+# List of note tags to take in consideration, separated by a comma.
+notes=FIXME,XXX,TODO
+
+
+[SIMILARITIES]
+
+# Minimum lines number of a similarity.
+min-similarity-lines=4
+
+# Ignore comments when computing similarities.
+ignore-comments=yes
+
+# Ignore docstrings when computing similarities.
+ignore-docstrings=yes
+
+# Ignore imports when computing similarities.
+ignore-imports=no
+
+
+[BASIC]
+
+# Required attributes for module, separated by a comma
+required-attributes=
+
+# List of builtins function names that should not be used, separated by a comma
+bad-functions=map,filter,apply,input
+
+# Regular expression which should only match correct module names
+module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
+
+# Regular expression which should only match correct module level names
+const-rgx=(([A-Z_][A-Z0-9_]*)|(__.*__))$
+
+# Regular expression which should only match correct class names
+class-rgx=[A-Z_][a-zA-Z0-9]+$
+
+# Regular expression which should only match correct function names
+function-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct method names
+method-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct instance attribute names
+attr-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct argument names
+argument-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct variable names
+variable-rgx=[a-z_][a-z0-9_]{2,30}$
+
+# Regular expression which should only match correct attribute names in class
+# bodies
+class-attribute-rgx=([A-Za-z_][A-Za-z0-9_]{2,30}|(__.*__))$
+
+# Regular expression which should only match correct list comprehension /
+# generator expression variable names
+inlinevar-rgx=[A-Za-z_][A-Za-z0-9_]*$
+
+# Good variable names which should always be accepted, separated by a comma
+# f is a useful name for a file descriptor
+good-names=f,i,j,k,ex,Run,_
+
+# Bad variable names which should always be refused, separated by a comma
+bad-names=foo,bar,baz,toto,tutu,tata
+
+# Regular expression which should only match function or class names that do
+# not require a docstring.
+no-docstring-rgx=__.*__
+
+# Minimum line length for functions/classes that require docstrings, shorter
+# ones are exempt.
+docstring-min-length=-1
+
+
+[VARIABLES]
+
+# Tells whether we should check for unused import in __init__ files.
+init-import=no
+
+# A regular expression matching the beginning of the name of dummy variables
+# (i.e. not used).
+dummy-variables-rgx=_$|dummy
+
+# List of additional names supposed to be defined in builtins. Remember that
+# you should avoid to define new builtins when possible.
+additional-builtins=
+
+
+[FORMAT]
+
+# Maximum number of characters on a single line.
+max-line-length=79
+
+# Regexp for a line that is allowed to be longer than the limit.
+ignore-long-lines=^\s*(# )??$
+
+# Maximum number of lines in a module
+max-module-lines=1000
+
+# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
+# tab).
+indent-string=' '
+
+
+[TYPECHECK]
+
+# Tells whether missing members accessed in mixin class should be ignored. A
+# mixin class is detected if its name ends with "mixin" (case insensitive).
+ignore-mixin-members=yes
+
+# List of classes names for which member attributes should not be checked
+# (useful for classes with attributes dynamically set).
+ignored-classes=SQLObject
+
+# When zope mode is activated, add a predefined set of Zope acquired attributes
+# to generated-members.
+zope=no
+
+# List of members which are set dynamically and missed by pylint inference
+# system, and so shouldn't trigger E0201 when accessed. Python regular
+# expressions are accepted.
+generated-members=REQUEST,acl_users,aq_parent
+
+
+[CLASSES]
+
+# List of interface methods to ignore, separated by a comma. This is used for
+# instance to not check methods defines in Zope's Interface base class.
+ignore-iface-methods=isImplementedBy,deferred,extends,names,namesAndDescriptions,queryDescriptionFor,getBases,getDescriptionFor,getDoc,getName,getTaggedValue,getTaggedValueTags,isEqualOrExtendedBy,setTaggedValue,isImplementedByInstancesOf,adaptWith,is_implemented_by
+
+# List of method names used to declare (i.e. assign) instance attributes.
+defining-attr-methods=__init__,__new__,setUp
+
+# List of valid names for the first argument in a class method.
+valid-classmethod-first-arg=cls
+
+# List of valid names for the first argument in a metaclass class method.
+valid-metaclass-classmethod-first-arg=mcs
+
+
+[IMPORTS]
+
+# Deprecated modules which should not be used, separated by a comma
+deprecated-modules=regsub,TERMIOS,Bastion,rexec
+
+# Create a graph of every (i.e. internal and external) dependencies in the
+# given file (report RP0402 must not be disabled)
+import-graph=
+
+# Create a graph of external dependencies in the given file (report RP0402 must
+# not be disabled)
+ext-import-graph=
+
+# Create a graph of internal dependencies in the given file (report RP0402 must
+# not be disabled)
+int-import-graph=
+
+
+[DESIGN]
+
+# Maximum number of arguments for function / method
+max-args=5
+
+# Argument names that match this expression will be ignored. Default to name
+# with leading underscore
+ignored-argument-names=_.*
+
+# Maximum number of locals for function / method body
+max-locals=15
+
+# Maximum number of return / yield for function / method body
+max-returns=6
+
+# Maximum number of branch for function / method body
+max-branches=12
+
+# Maximum number of statements in function / method body
+max-statements=50
+
+# Maximum number of parents for a class (see R0901).
+max-parents=7
+
+# Maximum number of attributes for a class (see R0902).
+max-attributes=7
+
+# Minimum number of public methods for a class (see R0903).
+min-public-methods=2
+
+# Maximum number of public methods for a class (see R0904).
+max-public-methods=20
+
+
+[EXCEPTIONS]
+
+# Exceptions that will emit a warning when being caught. Defaults to
+# "Exception"
+overgeneral-exceptions=Exception
diff -urN glibc-2.17-c758a686/string/strtok.c glibc-2.17-c758a686/string/strtok.c
--- glibc-2.17-c758a686/string/strtok.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/strtok.c 2015-06-20 21:22:16.305457862 -0400
@@ -23,6 +23,10 @@
#undef strtok
+#ifndef STRTOK
+# define STRTOK strtok
+#endif
+
/* Parse S into tokens separated by characters in DELIM.
If S is NULL, the last string strtok() was called with is
used. For example:
@@ -33,9 +37,7 @@
// s = "abc\0=-def\0"
*/
char *
-strtok (s, delim)
- char *s;
- const char *delim;
+STRTOK (char *s, const char *delim)
{
char *token;
diff -urN glibc-2.17-c758a686/string/test-memccpy.c glibc-2.17-c758a686/string/test-memccpy.c
--- glibc-2.17-c758a686/string/test-memccpy.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-memccpy.c 2015-06-20 23:36:49.734443244 -0400
@@ -74,24 +74,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute__ ((unused));
- hp_timing_t stop __attribute__ ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, dst, src, c, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -122,14 +104,8 @@
for (i = len; i + align1 < page_size && i < len + 64; ++i)
s1[i] = 32 + 32 * i % (max_char - 32);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, n %4zd, char %d, alignment %2zd/%2zd:", len, n, c, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, s1, c, len, n);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-memchr.c glibc-2.17-c758a686/string/test-memchr.c
--- glibc-2.17-c758a686/string/test-memchr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-memchr.c 2015-06-20 23:36:49.736443184 -0400
@@ -47,24 +47,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, c, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -97,14 +79,8 @@
buf1[align + len] = seek_char;
}
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd:", pos, align);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (char *) (buf1 + align), seek_char, len, result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-memcmp.c glibc-2.17-c758a686/string/test-memcmp.c
--- glibc-2.17-c758a686/string/test-memcmp.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-memcmp.c 2015-06-20 23:36:49.736443184 -0400
@@ -100,24 +100,6 @@
{
if (check_result (impl, s1, s2, len, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2, len);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -147,14 +129,8 @@
s2[len] = align2;
s2[len - 1] -= exp_result;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, len, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-memcpy.c glibc-2.17-c758a686/string/test-memcpy.c
--- glibc-2.17-c758a686/string/test-memcpy.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-memcpy.c 2015-06-20 23:36:49.736443184 -0400
@@ -68,24 +68,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, dst, src, len);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -108,14 +90,8 @@
for (i = 0, j = 1; i < len; i++, j += 23)
s1[i] = j;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, s1, len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-memmem.c glibc-2.17-c758a686/string/test-memmem.c
--- glibc-2.17-c758a686/string/test-memmem.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-memmem.c 2015-06-20 23:36:49.736443184 -0400
@@ -82,24 +82,6 @@
if (check_result (impl, haystack, haystack_len, needle, needle_len,
expected) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, haystack, haystack_len, needle, needle_len);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -110,16 +92,10 @@
memcpy (tmpbuf, buf1 + idx, len);
memcpy (buf1 + idx, str, len);
- if (HP_TIMING_AVAIL)
- printf ("String %s, offset %zd:", str, idx);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, buf1, BUF1PAGES * page_size, str, len, buf1 + idx);
memcpy (buf1 + idx, tmpbuf, len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
@@ -143,16 +119,10 @@
buf1[idx + off] = ch;
}
- if (HP_TIMING_AVAIL)
- printf ("String %.*s, offset %zd:", (int) len, buf1 + idx, idx);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, buf1, BUF1PAGES * page_size, buf1 + idx, len,
buf1 + idx);
- if (HP_TIMING_AVAIL)
- putchar ('\n');
-
memcpy (buf1 + idx, tmpbuf, len);
}
}
diff -urN glibc-2.17-c758a686/string/test-memmove.c glibc-2.17-c758a686/string/test-memmove.c
--- glibc-2.17-c758a686/string/test-memmove.c 2015-06-20 23:38:08.186095846 -0400
+++ glibc-2.17-c758a686/string/test-memmove.c 2015-06-20 23:36:49.737443154 -0400
@@ -91,28 +91,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
-#ifdef TEST_BCOPY
- CALL (impl, src, dst, len);
-#else
- CALL (impl, dst, src, len);
-#endif
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -135,14 +113,8 @@
for (i = 0, j = 1; i < len; i++, j += 23)
s1[i] = j;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, (char *) (buf2 + align1), s1, len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-memset.c glibc-2.17-c758a686/string/test-memset.c
--- glibc-2.17-c758a686/string/test-memset.c 2015-06-20 23:38:08.186095846 -0400
+++ glibc-2.17-c758a686/string/test-memset.c 2015-06-20 23:36:49.737443154 -0400
@@ -92,29 +92,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
-#ifdef TEST_BZERO
- CALL (impl, s, n);
-#else
- CALL (impl, s, c, n);
-#endif
-
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -124,14 +101,8 @@
if (align + len > page_size)
return;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (char *) buf1 + align, c, len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
#ifndef TEST_BZERO
diff -urN glibc-2.17-c758a686/string/test-rawmemchr.c glibc-2.17-c758a686/string/test-rawmemchr.c
--- glibc-2.17-c758a686/string/test-rawmemchr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-rawmemchr.c 2015-06-20 23:36:49.737443154 -0400
@@ -49,24 +49,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, c);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -93,14 +75,8 @@
buf1[align + len] = -seek_char;
result = (char *) (buf1 + align + pos);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd:", pos, align);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (char *) (buf1 + align), seek_char, result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strcasecmp.c glibc-2.17-c758a686/string/test-strcasecmp.c
--- glibc-2.17-c758a686/string/test-strcasecmp.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strcasecmp.c 2015-06-20 23:36:49.737443154 -0400
@@ -73,24 +73,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -129,14 +111,8 @@
else
s2[len - 1] -= exp_result;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strcasestr.c glibc-2.17-c758a686/string/test-strcasestr.c
--- glibc-2.17-c758a686/string/test-strcasestr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strcasestr.c 2015-06-20 23:36:49.737443154 -0400
@@ -78,24 +78,6 @@
{
if (check_result (impl, s1, s2, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~(hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
@@ -135,15 +117,8 @@
}
s1[len1] = '\0';
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
- len1, len2, align1, align2, fail ? "fail" : "found");
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strcat.c glibc-2.17-c758a686/string/test-strcat.c
--- glibc-2.17-c758a686/string/test-strcat.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strcat.c 2015-06-20 23:36:49.737443154 -0400
@@ -56,25 +56,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- dst[k] = '\0';
- HP_TIMING_NOW (start);
- CALL (impl, dst, src);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -101,17 +82,11 @@
for (i = 0; i < len2; i++)
s2[i] = 32 + 23 * i % (max_char - 32);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len1, len2, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
{
s2[len2] = '\0';
do_one_test (impl, s2, s1);
}
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strchr.c glibc-2.17-c758a686/string/test-strchr.c
--- glibc-2.17-c758a686/string/test-strchr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strchr.c 2015-06-20 23:36:49.737443154 -0400
@@ -107,24 +107,6 @@
{
if (check_result (impl, s, c, exp_res) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, c);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -160,15 +142,8 @@
else
result = NULLRET (buf + align + len);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment in bytes %2zd:",
- pos, align * sizeof (CHAR));
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, buf + align, seek_char, result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strcmp.c glibc-2.17-c758a686/string/test-strcmp.c
--- glibc-2.17-c758a686/string/test-strcmp.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strcmp.c 2015-06-20 23:36:49.737443154 -0400
@@ -161,24 +161,6 @@
{
if (check_result (impl, s1, s2, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -214,14 +196,8 @@
s2[len + 1] = 24 + exp_result;
s2[len - 1] -= exp_result;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strcpy.c glibc-2.17-c758a686/string/test-strcpy.c
--- glibc-2.17-c758a686/string/test-strcpy.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strcpy.c 2015-06-20 23:36:49.737443154 -0400
@@ -92,24 +92,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));;
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, dst, src);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -135,14 +117,8 @@
s1[i] = 32 + 23 * i % (max_char - 32);
s1[len] = 0;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignments in bytes %2zd/%2zd:", len, align1 * sizeof(CHAR), align2 * sizeof(CHAR));
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, s1, len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-string.h glibc-2.17-c758a686/string/test-string.h
--- glibc-2.17-c758a686/string/test-string.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-string.h 2015-06-20 21:48:02.050511490 -0400
@@ -1,5 +1,5 @@
/* Test and measure string and memory functions.
- Copyright (C) 1999-2012 Free Software Foundation, Inc.
+ Copyright (C) 1999-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Written by Jakub Jelinek , 1999.
@@ -53,7 +53,6 @@
#include
#define GL(x) _##x
#define GLRO(x) _##x
-#include
# define TEST_FUNCTION test_main ()
@@ -67,8 +66,6 @@
unsigned int seed;
size_t page_size;
-hp_timing_t _dl_hp_timing_overhead;
-
# ifndef ITERATIONS
size_t iterations = 100000;
# define ITERATIONS_OPTIONS \
@@ -107,7 +104,7 @@
#define CALL(impl, ...) \
(* (proto_t) (impl)->fn) (__VA_ARGS__)
-#if defined TEST_IFUNC && defined TEST_NAME
+#ifdef TEST_NAME
/* Increase size of FUNC_LIST if assert is triggered at run-time. */
static struct libc_ifunc_impl func_list[32];
static int func_count;
@@ -159,16 +156,6 @@
if (!notall || impl->test)
#endif
-#define HP_TIMING_BEST(best_time, start, end) \
- do \
- { \
- hp_timing_t tmptime; \
- HP_TIMING_DIFF (tmptime, start + _dl_hp_timing_overhead, end); \
- if (best_time > tmptime) \
- best_time = tmptime; \
- } \
- while (0)
-
#ifndef BUF1PAGES
# define BUF1PAGES 1
#endif
@@ -176,7 +163,7 @@
static void
test_init (void)
{
-#if defined TEST_IFUNC && defined TEST_NAME
+#ifdef TEST_NAME
func_count = __libc_ifunc_impl_list (TEST_NAME, func_list,
(sizeof func_list
/ sizeof func_list[0]));
@@ -199,7 +186,6 @@
error (EXIT_FAILURE, errno, "mmap failed");
if (mprotect (buf2 + page_size, page_size, PROT_NONE))
error (EXIT_FAILURE, errno, "mprotect failed");
- HP_TIMING_DIFF_INIT ();
if (do_srandom)
{
printf ("Setting seed to 0x%x\n", seed);
diff -urN glibc-2.17-c758a686/string/test-strlen.c glibc-2.17-c758a686/string/test-strlen.c
--- glibc-2.17-c758a686/string/test-strlen.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strlen.c 2015-06-20 23:36:59.693145264 -0400
@@ -72,24 +72,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -107,14 +89,8 @@
buf[align + i] = 1 + 11111 * i % MAX_CHAR;
buf[align + len] = 0;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd:", len, align);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (CHAR *) (buf + align), len);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strncasecmp.c glibc-2.17-c758a686/string/test-strncasecmp.c
--- glibc-2.17-c758a686/string/test-strncasecmp.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strncasecmp.c 2015-06-20 23:36:59.694145234 -0400
@@ -94,24 +94,6 @@
{
if (check_result (impl, s1, s2, n, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -150,14 +132,8 @@
else
s2[len - 1] -= exp_result;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd/%2zd:", len, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, n, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strncat.c glibc-2.17-c758a686/string/test-strncat.c
--- glibc-2.17-c758a686/string/test-strncat.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strncat.c 2015-06-20 23:36:59.694145234 -0400
@@ -67,24 +67,6 @@
ret = 1;
return;
}
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- dst[k] = '\0';
- HP_TIMING_NOW (start);
- CALL (impl, dst, src, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -114,18 +96,11 @@
for (i = 0; i < len2; i++)
s2[i] = 32 + 23 * i % (max_char - 32);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%4zd, alignment %2zd/%2zd, N %4zd:",
- len1, len2, align1, align2, n);
-
FOR_EACH_IMPL (impl, 0)
{
s2[len2] = '\0';
do_one_test (impl, s2, s1, n);
}
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strncmp.c glibc-2.17-c758a686/string/test-strncmp.c
--- glibc-2.17-c758a686/string/test-strncmp.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strncmp.c 2015-06-20 23:36:59.694145234 -0400
@@ -75,24 +75,6 @@
{
if (check_result (impl, s1, s2, n, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -106,15 +88,10 @@
{
s1 = (char*)(buf1 + page_size);
s2 = (char*)(buf2 + page_size);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%4zd:", len, n);
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, n, 0);
- if (HP_TIMING_AVAIL)
- putchar ('\n');
-
return;
}
@@ -144,14 +121,8 @@
s1[len] = 64;
}
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, n, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
@@ -189,14 +160,8 @@
if (len >= n)
s2[n - 1] -= exp_result;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%4zd, alignment %2zd/%2zd:", len, n, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (char*)s1, (char*)s2, n, exp_result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strncpy.c glibc-2.17-c758a686/string/test-strncpy.c
--- glibc-2.17-c758a686/string/test-strncpy.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strncpy.c 2015-06-20 23:36:59.695145204 -0400
@@ -90,24 +90,6 @@
return;
}
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute__ ((unused));
- hp_timing_t stop __attribute__ ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, dst, src, n);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -133,14 +115,8 @@
for (i = len + 1; i + align1 < page_size && i < len + 64; ++i)
s1[i] = 32 + 32 * i % (max_char - 32);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, n %4zd, alignment %2zd/%2zd:", len, n, align1, align2);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s2, s1, len, n);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strnlen.c glibc-2.17-c758a686/string/test-strnlen.c
--- glibc-2.17-c758a686/string/test-strnlen.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strnlen.c 2015-06-20 23:36:59.695145204 -0400
@@ -47,24 +47,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, maxlen);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -80,14 +62,8 @@
buf1[align + i] = 1 + 7 * i % max_char;
buf1[align + len] = 0;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd:", len, align);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (char *) (buf1 + align), maxlen, MIN (len, maxlen));
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strpbrk.c glibc-2.17-c758a686/string/test-strpbrk.c
--- glibc-2.17-c758a686/string/test-strpbrk.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strpbrk.c 2015-06-20 23:36:59.695145204 -0400
@@ -70,24 +70,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, rej);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -137,14 +119,8 @@
}
result = STRPBRK_RESULT (s, pos);
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd, rej len %2zd:", pos, align, len);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s, rej, result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strrchr.c glibc-2.17-c758a686/string/test-strrchr.c
--- glibc-2.17-c758a686/string/test-strrchr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strrchr.c 2015-06-20 23:36:59.695145204 -0400
@@ -73,24 +73,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, c);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -129,14 +111,8 @@
else
result = NULL;
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment in bytes %2zd:", pos, align * sizeof(CHAR));
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, (CHAR *) (buf + align), seek_char, result);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strspn.c glibc-2.17-c758a686/string/test-strspn.c
--- glibc-2.17-c758a686/string/test-strspn.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strspn.c 2015-06-20 23:36:59.696145174 -0400
@@ -74,24 +74,6 @@
ret = 1;
return;
}
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~ (hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s, acc);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
static void
@@ -129,14 +111,8 @@
s[i] = '\0';
}
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd, alignment %2zd, acc len %2zd:", pos, align, len);
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s, acc, pos);
-
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/string/test-strstr.c glibc-2.17-c758a686/string/test-strstr.c
--- glibc-2.17-c758a686/string/test-strstr.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/string/test-strstr.c 2015-06-20 23:36:59.696145174 -0400
@@ -77,24 +77,6 @@
{
if (check_result (impl, s1, s2, exp_result) < 0)
return;
-
- if (HP_TIMING_AVAIL)
- {
- hp_timing_t start __attribute ((unused));
- hp_timing_t stop __attribute ((unused));
- hp_timing_t best_time = ~(hp_timing_t) 0;
- size_t i;
-
- for (i = 0; i < 32; ++i)
- {
- HP_TIMING_NOW (start);
- CALL (impl, s1, s2);
- HP_TIMING_NOW (stop);
- HP_TIMING_BEST (best_time, start, stop);
- }
-
- printf ("\t%zd", (size_t) best_time);
- }
}
@@ -133,15 +115,9 @@
}
s1[len1] = '\0';
- if (HP_TIMING_AVAIL)
- printf ("Length %4zd/%zd, alignment %2zd/%2zd, %s:",
- len1, len2, align1, align2, fail ? "fail" : "found");
-
FOR_EACH_IMPL (impl, 0)
do_one_test (impl, s1, s2, fail ? NULL : s1 + len1 - len2);
- if (HP_TIMING_AVAIL)
- putchar ('\n');
}
static void
diff -urN glibc-2.17-c758a686/sysdeps/generic/hp-timing-common.h glibc-2.17-c758a686/sysdeps/generic/hp-timing-common.h
--- glibc-2.17-c758a686/sysdeps/generic/hp-timing-common.h 1969-12-31 19:00:00.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/generic/hp-timing-common.h 2015-06-20 21:34:49.496580235 -0400
@@ -0,0 +1,62 @@
+/* High precision, low overhead timing functions. Generic version.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper , 1998.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/* In case a platform supports timers in the hardware the following macros
+ and types must be defined:
+
+ - HP_TIMING_AVAIL: test for availability.
+
+ - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
+ implemented using function calls but instead uses some inlined code
+ which might simply consist of a few assembler instructions. We have to
+ know this since we might want to use the macros here in places where we
+ cannot make function calls.
+
+ - hp_timing_t: This is the type for variables used to store the time
+ values. This type must be integral.
+
+ - HP_TIMING_NOW: place timestamp for current time in variable given as
+ parameter.
+*/
+
+/* The target supports hp-timing. Share the common infrastructure. */
+
+#include
+#include
+#include <_itoa.h>
+
+/* Compute the difference between START and END, storing into DIFF. */
+#define HP_TIMING_DIFF(Diff, Start, End) ((Diff) = (End) - (Start))
+
+/* Accumulate ADD into SUM. No attempt is made to be thread-safe. */
+#define HP_TIMING_ACCUM_NT(Sum, Diff) ((Sum) += (Diff))
+
+/* Write a decimal representation of the timing value into the given string. */
+#define HP_TIMING_PRINT(Dest, Len, Val) \
+ do { \
+ char __buf[20]; \
+ char *__dest = (Dest); \
+ size_t __len = (Len); \
+ char *__cp = _itoa ((Val), __buf + sizeof (__buf), 10, 0); \
+ size_t __cp_len = MIN (__buf + sizeof (__buf) - __cp, __len); \
+ memcpy (__dest, __cp, __cp_len); \
+ memcpy (__dest + __cp_len, " cycles", \
+ MIN (__len - __cp_len, sizeof (" cycles"))); \
+ __dest[__len - 1] = '\0'; \
+ } while (0)
diff -urN glibc-2.17-c758a686/sysdeps/generic/hp-timing.h glibc-2.17-c758a686/sysdeps/generic/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/generic/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/generic/hp-timing.h 2015-06-20 21:36:22.190764717 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. Generic version.
- Copyright (C) 1998, 2000 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 1998.
@@ -20,59 +20,17 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-
/* There are no generic definitions for the times. We could write something
using the `gettimeofday' system call where available but the overhead of
- the system call might be too high.
-
- In case a platform supports timers in the hardware the following macros
- and types must be defined:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
+ the system call might be too high. */
/* Provide dummy definitions. */
#define HP_TIMING_AVAIL (0)
+#define HP_SMALL_TIMING_AVAIL (0)
#define HP_TIMING_INLINE (0)
typedef int hp_timing_t;
-#define HP_TIMING_ZERO(Var)
#define HP_TIMING_NOW(var)
-#define HP_TIMING_DIFF_INIT()
#define HP_TIMING_DIFF(Diff, Start, End)
-#define HP_TIMING_ACCUM(Sum, Diff)
#define HP_TIMING_ACCUM_NT(Sum, Diff)
#define HP_TIMING_PRINT(Buf, Len, Val)
diff -urN glibc-2.17-c758a686/sysdeps/generic/ldsodefs.h glibc-2.17-c758a686/sysdeps/generic/ldsodefs.h
--- glibc-2.17-c758a686/sysdeps/generic/ldsodefs.h 2015-06-20 23:38:08.609083190 -0400
+++ glibc-2.17-c758a686/sysdeps/generic/ldsodefs.h 2015-06-20 22:07:15.207493957 -0400
@@ -315,7 +315,7 @@
/* The object to be initialized first. */
EXTERN struct link_map *_dl_initfirst;
-#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL
+#if HP_SMALL_TIMING_AVAIL
/* Start time on CPU clock. */
EXTERN hp_timing_t _dl_cpuclock_offset;
#endif
@@ -538,11 +538,6 @@
/* All search directories defined at startup. */
EXTERN struct r_search_path_elem *_dl_init_all_dirs;
-#if HP_TIMING_AVAIL || HP_SMALL_TIMING_AVAIL
- /* Overhead of a high-precision timing measurement. */
- EXTERN hp_timing_t _dl_hp_timing_overhead;
-#endif
-
#ifdef NEED_DL_SYSINFO
/* Syscall handling improvements. This is very specific to x86. */
EXTERN uintptr_t _dl_sysinfo;
diff -urN glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.c glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,23 +0,0 @@
-/* Support for high precision, low overhead timing functions. i686 version.
- Copyright (C) 1998, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper , 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.h glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/i386/i686/hp-timing.h 2015-06-20 23:03:58.919192570 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. i686 version.
- Copyright (C) 1998, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 1998-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 1998.
@@ -20,62 +20,9 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-
-/* The macros defined here use the timestamp counter in i586 and up versions
- of the x86 processors. They provide a very accurate way to measure the
- time with very little overhead. The time values themself have no real
- meaning, only differences are interesting.
-
- This version is for the i686 processors. The difference to the i586
- version is that the timerstamp register is unconditionally used. This is
- not the case for the i586 version where we have to perform runtime test
- whether the processor really has this capability. We have to make this
- distinction since the sysdeps/i386/i586 code is supposed to work on all
- platforms while the i686 already contains i686-specific code.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
-
/* We always assume having the timestamp register. */
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
/* We indeed have inlined functions. */
#define HP_TIMING_INLINE (1)
@@ -83,9 +30,6 @@
/* We use 64bit values for the times. */
typedef unsigned long long int hp_timing_t;
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
/* That's quite simple. Use the `rdtsc' instruction. Note that the value
might not be 100% accurate since there might be some more instructions
running in this moment. This could be changed by using a barrier like
@@ -93,64 +37,6 @@
in accurate clock cycles here so we don't do this. */
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("rdtsc" : "=A" (Var))
-/* Use two 'rdtsc' instructions in a row to find out how long it takes. */
-#define HP_TIMING_DIFF_INIT() \
- do { \
- if (GLRO(dl_hp_timing_overhead) == 0) \
- { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } \
- } while (0)
-
-/* It's simple arithmetic for us. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* We have to jump through hoops to get this correctly implemented. */
-#define HP_TIMING_ACCUM(Sum, Diff) \
- do { \
- int __not_done; \
- hp_timing_t __oldval = (Sum); \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- do \
- { \
- hp_timing_t __newval = __oldval + __diff; \
- int __temp0, __temp1; \
- __asm__ __volatile__ ("xchgl %0, %%ebx\n\t" \
- "lock; cmpxchg8b %1\n\t" \
- "sete %%bl\n\t" \
- "xchgl %0, %%ebx" \
- : "=SD" (__not_done), "=m" (Sum), \
- "=A" (__oldval), "=c" (__temp0) \
- : "m" (Sum), "2" (__oldval), \
- "3" ((unsigned int) (__newval >> 32)), \
- "0" ((unsigned int) __newval)); \
- } \
- while ((unsigned char) __not_done); \
- } while (0)
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- size_t __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/i386/i686/Makefile glibc-2.17-c758a686/sysdeps/i386/i686/Makefile
--- glibc-2.17-c758a686/sysdeps/i386/i686/Makefile 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/i386/i686/Makefile 2015-06-20 21:22:16.306457831 -0400
@@ -1,8 +1,3 @@
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
# So that we can test __m128's alignment
stack-align-test-flags += -msse
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/hp-timing.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/hp-timing.h 1969-12-31 19:00:00.000000000 -0500
@@ -1,81 +0,0 @@
-/* High precision, low overhead timing functions. Linux/PPC32 version.
- Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#ifndef _HP_TIMING_H
-#define _HP_TIMING_H 1
-
-
-/* There are no generic definitions for the times. We could write something
- using the `gettimeofday' system call where available but the overhead of
- the system call might be too high.
-
- In case a platform supports timers in the hardware the following macros
- and types must be defined:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
-
-/* Provide dummy definitions. */
-#define HP_TIMING_AVAIL (0)
-#define HP_TIMING_INLINE (0)
-typedef unsigned long long int hp_timing_t;
-#define HP_TIMING_ZERO(Var)
-#define HP_TIMING_NOW(var)
-#define HP_TIMING_DIFF_INIT()
-#define HP_TIMING_DIFF(Diff, Start, End)
-#define HP_TIMING_ACCUM(Sum, Diff)
-#define HP_TIMING_ACCUM_NT(Sum, Diff)
-#define HP_TIMING_PRINT(Buf, Len, Val)
-
-/* Since this implementation is not available we tell the user about it. */
-#define HP_TIMING_NONAVAIL 1
-
-#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.c glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,24 +0,0 @@
-/* Support for high precision, low overhead timing functions.
- powerpc64 version.
- Copyright (C) 2005, 2008 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper , 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h 2015-06-20 23:38:08.326091657 -0400
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc32/power4/hp-timing.h 2015-06-20 21:38:56.874066681 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. powerpc64 version.
- Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 1998.
@@ -20,55 +20,9 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-#include
-
-/* The macros defined here use the powerpc 64-bit time base register.
- The time base is nominally clocked at 1/8th the CPU clock, but this
- can vary.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
-
/* We always assume having the timestamp register. */
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
/* We indeed have inlined functions. */
#define HP_TIMING_INLINE (1)
@@ -76,13 +30,10 @@
/* We use 64bit values for the times. */
typedef unsigned long long int hp_timing_t;
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
/* That's quite simple. Use the `mftb' instruction. Note that the value
might not be 100% accurate since there might be some more instructions
running in this moment. This could be changed by using a barrier like
- 'lwsync' right before the `mftb' instruciton. But we are not interested
+ 'lwsync' right before the `mftb' instruction. But we are not interested
in accurate clock cycles here so we don't do this. */
#define HP_TIMING_NOW(Var) \
@@ -98,51 +49,6 @@
Var = ((hp_timing_t) hi << 32) | lo; \
} while (0)
-
-/* Use two 'mftb' instructions in a row to find out how long it takes.
- On current POWER4, POWER5, and 970 processors mftb take ~10 cycles. */
-#define HP_TIMING_DIFF_INIT() \
- do { \
- if (GLRO(dl_hp_timing_overhead) == 0) \
- { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } \
- } while (0)
-
-/* It's simple arithmetic in 64-bit. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* We need to insure that this add is atomic in threaded environments. We use
- __arch_atomic_exchange_and_add_64 from atomic.h to get thread safety. */
-#define HP_TIMING_ACCUM(Sum, Diff) \
- do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- __arch_atomic_exchange_and_add_64 (&(Sum), __diff); \
- } while (0)
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- size_t __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " ticks", MIN (__len, sizeof (" ticks"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.c glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,24 +0,0 @@
-/* Support for high precision, low overhead timing functions.
- powerpc64 version.
- Copyright (C) 2005 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper , 1998.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.h glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/hp-timing.h 2015-06-20 21:42:32.315524442 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. powerpc64 version.
- Copyright (C) 2005, 2008 Free Software Foundation, Inc.
+ Copyright (C) 2005-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper , 1998.
@@ -20,55 +20,9 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-#include
-
-/* The macros defined here use the powerpc 64-bit time base register.
- The time base is nominally clocked at 1/8th the CPU clock, but this
- can vary.
-
- The list of macros we need includes the following:
-
- - HP_TIMING_AVAIL: test for availability.
-
- - HP_TIMING_INLINE: this macro is non-zero if the functionality is not
- implemented using function calls but instead uses some inlined code
- which might simply consist of a few assembler instructions. We have to
- know this since we might want to use the macros here in places where we
- cannot make function calls.
-
- - hp_timing_t: This is the type for variables used to store the time
- values.
-
- - HP_TIMING_ZERO: clear `hp_timing_t' object.
-
- - HP_TIMING_NOW: place timestamp for current time in variable given as
- parameter.
-
- - HP_TIMING_DIFF_INIT: do whatever is necessary to be able to use the
- HP_TIMING_DIFF macro.
-
- - HP_TIMING_DIFF: compute difference between two times and store it
- in a third. Source and destination might overlap.
-
- - HP_TIMING_ACCUM: add time difference to another variable. This might
- be a bit more complicated to implement for some platforms as the
- operation should be thread-safe and 64bit arithmetic on 32bit platforms
- is not.
-
- - HP_TIMING_ACCUM_NT: this is the variant for situations where we know
- there are no threads involved.
-
- - HP_TIMING_PRINT: write decimal representation of the timing value into
- the given string. This operation need not be inline even though
- HP_TIMING_INLINE is specified.
-
-*/
-
/* We always assume having the timestamp register. */
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
/* We indeed have inlined functions. */
#define HP_TIMING_INLINE (1)
@@ -76,13 +30,10 @@
/* We use 64bit values for the times. */
typedef unsigned long long int hp_timing_t;
-/* Set timestamp value to zero. */
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
/* That's quite simple. Use the `mftb' instruction. Note that the value
might not be 100% accurate since there might be some more instructions
running in this moment. This could be changed by using a barrier like
- 'lwsync' right before the `mftb' instruciton. But we are not interested
+ 'lwsync' right before the `mftb' instruction. But we are not interested
in accurate clock cycles here so we don't do this. */
#ifdef _ARCH_PWR4
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("mfspr %0,268" : "=r" (Var))
@@ -90,50 +41,6 @@
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("mftb %0" : "=r" (Var))
#endif
-/* Use two 'mftb' instructions in a row to find out how long it takes.
- On current POWER4, POWER5, and 970 processors mftb take ~10 cycles. */
-#define HP_TIMING_DIFF_INIT() \
- do { \
- if (GLRO(dl_hp_timing_overhead) == 0) \
- { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } \
- } while (0)
-
-/* It's simple arithmetic in 64-bit. */
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-/* We need to insure that this add is atomic in threaded environments. We use
- __arch_atomic_exchange_and_add_64 from atomic.h to get thread safety. */
-#define HP_TIMING_ACCUM(Sum, Diff) \
- do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- __arch_atomic_exchange_and_add_64 (&(Sum), __diff); \
- } while (0)
-
-/* No threads, no extra work. */
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-/* Print the time value. */
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- size_t __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " ticks", MIN (__len, sizeof (" ticks"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/Makefile glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/Makefile
--- glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/Makefile 2015-06-20 23:38:08.082098958 -0400
+++ glibc-2.17-c758a686/sysdeps/powerpc/powerpc64/Makefile 2015-06-20 21:22:16.306457831 -0400
@@ -37,11 +37,6 @@
CFLAGS-libc-start.c += -fno-asynchronous-unwind-tables
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
ifeq ($(subdir),elf)
# help gcc inline asm code from dl-machine.h
+cflags += -finline-limit=2000
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.c glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,23 +0,0 @@
-/* Support for high precision, low overhead timing functions. sparcv9 version.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller , 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.h glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/hp-timing.h 2015-06-20 21:43:48.754203254 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparcv9 version.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller , 2001.
@@ -20,67 +20,17 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
#define HP_TIMING_INLINE (1)
typedef unsigned long long int hp_timing_t;
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
#define HP_TIMING_NOW(Var) \
__asm__ __volatile__ ("rd %%tick, %L0\n\t" \
"srlx %L0, 32, %H0" \
: "=r" (Var))
-#define HP_TIMING_DIFF_INIT() \
- do { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } while (0)
-
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-#define HP_TIMING_ACCUM(Sum, Diff) \
-do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- __asm__ __volatile__("srl %L0, 0, %%g1\n\t" \
- "sllx %H0, 32, %%g6\n\t" \
- "or %%g1, %%g6, %%g1\n\t" \
- "1: ldx [%1], %%g5\n\t" \
- "add %%g5, %%g1, %%g6\n\t" \
- "casx [%1], %%g5, %%g6\n\t" \
- "cmp %%g5, %%g6\n\t" \
- "bne,pn %%xcc, 1b\n\t" \
- " nop" \
- : /* no outputs */ \
- : "r" (__diff), "r" (&(Sum)) \
- : "memory", "g1", "g5", "g6"); \
-} while(0)
-
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/Makefile glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/Makefile
--- glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/Makefile 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc32/sparcv9/Makefile 2015-06-20 21:22:16.307457801 -0400
@@ -1,10 +1,5 @@
sysdep-CFLAGS += -mcpu=ultrasparc -Wa,-Av9a
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
ifeq ($(have-as-vis3),yes)
ASFLAGS-.o += -Wa,-Av9d
ASFLAGS-.os += -Wa,-Av9d
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.c glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,23 +0,0 @@
-/* Support for high precision, low overhead timing functions. sparc64 version.
- Copyright (C) 2001, 2002 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by David S. Miller , 2001.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- . */
-
-#include
-
-/* We have to define the variable for the overhead. */
-hp_timing_t _dl_hp_timing_overhead;
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.h glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc64/hp-timing.h 2015-06-20 21:48:51.809000490 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. sparc64 version.
- Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Copyright (C) 2001-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David S. Miller , 2001.
@@ -20,62 +20,14 @@
#ifndef _HP_TIMING_H
#define _HP_TIMING_H 1
-#include
-#include
-#include <_itoa.h>
-
#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
#define HP_TIMING_INLINE (1)
typedef unsigned long int hp_timing_t;
-#define HP_TIMING_ZERO(Var) (Var) = (0)
-
#define HP_TIMING_NOW(Var) __asm__ __volatile__ ("rd %%tick, %0" : "=r" (Var))
-#define HP_TIMING_DIFF_INIT() \
- do { \
- int __cnt = 5; \
- GLRO(dl_hp_timing_overhead) = ~0ull; \
- do \
- { \
- hp_timing_t __t1, __t2; \
- HP_TIMING_NOW (__t1); \
- HP_TIMING_NOW (__t2); \
- if (__t2 - __t1 < GLRO(dl_hp_timing_overhead)) \
- GLRO(dl_hp_timing_overhead) = __t2 - __t1; \
- } \
- while (--__cnt > 0); \
- } while (0)
-
-#define HP_TIMING_DIFF(Diff, Start, End) (Diff) = ((End) - (Start))
-
-#define HP_TIMING_ACCUM(Sum, Diff) \
-do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- hp_timing_t tmp1, tmp2; \
- __asm__ __volatile__("1: ldx [%3], %0\n\t" \
- "add %0, %2, %1\n\t" \
- "casx [%3], %0, %1\n\t" \
- "cmp %0, %1\n\t" \
- "bne,pn %%xcc, 1b\n\t" \
- " nop" \
- : "=&r" (tmp1), "=&r" (tmp2) \
- : "r" (__diff), "r" (&(Sum)) \
- : "memory", "g1", "g5", "g6"); \
-} while(0)
-
-#define HP_TIMING_ACCUM_NT(Sum, Diff) (Sum) += (Diff)
-
-#define HP_TIMING_PRINT(Buf, Len, Val) \
- do { \
- char __buf[20]; \
- char *__cp = _itoa (Val, __buf + sizeof (__buf), 10, 0); \
- int __len = (Len); \
- char *__dest = (Buf); \
- while (__len-- > 0 && __cp < __buf + sizeof (__buf)) \
- *__dest++ = *__cp++; \
- memcpy (__dest, " clock cycles", MIN (__len, sizeof (" clock cycles"))); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/sparc/sparc64/Makefile glibc-2.17-c758a686/sysdeps/sparc/sparc64/Makefile
--- glibc-2.17-c758a686/sysdeps/sparc/sparc64/Makefile 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/sparc/sparc64/Makefile 2015-06-20 21:22:16.307457801 -0400
@@ -1,8 +1,3 @@
-ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
-endif
-
ifeq ($(subdir),string)
sysdep_routines += align-cpy
endif
diff -urN glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.c glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.c
--- glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.c 1969-12-31 19:00:00.000000000 -0500
@@ -1,2 +0,0 @@
-/* We can use the i686 implementation without changes. */
-#include
diff -urN glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.h glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.h
--- glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.h 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/sysdeps/x86_64/hp-timing.h 2015-06-20 21:43:09.403398207 -0400
@@ -1,5 +1,5 @@
/* High precision, low overhead timing functions. x86-64 version.
- Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
+ Copyright (C) 2002-2015 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -17,24 +17,24 @@
. */
#ifndef _HP_TIMING_H
+#define _HP_TIMING_H 1
-/* We can use some of the i686 implementation without changes. */
-# include
+/* We always assume having the timestamp register. */
+#define HP_TIMING_AVAIL (1)
+#define HP_SMALL_TIMING_AVAIL (1)
+
+/* We indeed have inlined functions. */
+#define HP_TIMING_INLINE (1)
+
+/* We use 64bit values for the times. */
+typedef unsigned long long int hp_timing_t;
/* The "=A" constraint used in 32-bit mode does not work in 64-bit mode. */
-# undef HP_TIMING_NOW
-# define HP_TIMING_NOW(Var) \
+#define HP_TIMING_NOW(Var) \
({ unsigned int _hi, _lo; \
asm volatile ("rdtsc" : "=a" (_lo), "=d" (_hi)); \
(Var) = ((unsigned long long int) _hi << 32) | _lo; })
-/* The funny business for 32-bit mode is not required here. */
-# undef HP_TIMING_ACCUM
-# define HP_TIMING_ACCUM(Sum, Diff) \
- do { \
- hp_timing_t __diff = (Diff) - GLRO(dl_hp_timing_overhead); \
- __asm__ __volatile__ ("lock; addq %1, %0" \
- : "=m" (Sum) : "r" (__diff), "m" (Sum)); \
- } while (0)
+#include
#endif /* hp-timing.h */
diff -urN glibc-2.17-c758a686/sysdeps/x86_64/Makefile glibc-2.17-c758a686/sysdeps/x86_64/Makefile
--- glibc-2.17-c758a686/sysdeps/x86_64/Makefile 2015-06-20 23:38:08.530085553 -0400
+++ glibc-2.17-c758a686/sysdeps/x86_64/Makefile 2015-06-20 21:22:16.307457801 -0400
@@ -2,8 +2,6 @@
long-double-fcts = yes
ifeq ($(subdir),csu)
-sysdep_routines += hp-timing
-elide-routines.os += hp-timing
gen-as-const-headers += link-defines.sym
endif
diff -urN glibc-2.17-c758a686/test-skeleton.c glibc-2.17-c758a686/test-skeleton.c
--- glibc-2.17-c758a686/test-skeleton.c 2012-12-24 22:02:13.000000000 -0500
+++ glibc-2.17-c758a686/test-skeleton.c 2015-06-20 21:22:16.307457801 -0400
@@ -18,8 +18,10 @@
. */
#include
+#include
#include
#include
+#include
#include
#include
#include
@@ -194,6 +196,32 @@
exit (1);
}
+/* Set fortification error handler. Used when tests want to verify that bad
+ code is caught by the library. */
+static void
+__attribute__ ((unused))
+set_fortify_handler (void (*handler) (int sig))
+{
+ struct sigaction sa;
+
+ sa.sa_handler = handler;
+ sa.sa_flags = 0;
+ sigemptyset (&sa.sa_mask);
+
+ sigaction (SIGABRT, &sa, NULL);
+
+ /* Avoid all the buffer overflow messages on stderr. */
+ int fd = open (_PATH_DEVNULL, O_WRONLY);
+ if (fd == -1)
+ close (STDERR_FILENO);
+ else
+ {
+ dup2 (fd, STDERR_FILENO);
+ close (fd);
+ }
+ setenv ("LIBC_FATAL_STDERR_", "1", 1);
+}
+
/* We provide the entry point here. */
int
main (int argc, char *argv[])