blob: daf60ed8dbb808a94d9ce048bca5355b16f73bca [file] [log] [blame]
var sinh_data = [
[-497.181640625, -6.902103625349695],
[-495.216552734375, -6.898143347143859],
[-488.0980224609375, -6.883664481302669],
[-486.4609375, -6.880304842490273],
[-482.2261962890625, -6.871561546509046],
[-468.167236328125, -6.841973895837549],
[-465.553955078125, -6.836376331805493],
[-464.288330078125, -6.833654100575195],
[-463.558837890625, -6.8320816635009045],
[-453.82861328125, -6.8108680173663085],
[-448.7835693359375, -6.799689165151487],
[-446.0499267578125, -6.793579326246197],
[-432.4046630859375, -6.762510387544996],
[-424.145751953125, -6.743225720989222],
[-402.8682861328125, -6.691758395994307],
[-402.4595947265625, -6.690743430063694],
[-390.1383056640625, -6.6596501292114505],
[-387.5355224609375, -6.652956360641761],
[-381.0023193359375, -6.635954365364267],
[-374.8172607421875, -6.619587562578274],
[-374.1033935546875, -6.617681179427804],
[-373.01318359375, -6.614762741096185],
[-370.0938720703125, -6.60690568753706],
[-364.5230712890625, -6.591738907156094],
[-361.3756103515625, -6.583066984213974],
[-358.1136474609375, -6.573999516974134],
[-350.8861083984375, -6.553610904389896],
[-350.7060546875, -6.553097634736138],
[-345.5616455078125, -6.538320325468202],
[-342.386962890625, -6.529090881007076],
[-341.9425048828125, -6.527791927233787],
[-337.3883056640625, -6.514383886150781],
[-328.8133544921875, -6.488639771044976],
[-326.1348876953125, -6.480460592697477],
[-313.12744140625, -6.439759999015992],
[-311.6180419921875, -6.434927968512049],
[-303.40478515625, -6.4082177348965725],
[-291.9320068359375, -6.369671035834965],
[-289.791015625, -6.362310184909175],
[-288.07568359375, -6.356373428913315],
[-282.76220703125, -6.337756593913614],
[-278.9659423828125, -6.32424009706147],
[-276.1881103515625, -6.314232650754295],
[-269.843994140625, -6.290994606392703],
[-256.47509765625, -6.240182555852785],
[-248.91619873046875, -6.2102675039793604],
[-245.71783447265625, -6.197335184435549],
[-244.9049072265625, -6.194021350132335],
[-242.49176025390625, -6.184119163536406],
[-223.97491455078125, -6.104686221071835],
[-223.0770263671875, -6.100669325836893],
[-221.50177001953125, -6.093582856519022],
[-214.1610107421875, -6.0598807500687935],
[-202.9705810546875, -6.0062142965262515],
[-200.1683349609375, -5.9923121073369945],
[-198.0869140625, -5.981859446096083],
[-191.8330078125, -5.9497792165852905],
[-183.4495849609375, -5.90509449745879],
[-182.9005126953125, -5.902097012275789],
[-167.5517578125, -5.8144483910067954],
[-162.87738037109375, -5.786154254111214],
[-159.6142578125, -5.765917008989405],
[-150.01629638671875, -5.703902219845274],
[-148.34051513671875, -5.6926689504460395],
[-147.23760986328125, -5.685206387751923],
[-143.65484619140625, -5.660572815631807],
[-138.70599365234375, -5.625516713960633],
[-119.55416870117188, -5.476934234171879],
[-118.44155883789062, -5.467584665632571],
[-112.7041015625, -5.417932675603434],
[-111.43020629882812, -5.406565756574079],
[-107.77297973632812, -5.373195678988387],
[-107.6795654296875, -5.3723285712183735],
[-105.091796875, -5.348004040102253],
[-101.261474609375, -5.31087758970896],
[-95.79150390625, -5.255348419702703],
[-91.26885986328125, -5.206986845736275],
[-87.33349609375, -5.162914035396619],
[-78.23873901367188, -5.052952927749896],
[-77.912353515625, -5.048772883924985],
[-76.83489990234375, -5.034848487644809],
[-61.255645751953125, -4.808269821238499],
[-54.41380310058594, -4.689849459883311],
[-43.967193603515625, -4.476720236388958],
[-42.01084899902344, -4.431216695067421],
[-30.609375, -4.114720236218123],
[-26.711166381835938, -3.9785790831656023],
[-25.241317749023438, -3.9220215830953484],
[-14.624359130859375, -3.3770026324620295],
[-12.431087493896484, -3.214961448471211],
[-10.235607147216797, -3.021397455139021],
[-9.41094970703125, -2.937831931335705],
[-1.635939121246338, -1.267878515574959],
[1.6504814008555524e-12, 1.6504814008555524e-12],
[2.0654207510961697e-12, 2.0654207510961697e-12],
[6.933230031758164e-12, 6.933230031758164e-12],
[1.3351444949627478e-11, 1.3351444949627478e-11],
[1.6399812063916386e-11, 1.6399812063916386e-11],
[5.730159402528301e-11, 5.730159402528301e-11],
[1.113731329382972e-10, 1.113731329382972e-10],
[1.4214707189097453e-10, 1.4214707189097453e-10],
[3.8006320313144215e-10, 3.8006320313144215e-10],
[6.09162720266454e-10, 6.09162720266454e-10],
[1.0221641311147778e-9, 1.0221641311147778e-9],
[2.8819222563924995e-9, 2.8819222563924995e-9],
[4.7627768395841485e-9, 4.7627768395841485e-9],
[8.854133426439148e-9, 8.854133426439148e-9],
[2.3050326092288742e-8, 2.305032609228874e-8],
[5.9392490925347374e-8, 5.939249092534734e-8],
[1.166764889148908e-7, 1.1667648891489053e-7],
[2.3799674409019644e-7, 2.379967440901942e-7],
[4.684659415943315e-7, 4.6846594159431437e-7],
[9.382699772686465e-7, 9.382699772685088e-7],
[0.00000110398559627356, 0.0000011039855962733358],
[0.0000032917760108830407, 0.000003291776010877096],
[0.00000751721381675452, 0.000007517213816683722],
[0.000015114666894078255, 0.000015114666893502755],
[0.00002986399340443313, 0.00002986399339999406],
[0.00003387028118595481, 0.000033870281179478836],
[0.00009066011989489198, 0.00009066011977069884],
[0.00021949532674625516, 0.00021949532498377364],
[0.00043952150736004114, 0.00043952149320897676],
[0.0006333151832222939, 0.0006333151408864353],
[0.001115123275667429, 0.0011151230445582744],
[0.001962467096745968, 0.0019624658370807177],
[0.005553754046559334, 0.005553725496786973],
[0.008691128343343735, 0.008691018931968294],
[0.02993336319923401, 0.02992889492062484],
[0.05124260485172272, 0.05122020579778827],
[0.11201295256614685, 0.1117800293787828],
[0.23480379581451416, 0.23269806521543376],
[0.4898730516433716, 0.4721357117742938],
[0.7518312931060791, 0.694611571189336],
[1.655740737915039, 1.2781607348262256],
[3.5958566665649414, 1.9917262343245115],
[3.662705421447754, 2.009484184971722],
[4.142845153808594, 2.128787712416205],
[5.957065582275391, 2.4846967934155475],
[10.890350341796875, 3.083125584533294],
[27.3714599609375, 4.002981567623351],
[29.58606719970703, 4.080736210902826],
[30.79753875732422, 4.120845430011113],
[38.78157043457031, 4.351258506393416],
[46.88148498535156, 4.540883728536112],
[47.21551513671875, 4.547981853382592],
[47.2205810546875, 4.5480891170767],
[49.72361755371094, 4.599728302509061],
[61.557464599609375, 4.8131842711857535],
[67.82162475585938, 4.910082619934558],
[68.82363891601562, 4.924747230639767],
[73.75466918945312, 4.993937439635391],
[80.95669555664062, 5.087099712053554],
[85.26406860351562, 5.1389346970196295],
[85.2677001953125, 5.138977285472121],
[92.8238525390625, 5.223879832616765],
[94.50357055664062, 5.241812789460327],
[116.044677734375, 5.447141014648796],
[123.77554321289062, 5.511633288238573],
[132.3592529296875, 5.578681289305598],
[139.7633056640625, 5.633110296634631],
[143.9609375, 5.662701238627725],
[146.31298828125, 5.678906941005323],
[155.0980224609375, 5.737214893086866],
[155.47784423828125, 5.739660763047893],
[155.74066162109375, 5.741349685869528],
[163.60546875, 5.790614371552514],
[178.735107421875, 5.879059869096351],
[179.70269775390625, 5.884458728291027],
[179.81976318359375, 5.885109945587401],
[181.3594970703125, 5.893636014368936],
[194.82861328125, 5.965274032538233],
[195.23284912109375, 5.967346683696556],
[199.07666015625, 5.986843466070591],
[205.77423095703125, 6.019932686217942],
[206.04608154296875, 6.021252909681261],
[209.36480712890625, 6.037231102920489],
[210.703857421875, 6.043606439928324],
[215.2139892578125, 6.06478541011501],
[225.83892822265625, 6.112974120371601],
[226.95465087890625, 6.117902255760311],
[232.79864501953125, 6.1433256889594094],
[240.647216796875, 6.176483527820343],
[243.1324462890625, 6.186757751007361],
[251.26702880859375, 6.219667373726848],
[253.72906494140625, 6.229418088083555],
[254.6866455078125, 6.233184983047428],
[257.2001953125, 6.243005711460192],
[257.7401123046875, 6.245102704489327],
[261.731201171875, 6.260468857392134],
[263.75, 6.268152459140511],
[265.5167236328125, 6.2748285545831655],
[273.9171142578125, 6.305976070434008],
[278.897705078125, 6.32399546069982],
[279.167236328125, 6.324961403980197],
[292.207275390625, 6.370613506132747],
[293.5975341796875, 6.375359978930309],
[293.9749755859375, 6.3766447200146],
[295.1998291015625, 6.380802563199264],
[297.2799072265625, 6.387824152942429],
[297.9285888671875, 6.390003820200831],
[298.1058349609375, 6.3905985680679],
[300.2803955078125, 6.397866642974941],
[307.531005859375, 6.421725738171608],
[308.1754150390625, 6.423818963102848],
[309.7344970703125, 6.428865255911759],
[314.2847900390625, 6.443449261058927],
[314.7236328125, 6.444844602076255],
[320.8406982421875, 6.464094341970107],
[321.2459716796875, 6.465356699668166],
[321.9031982421875, 6.467400466944125],
[323.457763671875, 6.472218114936839],
[330.82861328125, 6.4947499213823265],
[335.008544921875, 6.507305446835735],
[340.7171630859375, 6.524202033435675],
[348.4677734375, 6.546694993078936],
[349.1292724609375, 6.548591493378012],
[372.4288330078125, 6.613194950203132],
[376.7574462890625, 6.6247505436339065],
[378.4306640625, 6.629181796246806],
[390.9031982421875, 6.6616087711302185],
[405.7918701171875, 6.698989091751707],
[407.3646240234375, 6.702857353572475],
[413.3758544921875, 6.717505881986416],
[415.7354736328125, 6.723197804327891],
[417.193603515625, 6.726699007993023],
[420.874755859375, 6.735483889307782],
[429.2635498046875, 6.755219602793124],
[429.756103515625, 6.756366380816258],
[433.9931640625, 6.766177290841293],
[434.0106201171875, 6.766217511883346],
[440.073974609375, 6.780091308338912],
[450.2220458984375, 6.802889310303153],
[455.017578125, 6.813484439494547],
[457.1668701171875, 6.818196843455478],
[457.5068359375, 6.818940201487998],
[459.2913818359375, 6.822833193143805],
[459.492431640625, 6.82327083544577],
[459.743896484375, 6.823817951018],
[464.888427734375, 6.834945773756887],
[464.96630859375, 6.835113285253827],
[467.6949462890625, 6.840964582694129],
[468.86767578125, 6.84346890521034],
[470.5927734375, 6.847141429556457],
[481.109619140625, 6.869243403190376],
[487.4595947265625, 6.882355637062964],
[488.521484375, 6.884531678915821],
[492.8812255859375, 6.89341643293734],
[494.0684814453125, 6.895822338701104],
[496.4613037109375, 6.900653737167637],
[716.154052734375, 7.2670429692740965],
[1799.92578125, 8.188647968122073],
[3564.845703125, 8.872023251113289],
[7139.869140625, 9.566596912986167],
[12081.22265625, 10.092554861905608],
[22810.2421875, 10.728112113864427],
[46598.96875, 11.442480870715618],
[108493.375, 12.28759157077177],
[153860.8125, 12.636950838344218],
[307019.5, 13.327813723030063],
[682577.25, 14.126778167009777],
[1788919, 15.090269265334971],
[3769169, 15.835512291283944],
[4327820, 15.973721689554742],
[11044024, 16.910547205715446],
[21423208, 17.573132558903225],
[62828288, 18.649063156437965],
[70207360, 18.760110887365155],
[154231424, 19.547111966180875],
[294509056, 20.193967491567523],
[1070557184, 21.484592263156223],
[1957922816, 22.088297141021556],
[3912507392, 22.780591462699917],
[7279233024, 23.401438520318692],
[9665245184, 23.684949498080787],
[22627590144, 24.5355829820426],
[60601991168, 25.520740767599584],
[134018236416, 26.31438890085422],
[204864946176, 26.73876398039979],
[284346286080, 27.06660583008718],
[914576637952, 28.234874284944635],
[1581915832320, 28.78280496108106]
];
var sloppy_tolerance = 1000; // FIXME
for (var [x, y] of sinh_data)
assertNear(Math.asinh(x), y, sloppy_tolerance);
assertNear(Math.asinh(1e300), 691.4686750787737, sloppy_tolerance);
assertNear(Math.asinh(1e-300), 1e-300, sloppy_tolerance);
assertNear(Math.asinh(1e-5), 0.000009999999999833334, sloppy_tolerance);
assertNear(Math.asinh(0.3), 0.29567304756342244, sloppy_tolerance);
assertNear(Math.asinh(1), 0.881373587019543, sloppy_tolerance);
for (var i = 0; i <= 80; i++) {
var x = (i - 40) / 4;
assertNear(Math.asinh(Math.sinh(x)), x, sloppy_tolerance);
}
for (var i = -20; i < 20; i++)
assertNear(Math.asinh(Math.sinh(i)), i, sloppy_tolerance);
reportCompare(0, 0, "ok");