-
Notifications
You must be signed in to change notification settings - Fork 3
/
exponential_layers.h
6 lines (5 loc) · 19.9 KB
/
exponential_layers.h
1
2
3
4
5
6
#define __EXP_LAYERS__ 252
static double __exp_X__[253] = { 8.2066240675348813774e-19, 7.3973732351607279715e-19, 6.9133313377915297134e-19, 6.564735882096453404e-19, 6.2912539959818512643e-19, 6.065722412960496816e-19, 5.8735276103737267994e-19, 5.705885052853694422e-19, 5.5570945691622385607e-19, 5.4232438903743950245e-19, 5.30152976965087724e-19, 5.189873925770806205e-19, 5.0866922617998330795e-19, 4.9907492938796469537e-19, 4.901062589444953727e-19, 4.816837901064919056e-19, 4.737423865364471109e-19, 4.6622795807196821307e-19, 4.5909509017784050347e-19, 4.5230527790658153187e-19, 4.4582558816353958557e-19, 4.396276312636838133e-19, 4.336867596710646723e-19, 4.2798143618469713337e-19, 4.2249273027064888058e-19, 4.1720391253464110372e-19, 4.1210012522465615118e-19, 4.0716811225869231373e-19, 4.0239599631006900385e-19, 3.9777309342877355022e-19, 3.9328975785334497813e-19, 3.8893725129310324951e-19, 3.8470763218720383677e-19, 3.8059366138180141892e-19, 3.7658872138544728934e-19, 3.7268674692030177278e-19, 3.6888216492248164074e-19, 3.651698424880006699e-19, 3.6154504153287475318e-19, 3.580033791531803284e-19, 3.5454079284533434213e-19, 3.511535098878424474e-19, 3.4783802030030961615e-19, 3.445910528890733823e-19, 3.4140955396563316088e-19, 3.382906683874116145e-19, 3.352317226228900215e-19, 3.322302095868587564e-19, 3.2928377502804473557e-19, 3.2639020528202048738e-19, 3.235474162281081479e-19, 3.207534433108079021e-19, 3.1800643250478611111e-19, 3.1530463211820846166e-19, 3.126463853426513279e-19, 3.1003012346934211873e-19, 3.074543597013730306e-19, 3.049176835000555824e-19, 3.0241875541094566473e-19, 2.9995630232144549354e-19, 2.9752911310742590002e-19, 2.9513603463113223023e-19, 2.9277596805684265515e-19, 2.904478654544256486e-19, 2.881507266641671134e-19, 2.8588359639906930252e-19, 2.8364556156331615495e-19, 2.8143574876779799566e-19, 2.7925332202553123974e-19, 2.7709748061152876818e-19, 2.7496745707320232503e-19, 2.7286251537873399274e-19, 2.7078194919206055275e-19, 2.687250802641905036e-19, 2.666912569315344265e-19, 2.6467985271278892012e-19, 2.626902649966843546e-19, 2.6072191381359757353e-19, 2.5877424068465143955e-19, 2.5684670754248168312e-19, 2.5493879571835479931e-19, 2.5305000499077482827e-19, 2.5117985269112709177e-19, 2.4932787286227805574e-19, 2.4749361546638659159e-19, 2.4567664563848669344e-19, 2.4387654298267841382e-19, 2.4209290090801528688e-19, 2.403253260014053671e-19, 2.3857343743505148903e-19, 2.3683686640614647051e-19, 2.3511525560671253592e-19, 2.3340825872163282929e-19, 2.3171553995306795788e-19, 2.3003677356958333245e-19, 2.2837164347843480297e-19, 2.2671984281957175597e-19, 2.2508107358001936716e-19, 2.2345504622739592122e-19, 2.218414793614077671e-19, 2.202400993822442462e-19, 2.1865064017486841815e-19, 2.1707284280826716385e-19, 2.1550645524878676397e-19, 2.1395123208673777785e-19, 2.1240693427550639372e-19, 2.1087332888245874807e-19, 2.0935018885097035815e-19, 2.078372927729550761e-19, 2.0633442467130713326e-19, 2.0484137379170614798e-19, 2.033579344032686473e-19, 2.0188390560756091047e-19, 2.0041909115551696758e-19, 1.989632992718325545e-19, 1.9751634248643089064e-19, 1.9607803747261945463e-19, 1.9464820489157861502e-19, 1.932266692428431486e-19, 1.9181325872045645911e-19, 1.9040780507449479307e-19, 1.890101434776750298e-19, 1.8762011239677478497e-19, 1.8623755346860768625e-19, 1.8486231138030982884e-19, 1.8349423375370566165e-19, 1.8213317103353295125e-19, 1.8077897637931707479e-19, 1.794315055606947555e-19, 1.7809061685599651963e-19, 1.7675617095390566444e-19, 1.7542803085801942018e-19, 1.7410606179414530083e-19, 1.7279013112017239911e-19, 1.7148010823836361995e-19, 1.7017586450992058929e-19, 1.688772731716782448e-19, 1.6758420925479093262e-19, 1.6629654950527621814e-19, 1.6501417230628658573e-19, 1.637369576019827659e-19, 1.6246478682288560054e-19, 1.6119754281258614972e-19, 1.5993510975569616124e-19, 1.5867737310692307875e-19, 1.5742421952115545355e-19, 1.5617553678444595799e-19, 1.5493121374578017049e-19, 1.5369114024951991498e-19, 1.524552070684101866e-19, 1.512233058370385755e-19, 1.4999532898563560441e-19, 1.4877116967410351291e-19, 1.4755072172615973998e-19, 1.4633387956347966273e-19, 1.4512053813972102371e-19, 1.439105928743099044e-19, 1.4270393958586505207e-19, 1.4150047442513381695e-19, 1.40300093807308874e-19, 1.3910269434359025577e-19, 1.3790817277185196915e-19, 1.3671642588626656692e-19, 1.3552735046573444455e-19, 1.3434084320095727888e-19, 1.3315680061998685586e-19, 1.3197511901207148055e-19, 1.3079569434961214567e-19, 1.2961842220802956884e-19, 1.2844319768333099568e-19, 1.2726991530715219691e-19, 1.2609846895903524106e-19, 1.2492875177568626214e-19, 1.2376065605693941227e-19, 1.2259407316813331684e-19, 1.214288934385844444e-19, 1.2026500605581764329e-19, 1.1910229895518743841e-19, 1.1794065870449424615e-19, 1.1677997038316713979e-19, 1.156201174555488283e-19, 1.1446098163777869559e-19, 1.1330244275772562999e-19, 1.1214437860737343808e-19, 1.1098666478700729241e-19, 1.0982917454048923903e-19, 1.0867177858084351962e-19, 1.0751434490529746799e-19, 1.0635673859884001395e-19, 1.05198821625266214807e-19, 1.0404045260457140443e-19, 1.02881486575440968406e-19, 1.01721774741449647264e-19, 1.00561164199435584006e-19, 9.939949764834668121e-20, 9.823661307666744121e-20, 9.7072343426320089564e-20, 9.5906516230690640027e-20, 9.473895322415420224e-20, 9.356946992015903777e-20, 9.2397875154569470855e-20, 9.122397059055646921e-20, 9.004755018085287829e-20, 8.886839958264762866e-20, 8.7686295519767451544e-20, 8.6501005086071010797e-20, 8.531228498314119096e-20, 8.411988068438521409e-20, 8.292352551651342241e-20, 8.1722939648034501414e-20, 8.0517828972839211076e-20, 7.930788387509922755e-20, 7.8092777859524429275e-20, 7.6872166028429043063e-20, 7.5645683383965123655e-20, 7.4412942930179124563e-20, 7.317353354509333515e-20, 7.192701758763107344e-20, 7.067292819766678318e-20, 6.941076623950036004e-20, 6.813999682925642524e-20, 6.6860045374610228264e-20, 6.5570293040210083836e-20, 6.4270071533368527164e-20, 6.295865708092355751e-20, 6.16352634381431403e-20, 6.0299033732151695955e-20, 5.8949030892850186956e-20, 5.7584226359885935195e-20, 5.6203486669597398677e-20, 5.480555741349931247e-20, 5.3389043909003294566e-20, 5.1952387717989919365e-20, 5.0493837866338353498e-20, 4.9011415222629488687e-20, 4.750286793336611589e-20, 4.5965615001265455485e-20, 4.4396673897997566963e-20, 4.2792566302148586533e-20, 4.1149193273430015416e-20, 3.9461666762606284585e-20, 3.7724077131401682566e-20, 3.5929164086204360592e-20, 3.40678366911005648e-20, 3.2128447641564047085e-20, 3.0095646916399996842e-20, 2.7948469455598327744e-20, 2.5656913048718643991e-20, 2.3175209756803908818e-20, 2.0426695228251291558e-20, 1.7261770330213486631e-20, 1.32818892594425786716e-20, 0.0 };
static double __exp_Y__[253] = { 5.595205495112736541e-23, 1.1802509982703312782e-22, 1.8444423386735828626e-22, 2.5439030466698311134e-22, 3.2737694311509333333e-22, 4.030773213270671531e-22, 4.8125478319495118695e-22, 5.6172914896583309584e-22, 6.443582054044352367e-22, 7.2902662343463682947e-22, 8.156388845632194138e-22, 9.041145368348222305e-22, 9.943848848639920744e-22, 1.0863906045969114466e-21, 1.1800799775461269341e-21, 1.2754075534831207668e-21, 1.3723331176377289781e-21, 1.4708208794375213828e-21, 1.5708388257440444254e-21, 1.6723581984374565727e-21, 1.7753530675030514967e-21, 1.8797999785104595961e-21, 1.9856776587832502972e-21, 2.0929667704053245184e-21, 2.2016497009958241286e-21, 2.311710385230617785e-21, 2.4231341516125463787e-21, 2.5359075901420891441e-21, 2.650018437417054e-21, 2.7654554763660390605e-21, 2.8822084483468604257e-21, 3.0002679757547712065e-21, 3.1196254936130377157e-21, 3.2402731888801749801e-21, 3.362203946418709242e-21, 3.4854113007409036225e-21, 3.609889392785947175e-21, 3.7356329310971768156e-21, 3.862637156862005548e-21, 3.990897812355283997e-21, 4.1204111123918946378e-21, 4.251173718448891248e-21, 4.3831827151633735653e-21, 4.5164355889510655987e-21, 4.650930208523480262e-21, 4.7866648071096004257e-21, 4.9236379662119970415e-21, 5.0618486007478994782e-21, 5.2012959454434735074e-21, 5.3419795423648944467e-21, 5.4838992294830959065e-21, 5.6270551301806345464e-21, 5.7714476436191937716e-21, 5.917077435895067892e-21, 6.0639454319177025108e-21, 6.2120528079531678648e-21, 6.3614009847804374448e-21, 6.511991621413642864e-21, 6.6638266093481698604e-21, 6.816908067292628254e-21, 6.971238336352438001e-21, 7.1268199756340819994e-21, 7.283655758242033768e-21, 7.441748667643017428e-21, 7.601101894374635773e-21, 7.7617188330775416784e-21, 7.92360307983225678e-21, 8.0867584297834835e-21, 8.251188875036333501e-21, 8.416898602810326032e-21, 8.583891993838309759e-21, 8.75217362099864592e-21, 8.9217482481700716235e-21, 9.092620829299650941e-21, 9.264796507675128066e-21, 9.438280615393829889e-21, 9.6130786730210326854e-21, 9.7891963894314161076e-21, 9.966639661827883446e-21, 1.0145414575932635777e-20, 1.0325527406345953962e-20, 1.0506984617068670919e-20, 1.0689792862184811346e-20, 1.08739589867013403194e-20, 1.1059490027542399658e-20, 1.1246393214695824063e-20, 1.1434675972510120954e-20, 1.1624345921140470678e-20, 1.18154108781426598255e-20, 1.2007878860214201695e-20, 1.2201758085082226434e-20, 1.23970569735380406755e-20, 1.25937841516185643535e-20, 1.27919484529351521886e-20, 1.2991558921150600553e-20, 1.3192624812605428356e-20, 1.33951555990948044975e-20, 1.359916097079777545e-20, 1.3804650839360725905e-20, 1.4011635341137284106e-20, 1.4220124840587162642e-20, 1.4430129933836706055e-20, 1.4641661452404199749e-20, 1.4854730467093281128e-20, 1.5069348292058084942e-20, 1.5285526489044051184e-20, 1.550327687180862668e-20, 1.572261151072640176e-20, 1.5943542737583541973e-20, 1.6166083150566702937e-20, 1.6390245619451954946e-20, 1.6616043290999594117e-20, 1.6843489594561079727e-20, 1.7072598247904714155e-20, 1.730338326326707365e-20, 1.7535858953637606375e-20, 1.7770039939284240097e-20, 1.8005941154528286874e-20, 1.8243577854777397731e-20, 1.8482965623825808043e-20, 1.8724120381431625892e-20, 1.8967058391181452834e-20, 1.9211796268653190977e-20, 1.9458350989888484313e-20, 1.970673990018686775e-20, 1.9956980723234356555e-20, 2.0209091570579904528e-20, 2.0463090951473893574e-20, 2.071899778308359326e-20, 2.0976831401101349604e-20, 2.1236611570762130502e-20, 2.149835849828797491e-20, 2.1762092842777867282e-20, 2.2027835728562592138e-20, 2.2295608758045220274e-20, 2.2565434025049042546e-20, 2.2837334128696004404e-20, 2.3111332187840009939e-20, 2.3387451856080863836e-20, 2.3665717337386109677e-20, 2.3946153402349610421e-20, 2.422878540511740898e-20, 2.451363930101321163e-20, 2.4800741664897763406e-20, 2.5090119710298442016e-20, 2.5381801309347595627e-20, 2.5675815013570501215e-20, 2.5972190075566336498e-20, 2.6270956471628252885e-20, 2.657214492535152419e-20, 2.6875786932281841793e-20, 2.7181914785659148944e-20, 2.7490561603315973982e-20, 2.780176135579305523e-20, 2.8115548895739171937e-20, 2.8431959988666530874e-20, 2.875103134513783466e-20, 2.9072800654466305353e-20, 2.9397306620015488926e-20, 2.9724588996191658952e-20, 3.00546886272281117e-20, 3.038764748786764402e-20, 3.0723508726057078972e-20, 3.10623167077759059e-20, 3.1404117064129992024e-20, 3.174895674085096714e-20, 3.2096884050352355866e-20, 3.2447948726504914308e-20, 3.2802201982306010648e-20, 3.3159696570631373438e-20, 3.3520486848272228933e-20, 3.3884628843476885975e-20, 3.425218032723334304e-20, 3.4623200888548644353e-20, 3.4997752014001675698e-20, 3.5375897171869062515e-20, 3.5757701901149034162e-20, 3.6143233905835797448e-20, 3.6532563154827399566e-20, 3.6925761987883571215e-20, 3.732290522808698208e-20, 3.7724070301302116144e-20, 3.8129337363171041846e-20, 3.8538789434235231025e-20, 3.8952512543827861914e-20, 3.9370595883442398753e-20, 3.9793131970351442037e-20, 4.0220216822325768093e-20, 4.0651950144388131618e-20, 4.108843552863094592e-20, 4.1529780668232713074e-20, 4.1976097586926583475e-20, 4.2427502885307452318e-20, 4.2884118005513601707e-20, 4.334606951598745126e-20, 4.3813489418210258125e-20, 4.428651547752083945e-20, 4.4765291580372354148e-20, 4.5249968120658305192e-20, 4.5740702418054414246e-20, 4.6237659171683015156e-20, 4.674101095281836758e-20, 4.7250938740823412668e-20, 4.7767632507051216638e-20, 4.8291291852069893986e-20, 4.8822126702292803115e-20, 4.9360358072933849077e-20, 4.990621890518202303e-20, 5.045995498662553966e-20, 5.102182596528532362e-20, 5.159210646917825489e-20, 5.217108734516923158e-20, 5.2759077033045283226e-20, 5.3356403093325856008e-20, 5.3963413910399510065e-20, 5.458048059625925011e-20, 5.520799912453557973e-20, 5.5846392729873830945e-20, 5.649611461419376702e-20, 5.71576510092907092e-20, 5.783152465495663432e-20, 5.851829876379432655e-20, 5.921858155879170708e-20, 5.9933031488338704147e-20, 6.066236324679688545e-20, 6.140735475843499893e-20, 6.2168855320499761695e-20, 6.2947795150103726903e-20, 6.3745196643214392727e-20, 6.4562187737537981375e-20, 6.5400017881889099223e-20, 6.626007726330934297e-20, 6.71439201451466169e-20, 6.8053293447301702413e-20, 6.899017208813300249e-20, 6.995680315856449703e-20, 7.095576179487843448e-20, 7.199002278894507883e-20, 7.306305373910545998e-20, 7.4178938266266886506e-20, 7.534254213417312197e-20, 7.65597421711429721e-20, 7.783774986341284428e-20, 7.918558267402950891e-20, 8.061477553735330568e-20, 8.2140502769818067355e-20, 8.3783445978280521145e-20, 8.557312924967816215e-20, 8.755445966959010336e-20, 8.980238805770688133e-20, 9.246247142115108222e-20, 9.5919641344951719754e-20, 1.0842021724855044341e-19 };
static int64_t __exp_map__[256] = { 0, 0, 1, 235, 3, 4, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 251, 250, 250, 250, 250, 250, 250, 250, 249, 249, 249, 249, 249, 249, 248, 248, 248, 248, 247, 247, 247, 247, 246, 246, 246, 245, 245, 244, 244, 243, 243, 242, 241, 241, 240, 239, 237, 3, 3, 4, 4, 6, 0, 0, 0, 0, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 2, 0, 0, 0 };
static int64_t __exp_ipmf__[256] = { 9223372036854775807, 1623796909450843882, 2664290944894300602, 7387971354164057249, 6515064486552726692, 8840508362680719172, 6099647593382936718, 7673130333659513791, 6220332867583438120, 5045979640552813726, 4075305837223955555, 3258413672162525480, 2560664887087762588, 1957224924672899696, 1429800935350577587, 964606309710808293, 551043923599587208, 180827629096888698, -152619738120023667, -454588624410291586, -729385126147775008, -980551509819446975, -1211029700667463997, -1423284293868548476, -1619396356369050443, -1801135830956211658, -1970018048575618121, -2127348289059705352, -2274257249303686407, -2411729520096655335, -2540626634159180966, -2661705860113406501, -2775635634532465156, -2883008316030448772, -2984350790383654755, -3080133339198118435, -3170777096303105378, -3256660348483802658, -3338123885075136225, -3415475560473299073, -3488994201966428192, -3558932970354473120, -3625522261068041024, -3688972217741989311, -3749474917563782559, -3807206277531072446, -3862327722496827102, -3914987649156779646, -3965322714631865118, -4013458973776911933, -4059512885612766909, -4103592206186240989, -4145796782586127996, -4186219260694346876, -4224945717447275100, -4262056226866285436, -4297625367836519516, -4331722680528537243, -4364413077437472443, -4395757214229405659, -4425811824915135803, -4454630025296932571, -4482261588141290459, -4508753193105288090, -4534148654077808986, -4558489126279953562, -4581813295192216538, -4604157549138257562, -4625556137145255226, -4646041313519104377, -4665643470413305849, -4684391259530342873, -4702311703971745241, -4719430301145103161, -4735771117539946201, -4751356876102087161, -4766209036859144665, -4780347871386013177, -4793792531638875481, -4806561113635132504, -4818670716409312504, -4830137496634465528, -4840976719260854200, -4851202804490332408, -4860829371376476216, -4869869278311657368, -4878334660640770840, -4886236965617410744, -4893586984900802488, -4900394884772702648, -4906670234238885240, -4912422031164505688, -4917658726580135992, -4922388247283515672, -4926618016851066488, -4930354975163351384, -4933605596540634712, -4936375906575303608, -4938671497741365688, -4940497543854567096, -4941858813449629176, -4942759682136122424, -4943204143989086360, -4943195822025527448, -4942737977813222296, -4941833520255016408, -4940485013586754712, -4938694684624342488, -4936464429291795480, -4933795818458829912, -4930690103114057496, -4927148218896863576, -4923170790008275480, -4918758132519218136, -4913910257091645400, -4908626871126533592, -4902907380349533528, -4896750889844272408, -4890156204540530584, -4883121829162559384, -4875645967641780760, -4867726521994926616, -4859361090668119320, -4850546966345096792, -4841281133215532760, -4831560263698491480, -4821380714613453080, -4810738522790071768, -4799629400105481561, -4788048727936296793, -4775991551010531097, -4763452570642114073, -4750426137329487705, -4736906242696388761, -4722886510751377305, -4708360188440098265, -4693320135461420441, -4677758813316091225, -4661668273553505049, -4645040145179241049, -4627865621182771610, -4610135444140936794, -4591839890849328666, -4572968755929961178, -4553511334358205402, -4533456402849117594, -4512792200036262234, -4491506405372580506, -4469586116675409883, -4447017826233107675, -4423787395382284443, -4399880027458416027, -4375280239014114715, -4349971829190471835, -4323937847117721563, -4297160557210933212, -4269621402214949532, -4241300963840748956, -4212178920821861340, -4182234004204460124, -4151443949668867932, -4119785446662296349, -4087234084103201245, -4053764292396156637, -4019349281473091101, -3983960974549675997, -3947569937258423134, -3910145301787352094, -3871654685619031838, -3832064104425372062, -3791337878631571103, -3749438533114300767, -3706326689447994399, -3661960950051858463, -3616297773528534624, -3569291340409172768, -3520893408440945952, -3471053156460670624, -3419717015797766049, -3366828488034805473, -3312327947826471457, -3256152429334010402, -3198235394669719138, -3138506482563172770, -3076891235255162851, -3013310801389730787, -2947681612411374883, -2879915029671681188, -2809916959107501476, -2737587429961865893, -2662820133571331621, -2585501917733389862, -2505512231579375142, -2422722515205198759, -2336995527534111143, -2248184604988704423, -2156132842510781096, -2060672187261031848, -1961622433929355305, -1858790108950114729, -1751967229002895402, -1640929916937133099, -1525436855617589419, -1405227557075243948, -1280020420662666285, -1149510549536579758, -1013367289578712238, -871231448632096687, -722712146453684144, -567383236774419505, -404779231966954546, -234390647591529267, -55658667960119220, 132030985907825098, 329355128892811721, 537061298001093320, 755977262693564231, 987022116608033221, 1231219266829431236, 1489711711346527042, 1763780090187545153, 2054864117341795007, 2364588157623768893, 2694791916990503227, 3047567482883476153, 3425304305830816311, 3830744187097297845, 4267048975685823282, 4737884547990026928, 5247525842198991661, 5800989391535355690, 6404202162993305511, 7064218894258536099, 7789505049452337054, 8590309807749428890, 7643763810684496693, 8891950541491447747, 5457384281016224643, 9083704440929287427, 7976211653914437941, 8178631350487107039, 2821287825726747455, 6322989683301721817, 4309503753387620390, 4685170734960162663, 8404845967535207445, 7330522972447569906, 1960945799077004028, 4742910674644885083, -751799822533491180, 7023456603741960332, 3843116882594647421, 3927231442413912528, -9223372036854775807, -9223372036854775807, -9223372036854775807 };