mirror of
https://github.com/exaloop/codon.git
synced 2025-06-03 15:03:52 +08:00
106 lines
74 KiB
Python
106 lines
74 KiB
Python
# Copyright (C) 2022-2025 Exaloop Inc. <https://exaloop.io>
|
|
|
|
@pure
|
|
@llvm
|
|
def ki_double(idx: int) -> u64:
|
|
@data = private unnamed_addr constant [256 x i64] [i64 4208095142473578, i64 0, i64 3387314423973544, i64 3838760076542274, i64 4030768804392682, i64 4136731738896254, i64 4203757248105145, i64 4249917568205994, i64 4283617341590296, i64 4309289223136604, i64 4329489775174550, i64 4345795907393188, i64 4359232558744730, i64 4370494503737299, i64 4380069246215646, i64 4388308869042394, i64 4395473957549321, i64 4401761481783924, i64 4407323076021240, i64 4412277362218204, i64 4416718463613199, i64 4420722014516422, i64 4424349484777079, i64 4427651345409294, i64 4430669422005229, i64 4433438668975191, i64 4435988524278344, i64 4438343955930065, i64 4440526279077425, i64 4442553800234660, i64 4444442329865861, i64 4446205593658138, i64 4447855565093316, i64 4449402736340121, i64 4450856340408624, i64 4452224534496486, i64 4453514552210512, i64 4454732830656798, i64 4455885117109368, i64 4456976558985043, i64 4458011780094444, i64 4458994945550386, i64 4459929817254120, i64 4460819801517196, i64 4461667990089170, i64 4462477195632268, i64 4463249982500384, i64 4463988693531856, i64 4464695473445501, i64 4465372289331869, i64 4466020948651920, i64 4466643115089764, i64 4467240322552142, i64 4467813987562542, i64 4468365420260672, i64 4468895834186994, i64 4469406355006040, i64 4469898028300364, i64 4470371826548633, i64 4470828655385770, i64 4471269359229841, i64 4471694726349190, i64 4472105493433674, i64 4472502349725738, i64 4472885940759935, i64 4473256871753524, i64 4473615710685532, i64 4473962991097124, i64 4474299214642296, i64 4474624853414418, i64 4474940352071305, i64 4475246129778808, i64 4475542581990776, i64 4475830082081194, i64 4476108982842610, i64 4476379617863426, i64 4476642302795321, i64 4476897336520866, i64 4477145002230339, i64 4477385568415884, i64 4477619289790266, i64 4477846408136804, i64 4478067153096380, i64 4478281742896886, i64 4478490385029917, i64 4478693276879082, i64 4478890606303906, i64 4479082552182886, i64 4479269284918997, i64 4479450966910588, i64 4479627752990372, i64 4479799790834988, i64 4479967221347354, i64 4480130179013872, i64 4480288792238368, i64 4480443183654460, i64 4480593470417939, i64 4480739764480586, i64 4480882172846772, i64 4481020797814010, i64 4481155737198612, i64 4481287084547452, i64 4481414929336784, i64 4481539357158974, i64 4481660449897960, i64 4481778285894165, i64 4481892940099539, i64 4482004484223382, i64 4482112986869492, i64 4482218513665204, i64 4482321127382802, i64 4482420888053758, i64 4482517853076245, i64 4482612077316275, i64 4482703613202871, i64 4482792510817576, i64 4482878817978627, i64 4482962580320076, i64 4483043841366126, i64 4483122642600925, i64 4483199023534056, i64 4483273021761922, i64 4483344673025224, i64 4483414011262724, i64 4483481068661428, i64 4483545875703378, i64 4483608461209170, i64 4483668852378323, i64 4483727074826624, i64 4483783152620564, i64 4483837108308932, i64 4483888962951686, i64 4483938736146144, i64 4483986446050596, i64 4484032109405372, i64 4484075741551420, i64 4484117356446452, i64 4484156966678662, i64 4484194583478081, i64 4484230216725550, i64 4484263874959345, i64 4484295565379450, i64 4484325293849474, i64 4484353064896186, i64 4484378881706674, i64 4484402746123075, i64 4484424658634833, i64 4484444618368474, i64 4484462623074794, i64 4484478669113436, i64 4484492751434740, i64 4484504863558830, i64 4484514997551788, i64 4484523143998833, i64 4484529291974394, i64 4484533429008906, i64 4484535541052219, i64 4484535612433424, i64 4484533625816926, i64 4484529562154580, i64 4484523400633636, i64 4484515118620291, i64 4484504691598554, i64 4484492093104164, i64 4484477294653230, i64 4484460265665252, i64 4484440973380154, i64 4484419382768918, i64 4484395456437370, i64 4484369154522621, i64 4484340434581640, i64 4484309251471359, i64 4484275557219678, i64 4484239300886654, i64 4484200428415112, i64 4484158882469814, i64 4484114602264271, i64 4484067523374160, i64 4484017577536216, i64 4483964692431365, i64 4483908791450714, i64 4483849793442887, i64 4483787612441036, i64 4483722157367660, i64 4483653331715198, i64 4483581033200083, i64 4483505153387764, i64 4483425577285833, i64 4483342182902157, i64 4483254840764470, i64 4483163413397547, i64 4483067754753536, i64 4482967709590562, i64 4482863112794072, i64 4482753788634692, i64 4482639549955636, i64 4482520197281720, i64 4482395517841076, i64 4482265284489409, i64 4482129254525304, i64 4481987168383486, i64 4481838748191074, i64 4481683696169781, i64 4481521692864464, i64 4481352395175570, i64 4481175434169564, i64 4480990412637506, i64 4480796902367134, i64 4480594441088331, i64 4480382529045225, i64 4480160625140311, i64 4479928142586662, i64 4479684443993061, i64 4479428835793398, i64 4479160561915451, i64 4478878796564388, i64 4478582635972392, i64 4478271088936406, i64 4477943065929958, i64 4477597366530538, i64 4477232664848704, i64 4476847492576192, i64 4476440219183781, i64 4476009028690434, i64 4475551892286424, i64 4475066535915646, i64 4474550401693506, i64 4474000601739904, i64 4473413862618200, i64 4472786458058295, i64 4472114126959004, i64 4471391972746494, i64 4470614338917719, i64 4469774653883156, i64 4468865235838896, i64 4467877045039530, i64 4466799366045354, i64 4465619395558397, i64 4464321701199635, i64 4462887501169282, i64 4461293691124341, i64 4459511507635972, i64 4457504658253067, i64 4455226650325010, i64 4452616884242348, i64 4449594783440798, i64 4446050695647666, i64 4441831266659618, i64 4436714892174061, i64 4430368316897338, i64 4422264825074740, i64 4411517007702132, i64 4396496531309976, i64 4373832704204284, i64 4335125104963628, i64 4251099761679434], align 16
|
|
%p = getelementptr inbounds [256 x i64], ptr @data, i64 0, i64 %idx
|
|
%x = load i64, ptr %p, align 8
|
|
ret i64 %x
|
|
|
|
@pure
|
|
@llvm
|
|
def wi_double(idx: int) -> float:
|
|
@data = private unnamed_addr constant [256 x double] [double 0x3CCF493B7815D979, double 0x3C8B8D0BE3FDF6C6, double 0x3C9250AF3C2C5BB4, double 0x3C957CB938443B61, double 0x3C9801FCE82FA70C, double 0x3C9A230C2E4CD0BC, double 0x3C9C004D2F3861F7, double 0x3C9DAC2F5A747274, double 0x3C9F32482D4CD5C3, double 0x3CA04D32278EBBAD, double 0x3CA0F5053B025D43, double 0x3CA192A697413677, double 0x3CA227A28F7A1AF5, double 0x3CA2B52E3863D880, double 0x3CA33C3FC05791F5, double 0x3CA3BD9EC1A2B12F, double 0x3CA439EF8DFF9B55, double 0x3CA4B1BB363DFEA7, double 0x3CA52575621AD374, double 0x3CA59580A707CE96, double 0x3CA60231CFD97EEA, double 0x3CA66BD261A37C3D, double 0x3CA6D2A292000570, double 0x3CA736DAD346F8A6, double 0x3CA798AD10B32A77, double 0x3CA7F845AD46F543, double 0x3CA855CC53430A77, double 0x3CA8B1649E7B769A, double 0x3CA90B2EA94ECF98, double 0x3CA96347822C1EEA, double 0x3CA9B9C98E38C546, double 0x3CAA0ECCDCA4A72C, double 0x3CAA62676D77CD59, double 0x3CAAB4AD6E101630, double 0x3CAB05B16D136C9C, double 0x3CAB558487427A29, double 0x3CABA4368E529F3A, double 0x3CABF1D62ABF8232, double 0x3CAC3E70F9594EF3, double 0x3CAC8A13A5323B61, double 0x3CACD4C9FE72268B, double 0x3CAD1E9F0E80B748, double 0x3CAD679D29E41F10, double 0x3CADAFCE0023B8C3, double 0x3CADF73AA9F17653, double 0x3CAE3DEBB5D2EDFE, double 0x3CAE83E9337A6F00, double 0x3CAEC93ABDF982CE, double 0x3CAF0DE784F06226, double 0x3CAF51F654D8F688, double 0x3CAF956D9E87D7AE, double 0x3CAFD8537DFA2EAC, double 0x3CB00D56E04234EC, double 0x3CB02E40F5398F9A, double 0x3CB04EEA9E16A5FC, double 0x3CB06F565B72A010, double 0x3CB08F869071F40B, double 0x3CB0AF7D84BC6113, double 0x3CB0CF3D664BCC7F, double 0x3CB0EEC84B16086B, double 0x3CB10E20329515EE, double 0x3CB12D4707310FBE, double 0x3CB14C3E9F8E9141, double 0x3CB16B08BFC4201E, double 0x3CB189A71A78DA34, double 0x3CB1A81B51EE6D88, double 0x3CB1C666F8F82ACB, double 0x3CB1E48B93E0D42E, double 0x3CB2028A9940A09F, double 0x3CB2206572C4C6E9, double 0x3CB23E1D7DE9C31F, double 0x3CB25BB40CA96BFB, double 0x3CB2792A661DD37F, double 0x3CB29681C719D71B, double 0x3CB2B3BB62B82EDA, double 0x3CB2D0D862E1B853, double 0x3CB2EDD9E8CBA98E, double 0x3CB30AC10D6E48D7, double 0x3CB3278EE1F4B930, double 0x3CB3444470265EA1, double 0x3CB360E2BACA52D5, double 0x3CB37D6ABE05586A, double 0x3CB399DD6FB2B264, double 0x3CB3B63BBFB83D03, double 0x3CB3D28698561DE0, double 0x3CB3EEBEDE725A83, double 0x3CB40AE571E09E74, double 0x3CB426FB2DA6745D, double 0x3CB44300E83C30A4, double 0x3CB45EF773CAC75D, double 0x3CB47ADF9E66C336, double 0x3CB496BA32488F2F, double 0x3CB4B287F602415D, double 0x3CB4CE49ACB311DC, double 0x3CB4EA001638A605, double 0x3CB505ABEF5E5562, double 0x3CB5214DF20A8B5A, double 0x3CB53CE6D56A664F, double 0x3CB558774E1BB2C8, double 0x3CB574000E555F78, double 0x3CB58F81C60E8514, double 0x3CB5AAFD23241B59, double 0x3CB5C672D17D733D, double 0x3CB5E1E37B2F8CD3, double 0x3CB5FD4FC89F5E38, double 0x3CB618B860A31FC3, double 0x3CB6341DE8A2B0A2, double 0x3CB64F8104B7260B, double 0x3CB66AE257C99672, double 0x3CB6864283B13137, double 0x3CB6A1A22950B2B1, double 0x3CB6BD01E8B343BB, double 0x3CB6D8626128D352, double 0x3CB6F3C43161F854, double 0x3CB70F27F78B68EB, double 0x3CB72A8E516914C6, double 0x3CB745F7DC70EEDC, double 0x3CB7616535E5731F, double 0x3CB77CD6FAEFF449, double 0x3CB7984DC8BABD93, double 0x3CB7B3CA3C8B1409, double 0x3CB7CF4CF3DB22FB, double 0x3CB7EAD68C73DEE7, double 0x3CB80667A486EA1F, double 0x3CB82200DAC88676, double 0x3CB83DA2CE899F15, double 0x3CB8594E1FD1F5BD, double 0x3CB875036F7A7EC5, double 0x3CB890C35F47F72D, double 0x3CB8AC8E9205C043, double 0x3CB8C865ABA10C9C, double 0x3CB8E44951446A27, double 0x3CB9003A2973B58F, double 0x3CB91C38DC288347, double 0x3CB9384612EF0AFC, double 0x3CB954627903A28A, double 0x3CB9708EBB70D5EE, double 0x3CB98CCB892E2A31, double 0x3CB9A919933F99BF, double 0x3CB9C5798CD5D92C, double 0x3CB9E1EC2B6F7411, double 0x3CB9FE7226FAD24A, double 0x3CBA1B0C39F93692, double 0x3CBA37BB21A2C85B, double 0x3CBA547F9E0BBB88, double 0x3CBA715A724AA9A4, double 0x3CBA8E4C64A0313D, double 0x3CBAAB563E9FF108, double 0x3CBAC878CD5AF5CE, double 0x3CBAE5B4E18BB336, double 0x3CBB030B4FC3A11A, double 0x3CBB207CF09A985B, double 0x3CBB3E0AA0E00C00, double 0x3CBB5BB541CE3D03, double 0x3CBB797DB93F8927, double 0x3CBB9764F1E5F73C, double 0x3CBBB56BDB85256E, double 0x3CBBD3936B2EC0A2, double 0x3CBBF1DC9B81AE83, double 0x3CBC10486CEC16A0, double 0x3CBC2ED7E5F07A2D, double 0x3CBC4D8C136E0D1C, double 0x3CBC6C6608EC8705, double 0x3CBC8B66E0EBA617, double 0x3CBCAA8FBD36A2AB, double 0x3CBCC9E1C73BD690, double 0x3CBCE95E3068E037, double 0x3CBD0906328B8F6E, double 0x3CBD28DB1037EF20, double 0x3CBD48DE1533C647, double 0x3CBD691096E7F123, double 0x3CBD8973F4D7FBA5, double 0x3CBDAA0999206E70, double 0x3CBDCAD2F8FC490E, double 0x3CBDEBD195522E37, double 0x3CBE0D06FB49D21C, double 0x3CBE2E74C4EA46F6, double 0x3CBE501C99C1D188, double 0x3CBE72002F97FE25, double 0x3CBE94214B2ABF0A, double 0x3CBEB681C0F76F08, double 0x3CBED9237610A73A, double 0x3CBEFC086101ECA9, double 0x3CBF1F328AC25321, double 0x3CBF42A40FB74D6D, double 0x3CBF665F20C90168, double 0x3CBF8A6604899782, double 0x3CBFAEBB187122BF, double 0x3CBFD360D22FE785, double 0x3CBFF859C118F60B, double 0x3CC00ED447D3A075, double 0x3CC021A8028FC947, double 0x3CC034A983A902AB, double 0x3CC047DA4E3EF5C7, double 0x3CC05B3BF6ADB37E, double 0x3CC06ED023A72668, double 0x3CC082988F632E17, double 0x3CC0969708E8A254, double 0x3CC0AACD7571C0C4, double 0x3CC0BF3DD1EED448, double 0x3CC0D3EA34AA3D30, double 0x3CC0E8D4CF116593, double 0x3CC0FDFFEFA69FB6, double 0x3CC1136E04207041, double 0x3CC129219BBB5D35, double 0x3CC13F1D69C4096D, double 0x3CC1556448602E3B, double 0x3CC16BF93B9DEEF3, double 0x3CC182DF74D21261, double 0x3CC19A1A564EEBAC, double 0x3CC1B1AD777F2F8E, double 0x3CC1C99CA971A694, double 0x3CC1E1EBFBE4AE39, double 0x3CC1FA9FC2E2D901, double 0x3CC213BC9D04CC81, double 0x3CC22D477A6FD3EE, double 0x3CC24745A4AC9C24, double 0x3CC261BCC77658E0, double 0x3CC27CB2FAA8592E, double 0x3CC2982ECD770E78, double 0x3CC2B437532A0A52, double 0x3CC2D0D43196DB97, double 0x3CC2EE0DB1A978F5, double 0x3CC30BECD256AEEE, double 0x3CC32A7B5E68A4A3, double 0x3CC349C405AE12A3, double 0x3CC369D27A33A840, double 0x3CC38AB39256410A, double 0x3CC3AC7570AE88FA, double 0x3CC3CF27B31704A6, double 0x3CC3F2DBAA60F475, double 0x3CC417A49CB9E5DA, double 0x3CC43D9815545E94, double 0x3CC464CE44A73A15, double 0x3CC48D62759C43BC, double 0x3CC4B7739D6B5A27, double 0x3CC4E3250DCD8902, double 0x3CC5109F53E9AC41, double 0x3CC54011523A7E42, double 0x3CC571B1A94AE41B, double 0x3CC5A5C08B718DD9, double 0x3CC5DC8A243AD0FE, double 0x3CC61669CF861E4C, double 0x3CC653CE7B006AEA, double 0x3CC69540BE9FE5C3, double 0x3CC6DB6B8D09E232, double 0x3CC72728F05F7A34, double 0x3CC7799556090673, double 0x3CC7D42DF4D6CE8C, double 0x3CC839030529F234, double 0x3CC8AB0FBFAA7C14, double 0x3CC92EE0946F4496, double 0x3CC9CBEE014057AB, double 0x3CCA8FDC7894775A, double 0x3CCB981F3878FDB1, double 0x3CCD3BB48209AD33], align 16
|
|
%p = getelementptr inbounds [256 x double], ptr @data, i64 0, i64 %idx
|
|
%x = load double, ptr %p, align 8
|
|
ret double %x
|
|
|
|
@pure
|
|
@llvm
|
|
def fi_double(idx: int) -> float:
|
|
@data = private unnamed_addr constant [256 x double] [double 1.000000e+00, double 0x3FEF446AC979F087, double 0x3FEEB7545B6CA915, double 0x3FEE3F11E027F077, double 0x3FEDD36FA704DE95, double 0x3FED70920657BCF2, double 0x3FED144978A119DC, double 0x3FECBD33A8A72DEB, double 0x3FEC6A5ECEA9787F, double 0x3FEC1B1CD9EEBAEA, double 0x3FEBCEEB4EE1DC82, double 0x3FEB85653A8FF552, double 0x3FEB3E3A8234DD10, double 0x3FEAF92A3F6CE8A2, double 0x3FEAB5FEF17A2504, double 0x3FEA748BD550C9E1, double 0x3FEA34AAFDF5AF0F, double 0x3FE9F63BEE651FD8, double 0x3FE9B9228D240681, double 0x3FE97D4657617AC1, double 0x3FE94291C21B7A47, double 0x3FE908F1BD31714F, double 0x3FE8D0554FE60AA8, double 0x3FE898AD48BADF02, double 0x3FE861EBFC37BCAC, double 0x3FE82C050F56CF6E, double 0x3FE7F6ED4B20E2CB, double 0x3FE7C29A779C6858, double 0x3FE78F033CA0B0D5, double 0x3FE75C1F0770D856, double 0x3FE729E5F43F6D12, double 0x3FE6F850BAEA7AEE, double 0x3FE6C7589E635A89, double 0x3FE696F75E513B2A, double 0x3FE667272A92E323, double 0x3FE637E298550C18, double 0x3FE6092498802665, double 0x3FE5DAE86F4AFF6A, double 0x3FE5AD29ACC85C89, double 0x3FE57FE4264C8D8F, double 0x3FE55313F08D9E46, double 0x3FE526B55A656CD5, double 0x3FE4FAC4E820B667, double 0x3FE4CF3F4F494EC0, double 0x3FE4A42172DC5278, double 0x3FE479685FDF5012, double 0x3FE44F114A493679, double 0x3FE425198A355FE3, double 0x3FE3FB7E99585B82, double 0x3FE3D23E10AF31A3, double 0x3FE3A955A662CD0E, double 0x3FE380C32BDA00D5, double 0x3FE358848BF550E9, double 0x3FE33097C9703A35, double 0x3FE308FAFD6438EF, double 0x3FE2E1AC55EA3BEE, double 0x3FE2BAAA14D7954A, double 0x3FE293F28E93CD15, double 0x3FE26D84290504ED, double 0x3FE2475D5A90DB84, double 0x3FE2217CA92FF7F2, double 0x3FE1FBE0A9929620, double 0x3FE1D687FE549969, double 0x3FE1B171573FD111, double 0x3FE18C9B709B3C50, double 0x3FE16805128639DA, double 0x3FE143AD105EA99C, double 0x3FE11F9248311F38, double 0x3FE0FBB3A2325913, double 0x3FE0D810104142A0, double 0x3FE0B4A68D70D9AE, double 0x3FE091761D995D81, double 0x3FE06E7DCCF03C36, double 0x3FE04BBCAFA63F2E, double 0x3FE02931E18B822A, double 0x3FE006DC85B8CAC4, double 0x3FDFC9778C7BBDA1, double 0x3FDF859DA7A900CA, double 0x3FDF4229CB2F7AF3, double 0x3FDEFF1A717E8F95, double 0x3FDEBC6E20BD1F54, double 0x3FDE7A236A4EC3C5, double 0x3FDE3838EA5F9B85, double 0x3FDDF6AD47763A09, double 0x3FDDB57F320B56B1, double 0x3FDD74AD6426DE33, double 0x3FDD3436A1021080, double 0x3FDCF419B4AE5B6D, double 0x3FDCB45573C0A848, double 0x3FDC74E8BB00D7C7, double 0x3FDC35D26F1D2CB8, double 0x3FDBF7117C616A17, double 0x3FDBB8A4D6716D91, double 0x3FDB7A8B7807131B, double 0x3FDB3CC462B331CA, double 0x3FDAFF4E9EA18552, double 0x3FDAC2293A5F5A9E, double 0x3FDA85534AA4D880, double 0x3FDA48CBEA20C04D, double 0x3FDA0C923946843E, double 0x3FD9D0A55E1E93DF, double 0x3FD995048418C0C6, double 0x3FD959AEDBE09F93, double 0x3FD91EA39B33CB17, double 0x3FD8E3E1FCB9F115, double 0x3FD8A9693FDE9188, double 0x3FD86F38A8AC5AB6, double 0x3FD8354F7FAA0DD9, double 0x3FD7FBAD11B8D911, double 0x3FD7C250AFF414B0, double 0x3FD78939AF9252EB, double 0x3FD7506769C7B1ED, double 0x3FD717D93BA9614C, double 0x3FD6DF8E86124CAA, double 0x3FD6A786AD88DE21, double 0x3FD66FC11A25CBE2, double 0x3FD6383D377BE515, double 0x3FD600FA7480D2C8, double 0x3FD5C9F84376C244, double 0x3FD5933619D6EEBE, double 0x3FD55CB3703D0100, double 0x3FD5266FC2533BED, double 0x3FD4F06A8EBF6D92, double 0x3FD4BAA357109CA2, double 0x3FD485199FAD6AD4, double 0x3FD44FCCEFC324FE, double 0x3FD41ABCD1357A19, double 0x3FD3E5E8D08ED2DB, double 0x3FD3B1507CF143AE, double 0x3FD37CF368081379, double 0x3FD348D125F9D19E, double 0x3FD314E94D5AF62F, double 0x3FD2E13B77210766, double 0x3FD2ADC73E963FDD, double 0x3FD27A8C414DB11E, double 0x3FD2478A1F17DE89, double 0x3FD214C079F7CC9E, double 0x3FD1E22EF6188116, double 0x3FD1AFD539C2F050, double 0x3FD17DB2ED5454E8, double 0x3FD14BC7BB34EE67, double 0x3FD11A134FCF2423, double 0x3FD0E895598709C4, double 0x3FD0B74D88B242DA, double 0x3FD0863B8F904336, double 0x3FD0555F2242E9D9, double 0x3FD024B7F6C7747E, double 0x3FCFE88B89DF93C5, double 0x3FCF88108CB83235, double 0x3FCF27FE6CE998D2, double 0x3FCEC854A4C99C44, double 0x3FCE6912B2283CDD, double 0x3FCE0A3816457184, double 0x3FCDABC455C7900A, double 0x3FCD4DB6F8B2514F, double 0x3FCCF00F8A5E6FCC, double 0x3FCC92CD9971DF53, double 0x3FCC35F0B7D89D47, double 0x3FCBD9787ABE18A1, double 0x3FCB7D647A8731AA, double 0x3FCB21B452CCD13A, double 0x3FCAC667A2571807, double 0x3FCA6B7E0B19267E, double 0x3FCA10F7322D7E3D, double 0x3FC9B6D2BFD2FE5A, double 0x3FC95D105F6A7C27, double 0x3FC903AFBF74FA69, double 0x3FC8AAB09192815B, double 0x3FC852128A819A38, double 0x3FC7F9D5621F7175, double 0x3FC7A1F8D368A323, double 0x3FC74A7C9C7AB5A6, double 0x3FC6F3607E964716, double 0x3FC69CA43E21F25C, double 0x3FC64647A2ADF19C, double 0x3FC5F04A76F883F9, double 0x3FC59AAC88F31D6C, double 0x3FC5456DA9C86835, double 0x3FC4F08DADE31FC1, double 0x3FC49C0C6CF5CE2D, double 0x3FC447E9C20375D5, double 0x3FC3F4258B6931AE, double 0x3FC3A0BFAAE8D7EE, double 0x3FC34DB805B4AB88, double 0x3FC2FB0E847C2A65, double 0x3FC2A8C3137A071A, double 0x3FC256D5A2835EB7, double 0x3FC2054625183C34, double 0x3FC1B41492757D42, double 0x3FC16340E5A82D63, double 0x3FC112CB1DA26EB9, double 0x3FC0C2B33D5209BA, double 0x3FC072F94BB8BF85, double 0x3FC0239D54067D2A, double 0x3FBFA93ECB6B222C, double 0x3FBF0BFF29520E1C, double 0x3FBE6F7BF29AA54B, double 0x3FBDD3B56176E88F, double 0x3FBD38ABB9BD91E5, double 0x3FBC9E5F493B740A, double 0x3FBC04D0680B1015, double 0x3FBB6BFF78F2E233, double 0x3FBAD3ECE9CAF633, double 0x3FBA3C9933EA6286, double 0x3FB9A604DC9D5B19, double 0x3FB9103075A4A0AB, double 0x3FB87B1C9DBF2852, double 0x3FB7E6CA013EEFD6, double 0x3FB753395AAA1176, double 0x3FB6C06B73694A4C, double 0x3FB62E6124854D18, double 0x3FB59D1B577466A4, double 0x3FB50C9B06FA2BAE, double 0x3FB47CE1401B2213, double 0x3FB3EDEF23269A86, double 0x3FB35FC5E4D93E70, double 0x3FB2D266CF9B3111, double 0x3FB245D344DD0D91, double 0x3FB1BA0CBE97897D, double 0x3FB12F14D0F2179D, double 0x3FB0A4ED2C159625, double 0x3FB01B979E30E497, double 0x3FAF262C2B6C6E35, double 0x3FAE16D547B25181, double 0x3FAD092EFEADF162, double 0x3FABFD3E0F282A2C, double 0x3FAAF30790385F70, double 0x3FA9EA90F9295563, double 0x3FA8E3E02A68B5AB, double 0x3FA7DEFB77AF271E, double 0x3FA6DBE9B398D064, double 0x3FA5DAB23CF2ADD4, double 0x3FA4DB5D0E11275D, double 0x3FA3DDF2CE98EECB, double 0x3FA2E27CE83DF497, double 0x3FA1E9059F1F6ABC, double 0x3FA0F1982E968011, double 0x3F9FF881D718A5C4, double 0x3F9E121ADB828C75, double 0x3F9C301983CD091A, double 0x3F9A529F4E22EBF8, double 0x3F9879D1B600C10A, double 0x3F96A5DAF40BBF82, double 0x3F94D6EAF2FBB064, double 0x3F930D388DAB5E13, double 0x3F91490334603012, double 0x3F8F152A4F72DD49, double 0x3F8BA48D274F8FAC, double 0x3F8841040D8DA478, double 0x3F84EB96421ACFE0, double 0x3F81A59229952F92, double 0x3F7CE160F8EC6837, double 0x3F769EA8D90CB85D, double 0x3F708A1F03B0B1FD, double 0x3F655F9F43C1B067, double 0x3F54A605B6B9F70F], align 16
|
|
%p = getelementptr inbounds [256 x double], ptr @data, i64 0, i64 %idx
|
|
%x = load double, ptr %p, align 8
|
|
ret double %x
|
|
|
|
@pure
|
|
@llvm
|
|
def ki_float(idx: int) -> u32:
|
|
@data = private unnamed_addr constant [256 x i32] [i32 7838188, i32 0, i32 6309365, i32 7150248, i32 7507892, i32 7705263, i32 7830108, i32 7916088, i32 7978859, i32 8026677, i32 8064303, i32 8094676, i32 8119703, i32 8140680, i32 8158515, i32 8173862, i32 8187208, i32 8198920, i32 8209279, i32 8218507, i32 8226779, i32 8234236, i32 8240993, i32 8247143, i32 8252765, i32 8257923, i32 8262673, i32 8267060, i32 8271125, i32 8274901, i32 8278419, i32 8281703, i32 8284777, i32 8287658, i32 8290366, i32 8292914, i32 8295317, i32 8297586, i32 8299733, i32 8301766, i32 8303694, i32 8305525, i32 8307267, i32 8308924, i32 8310504, i32 8312012, i32 8313451, i32 8314827, i32 8316143, i32 8317404, i32 8318612, i32 8319771, i32 8320884, i32 8321952, i32 8322979, i32 8323967, i32 8324918, i32 8325834, i32 8326716, i32 8327567, i32 8328388, i32 8329180, i32 8329946, i32 8330685, i32 8331399, i32 8332090, i32 8332759, i32 8333405, i32 8334032, i32 8334638, i32 8335226, i32 8335795, i32 8336348, i32 8336883, i32 8337403, i32 8337907, i32 8338396, i32 8338871, i32 8339332, i32 8339781, i32 8340216, i32 8340639, i32 8341050, i32 8341450, i32 8341838, i32 8342216, i32 8342584, i32 8342941, i32 8343289, i32 8343628, i32 8343957, i32 8344277, i32 8344589, i32 8344893, i32 8345188, i32 8345476, i32 8345756, i32 8346028, i32 8346293, i32 8346552, i32 8346803, i32 8347048, i32 8347286, i32 8347518, i32 8347743, i32 8347963, i32 8348176, i32 8348384, i32 8348586, i32 8348783, i32 8348974, i32 8349160, i32 8349340, i32 8349516, i32 8349686, i32 8349852, i32 8350012, i32 8350169, i32 8350320, i32 8350467, i32 8350609, i32 8350747, i32 8350880, i32 8351009, i32 8351134, i32 8351255, i32 8351372, i32 8351484, i32 8351592, i32 8351697, i32 8351797, i32 8351894, i32 8351987, i32 8352076, i32 8352161, i32 8352242, i32 8352319, i32 8352393, i32 8352463, i32 8352530, i32 8352592, i32 8352651, i32 8352707, i32 8352758, i32 8352807, i32 8352851, i32 8352892, i32 8352929, i32 8352963, i32 8352992, i32 8353019, i32 8353041, i32 8353060, i32 8353075, i32 8353087, i32 8353094, i32 8353098, i32 8353099, i32 8353095, i32 8353087, i32 8353076, i32 8353060, i32 8353041, i32 8353017, i32 8352990, i32 8352958, i32 8352922, i32 8352882, i32 8352837, i32 8352788, i32 8352735, i32 8352677, i32 8352614, i32 8352547, i32 8352474, i32 8352397, i32 8352314, i32 8352227, i32 8352134, i32 8352035, i32 8351931, i32 8351821, i32 8351705, i32 8351583, i32 8351455, i32 8351320, i32 8351179, i32 8351031, i32 8350876, i32 8350713, i32 8350543, i32 8350364, i32 8350178, i32 8349983, i32 8349780, i32 8349567, i32 8349345, i32 8349112, i32 8348870, i32 8348616, i32 8348352, i32 8348075, i32 8347786, i32 8347485, i32 8347169, i32 8346840, i32 8346495, i32 8346135, i32 8345758, i32 8345363, i32 8344949, i32 8344516, i32 8344062, i32 8343586, i32 8343087, i32 8342562, i32 8342010, i32 8341430, i32 8340819, i32 8340175, i32 8339496, i32 8338778, i32 8338020, i32 8337217, i32 8336365, i32 8335461, i32 8334500, i32 8333476, i32 8332383, i32 8331214, i32 8329962, i32 8328617, i32 8327168, i32 8325604, i32 8323910, i32 8322070, i32 8320062, i32 8317864, i32 8315447, i32 8312776, i32 8309807, i32 8306487, i32 8302749, i32 8298506, i32 8293645, i32 8288016, i32 8281415, i32 8273555, i32 8264025, i32 8252204, i32 8237110, i32 8217091, i32 8189113, i32 8146898, i32 8074800, i32 7918290], align 16
|
|
%p = getelementptr inbounds [256 x i32], ptr @data, i64 0, i64 %idx
|
|
%x = load i32, ptr %p, align 8
|
|
ret i32 %x
|
|
|
|
@pure
|
|
@llvm
|
|
def wi_float(idx: int) -> float32:
|
|
@data = private unnamed_addr constant [256 x float] [float 0x3E9F493B80000000, float 0x3E5B8D0BE0000000, float 0x3E6250AF40000000, float 0x3E657CB940000000, float 0x3E6801FCE0000000, float 0x3E6A230C20000000, float 0x3E6C004D20000000, float 0x3E6DAC2F60000000, float 0x3E6F324820000000, float 0x3E704D3220000000, float 0x3E70F50540000000, float 0x3E7192A6A0000000, float 0x3E7227A280000000, float 0x3E72B52E40000000, float 0x3E733C3FC0000000, float 0x3E73BD9EC0000000, float 0x3E7439EF80000000, float 0x3E74B1BB40000000, float 0x3E75257560000000, float 0x3E759580A0000000, float 0x3E760231C0000000, float 0x3E766BD260000000, float 0x3E76D2A2A0000000, float 0x3E7736DAE0000000, float 0x3E7798AD20000000, float 0x3E77F845A0000000, float 0x3E7855CC60000000, float 0x3E78B164A0000000, float 0x3E790B2EA0000000, float 0x3E79634780000000, float 0x3E79B9C980000000, float 0x3E7A0ECCE0000000, float 0x3E7A626760000000, float 0x3E7AB4AD60000000, float 0x3E7B05B160000000, float 0x3E7B558480000000, float 0x3E7BA43680000000, float 0x3E7BF1D620000000, float 0x3E7C3E7100000000, float 0x3E7C8A13A0000000, float 0x3E7CD4CA00000000, float 0x3E7D1E9F00000000, float 0x3E7D679D20000000, float 0x3E7DAFCE00000000, float 0x3E7DF73AA0000000, float 0x3E7E3DEBC0000000, float 0x3E7E83E940000000, float 0x3E7EC93AC0000000, float 0x3E7F0DE780000000, float 0x3E7F51F660000000, float 0x3E7F956DA0000000, float 0x3E7FD85380000000, float 0x3E800D56E0000000, float 0x3E802E4100000000, float 0x3E804EEAA0000000, float 0x3E806F5660000000, float 0x3E808F86A0000000, float 0x3E80AF7D80000000, float 0x3E80CF3D60000000, float 0x3E80EEC840000000, float 0x3E810E2040000000, float 0x3E812D4700000000, float 0x3E814C3EA0000000, float 0x3E816B08C0000000, float 0x3E8189A720000000, float 0x3E81A81B60000000, float 0x3E81C66700000000, float 0x3E81E48BA0000000, float 0x3E82028AA0000000, float 0x3E82206580000000, float 0x3E823E1D80000000, float 0x3E825BB400000000, float 0x3E82792A60000000, float 0x3E829681C0000000, float 0x3E82B3BB60000000, float 0x3E82D0D860000000, float 0x3E82EDD9E0000000, float 0x3E830AC100000000, float 0x3E83278EE0000000, float 0x3E83444480000000, float 0x3E8360E2C0000000, float 0x3E837D6AC0000000, float 0x3E8399DD60000000, float 0x3E83B63BC0000000, float 0x3E83D286A0000000, float 0x3E83EEBEE0000000, float 0x3E840AE580000000, float 0x3E8426FB20000000, float 0x3E844300E0000000, float 0x3E845EF780000000, float 0x3E847ADFA0000000, float 0x3E8496BA40000000, float 0x3E84B28800000000, float 0x3E84CE49A0000000, float 0x3E84EA0020000000, float 0x3E8505ABE0000000, float 0x3E85214E00000000, float 0x3E853CE6E0000000, float 0x3E85587740000000, float 0x3E85740000000000, float 0x3E858F81C0000000, float 0x3E85AAFD20000000, float 0x3E85C672E0000000, float 0x3E85E1E380000000, float 0x3E85FD4FC0000000, float 0x3E8618B860000000, float 0x3E86341DE0000000, float 0x3E864F8100000000, float 0x3E866AE260000000, float 0x3E86864280000000, float 0x3E86A1A220000000, float 0x3E86BD01E0000000, float 0x3E86D86260000000, float 0x3E86F3C440000000, float 0x3E870F2800000000, float 0x3E872A8E60000000, float 0x3E8745F7E0000000, float 0x3E87616540000000, float 0x3E877CD700000000, float 0x3E87984DC0000000, float 0x3E87B3CA40000000, float 0x3E87CF4D00000000, float 0x3E87EAD680000000, float 0x3E880667A0000000, float 0x3E882200E0000000, float 0x3E883DA2C0000000, float 0x3E88594E20000000, float 0x3E88750360000000, float 0x3E8890C360000000, float 0x3E88AC8EA0000000, float 0x3E88C865A0000000, float 0x3E88E44960000000, float 0x3E89003A20000000, float 0x3E891C38E0000000, float 0x3E89384620000000, float 0x3E89546280000000, float 0x3E89708EC0000000, float 0x3E898CCB80000000, float 0x3E89A919A0000000, float 0x3E89C57980000000, float 0x3E89E1EC20000000, float 0x3E89FE7220000000, float 0x3E8A1B0C40000000, float 0x3E8A37BB20000000, float 0x3E8A547FA0000000, float 0x3E8A715A80000000, float 0x3E8A8E4C60000000, float 0x3E8AAB5640000000, float 0x3E8AC878C0000000, float 0x3E8AE5B4E0000000, float 0x3E8B030B40000000, float 0x3E8B207D00000000, float 0x3E8B3E0AA0000000, float 0x3E8B5BB540000000, float 0x3E8B797DC0000000, float 0x3E8B976500000000, float 0x3E8BB56BE0000000, float 0x3E8BD39360000000, float 0x3E8BF1DCA0000000, float 0x3E8C104860000000, float 0x3E8C2ED7E0000000, float 0x3E8C4D8C20000000, float 0x3E8C6C6600000000, float 0x3E8C8B66E0000000, float 0x3E8CAA8FC0000000, float 0x3E8CC9E1C0000000, float 0x3E8CE95E40000000, float 0x3E8D090640000000, float 0x3E8D28DB20000000, float 0x3E8D48DE20000000, float 0x3E8D6910A0000000, float 0x3E8D897400000000, float 0x3E8DAA09A0000000, float 0x3E8DCAD300000000, float 0x3E8DEBD1A0000000, float 0x3E8E0D0700000000, float 0x3E8E2E74C0000000, float 0x3E8E501CA0000000, float 0x3E8E720020000000, float 0x3E8E942140000000, float 0x3E8EB681C0000000, float 0x3E8ED92380000000, float 0x3E8EFC0860000000, float 0x3E8F1F3280000000, float 0x3E8F42A400000000, float 0x3E8F665F20000000, float 0x3E8F8A6600000000, float 0x3E8FAEBB20000000, float 0x3E8FD360E0000000, float 0x3E8FF859C0000000, float 0x3E900ED440000000, float 0x3E9021A800000000, float 0x3E9034A980000000, float 0x3E9047DA40000000, float 0x3E905B3C00000000, float 0x3E906ED020000000, float 0x3E90829880000000, float 0x3E90969700000000, float 0x3E90AACD80000000, float 0x3E90BF3DE0000000, float 0x3E90D3EA40000000, float 0x3E90E8D4C0000000, float 0x3E90FDFFE0000000, float 0x3E91136E00000000, float 0x3E912921A0000000, float 0x3E913F1D60000000, float 0x3E91556440000000, float 0x3E916BF940000000, float 0x3E9182DF80000000, float 0x3E919A1A60000000, float 0x3E91B1AD80000000, float 0x3E91C99CA0000000, float 0x3E91E1EC00000000, float 0x3E91FA9FC0000000, float 0x3E9213BCA0000000, float 0x3E922D4780000000, float 0x3E924745A0000000, float 0x3E9261BCC0000000, float 0x3E927CB300000000, float 0x3E92982EC0000000, float 0x3E92B43760000000, float 0x3E92D0D440000000, float 0x3E92EE0DC0000000, float 0x3E930BECE0000000, float 0x3E932A7B60000000, float 0x3E9349C400000000, float 0x3E9369D280000000, float 0x3E938AB3A0000000, float 0x3E93AC7580000000, float 0x3E93CF27C0000000, float 0x3E93F2DBA0000000, float 0x3E9417A4A0000000, float 0x3E943D9820000000, float 0x3E9464CE40000000, float 0x3E948D6280000000, float 0x3E94B773A0000000, float 0x3E94E32500000000, float 0x3E95109F60000000, float 0x3E95401160000000, float 0x3E9571B1A0000000, float 0x3E95A5C080000000, float 0x3E95DC8A20000000, float 0x3E961669C0000000, float 0x3E9653CE80000000, float 0x3E969540C0000000, float 0x3E96DB6B80000000, float 0x3E97272900000000, float 0x3E97799560000000, float 0x3E97D42E00000000, float 0x3E98390300000000, float 0x3E98AB0FC0000000, float 0x3E992EE0A0000000, float 0x3E99CBEE00000000, float 0x3E9A8FDC80000000, float 0x3E9B981F40000000, float 0x3E9D3BB480000000], align 16
|
|
%p = getelementptr inbounds [256 x float], ptr @data, i64 0, i64 %idx
|
|
%x = load float, ptr %p, align 8
|
|
ret float %x
|
|
|
|
@pure
|
|
@llvm
|
|
def fi_float(idx: int) -> float32:
|
|
@data = private unnamed_addr constant [256 x float] [float 1.000000e+00, float 0x3FEF446AC0000000, float 0x3FEEB75460000000, float 0x3FEE3F11E0000000, float 0x3FEDD36FA0000000, float 0x3FED709200000000, float 0x3FED144980000000, float 0x3FECBD33A0000000, float 0x3FEC6A5EC0000000, float 0x3FEC1B1CE0000000, float 0x3FEBCEEB40000000, float 0x3FEB856540000000, float 0x3FEB3E3A80000000, float 0x3FEAF92A40000000, float 0x3FEAB5FF00000000, float 0x3FEA748BE0000000, float 0x3FEA34AB00000000, float 0x3FE9F63BE0000000, float 0x3FE9B92280000000, float 0x3FE97D4660000000, float 0x3FE94291C0000000, float 0x3FE908F1C0000000, float 0x3FE8D05540000000, float 0x3FE898AD40000000, float 0x3FE861EC00000000, float 0x3FE82C0500000000, float 0x3FE7F6ED40000000, float 0x3FE7C29A80000000, float 0x3FE78F0340000000, float 0x3FE75C1F00000000, float 0x3FE729E600000000, float 0x3FE6F850C0000000, float 0x3FE6C758A0000000, float 0x3FE696F760000000, float 0x3FE6672720000000, float 0x3FE637E2A0000000, float 0x3FE60924A0000000, float 0x3FE5DAE860000000, float 0x3FE5AD29A0000000, float 0x3FE57FE420000000, float 0x3FE5531400000000, float 0x3FE526B560000000, float 0x3FE4FAC4E0000000, float 0x3FE4CF3F40000000, float 0x3FE4A42180000000, float 0x3FE4796860000000, float 0x3FE44F1140000000, float 0x3FE4251980000000, float 0x3FE3FB7EA0000000, float 0x3FE3D23E20000000, float 0x3FE3A955A0000000, float 0x3FE380C320000000, float 0x3FE3588480000000, float 0x3FE33097C0000000, float 0x3FE308FB00000000, float 0x3FE2E1AC60000000, float 0x3FE2BAAA20000000, float 0x3FE293F280000000, float 0x3FE26D8420000000, float 0x3FE2475D60000000, float 0x3FE2217CA0000000, float 0x3FE1FBE0A0000000, float 0x3FE1D68800000000, float 0x3FE1B17160000000, float 0x3FE18C9B80000000, float 0x3FE1680520000000, float 0x3FE143AD20000000, float 0x3FE11F9240000000, float 0x3FE0FBB3A0000000, float 0x3FE0D81020000000, float 0x3FE0B4A680000000, float 0x3FE0917620000000, float 0x3FE06E7DC0000000, float 0x3FE04BBCA0000000, float 0x3FE02931E0000000, float 0x3FE006DC80000000, float 0x3FDFC97780000000, float 0x3FDF859DA0000000, float 0x3FDF4229C0000000, float 0x3FDEFF1A80000000, float 0x3FDEBC6E20000000, float 0x3FDE7A2360000000, float 0x3FDE3838E0000000, float 0x3FDDF6AD40000000, float 0x3FDDB57F40000000, float 0x3FDD74AD60000000, float 0x3FDD3436A0000000, float 0x3FDCF419C0000000, float 0x3FDCB45580000000, float 0x3FDC74E8C0000000, float 0x3FDC35D260000000, float 0x3FDBF71180000000, float 0x3FDBB8A4E0000000, float 0x3FDB7A8B80000000, float 0x3FDB3CC460000000, float 0x3FDAFF4EA0000000, float 0x3FDAC22940000000, float 0x3FDA855340000000, float 0x3FDA48CBE0000000, float 0x3FDA0C9240000000, float 0x3FD9D0A560000000, float 0x3FD9950480000000, float 0x3FD959AEE0000000, float 0x3FD91EA3A0000000, float 0x3FD8E3E200000000, float 0x3FD8A96940000000, float 0x3FD86F38A0000000, float 0x3FD8354F80000000, float 0x3FD7FBAD20000000, float 0x3FD7C250A0000000, float 0x3FD78939A0000000, float 0x3FD7506760000000, float 0x3FD717D940000000, float 0x3FD6DF8E80000000, float 0x3FD6A786A0000000, float 0x3FD66FC120000000, float 0x3FD6383D40000000, float 0x3FD600FA80000000, float 0x3FD5C9F840000000, float 0x3FD5933620000000, float 0x3FD55CB380000000, float 0x3FD5266FC0000000, float 0x3FD4F06A80000000, float 0x3FD4BAA360000000, float 0x3FD48519A0000000, float 0x3FD44FCCE0000000, float 0x3FD41ABCE0000000, float 0x3FD3E5E8E0000000, float 0x3FD3B15080000000, float 0x3FD37CF360000000, float 0x3FD348D120000000, float 0x3FD314E940000000, float 0x3FD2E13B80000000, float 0x3FD2ADC740000000, float 0x3FD27A8C40000000, float 0x3FD2478A20000000, float 0x3FD214C080000000, float 0x3FD1E22F00000000, float 0x3FD1AFD540000000, float 0x3FD17DB2E0000000, float 0x3FD14BC7C0000000, float 0x3FD11A1340000000, float 0x3FD0E89560000000, float 0x3FD0B74D80000000, float 0x3FD0863B80000000, float 0x3FD0555F20000000, float 0x3FD024B800000000, float 0x3FCFE88B80000000, float 0x3FCF881080000000, float 0x3FCF27FE60000000, float 0x3FCEC854A0000000, float 0x3FCE6912C0000000, float 0x3FCE0A3820000000, float 0x3FCDABC460000000, float 0x3FCD4DB700000000, float 0x3FCCF00F80000000, float 0x3FCC92CDA0000000, float 0x3FCC35F0C0000000, float 0x3FCBD97880000000, float 0x3FCB7D6480000000, float 0x3FCB21B460000000, float 0x3FCAC667A0000000, float 0x3FCA6B7E00000000, float 0x3FCA10F740000000, float 0x3FC9B6D2C0000000, float 0x3FC95D1060000000, float 0x3FC903AFC0000000, float 0x3FC8AAB0A0000000, float 0x3FC8521280000000, float 0x3FC7F9D560000000, float 0x3FC7A1F8E0000000, float 0x3FC74A7CA0000000, float 0x3FC6F36080000000, float 0x3FC69CA440000000, float 0x3FC64647A0000000, float 0x3FC5F04A80000000, float 0x3FC59AAC80000000, float 0x3FC5456DA0000000, float 0x3FC4F08DA0000000, float 0x3FC49C0C60000000, float 0x3FC447E9C0000000, float 0x3FC3F42580000000, float 0x3FC3A0BFA0000000, float 0x3FC34DB800000000, float 0x3FC2FB0E80000000, float 0x3FC2A8C320000000, float 0x3FC256D5A0000000, float 0x3FC2054620000000, float 0x3FC1B414A0000000, float 0x3FC16340E0000000, float 0x3FC112CB20000000, float 0x3FC0C2B340000000, float 0x3FC072F940000000, float 0x3FC0239D60000000, float 0x3FBFA93EC0000000, float 0x3FBF0BFF20000000, float 0x3FBE6F7C00000000, float 0x3FBDD3B560000000, float 0x3FBD38ABC0000000, float 0x3FBC9E5F40000000, float 0x3FBC04D060000000, float 0x3FBB6BFF80000000, float 0x3FBAD3ECE0000000, float 0x3FBA3C9940000000, float 0x3FB9A604E0000000, float 0x3FB9103080000000, float 0x3FB87B1CA0000000, float 0x3FB7E6CA00000000, float 0x3FB7533960000000, float 0x3FB6C06B80000000, float 0x3FB62E6120000000, float 0x3FB59D1B60000000, float 0x3FB50C9B00000000, float 0x3FB47CE140000000, float 0x3FB3EDEF20000000, float 0x3FB35FC5E0000000, float 0x3FB2D266C0000000, float 0x3FB245D340000000, float 0x3FB1BA0CC0000000, float 0x3FB12F14E0000000, float 0x3FB0A4ED20000000, float 0x3FB01B97A0000000, float 0x3FAF262C20000000, float 0x3FAE16D540000000, float 0x3FAD092F00000000, float 0x3FABFD3E00000000, float 0x3FAAF307A0000000, float 0x3FA9EA9100000000, float 0x3FA8E3E020000000, float 0x3FA7DEFB80000000, float 0x3FA6DBE9C0000000, float 0x3FA5DAB240000000, float 0x3FA4DB5D00000000, float 0x3FA3DDF2C0000000, float 0x3FA2E27CE0000000, float 0x3FA1E905A0000000, float 0x3FA0F19820000000, float 0x3F9FF881E0000000, float 0x3F9E121AE0000000, float 0x3F9C301980000000, float 0x3F9A529F40000000, float 0x3F9879D1C0000000, float 0x3F96A5DB00000000, float 0x3F94D6EB00000000, float 0x3F930D3880000000, float 0x3F91490340000000, float 0x3F8F152A40000000, float 0x3F8BA48D20000000, float 0x3F88410400000000, float 0x3F84EB9640000000, float 0x3F81A59220000000, float 0x3F7CE16100000000, float 0x3F769EA8E0000000, float 0x3F708A1F00000000, float 0x3F655F9F40000000, float 0x3F54A605C0000000], align 16
|
|
%p = getelementptr inbounds [256 x float], ptr @data, i64 0, i64 %idx
|
|
%x = load float, ptr %p, align 8
|
|
ret float %x
|
|
|
|
@pure
|
|
@llvm
|
|
def ke_double(idx: int) -> u64:
|
|
@data = private unnamed_addr constant [256 x i64] [i64 7971545857431494, i64 0, i64 5485857970336126, i64 6877400373607440, i64 7489560515621038, i64 7829793950745724, i64 8045251395085594, i64 8193552821270898, i64 8301707212298418, i64 8384003209374832, i64 8448689755168200, i64 8500854585063478, i64 8543802742323106, i64 8579772857648236, i64 8610334328270398, i64 8636619566280862, i64 8659465946817878, i64 8679505875409358, i64 8697225801520776, i64 8713005977443536, i64 8727147906454692, i64 8739893704890038, i64 8751440024696698, i64 8761948238062960, i64 8771552003860596, i64 8780362968290610, i64 8788475114930438, i64 8795968123070796, i64 8802909988292858, i64 8809359087581710, i64 8815365821575970, i64 8820973931588800, i64 8826221564107158, i64 8831142137483404, i64 8835765052397426, i64 8840116277974648, i64 8844218838221542, i64 8848093218006260, i64 8851757703688506, i64 8855228670347734, i64 8858520825126080, i64 8861647414312948, i64 8864620400320394, i64 8867450613535032, i64 8870147883110754, i64 8872721150032146, i64 8875178565190242, i64 8877527574738170, i64 8879774994610604, i64 8881927075778634, i64 8883989561556502, i64 8885967738067168, i64 8887866478800856, i64 8889690284057818, i64 8891443315947666, i64 8893129429518482, i64 8894752200505984, i64 8896314950123264, i64 8897820767252858, i64 8899272528353282, i64 8900672915349966, i64 8902024431744704, i64 8903329417147192, i64 8904590060406012, i64 8905808411494018, i64 8906986392283810, i64 8908125806332284, i64 8909228347778946, i64 8910295609450180, i64 8911329090250868, i64 8912330201915374, i64 8913300275181656, i64 8914240565445170, i64 8915152257942916, i64 8916036472512488, i64 8916894267966144, i64 8917726646115692, i64 8918534555480190, i64 8919318894705170, i64 8920080515719156, i64 8920820226650618, i64 8921538794526266, i64 8922236947769418, i64 8922915378515480, i64 8923574744759820, i64 8924215672351958, i64 8924838756848636, i64 8925444565237162, i64 8926033637539416, i64 8926606488305930, i64 8927163608008600, i64 8927705464339880, i64 8928232503425544, i64 8928745150957558, i64 8929243813252980, i64 8929728878244356, i64 8930200716406566, i64 8930659681624710, i64 8931106112007190, i64 8931540330647876, i64 8931962646340834, i64 8932373354250910, i64 8932772736543124, i64 8933161062973652, i64 8933538591444894, i64 8933905568527004, i64 8934262229948010, i64 8934608801054528, i64 8934945497244894, i64 8935272524376414, i64 8935590079148328, i64 8935898349461876, i64 8936197514758882, i64 8936487746340036, i64 8936769207664048, i64 8937042054628744, i64 8937306435835058, i64 8937562492834854, i64 8937810360363402, i64 8938050166557284, i64 8938282033158466, i64 8938506075705162, i64 8938722403710132, i64 8938931120826946, i64 8939132325004766, i64 8939326108632062, i64 8939512558669762, i64 8939691756774158, i64 8939863779409990, i64 8940028697953972, i64 8940186578789100, i64 8940337483389966, i64 8940481468399302, i64 8940618585695992, i64 8940748882454662, i64 8940872401197050, i64 8940989179835208, i64 8941099251706688, i64 8941202645601704, i64 8941299385782368, i64 8941389491993960, i64 8941472979468230, i64 8941549858918698, i64 8941620136527848, i64 8941683813926148, i64 8941740888162738, i64 8941791351667640, i64 8941835192205302, i64 8941872392819226, i64 8941902931767472, i64 8941926782448690, i64 8941943913318396, i64 8941954287795084, i64 8941957864155806, i64 8941954595420724, i64 8941944429226144, i64 8941927307685492, i64 8941903167237602, i64 8941871938481652, i64 8941833545998016, i64 8941787908154234, i64 8941734936895206, i64 8941674537516674, i64 8941606608420918, i64 8941531040853536, i64 8941447718620056, i64 8941356517781006, i64 8941257306323958, i64 8941149943810914, i64 8941034280999228, i64 8940910159434164, i64 8940777411010892, i64 8940635857503634, i64 8940485310059376, i64 8940325568653336, i64 8940156421503112, i64 8939977644438114, i64 8939789000220574, i64 8939590237814000, i64 8939381091594596, i64 8939161280500638, i64 8938930507114326, i64 8938688456670012, i64 8938434795982096, i64 8938169172285110, i64 8937891211977748, i64 8937600519261604, i64 8937296674664432, i64 8936979233436516, i64 8936647723807416, i64 8936301645088910, i64 8935940465608202, i64 8935563620453574, i64 8935170509012442, i64 8934760492279316, i64 8934332889908232, i64 8933886976981030, i64 8933421980459034, i64 8932937075281380, i64 8932431380068266, i64 8931903952381602, i64 8931353783488908, i64 8930779792568492, i64 8930180820284952, i64 8929555621653500, i64 8928902858099222, i64 8928221088602964, i64 8927508759808348, i64 8926764194944404, i64 8925985581394242, i64 8925170956711904, i64 8924318192855506, i64 8923424978364230, i64 8922488798157886, i64 8921506910578770, i64 8920476321224196, i64 8919393753031106, i64 8918255611967910, i64 8917057947558148, i64 8915796407299442, i64 8914466183841290, i64 8913061953535784, i64 8911577804662434, i64 8910007153233212, i64 8908342643782164, i64 8906576031902208, i64 8904698044465300, i64 8902698212389652, i64 8900564669414922, i64 8898283908495804, i64 8895840484961220, i64 8893216652275640, i64 8890391911743352, i64 8887342451323378, i64 8884040440144924, i64 8880453133239800, i64 8876541723776518, i64 8872259855113102, i64 8867551668208538, i64 8862349204777254, i64 8856568902200012, i64 8850106784293916, i64 8842831740745002, i64 8834575940248166, i64 8825120832349124, i64 8814176156651890, i64 8801347484544986, i64 8786084197194146, i64 8767592496903178, i64 8744682338845716, i64 8715480686119910, i64 8676850260251934, i64 8623083654098352, i64 8542525795804796, i64 8406823688997808, i64 8122426762520768], align 16
|
|
%p = getelementptr inbounds [256 x i64], ptr @data, i64 0, i64 %idx
|
|
%x = load i64, ptr %p, align 8
|
|
ret i64 %x
|
|
|
|
@pure
|
|
@llvm
|
|
def we_double(idx: int) -> float:
|
|
@data = private unnamed_addr constant [256 x double] [double 0x3CD164EC94BF5DC1, double 0x3C60589D8B5D4119, double 0x3C6AD6B2495B4D2B, double 0x3C719335A95B8DBA, double 0x3C7522E6E54A2A73, double 0x3C785090FBC27A80, double 0x3C7B38D1EF79B7CC, double 0x3C7DECD8B76DBD98, double 0x3C803BF049C65C3C, double 0x3C8170DB24D6F670, double 0x3C82980290DA2633, double 0x3C83B388FE3D6ECA, double 0x3C84C515C60BFE21, double 0x3C85CDF89D024AC3, double 0x3C86CF40F0A72BBD, double 0x3C87C9CDDA17D019, double 0x3C88BE5954D3606F, double 0x3C89AD80552237D2, double 0x3C8A97C8BE5D5203, double 0x3C8B7DA5DDDDA3C4, double 0x3C8C5F7BD78C3F89, double 0x3C8D3DA24DF17C36, double 0x3C8E186678F1735A, double 0x3C8EF00CCF5F4FAA, double 0x3C8FC4D25D683209, double 0x3C904B76ED6A7558, double 0x3C90B348479B80FC, double 0x3C9119F38749F5AF, double 0x3C917F8CEB4BDFA0, double 0x3C91E426E93E49E7, double 0x3C9247D26538FF2E, double 0x3C92AA9EE123680B, double 0x3C930C9AA526DA4B, double 0x3C936DD2E26D8202, double 0x3C93CE53D12162A0, double 0x3C942E28CA706748, double 0x3C948D5C5F35E712, double 0x3C94EBF86BCD0B93, double 0x3C954A0629786F4D, double 0x3C95A78E3DB8BEFD, double 0x3C960498C7DD2ECF, double 0x3C96612D6D0C68E0, double 0x3C96BD5362FAA944, double 0x3C971911797990BB, double 0x3C97746E23077973, double 0x3C97CF6F7C7E8172, double 0x3C982A1B53FED599, double 0x3C9884772F2BE1EC, double 0x3C98DE8850D0C52A, double 0x3C993853BDFDA244, double 0x3C9991DE42AD1338, double 0x3C99EB2C75FF03BF, double 0x3C9A4442BE14884A, double 0x3C9A9D255396D261, double 0x3C9AF5D844F224C9, double 0x3C9B4E5F794C979B, double 0x3C9BA6BEB33F8F89, double 0x3C9BFEF99359FE99, double 0x3C9C57139A70D29F, double 0x3C9CAF102BC25ADB, double 0x3C9D06F28EF0E6FB, double 0x3C9D5EBDF1D86B8D, double 0x3C9DB6756A429057, double 0x3C9E0E1BF77C31FE, double 0x3C9E65B483CF1044, double 0x3C9EBD41E5E21B62, double 0x3C9F14C6E202949F, double 0x3C9F6C462B57FEB5, double 0x3C9FC3C26504A9A1, double 0x3CA00D9F119A3CD9, double 0x3CA0395DF60DB162, double 0x3CA0651F1C7276F8, double 0x3CA090E3BB4B0072, double 0x3CA0BCAD03710137, double 0x3CA0E87C207A2F66, double 0x3CA114523917AC15, double 0x3CA140306F707DBE, double 0x3CA16C17E1777FFB, double 0x3CA19809A93D2396, double 0x3CA1C406DD3D5283, double 0x3CA1F01090A9C4E2, double 0x3CA21C27D3B10E05, double 0x3CA2484DB3C2A329, double 0x3CA274833BD0189F, double 0x3CA2A0C9748BCDAA, double 0x3CA2CD2164A53B5D, double 0x3CA2F98C11031721, double 0x3CA3260A7CFB7611, double 0x3CA3529DAA8A1BA1, double 0x3CA37F469A851AF0, double 0x3CA3AC064CCFEFFC, double 0x3CA3D8DDC08D336D, double 0x3CA405CDF44F09C4, double 0x3CA432D7E6466CD0, double 0x3CA45FFC94716CA7, double 0x3CA48D3CFCC883C4, double 0x3CA4BA9A1D6B18A4, double 0x3CA4E814F4CB45EA, double 0x3CA515AE81D900FB, double 0x3CA54367C42CB5F8, double 0x3CA57141BC316F27, double 0x3CA59F3D6B4E9CF9, double 0x3CA5CD5BD4119335, double 0x3CA5FB9DFA56CF26, double 0x3CA62A04E3731A2E, double 0x3CA65891965C9B8C, double 0x3CA687451BD3EBEE, double 0x3CA6B6207E8D3CDF, double 0x3CA6E524CB59A608, double 0x3CA714531150A9FB, double 0x3CA743AC61FA041C, double 0x3CA77331D177D130, double 0x3CA7A2E476B1240A, double 0x3CA7D2C56B7D17F7, double 0x3CA802D5CCCE7277, double 0x3CA83316BADFE62A, double 0x3CA86389596108E7, double 0x3CA8942ECFA40F54, double 0x3CA8C50848CC6094, double 0x3CA8F616F3FE1513, double 0x3CA9275C048E73E1, double 0x3CA958D8B235828A, double 0x3CA98A8E3940BBF4, double 0x3CA9BC7DDAC7035D, double 0x3CA9EEA8DCDDE951, double 0x3CAA21108AD0592D, double 0x3CAA53B63556C690, double 0x3CAA869B32D0F30F, double 0x3CAAB9C0DF81657A, double 0x3CAAED289DCAACFF, double 0x3CAB20D3D66E8BB5, double 0x3CAB54C3F8CF2542, double 0x3CAB88FA7B324FB6, double 0x3CABBD78DB072610, double 0x3CABF2409D2DFD85, double 0x3CAC27534E42E02D, double 0x3CAC5CB282EAB1A4, double 0x3CAC925FD82323FB, double 0x3CACC85CF395A56C, double 0x3CACFEAB83ED7180, double 0x3CAD354D4130F2AD, double 0x3CAD6C43ED1EA3FE, double 0x3CADA391538DA50A, double 0x3CADDB374AD2357F, double 0x3CAE1337B426509B, double 0x3CAE4B947C16A452, double 0x3CAE844F9AF4237F, double 0x3CAEBD6B154A7678, double 0x3CAEF6E8FC5B9168, double 0x3CAF30CB6EA0BC7F, double 0x3CAF6B1498515ED0, double 0x3CAFA5C6B3EFE1E5, double 0x3CAFE0E40ADD09D8, double 0x3CB00E377AF911D4, double 0x3CB02C34EF11391B, double 0x3CB04A6B9E9224A3, double 0x3CB068DCCF1126DB, double 0x3CB08789CF3AAD0F, double 0x3CB0A673F733C819, double 0x3CB0C59CA900946F, double 0x3CB0E50550EFCFB7, double 0x3CB104AF660BEFCE, double 0x3CB1249C6A92154A, double 0x3CB144CDEC6F3A2B, double 0x3CB1654585C404C1, double 0x3CB18604DD6FAE9E, double 0x3CB1A70DA7A27820, double 0x3CB1C861A6782A5A, double 0x3CB1EA02AA9B3370, double 0x3CB20BF293F0F4A2, double 0x3CB22E33524FE550, double 0x3CB250C6E6403BBA, double 0x3CB273AF61C7DAA6, double 0x3CB296EEE942532B, double 0x3CB2BA87B445DB51, double 0x3CB2DE7C0E962D70, double 0x3CB302CE59265965, double 0x3CB327810B2AA7D0, double 0x3CB34C96B33BC965, double 0x3CB37211F88CA856, double 0x3CB397F59C345143, double 0x3CB3BE447A8D8B83, double 0x3CB3E5018CADDED0, double 0x3CB40C2FE9F5EEAD, double 0x3CB433D2C9BD42F8, double 0x3CB45BED851BC92C, double 0x3CB4848398D39432, double 0x3CB4AD98A75DA14C, double 0x3CB4D7307B1CB127, double 0x3CB5014F08B99508, double 0x3CB52BF871ACAAB2, double 0x3CB5573106F8A75A, double 0x3CB582FD4C1B4461, double 0x3CB5AF61FA38E107, double 0x3CB5DC640388BD9E, double 0x3CB60A0897081879, double 0x3CB63855247B2E94, double 0x3CB6674F60C3F432, double 0x3CB696FD4A9748EE, double 0x3CB6C7652F9A7B1E, double 0x3CB6F88DB1F42507, double 0x3CB72A7DCE5CD218, double 0x3CB75D3CE2BD71C3, double 0x3CB790D2B56B71F9, double 0x3CB7C5477D1476D3, double 0x3CB7FAA3E96E1412, double 0x3CB830F12CC0BEC3, double 0x3CB8683906687342, double 0x3CB8A085CE695BAB, double 0x3CB8D9E2823B3695, double 0x3CB9145AD2F37544, double 0x3CB94FFB34FC2A0E, double 0x3CB98CD0F18D1AD8, double 0x3CB9CAEA3A24D9EA, double 0x3CBA0A563E49F178, double 0x3CBA4B2543E84C3B, double 0x3CBA8D68C2AD86EA, double 0x3CBAD13382D845C4, double 0x3CBB1699C003B60A, double 0x3CBB5DB15091EA0F, double 0x3CBBA691D276DA5E, double 0x3CBBF154DE4BEF77, double 0x3CBC3E1641C2E0A7, double 0x3CBC8CF442C8C8F4, double 0x3CBCDE0FECF2A97F, double 0x3CBD318D6B2738C5, double 0x3CBD87946FEC3BEC, double 0x3CBDE050AF4EF19F, double 0x3CBE3BF26E190960, double 0x3CBE9AAF2AF383C1, double 0x3CBEFCC26750EA4A, double 0x3CBF626E9791F7A7, double 0x3CBFCBFE43F6C6E5, double 0x3CC01CE2B362EC2E, double 0x3CC056118BF58EEF, double 0x3CC091C1CDCBA54E, double 0x3CC0D031785D48A0, double 0x3CC111A8034392A6, double 0x3CC156786775442A, double 0x3CC19F03BCB3C2D6, double 0x3CC1EBBCA0C9FA7C, double 0x3CC23D2BB659919F, double 0x3CC293F5AE49AAA5, double 0x3CC2F0E38A4411F0, double 0x3CC354EE27CCF75E, double 0x3CC3C14EC7C8B861, double 0x3CC4379766E41362, double 0x3CC4B9D7CD4751D1, double 0x3CC54AD83CCF73F6, double 0x3CC5EE7AE17313D2, double 0x3CC6AA676D4BBF72, double 0x3CC78750D6EAC62F, double 0x3CC8939FE6F2ED19, double 0x3CC9E9DC0D487B85, double 0x3CCBC39E51DA71FC, double 0x3CCEC9D9297EBB83], align 16
|
|
%p = getelementptr inbounds [256 x double], ptr @data, i64 0, i64 %idx
|
|
%x = load double, ptr %p, align 8
|
|
ret double %x
|
|
|
|
@pure
|
|
@llvm
|
|
def fe_double(idx: int) -> float:
|
|
@data = private unnamed_addr constant [256 x double] [double 1.000000e+00, double 0x3FEE0545E5881137, double 0x3FECD0A65081FFF1, double 0x3FEBE5007BEB7B27, double 0x3FEB210F0EE67F2A, double 0x3FEA76BAA562FAE7, double 0x3FE9DE9715556D9B, double 0x3FE95431C455AA39, double 0x3FE8D4A376D3D22F, double 0x3FE85DE87806C5B8, double 0x3FE7EE8A2D243126, double 0x3FE7856E9B09D47E, double 0x3FE721BB5BA94B63, double 0x3FE6C2C3498418C6, double 0x3FE667FA6D4F5C06, double 0x3FE610EDC1A7AF66, double 0x3FE5BD3D694CAC75, double 0x3FE56C9882DA8773, double 0x3FE51EBA1578899A, double 0x3FE4D366C151F8AF, double 0x3FE48A6AFB8EE069, double 0x3FE44399AFA8E125, double 0x3FE3FECB2BB18B80, double 0x3FE3BBDC44E1D114, double 0x3FE37AADA708DDD9, double 0x3FE33B23450E6318, double 0x3FE2FD23E345DA5E, double 0x3FE2C098B61F4F24, double 0x3FE2856D111132BD, double 0x3FE24B8E228C50A3, double 0x3FE212EABA813EC8, double 0x3FE1DB7319877B89, double 0x3FE1A518C71E3B25, double 0x3FE16FCE6DCE6FEE, double 0x3FE13B87BC33169C, double 0x3FE108394A1CC38D, double 0x3FE0D5D8812B1E2B, double 0x3FE0A45B8854D02A, double 0x3FE073B931EE3B7D, double 0x3FE043E8EBD26548, double 0x3FE014E2B160F324, double 0x3FDFCD3DFE214576, double 0x3FDF722D8EBFC5FA, double 0x3FDF1886D1EB424D, double 0x3FDEC03D4B969D90, double 0x3FDE6945367DD351, double 0x3FDE139375E137FC, double 0x3FDDBF1D88A7210C, double 0x3FDD6BD97DB9ED7A, double 0x3FDD19BDE97E1A0B, double 0x3FDCC8C1DC40E092, double 0x3FDC78DCD983FB60, double 0x3FDC2A06D00EA583, double 0x3FDBDC3812AEEEB5, double 0x3FDB8F6951990B88, double 0x3FDB43939454806F, double 0x3FDAF8B03428EF5F, double 0x3FDAAEB8D6FDF6E5, double 0x3FDA65A76AA30140, double 0x3FDA1D76207521F4, double 0x3FD9D61F695A3792, double 0x3FD98F9DF2097BA8, double 0x3FD949EC9F9A8110, double 0x3FD905068C545D04, double 0x3FD8C0E704B75D39, double 0x3FD87D8984BC3F8C, double 0x3FD83AE9B5446138, double 0x3FD7F90369B6CE59, double 0x3FD7B7D29DC6801E, double 0x3FD77753735E72E3, double 0x3FD7378230B08DEA, double 0x3FD6F85B3E649E9D, double 0x3FD6B9DB25E4E99C, double 0x3FD67BFE8FC60D9F, double 0x3FD63EC2424827E4, double 0x3FD602231FEF5876, double 0x3FD5C61E2631EE6C, double 0x3FD58AB06C3AA9EF, double 0x3FD54FD721BDA3E7, double 0x3FD5158F8DDE89F5, double 0x3FD4DBD70E26F91D, double 0x3FD4A2AB158BDAD3, double 0x3FD46A092B80BEEF, double 0x3FD431EEEB1841E2, double 0x3FD3FA5A0230A14E, double 0x3FD3C34830ABB285, double 0x3FD38CB747B17DEF, double 0x3FD356A528FCD0DD, double 0x3FD3210FC6312435, double 0x3FD2EBF520394270, double 0x3FD2B75346AE2262, double 0x3FD2832857457629, double 0x3FD24F727D4776FD, double 0x3FD21C2FF10B7EFF, double 0x3FD1E95EF77B09DB, double 0x3FD1B6FDE19ABC5A, double 0x3FD1850B0C191982, double 0x3FD15384DEE291EF, double 0x3FD12269CCBA9FBA, double 0x3FD0F1B852D9A66C, double 0x3FD0C16EF88F5333, double 0x3FD0918C4EE93E13, double 0x3FD0620EF05D90D2, double 0x3FD032F580797C2C, double 0x3FD0043EAB93476A, double 0x3FCFABD24CFF9354, double 0x3FCF4FE75C963E7E, double 0x3FCEF4BA0FE8E09B, double 0x3FCE9A48005940F2, double 0x3FCE408ED62F83A7, double 0x3FCDE78C48224F39, double 0x3FCD8F3E1AE3EEB8, double 0x3FCD37A220B431FD, double 0x3FCCE0B638F6D09F, double 0x3FCC8A784FCE1802, double 0x3FCC34E65DB9AFEE, double 0x3FCBDFFE67394435, double 0x3FCB8BBE7C72E4A5, double 0x3FCB3824B8DCEF3E, double 0x3FCAE52F42EB5B0B, double 0x3FCA92DC4BC03C49, double 0x3FCA412A0EDF5CBC, double 0x3FC9F016D1E4C512, double 0x3FC99FA0E43E1623, double 0x3FC94FC69EE692A1, double 0x3FC900866425BB79, double 0x3FC8B1DE9F5062D5, double 0x3FC863CDC48C1AF9, double 0x3FC816525094E7E6, double 0x3FC7C96AC8851BAE, double 0x3FC77D15B99F46FE, double 0x3FC73151B91A2839, double 0x3FC6E61D63EE84EA, double 0x3FC69B775EA6DA28, double 0x3FC6515E5530D1AC, double 0x3FC607D0FAB06A31, double 0x3FC5BECE0954C2B6, double 0x3FC57654422E78F5, double 0x3FC52E626D078C49, double 0x3FC4E6F7583CB6FA, double 0x3FC4A011D8983096, double 0x3FC459B0C92DCCC6, double 0x3FC413D30B386A9A, double 0x3FC3CE7785F8A905, double 0x3FC3899D2694D5C9, double 0x3FC34542DFFA0CAF, double 0x3FC30167AABE7D6E, double 0x3FC2BE0A8504CF34, double 0x3FC27B2A72609940, double 0x3FC238C67BBBE878, double 0x3FC1F6DDAF3DCA65, double 0x3FC1B56F2031D666, double 0x3FC17479E6F0AE78, double 0x3FC133FD20C9712F, double 0x3FC0F3F7EFEC1720, double 0x3FC0B4697B54B62F, double 0x3FC07550EEB7A5BE, double 0x3FC036AD7A6E7F04, double 0x3FBFF0FCA6CBEA8D, double 0x3FBF758566190414, double 0x3FBEFAF3AE83C33C, double 0x3FBE8146048EB9CC, double 0x3FBE087AF561BAFB, double 0x3FBD909116AD9398, double 0x3FBD198706914DD7, double 0x3FBCA35B6B80FD57, double 0x3FBC2E0CF42E10AF, double 0x3FBBB99A5771268F, double 0x3FBB460254356548, double 0x3FBAD343B1655465, double 0x3FBA615D3DD938B7, double 0x3FB9F04DD046F428, double 0x3FB9801447336B70, double 0x3FB910AF88E574B9, double 0x3FB8A21E835A533B, double 0x3FB834602C3BC4BA, double 0x3FB7C77380D7A6F3, double 0x3FB75B5786193C1E, double 0x3FB6F00B488416B6, double 0x3FB6858DDC30B620, double 0x3FB61BDE5CCADEF7, double 0x3FB5B2FBED91BB3E, double 0x3FB54AE5B959D036, double 0x3FB4E39AF290D929, double 0x3FB47D1AD343985C, double 0x3FB417649D25B10E, double 0x3FB3B277999B9F9E, double 0x3FB34E5319C6E718, double 0x3FB2EAF676948DD1, double 0x3FB2886110CE0570, double 0x3FB22692512C9D8C, double 0x3FB1C589A86FA340, double 0x3FB165468F755392, double 0x3FB105C88756CA50, double 0x3FB0A70F19871B3B, double 0x3FB04919D7F5C817, double 0x3FAFD7D0BA699676, double 0x3FAF1EF49944E834, double 0x3FAE679EA52EB2E5, double 0x3FADB1CE49315810, double 0x3FACFD83031E794A, double 0x3FAC4ABC640721E9, double 0x3FAB997A10BED985, double 0x3FAAE9BBC26A8084, double 0x3FAA3B81471BF138, double 0x3FA98ECA827B7C4C, double 0x3FA8E3976E80776D, double 0x3FA839E81C3A396B, double 0x3FA791BCB4AB089E, double 0x3FA6EB1579B6AF52, double 0x3FA645F2C726A041, double 0x3FA5A25513C5D2CA, double 0x3FA5003CF296C5EB, double 0x3FA45FAB14266B19, double 0x3FA3C0A047FF18FF, double 0x3FA3231D7E3F14AE, double 0x3FA28723C956C00C, double 0x3FA1ECB45FF312D4, double 0x3FA153D09F19B3A1, double 0x3FA0BC7A0C7CD651, double 0x3FA026B2590DFAEE, double 0x3F9F24F6C7AF9890, double 0x3F9DFFAE7A517468, double 0x3F9CDD9054331B0C, double 0x3F9BBEA150FA5870, double 0x3F9AA2E6E6924E9B, double 0x3F998A670F132A48, double 0x3F98752853EC9967, double 0x3F976331DA87FC96, double 0x3F96548B72A24077, double 0x3F95493DA6AB0251, double 0x3F944151CE87F0BE, double 0x3F933CD225315D84, double 0x3F923BC9E1B93A32, double 0x3F913E4554725F5F, double 0x3F904452091E02F0, double 0x3F8E9BFDDE89C7CE, double 0x3F8CB6B9146E2757, double 0x3F8AD8FA5542C92D, double 0x3F8902EA688FA7BD, double 0x3F8734B6E6AA74F5, double 0x3F856E930BE416CB, double 0x3F83B0B8C1516F62, double 0x3F81FB69EDB37671, double 0x3F804EF2295FD7F9, double 0x3F7D5751FA745DC5, double 0x3F7A23E9D4974836, double 0x3F77049F37EC3620, double 0x3F73FA97CEE322FD, double 0x3F71073D69574043, double 0x3F6C58B381CD4B11, double 0x3F66D888F3A1FEFF, double 0x3F61946BA8E1A324, double 0x3F592BB5540C3E25, double 0x3F4FB20AF78DFCB9, double 0x3F3DC31C329F0B4B], align 16
|
|
%p = getelementptr inbounds [256 x double], ptr @data, i64 0, i64 %idx
|
|
%x = load double, ptr %p, align 8
|
|
ret double %x
|
|
|
|
@pure
|
|
@llvm
|
|
def ke_float(idx: int) -> u32:
|
|
@data = private unnamed_addr constant [256 x i32] [i32 7424081, i32 0, i32 5109103, i32 6405078, i32 6975197, i32 7292064, i32 7492724, i32 7630841, i32 7731567, i32 7808211, i32 7868455, i32 7917038, i32 7957036, i32 7990536, i32 8018999, i32 8043479, i32 8064756, i32 8083420, i32 8099923, i32 8114619, i32 8127790, i32 8139660, i32 8150414, i32 8160200, i32 8169144, i32 8177350, i32 8184905, i32 8191884, i32 8198349, i32 8204355, i32 8209949, i32 8215172, i32 8220059, i32 8224642, i32 8228947, i32 8233000, i32 8236821, i32 8240429, i32 8243842, i32 8247074, i32 8250140, i32 8253052, i32 8255821, i32 8258457, i32 8260969, i32 8263366, i32 8265654, i32 8267842, i32 8269935, i32 8271939, i32 8273860, i32 8275702, i32 8277471, i32 8279169, i32 8280802, i32 8282372, i32 8283884, i32 8285339, i32 8286741, i32 8288093, i32 8289398, i32 8290656, i32 8291872, i32 8293046, i32 8294180, i32 8295277, i32 8296339, i32 8297365, i32 8298359, i32 8299322, i32 8300254, i32 8301158, i32 8302033, i32 8302883, i32 8303706, i32 8304505, i32 8305280, i32 8306033, i32 8306763, i32 8307472, i32 8308161, i32 8308830, i32 8309481, i32 8310113, i32 8310727, i32 8311324, i32 8311904, i32 8312468, i32 8313017, i32 8313550, i32 8314069, i32 8314574, i32 8315064, i32 8315542, i32 8316006, i32 8316458, i32 8316898, i32 8317325, i32 8317741, i32 8318145, i32 8318538, i32 8318921, i32 8319293, i32 8319655, i32 8320006, i32 8320348, i32 8320680, i32 8321003, i32 8321316, i32 8321621, i32 8321917, i32 8322204, i32 8322482, i32 8322753, i32 8323015, i32 8323269, i32 8323515, i32 8323754, i32 8323985, i32 8324208, i32 8324424, i32 8324632, i32 8324834, i32 8325028, i32 8325216, i32 8325396, i32 8325570, i32 8325737, i32 8325897, i32 8326051, i32 8326198, i32 8326338, i32 8326472, i32 8326600, i32 8326721, i32 8326836, i32 8326945, i32 8327048, i32 8327144, i32 8327234, i32 8327318, i32 8327396, i32 8327467, i32 8327533, i32 8327592, i32 8327645, i32 8327692, i32 8327733, i32 8327768, i32 8327796, i32 8327818, i32 8327834, i32 8327844, i32 8327847, i32 8327844, i32 8327835, i32 8327819, i32 8327796, i32 8327767, i32 8327731, i32 8327689, i32 8327640, i32 8327583, i32 8327520, i32 8327450, i32 8327372, i32 8327287, i32 8327195, i32 8327095, i32 8326987, i32 8326871, i32 8326748, i32 8326616, i32 8326476, i32 8326327, i32 8326169, i32 8326003, i32 8325827, i32 8325642, i32 8325447, i32 8325243, i32 8325028, i32 8324802, i32 8324566, i32 8324319, i32 8324060, i32 8323789, i32 8323506, i32 8323211, i32 8322902, i32 8322579, i32 8322243, i32 8321892, i32 8321526, i32 8321144, i32 8320746, i32 8320331, i32 8319898, i32 8319446, i32 8318975, i32 8318484, i32 8317971, i32 8317437, i32 8316879, i32 8316297, i32 8315689, i32 8315054, i32 8314390, i32 8313697, i32 8312972, i32 8312213, i32 8311419, i32 8310587, i32 8309715, i32 8308801, i32 8307841, i32 8306833, i32 8305773, i32 8304657, i32 8303482, i32 8302244, i32 8300936, i32 8299554, i32 8298091, i32 8296541, i32 8294895, i32 8293146, i32 8291284, i32 8289297, i32 8287173, i32 8284897, i32 8282453, i32 8279823, i32 8276983, i32 8273907, i32 8270566, i32 8266924, i32 8262936, i32 8258551, i32 8253706, i32 8248323, i32 8242304, i32 8235529, i32 8227840, i32 8219034, i32 8208841, i32 8196894, i32 8182679, i32 8165457, i32 8144120, i32 8116924, i32 8080947, i32 8030872, i32 7955847, i32 7829465, i32 7564599], align 16
|
|
%p = getelementptr inbounds [256 x i32], ptr @data, i64 0, i64 %idx
|
|
%x = load i32, ptr %p, align 8
|
|
ret i32 %x
|
|
|
|
@pure
|
|
@llvm
|
|
def we_float(idx: int) -> float32:
|
|
@data = private unnamed_addr constant [256 x float] [float 0x3EB164ECA0000000, float 0x3E40589D80000000, float 0x3E4AD6B240000000, float 0x3E519335A0000000, float 0x3E5522E6E0000000, float 0x3E58509100000000, float 0x3E5B38D1E0000000, float 0x3E5DECD8C0000000, float 0x3E603BF040000000, float 0x3E6170DB20000000, float 0x3E629802A0000000, float 0x3E63B38900000000, float 0x3E64C515C0000000, float 0x3E65CDF8A0000000, float 0x3E66CF4100000000, float 0x3E67C9CDE0000000, float 0x3E68BE5960000000, float 0x3E69AD8060000000, float 0x3E6A97C8C0000000, float 0x3E6B7DA5E0000000, float 0x3E6C5F7BE0000000, float 0x3E6D3DA240000000, float 0x3E6E186680000000, float 0x3E6EF00CC0000000, float 0x3E6FC4D260000000, float 0x3E704B76E0000000, float 0x3E70B34840000000, float 0x3E7119F380000000, float 0x3E717F8CE0000000, float 0x3E71E426E0000000, float 0x3E7247D260000000, float 0x3E72AA9EE0000000, float 0x3E730C9AA0000000, float 0x3E736DD2E0000000, float 0x3E73CE53E0000000, float 0x3E742E28C0000000, float 0x3E748D5C60000000, float 0x3E74EBF860000000, float 0x3E754A0620000000, float 0x3E75A78E40000000, float 0x3E760498C0000000, float 0x3E76612D60000000, float 0x3E76BD5360000000, float 0x3E77191180000000, float 0x3E77746E20000000, float 0x3E77CF6F80000000, float 0x3E782A1B60000000, float 0x3E78847720000000, float 0x3E78DE8860000000, float 0x3E793853C0000000, float 0x3E7991DE40000000, float 0x3E79EB2C80000000, float 0x3E7A4442C0000000, float 0x3E7A9D2560000000, float 0x3E7AF5D840000000, float 0x3E7B4E5F80000000, float 0x3E7BA6BEC0000000, float 0x3E7BFEF9A0000000, float 0x3E7C5713A0000000, float 0x3E7CAF1020000000, float 0x3E7D06F280000000, float 0x3E7D5EBE00000000, float 0x3E7DB67560000000, float 0x3E7E0E1C00000000, float 0x3E7E65B480000000, float 0x3E7EBD41E0000000, float 0x3E7F14C6E0000000, float 0x3E7F6C4620000000, float 0x3E7FC3C260000000, float 0x3E800D9F20000000, float 0x3E80395E00000000, float 0x3E80651F20000000, float 0x3E8090E3C0000000, float 0x3E80BCAD00000000, float 0x3E80E87C20000000, float 0x3E81145240000000, float 0x3E81403060000000, float 0x3E816C17E0000000, float 0x3E819809A0000000, float 0x3E81C406E0000000, float 0x3E81F010A0000000, float 0x3E821C27E0000000, float 0x3E82484DC0000000, float 0x3E82748340000000, float 0x3E82A0C980000000, float 0x3E82CD2160000000, float 0x3E82F98C20000000, float 0x3E83260A80000000, float 0x3E83529DA0000000, float 0x3E837F46A0000000, float 0x3E83AC0640000000, float 0x3E83D8DDC0000000, float 0x3E8405CE00000000, float 0x3E8432D7E0000000, float 0x3E845FFCA0000000, float 0x3E848D3D00000000, float 0x3E84BA9A20000000, float 0x3E84E81500000000, float 0x3E8515AE80000000, float 0x3E854367C0000000, float 0x3E857141C0000000, float 0x3E859F3D60000000, float 0x3E85CD5BE0000000, float 0x3E85FB9E00000000, float 0x3E862A04E0000000, float 0x3E865891A0000000, float 0x3E86874520000000, float 0x3E86B62080000000, float 0x3E86E524C0000000, float 0x3E87145320000000, float 0x3E8743AC60000000, float 0x3E877331E0000000, float 0x3E87A2E480000000, float 0x3E87D2C560000000, float 0x3E8802D5C0000000, float 0x3E883316C0000000, float 0x3E88638960000000, float 0x3E88942EC0000000, float 0x3E88C50840000000, float 0x3E88F61700000000, float 0x3E89275C00000000, float 0x3E8958D8C0000000, float 0x3E898A8E40000000, float 0x3E89BC7DE0000000, float 0x3E89EEA8E0000000, float 0x3E8A211080000000, float 0x3E8A53B640000000, float 0x3E8A869B40000000, float 0x3E8AB9C0E0000000, float 0x3E8AED28A0000000, float 0x3E8B20D3E0000000, float 0x3E8B54C400000000, float 0x3E8B88FA80000000, float 0x3E8BBD78E0000000, float 0x3E8BF240A0000000, float 0x3E8C275340000000, float 0x3E8C5CB280000000, float 0x3E8C925FE0000000, float 0x3E8CC85D00000000, float 0x3E8CFEAB80000000, float 0x3E8D354D40000000, float 0x3E8D6C43E0000000, float 0x3E8DA39160000000, float 0x3E8DDB3740000000, float 0x3E8E1337C0000000, float 0x3E8E4B9480000000, float 0x3E8E844FA0000000, float 0x3E8EBD6B20000000, float 0x3E8EF6E900000000, float 0x3E8F30CB60000000, float 0x3E8F6B14A0000000, float 0x3E8FA5C6C0000000, float 0x3E8FE0E400000000, float 0x3E900E3780000000, float 0x3E902C34E0000000, float 0x3E904A6BA0000000, float 0x3E9068DCC0000000, float 0x3E908789C0000000, float 0x3E90A67400000000, float 0x3E90C59CA0000000, float 0x3E90E50560000000, float 0x3E9104AF60000000, float 0x3E91249C60000000, float 0x3E9144CDE0000000, float 0x3E91654580000000, float 0x3E918604E0000000, float 0x3E91A70DA0000000, float 0x3E91C861A0000000, float 0x3E91EA02A0000000, float 0x3E920BF2A0000000, float 0x3E922E3360000000, float 0x3E9250C6E0000000, float 0x3E9273AF60000000, float 0x3E9296EEE0000000, float 0x3E92BA87C0000000, float 0x3E92DE7C00000000, float 0x3E9302CE60000000, float 0x3E93278100000000, float 0x3E934C96C0000000, float 0x3E93721200000000, float 0x3E9397F5A0000000, float 0x3E93BE4480000000, float 0x3E93E50180000000, float 0x3E940C2FE0000000, float 0x3E9433D2C0000000, float 0x3E945BED80000000, float 0x3E948483A0000000, float 0x3E94AD98A0000000, float 0x3E94D73080000000, float 0x3E95014F00000000, float 0x3E952BF880000000, float 0x3E95573100000000, float 0x3E9582FD40000000, float 0x3E95AF6200000000, float 0x3E95DC6400000000, float 0x3E960A08A0000000, float 0x3E96385520000000, float 0x3E96674F60000000, float 0x3E9696FD40000000, float 0x3E96C76520000000, float 0x3E96F88DC0000000, float 0x3E972A7DC0000000, float 0x3E975D3CE0000000, float 0x3E9790D2C0000000, float 0x3E97C54780000000, float 0x3E97FAA3E0000000, float 0x3E9830F120000000, float 0x3E98683900000000, float 0x3E98A085C0000000, float 0x3E98D9E280000000, float 0x3E99145AE0000000, float 0x3E994FFB40000000, float 0x3E998CD100000000, float 0x3E99CAEA40000000, float 0x3E9A0A5640000000, float 0x3E9A4B2540000000, float 0x3E9A8D68C0000000, float 0x3E9AD13380000000, float 0x3E9B1699C0000000, float 0x3E9B5DB160000000, float 0x3E9BA691E0000000, float 0x3E9BF154E0000000, float 0x3E9C3E1640000000, float 0x3E9C8CF440000000, float 0x3E9CDE0FE0000000, float 0x3E9D318D60000000, float 0x3E9D879480000000, float 0x3E9DE050A0000000, float 0x3E9E3BF260000000, float 0x3E9E9AAF20000000, float 0x3E9EFCC260000000, float 0x3E9F626EA0000000, float 0x3E9FCBFE40000000, float 0x3EA01CE2C0000000, float 0x3EA0561180000000, float 0x3EA091C1C0000000, float 0x3EA0D03180000000, float 0x3EA111A800000000, float 0x3EA1567860000000, float 0x3EA19F03C0000000, float 0x3EA1EBBCA0000000, float 0x3EA23D2BC0000000, float 0x3EA293F5A0000000, float 0x3EA2F0E380000000, float 0x3EA354EE20000000, float 0x3EA3C14EC0000000, float 0x3EA4379760000000, float 0x3EA4B9D7C0000000, float 0x3EA54AD840000000, float 0x3EA5EE7AE0000000, float 0x3EA6AA6760000000, float 0x3EA78750E0000000, float 0x3EA8939FE0000000, float 0x3EA9E9DC00000000, float 0x3EABC39E60000000, float 0x3EAEC9D920000000], align 16
|
|
%p = getelementptr inbounds [256 x float], ptr @data, i64 0, i64 %idx
|
|
%x = load float, ptr %p, align 8
|
|
ret float %x
|
|
|
|
@pure
|
|
@llvm
|
|
def fe_float(idx: int) -> float32:
|
|
@data = private unnamed_addr constant [256 x float] [float 1.000000e+00, float 0x3FEE0545E0000000, float 0x3FECD0A660000000, float 0x3FEBE50080000000, float 0x3FEB210F00000000, float 0x3FEA76BAA0000000, float 0x3FE9DE9720000000, float 0x3FE95431C0000000, float 0x3FE8D4A380000000, float 0x3FE85DE880000000, float 0x3FE7EE8A20000000, float 0x3FE7856EA0000000, float 0x3FE721BB60000000, float 0x3FE6C2C340000000, float 0x3FE667FA60000000, float 0x3FE610EDC0000000, float 0x3FE5BD3D60000000, float 0x3FE56C9880000000, float 0x3FE51EBA20000000, float 0x3FE4D366C0000000, float 0x3FE48A6B00000000, float 0x3FE44399A0000000, float 0x3FE3FECB20000000, float 0x3FE3BBDC40000000, float 0x3FE37AADA0000000, float 0x3FE33B2340000000, float 0x3FE2FD23E0000000, float 0x3FE2C098C0000000, float 0x3FE2856D20000000, float 0x3FE24B8E20000000, float 0x3FE212EAC0000000, float 0x3FE1DB7320000000, float 0x3FE1A518C0000000, float 0x3FE16FCE60000000, float 0x3FE13B87C0000000, float 0x3FE1083940000000, float 0x3FE0D5D880000000, float 0x3FE0A45B80000000, float 0x3FE073B940000000, float 0x3FE043E8E0000000, float 0x3FE014E2C0000000, float 0x3FDFCD3E00000000, float 0x3FDF722D80000000, float 0x3FDF1886E0000000, float 0x3FDEC03D40000000, float 0x3FDE694540000000, float 0x3FDE139380000000, float 0x3FDDBF1D80000000, float 0x3FDD6BD980000000, float 0x3FDD19BDE0000000, float 0x3FDCC8C1E0000000, float 0x3FDC78DCE0000000, float 0x3FDC2A06E0000000, float 0x3FDBDC3820000000, float 0x3FDB8F6960000000, float 0x3FDB4393A0000000, float 0x3FDAF8B040000000, float 0x3FDAAEB8E0000000, float 0x3FDA65A760000000, float 0x3FDA1D7620000000, float 0x3FD9D61F60000000, float 0x3FD98F9E00000000, float 0x3FD949ECA0000000, float 0x3FD9050680000000, float 0x3FD8C0E700000000, float 0x3FD87D8980000000, float 0x3FD83AE9C0000000, float 0x3FD7F90360000000, float 0x3FD7B7D2A0000000, float 0x3FD7775380000000, float 0x3FD7378240000000, float 0x3FD6F85B40000000, float 0x3FD6B9DB20000000, float 0x3FD67BFE80000000, float 0x3FD63EC240000000, float 0x3FD6022320000000, float 0x3FD5C61E20000000, float 0x3FD58AB060000000, float 0x3FD54FD720000000, float 0x3FD5158F80000000, float 0x3FD4DBD700000000, float 0x3FD4A2AB20000000, float 0x3FD46A0920000000, float 0x3FD431EEE0000000, float 0x3FD3FA5A00000000, float 0x3FD3C34840000000, float 0x3FD38CB740000000, float 0x3FD356A520000000, float 0x3FD3210FC0000000, float 0x3FD2EBF520000000, float 0x3FD2B75340000000, float 0x3FD2832860000000, float 0x3FD24F7280000000, float 0x3FD21C3000000000, float 0x3FD1E95F00000000, float 0x3FD1B6FDE0000000, float 0x3FD1850B00000000, float 0x3FD15384E0000000, float 0x3FD12269C0000000, float 0x3FD0F1B860000000, float 0x3FD0C16F00000000, float 0x3FD0918C40000000, float 0x3FD0620F00000000, float 0x3FD032F580000000, float 0x3FD0043EA0000000, float 0x3FCFABD240000000, float 0x3FCF4FE760000000, float 0x3FCEF4BA00000000, float 0x3FCE9A4800000000, float 0x3FCE408EE0000000, float 0x3FCDE78C40000000, float 0x3FCD8F3E20000000, float 0x3FCD37A220000000, float 0x3FCCE0B640000000, float 0x3FCC8A7840000000, float 0x3FCC34E660000000, float 0x3FCBDFFE60000000, float 0x3FCB8BBE80000000, float 0x3FCB3824C0000000, float 0x3FCAE52F40000000, float 0x3FCA92DC40000000, float 0x3FCA412A00000000, float 0x3FC9F016E0000000, float 0x3FC99FA0E0000000, float 0x3FC94FC6A0000000, float 0x3FC9008660000000, float 0x3FC8B1DEA0000000, float 0x3FC863CDC0000000, float 0x3FC8165240000000, float 0x3FC7C96AC0000000, float 0x3FC77D15C0000000, float 0x3FC73151C0000000, float 0x3FC6E61D60000000, float 0x3FC69B7760000000, float 0x3FC6515E60000000, float 0x3FC607D100000000, float 0x3FC5BECE00000000, float 0x3FC5765440000000, float 0x3FC52E6260000000, float 0x3FC4E6F760000000, float 0x3FC4A011E0000000, float 0x3FC459B0C0000000, float 0x3FC413D300000000, float 0x3FC3CE7780000000, float 0x3FC3899D20000000, float 0x3FC34542E0000000, float 0x3FC30167A0000000, float 0x3FC2BE0A80000000, float 0x3FC27B2A80000000, float 0x3FC238C680000000, float 0x3FC1F6DDA0000000, float 0x3FC1B56F20000000, float 0x3FC17479E0000000, float 0x3FC133FD20000000, float 0x3FC0F3F800000000, float 0x3FC0B46980000000, float 0x3FC07550E0000000, float 0x3FC036AD80000000, float 0x3FBFF0FCA0000000, float 0x3FBF758560000000, float 0x3FBEFAF3A0000000, float 0x3FBE814600000000, float 0x3FBE087B00000000, float 0x3FBD909120000000, float 0x3FBD198700000000, float 0x3FBCA35B60000000, float 0x3FBC2E0D00000000, float 0x3FBBB99A60000000, float 0x3FBB460260000000, float 0x3FBAD343C0000000, float 0x3FBA615D40000000, float 0x3FB9F04DC0000000, float 0x3FB9801440000000, float 0x3FB910AF80000000, float 0x3FB8A21E80000000, float 0x3FB8346020000000, float 0x3FB7C77380000000, float 0x3FB75B5780000000, float 0x3FB6F00B40000000, float 0x3FB6858DE0000000, float 0x3FB61BDE60000000, float 0x3FB5B2FBE0000000, float 0x3FB54AE5C0000000, float 0x3FB4E39B00000000, float 0x3FB47D1AE0000000, float 0x3FB41764A0000000, float 0x3FB3B277A0000000, float 0x3FB34E5320000000, float 0x3FB2EAF680000000, float 0x3FB2886120000000, float 0x3FB2269260000000, float 0x3FB1C589A0000000, float 0x3FB1654680000000, float 0x3FB105C880000000, float 0x3FB0A70F20000000, float 0x3FB04919E0000000, float 0x3FAFD7D0C0000000, float 0x3FAF1EF4A0000000, float 0x3FAE679EA0000000, float 0x3FADB1CE40000000, float 0x3FACFD8300000000, float 0x3FAC4ABC60000000, float 0x3FAB997A20000000, float 0x3FAAE9BBC0000000, float 0x3FAA3B8140000000, float 0x3FA98ECA80000000, float 0x3FA8E39760000000, float 0x3FA839E820000000, float 0x3FA791BCC0000000, float 0x3FA6EB1580000000, float 0x3FA645F2C0000000, float 0x3FA5A25520000000, float 0x3FA5003D00000000, float 0x3FA45FAB20000000, float 0x3FA3C0A040000000, float 0x3FA3231D80000000, float 0x3FA28723C0000000, float 0x3FA1ECB460000000, float 0x3FA153D0A0000000, float 0x3FA0BC7A00000000, float 0x3FA026B260000000, float 0x3F9F24F6C0000000, float 0x3F9DFFAE80000000, float 0x3F9CDD9060000000, float 0x3F9BBEA160000000, float 0x3F9AA2E6E0000000, float 0x3F998A6700000000, float 0x3F98752860000000, float 0x3F976331E0000000, float 0x3F96548B80000000, float 0x3F95493DA0000000, float 0x3F944151C0000000, float 0x3F933CD220000000, float 0x3F923BC9E0000000, float 0x3F913E4560000000, float 0x3F90445200000000, float 0x3F8E9BFDE0000000, float 0x3F8CB6B920000000, float 0x3F8AD8FA60000000, float 0x3F8902EA60000000, float 0x3F8734B6E0000000, float 0x3F856E9300000000, float 0x3F83B0B8C0000000, float 0x3F81FB69E0000000, float 0x3F804EF220000000, float 0x3F7D575200000000, float 0x3F7A23E9E0000000, float 0x3F77049F40000000, float 0x3F73FA97C0000000, float 0x3F71073D60000000, float 0x3F6C58B380000000, float 0x3F66D88900000000, float 0x3F61946BA0000000, float 0x3F592BB560000000, float 0x3F4FB20B00000000, float 0x3F3DC31C40000000], align 16
|
|
%p = getelementptr inbounds [256 x float], ptr @data, i64 0, i64 %idx
|
|
%x = load float, ptr %p, align 8
|
|
ret float %x
|
|
|
|
ziggurat_nor_r = 3.6541528853610087963519472518
|
|
ziggurat_nor_inv_r = 0.27366123732975827203338247596 # 1.0 / ziggurat_nor_r;
|
|
ziggurat_exp_r = 7.6971174701310497140446280481
|
|
|
|
ziggurat_nor_r_f = float32(3.6541528853610087963519472518)
|
|
ziggurat_nor_inv_r_f = float32(0.27366123732975827203338247596)
|
|
ziggurat_exp_r_f = float32(7.6971174701310497140446280481)
|