text: #pragma once
  // generated on Jan 11 2021 20:12:50
  #include <fixedmath/types.h>
  
  #include <cstdio>
  #include <array>
  #include <cstdint>
  #include <cassert>
  
  namespace fixedmath {
  
  // sine of full circle for input in degrees
  static std::array<fixed_internal, 361> sin_angle_table__ {
  
    0ll /* sin(0) ~=0.0000000000000000*/,   1144ll /* sin(0.0174532572428385) ~=0.0174560546875000*/, 
    2287ll /* sin(0.0349065144856771) ~=0.0348968505859375*/,   3430ll /* sin(0.0523597717285156) ~=0.0523376464843750*/, 
    4572ll /* sin(0.0698130289713542) ~=0.0697631835937500*/,   5712ll /* sin(0.0872662862141927) ~=0.0871582031250000*/, 
    6850ll /* sin(0.1047195434570312) ~=0.1045227050781250*/,   7987ll /* sin(0.1221728006998698) ~=0.1218719482421875*/, 
    9121ll /* sin(0.1396260579427083) ~=0.1391754150390625*/,   10252ll /* sin(0.1570793151855469) ~=0.1564331054687500*/, 
    11380ll /* sin(0.1745325724283854) ~=0.1736450195312500*/,   12505ll /* sin(0.1919858296712240) ~=0.1908111572265625*/, 
    13626ll /* sin(0.2094390869140625) ~=0.2079162597656250*/,   14742ll /* sin(0.2268923441569010) ~=0.2249450683593750*/, 
    15855ll /* sin(0.2443456013997396) ~=0.2419281005859375*/,   16962ll /* sin(0.2617988586425781) ~=0.2588195800781250*/, 
    18064ll /* sin(0.2792521158854167) ~=0.2756347656250000*/,   19161ll /* sin(0.2967053731282552) ~=0.2923736572265625*/, 
    20252ll /* sin(0.3141586303710938) ~=0.3090209960937500*/,   21336ll /* sin(0.3316118876139323) ~=0.3255615234375000*/, 
    22415ll /* sin(0.3490651448567708) ~=0.3420257568359375*/,   23486ll /* sin(0.3665184020996094) ~=0.3583679199218750*/, 
    24550ll /* sin(0.3839716593424479) ~=0.3746032714843750*/,   25607ll /* sin(0.4014249165852865) ~=0.3907318115234375*/, 
    26656ll /* sin(0.4188781738281250) ~=0.4067382812500000*/,   27697ll /* sin(0.4363314310709636) ~=0.4226226806640625*/, 
    28729ll /* sin(0.4537846883138021) ~=0.4383697509765625*/,   29753ll /* sin(0.4712379455566406) ~=0.4539947509765625*/, 
    30767ll /* sin(0.4886912027994791) ~=0.4694671630859375*/,   31772ll /* sin(0.5061444600423177) ~=0.4848022460937500*/, 
    32768ll /* sin(0.5235977172851562) ~=0.5000000000000000*/,   33753ll /* sin(0.5410509745279948) ~=0.5150299072265625*/, 
    34729ll /* sin(0.5585042317708333) ~=0.5299224853515625*/,   35693ll /* sin(0.5759574890136718) ~=0.5446319580078125*/, 
    36647ll /* sin(0.5934107462565105) ~=0.5591888427734375*/,   37590ll /* sin(0.6108640034993490) ~=0.5735778808593750*/, 
    38521ll /* sin(0.6283172607421875) ~=0.5877838134765625*/,   39440ll /* sin(0.6457705179850260) ~=0.6018066406250000*/, 
    40348ll /* sin(0.6632237752278646) ~=0.6156616210937500*/,   41243ll /* sin(0.6806770324707031) ~=0.6293182373046875*/, 
    42126ll /* sin(0.6981302897135416) ~=0.6427917480468750*/,   42995ll /* sin(0.7155835469563802) ~=0.6560516357421875*/, 
    43852ll /* sin(0.7330368041992188) ~=0.6691284179687500*/,   44695ll /* sin(0.7504900614420573) ~=0.6819915771484375*/, 
    45525ll /* sin(0.7679433186848958) ~=0.6946563720703125*/,   46341ll /* sin(0.7853965759277344) ~=0.7071075439453125*/, 
    47143ll /* sin(0.8028498331705729) ~=0.7193450927734375*/,   47930ll /* sin(0.8203030904134114) ~=0.7313537597656250*/, 
    48703ll /* sin(0.8377563476562500) ~=0.7431488037109375*/,   49461ll /* sin(0.8552096048990886) ~=0.7547149658203125*/, 
    50203ll /* sin(0.8726628621419271) ~=0.7660369873046875*/,   50931ll /* sin(0.8901161193847656) ~=0.7771453857421875*/, 
    51643ll /* sin(0.9075693766276042) ~=0.7880096435546875*/,   52339ll /* sin(0.9250226338704427) ~=0.7986297607421875*/, 
    53020ll /* sin(0.9424758911132812) ~=0.8090209960937500*/,   53684ll /* sin(0.9599291483561198) ~=0.8191528320312500*/, 
    54332ll /* sin(0.9773824055989583) ~=0.8290405273437500*/,   54963ll /* sin(0.9948356628417969) ~=0.8386688232421875*/, 
    55578ll /* sin(1.0122889200846354) ~=0.8480529785156250*/,   56175ll /* sin(1.0297421773274740) ~=0.8571624755859375*/, 
    56756ll /* sin(1.0471954345703125) ~=0.8660278320312500*/,   57319ll /* sin(1.0646486918131510) ~=0.8746185302734375*/, 
    57865ll /* sin(1.0821019490559896) ~=0.8829498291015625*/,   58393ll /* sin(1.0995552062988281) ~=0.8910064697265625*/, 
    58903ll /* sin(1.1170084635416666) ~=0.8987884521484375*/,   59396ll /* sin(1.1344617207845051) ~=0.9063110351562500*/, 
    59870ll /* sin(1.1519149780273437) ~=0.9135437011718750*/,   60326ll /* sin(1.1693682352701822) ~=0.9205017089843750*/, 
    60764ll /* sin(1.1868214925130209) ~=0.9271850585937500*/,   61183ll /* sin(1.2042747497558595) ~=0.9335784912109375*/, 
    61584ll /* sin(1.2217280069986980) ~=0.9396972656250000*/,   61965ll /* sin(1.2391812642415365) ~=0.9455108642578125*/, 
    62328ll /* sin(1.2566345214843750) ~=0.9510498046875000*/,   62672ll /* sin(1.2740877787272136) ~=0.9562988281250000*/, 
    62997ll /* sin(1.2915410359700521) ~=0.9612579345703125*/,   63303ll /* sin(1.3089942932128906) ~=0.9659271240234375*/, 
    63589ll /* sin(1.3264475504557292) ~=0.9702911376953125*/,   63856ll /* sin(1.3439008076985677) ~=0.9743652343750000*/, 
    64104ll /* sin(1.3613540649414062) ~=0.9781494140625000*/,   64332ll /* sin(1.3788073221842447) ~=0.9816284179687500*/, 
    64540ll /* sin(1.3962605794270833) ~=0.9848022460937500*/,   64729ll /* sin(1.4137138366699218) ~=0.9876861572265625*/, 
    64898ll /* sin(1.4311670939127603) ~=0.9902648925781250*/,   65047ll /* sin(1.4486203511555991) ~=0.9925384521484375*/, 
    65177ll /* sin(1.4660736083984376) ~=0.9945220947265625*/,   65287ll /* sin(1.4835268656412761) ~=0.9962005615234375*/, 
    65376ll /* sin(1.5009801228841146) ~=0.9975585937500000*/,   65446ll /* sin(1.5184333801269532) ~=0.9986267089843750*/, 
    65496ll /* sin(1.5358866373697917) ~=0.9993896484375000*/,   65526ll /* sin(1.5533398946126302) ~=0.9998474121093750*/, 
    65536ll /* sin(1.5707931518554688) ~=1.0000000000000000*/,   65526ll /* sin(1.5882464090983073) ~=0.9998474121093750*/, 
    65496ll /* sin(1.6056996663411458) ~=0.9993896484375000*/,   65446ll /* sin(1.6231529235839843) ~=0.9986267089843750*/, 
    65376ll /* sin(1.6406061808268229) ~=0.9975585937500000*/,   65287ll /* sin(1.6580594380696614) ~=0.9962005615234375*/, 
    65177ll /* sin(1.6755126953124999) ~=0.9945220947265625*/,   65048ll /* sin(1.6929659525553384) ~=0.9925537109375000*/, 
    64898ll /* sin(1.7104192097981772) ~=0.9902648925781250*/,   64729ll /* sin(1.7278724670410157) ~=0.9876861572265625*/, 
    64540ll /* sin(1.7453257242838542) ~=0.9848022460937500*/,   64332ll /* sin(1.7627789815266928) ~=0.9816284179687500*/, 
    64104ll /* sin(1.7802322387695313) ~=0.9781494140625000*/,   63856ll /* sin(1.7976854960123698) ~=0.9743652343750000*/, 
    63589ll /* sin(1.8151387532552083) ~=0.9702911376953125*/,   63303ll /* sin(1.8325920104980469) ~=0.9659271240234375*/, 
    62997ll /* sin(1.8500452677408854) ~=0.9612579345703125*/,   62672ll /* sin(1.8674985249837239) ~=0.9562988281250000*/, 
    62329ll /* sin(1.8849517822265625) ~=0.9510650634765625*/,   61966ll /* sin(1.9024050394694010) ~=0.9455261230468750*/, 
    61584ll /* sin(1.9198582967122395) ~=0.9396972656250000*/,   61183ll /* sin(1.9373115539550780) ~=0.9335784912109375*/, 
    60764ll /* sin(1.9547648111979166) ~=0.9271850585937500*/,   60326ll /* sin(1.9722180684407553) ~=0.9205017089843750*/, 
    59870ll /* sin(1.9896713256835938) ~=0.9135437011718750*/,   59396ll /* sin(2.0071245829264321) ~=0.9063110351562500*/, 
    58903ll /* sin(2.0245778401692709) ~=0.8987884521484375*/,   58393ll /* sin(2.0420310974121092) ~=0.8910064697265625*/, 
    57865ll /* sin(2.0594843546549479) ~=0.8829498291015625*/,   57319ll /* sin(2.0769376118977863) ~=0.8746185302734375*/, 
    56756ll /* sin(2.0943908691406250) ~=0.8660278320312500*/,   56175ll /* sin(2.1118441263834637) ~=0.8571624755859375*/, 
    55578ll /* sin(2.1292973836263021) ~=0.8480529785156250*/,   54963ll /* sin(2.1467506408691408) ~=0.8386688232421875*/, 
    54332ll /* sin(2.1642038981119791) ~=0.8290405273437500*/,   53684ll /* sin(2.1816571553548179) ~=0.8191528320312500*/, 
    53020ll /* sin(2.1991104125976562) ~=0.8090209960937500*/,   52340ll /* sin(2.2165636698404949) ~=0.7986450195312500*/, 
    51643ll /* sin(2.2340169270833332) ~=0.7880096435546875*/,   50931ll /* sin(2.2514701843261720) ~=0.7771453857421875*/, 
    50204ll /* sin(2.2689234415690103) ~=0.7660522460937500*/,   49461ll /* sin(2.2863766988118490) ~=0.7547149658203125*/, 
    48703ll /* sin(2.3038299560546873) ~=0.7431488037109375*/,   47930ll /* sin(2.3212832132975261) ~=0.7313537597656250*/, 
    47143ll /* sin(2.3387364705403644) ~=0.7193450927734375*/,   46341ll /* sin(2.3561897277832031) ~=0.7071075439453125*/, 
    45525ll /* sin(2.3736429850260419) ~=0.6946563720703125*/,   44696ll /* sin(2.3910962422688802) ~=0.6820068359375000*/, 
    43852ll /* sin(2.4085494995117189) ~=0.6691284179687500*/,   42996ll /* sin(2.4260027567545572) ~=0.6560668945312500*/, 
    42126ll /* sin(2.4434560139973960) ~=0.6427917480468750*/,   41243ll /* sin(2.4609092712402343) ~=0.6293182373046875*/, 
    40348ll /* sin(2.4783625284830730) ~=0.6156616210937500*/,   39441ll /* sin(2.4958157857259113) ~=0.6018218994140625*/, 
    38521ll /* sin(2.5132690429687501) ~=0.5877838134765625*/,   37590ll /* sin(2.5307223002115884) ~=0.5735778808593750*/, 
    36648ll /* sin(2.5481755574544271) ~=0.5592041015625000*/,   35694ll /* sin(2.5656288146972654) ~=0.5446472167968750*/, 
    34729ll /* sin(2.5830820719401042) ~=0.5299224853515625*/,   33754ll /* sin(2.6005353291829425) ~=0.5150451660156250*/, 
    32768ll /* sin(2.6179885864257812) ~=0.5000000000000000*/,   31773ll /* sin(2.6354418436686200) ~=0.4848175048828125*/, 
    30768ll /* sin(2.6528951009114583) ~=0.4694824218750000*/,   29753ll /* sin(2.6703483581542971) ~=0.4539947509765625*/, 
    28729ll /* sin(2.6878016153971354) ~=0.4383697509765625*/,   27697ll /* sin(2.7052548726399741) ~=0.4226226806640625*/, 
    26656ll /* sin(2.7227081298828124) ~=0.4067382812500000*/,   25607ll /* sin(2.7401613871256512) ~=0.3907318115234375*/, 
    24551ll /* sin(2.7576146443684895) ~=0.3746185302734375*/,   23486ll /* sin(2.7750679016113282) ~=0.3583679199218750*/, 
    22415ll /* sin(2.7925211588541665) ~=0.3420257568359375*/,   21337ll /* sin(2.8099744160970053) ~=0.3255767822265625*/, 
    20252ll /* sin(2.8274276733398436) ~=0.3090209960937500*/,   19161ll /* sin(2.8448809305826823) ~=0.2923736572265625*/, 
    18065ll /* sin(2.8623341878255206) ~=0.2756500244140625*/,   16962ll /* sin(2.8797874450683594) ~=0.2588195800781250*/, 
    15855ll /* sin(2.8972407023111981) ~=0.2419281005859375*/,   14743ll /* sin(2.9146939595540364) ~=0.2249603271484375*/, 
    13626ll /* sin(2.9321472167968752) ~=0.2079162597656250*/,   12505ll /* sin(2.9496004740397135) ~=0.1908111572265625*/, 
    11381ll /* sin(2.9670537312825522) ~=0.1736602783203125*/,   10252ll /* sin(2.9845069885253905) ~=0.1564331054687500*/, 
    9121ll /* sin(3.0019602457682293) ~=0.1391754150390625*/,   7987ll /* sin(3.0194135030110676) ~=0.1218719482421875*/, 
    6851ll /* sin(3.0368667602539063) ~=0.1045379638671875*/,   5712ll /* sin(3.0543200174967446) ~=0.0871582031250000*/, 
    4572ll /* sin(3.0717732747395834) ~=0.0697631835937500*/,   3430ll /* sin(3.0892265319824217) ~=0.0523376464843750*/, 
    2288ll /* sin(3.1066797892252604) ~=0.0349121093750000*/,   1144ll /* sin(3.1241330464680988) ~=0.0174560546875000*/, 
    0ll /* sin(3.1415863037109375) ~=0.0000000000000000*/,   -1143ll /* sin(3.1590395609537762) ~=-0.0174407958984375*/, 
    -2287ll /* sin(3.1764928181966146) ~=-0.0348968505859375*/,   -3429ll /* sin(3.1939460754394533) ~=-0.0523223876953125*/, 
    -4571ll /* sin(3.2113993326822916) ~=-0.0697479248046875*/,   -5711ll /* sin(3.2288525899251304) ~=-0.0871429443359375*/, 
    -6850ll /* sin(3.2463058471679687) ~=-0.1045227050781250*/,   -7986ll /* sin(3.2637591044108074) ~=-0.1218566894531250*/, 
    -9120ll /* sin(3.2812123616536457) ~=-0.1391601562500000*/,   -10252ll /* sin(3.2986656188964845) ~=-0.1564331054687500*/, 
    -11380ll /* sin(3.3161188761393228) ~=-0.1736450195312500*/,   -12504ll /* sin(3.3335721333821615) ~=-0.1907958984375000*/, 
    -13625ll /* sin(3.3510253906249998) ~=-0.2079010009765625*/,   -14742ll /* sin(3.3684786478678386) ~=-0.2249450683593750*/, 
    -15854ll /* sin(3.3859319051106769) ~=-0.2419128417968750*/,   -16962ll /* sin(3.4033851623535156) ~=-0.2588195800781250*/, 
    -18064ll /* sin(3.4208384195963544) ~=-0.2756347656250000*/,   -19160ll /* sin(3.4382916768391927) ~=-0.2923583984375000*/, 
    -20251ll /* sin(3.4557449340820314) ~=-0.3090057373046875*/,   -21336ll /* sin(3.4731981913248697) ~=-0.3255615234375000*/, 
    -22414ll /* sin(3.4906514485677085) ~=-0.3420104980468750*/,   -23486ll /* sin(3.5081047058105468) ~=-0.3583679199218750*/, 
    -24550ll /* sin(3.5255579630533855) ~=-0.3746032714843750*/,   -25607ll /* sin(3.5430112202962238) ~=-0.3907318115234375*/, 
    -26655ll /* sin(3.5604644775390626) ~=-0.4067230224609375*/,   -27696ll /* sin(3.5779177347819009) ~=-0.4226074218750000*/, 
    -28729ll /* sin(3.5953709920247396) ~=-0.4383697509765625*/,   -29752ll /* sin(3.6128242492675779) ~=-0.4539794921875000*/, 
    -30767ll /* sin(3.6302775065104167) ~=-0.4694671630859375*/,   -31772ll /* sin(3.6477307637532550) ~=-0.4848022460937500*/, 
    -32768ll /* sin(3.6651840209960938) ~=-0.5000000000000000*/,   -33753ll /* sin(3.6826372782389325) ~=-0.5150299072265625*/, 
    -34728ll /* sin(3.7000905354817708) ~=-0.5299072265625000*/,   -35693ll /* sin(3.7175437927246096) ~=-0.5446319580078125*/, 
    -36647ll /* sin(3.7349970499674479) ~=-0.5591888427734375*/,   -37589ll /* sin(3.7524503072102866) ~=-0.5735626220703125*/, 
    -38521ll /* sin(3.7699035644531249) ~=-0.5877838134765625*/,   -39440ll /* sin(3.7873568216959637) ~=-0.6018066406250000*/, 
    -40348ll /* sin(3.8048100789388020) ~=-0.6156616210937500*/,   -41243ll /* sin(3.8222633361816407) ~=-0.6293182373046875*/, 
    -42125ll /* sin(3.8397165934244790) ~=-0.6427764892578125*/,   -42995ll /* sin(3.8571698506673178) ~=-0.6560516357421875*/, 
    -43852ll /* sin(3.8746231079101561) ~=-0.6691284179687500*/,   -44695ll /* sin(3.8920763651529948) ~=-0.6819915771484375*/, 
    -45525ll /* sin(3.9095296223958331) ~=-0.6946563720703125*/,   -46341ll /* sin(3.9269828796386719) ~=-0.7071075439453125*/, 
    -47142ll /* sin(3.9444361368815106) ~=-0.7193298339843750*/,   -47930ll /* sin(3.9618893941243489) ~=-0.7313537597656250*/, 
    -48702ll /* sin(3.9793426513671877) ~=-0.7431335449218750*/,   -49460ll /* sin(3.9967959086100260) ~=-0.7546997070312500*/, 
    -50203ll /* sin(4.0142491658528643) ~=-0.7660369873046875*/,   -50931ll /* sin(4.0317024230957035) ~=-0.7771453857421875*/, 
    -51643ll /* sin(4.0491556803385418) ~=-0.7880096435546875*/,   -52339ll /* sin(4.0666089375813801) ~=-0.7986297607421875*/, 
    -53019ll /* sin(4.0840621948242184) ~=-0.8090057373046875*/,   -53684ll /* sin(4.1015154520670576) ~=-0.8191528320312500*/, 
    -54332ll /* sin(4.1189687093098959) ~=-0.8290405273437500*/,   -54963ll /* sin(4.1364219665527342) ~=-0.8386688232421875*/, 
    -55577ll /* sin(4.1538752237955725) ~=-0.8480377197265625*/,   -56175ll /* sin(4.1713284810384117) ~=-0.8571624755859375*/, 
    -56756ll /* sin(4.1887817382812500) ~=-0.8660278320312500*/,   -57319ll /* sin(4.2062349955240883) ~=-0.8746185302734375*/, 
    -57865ll /* sin(4.2236882527669275) ~=-0.8829498291015625*/,   -58393ll /* sin(4.2411415100097658) ~=-0.8910064697265625*/, 
    -58903ll /* sin(4.2585947672526041) ~=-0.8987884521484375*/,   -59396ll /* sin(4.2760480244954424) ~=-0.9063110351562500*/, 
    -59870ll /* sin(4.2935012817382816) ~=-0.9135437011718750*/,   -60326ll /* sin(4.3109545389811199) ~=-0.9205017089843750*/, 
    -60764ll /* sin(4.3284077962239582) ~=-0.9271850585937500*/,   -61183ll /* sin(4.3458610534667965) ~=-0.9335784912109375*/, 
    -61583ll /* sin(4.3633143107096357) ~=-0.9396820068359375*/,   -61965ll /* sin(4.3807675679524740) ~=-0.9455108642578125*/, 
    -62328ll /* sin(4.3982208251953123) ~=-0.9510498046875000*/,   -62672ll /* sin(4.4156740824381506) ~=-0.9562988281250000*/, 
    -62997ll /* sin(4.4331273396809898) ~=-0.9612579345703125*/,   -63303ll /* sin(4.4505805969238281) ~=-0.9659271240234375*/, 
    -63589ll /* sin(4.4680338541666664) ~=-0.9702911376953125*/,   -63856ll /* sin(4.4854871114095056) ~=-0.9743652343750000*/, 
    -64104ll /* sin(4.5029403686523439) ~=-0.9781494140625000*/,   -64332ll /* sin(4.5203936258951822) ~=-0.9816284179687500*/, 
    -64540ll /* sin(4.5378468831380205) ~=-0.9848022460937500*/,   -64729ll /* sin(4.5553001403808597) ~=-0.9876861572265625*/, 
    -64898ll /* sin(4.5727533976236980) ~=-0.9902648925781250*/,   -65047ll /* sin(4.5902066548665363) ~=-0.9925384521484375*/, 
    -65177ll /* sin(4.6076599121093746) ~=-0.9945220947265625*/,   -65287ll /* sin(4.6251131693522138) ~=-0.9962005615234375*/, 
    -65376ll /* sin(4.6425664265950521) ~=-0.9975585937500000*/,   -65446ll /* sin(4.6600196838378904) ~=-0.9986267089843750*/, 
    -65496ll /* sin(4.6774729410807288) ~=-0.9993896484375000*/,   -65526ll /* sin(4.6949261983235679) ~=-0.9998474121093750*/, 
    -65536ll /* sin(4.7123794555664062) ~=-1.0000000000000000*/,   -65526ll /* sin(4.7298327128092446) ~=-0.9998474121093750*/, 
    -65496ll /* sin(4.7472859700520837) ~=-0.9993896484375000*/,   -65446ll /* sin(4.7647392272949221) ~=-0.9986267089843750*/, 
    -65376ll /* sin(4.7821924845377604) ~=-0.9975585937500000*/,   -65287ll /* sin(4.7996457417805987) ~=-0.9962005615234375*/, 
    -65177ll /* sin(4.8170989990234379) ~=-0.9945220947265625*/,   -65048ll /* sin(4.8345522562662762) ~=-0.9925537109375000*/, 
    -64898ll /* sin(4.8520055135091145) ~=-0.9902648925781250*/,   -64729ll /* sin(4.8694587707519528) ~=-0.9876861572265625*/, 
    -64540ll /* sin(4.8869120279947920) ~=-0.9848022460937500*/,   -64332ll /* sin(4.9043652852376303) ~=-0.9816284179687500*/, 
    -64104ll /* sin(4.9218185424804686) ~=-0.9781494140625000*/,   -63856ll /* sin(4.9392717997233069) ~=-0.9743652343750000*/, 
    -63589ll /* sin(4.9567250569661461) ~=-0.9702911376953125*/,   -63303ll /* sin(4.9741783142089844) ~=-0.9659271240234375*/, 
    -62997ll /* sin(4.9916315714518227) ~=-0.9612579345703125*/,   -62673ll /* sin(5.0090848286946619) ~=-0.9563140869140625*/, 
    -62329ll /* sin(5.0265380859375002) ~=-0.9510650634765625*/,   -61966ll /* sin(5.0439913431803385) ~=-0.9455261230468750*/, 
    -61584ll /* sin(5.0614446004231768) ~=-0.9396972656250000*/,   -61183ll /* sin(5.0788978576660160) ~=-0.9335784912109375*/, 
    -60764ll /* sin(5.0963511149088543) ~=-0.9271850585937500*/,   -60326ll /* sin(5.1138043721516926) ~=-0.9205017089843750*/, 
    -59870ll /* sin(5.1312576293945309) ~=-0.9135437011718750*/,   -59396ll /* sin(5.1487108866373701) ~=-0.9063110351562500*/, 
    -58904ll /* sin(5.1661641438802084) ~=-0.8988037109375000*/,   -58393ll /* sin(5.1836174011230467) ~=-0.8910064697265625*/, 
    -57865ll /* sin(5.2010706583658850) ~=-0.8829498291015625*/,   -57319ll /* sin(5.2185239156087242) ~=-0.8746185302734375*/, 
    -56756ll /* sin(5.2359771728515625) ~=-0.8660278320312500*/,   -56176ll /* sin(5.2534304300944008) ~=-0.8571777343750000*/, 
    -55578ll /* sin(5.2708836873372400) ~=-0.8480529785156250*/,   -54963ll /* sin(5.2883369445800783) ~=-0.8386688232421875*/, 
    -54332ll /* sin(5.3057902018229166) ~=-0.8290405273437500*/,   -53684ll /* sin(5.3232434590657549) ~=-0.8191528320312500*/, 
    -53020ll /* sin(5.3406967163085941) ~=-0.8090209960937500*/,   -52340ll /* sin(5.3581499735514324) ~=-0.7986450195312500*/, 
    -51644ll /* sin(5.3756032307942707) ~=-0.7880249023437500*/,   -50931ll /* sin(5.3930564880371090) ~=-0.7771453857421875*/, 
    -50204ll /* sin(5.4105097452799482) ~=-0.7660522460937500*/,   -49461ll /* sin(5.4279630025227865) ~=-0.7547149658203125*/, 
    -48703ll /* sin(5.4454162597656248) ~=-0.7431488037109375*/,   -47930ll /* sin(5.4628695170084631) ~=-0.7313537597656250*/, 
    -47143ll /* sin(5.4803227742513023) ~=-0.7193450927734375*/,   -46341ll /* sin(5.4977760314941406) ~=-0.7071075439453125*/, 
    -45526ll /* sin(5.5152292887369789) ~=-0.6946716308593750*/,   -44696ll /* sin(5.5326825459798181) ~=-0.6820068359375000*/, 
    -43853ll /* sin(5.5501358032226564) ~=-0.6691436767578125*/,   -42996ll /* sin(5.5675890604654947) ~=-0.6560668945312500*/, 
    -42126ll /* sin(5.5850423177083330) ~=-0.6427917480468750*/,   -41244ll /* sin(5.6024955749511722) ~=-0.6293334960937500*/, 
    -40349ll /* sin(5.6199488321940105) ~=-0.6156768798828125*/,   -39441ll /* sin(5.6374020894368488) ~=-0.6018218994140625*/, 
    -38522ll /* sin(5.6548553466796871) ~=-0.5877990722656250*/,   -37591ll /* sin(5.6723086039225263) ~=-0.5735931396484375*/, 
    -36648ll /* sin(5.6897618611653646) ~=-0.5592041015625000*/,   -35694ll /* sin(5.7072151184082029) ~=-0.5446472167968750*/, 
    -34729ll /* sin(5.7246683756510413) ~=-0.5299224853515625*/,   -33754ll /* sin(5.7421216328938804) ~=-0.5150451660156250*/, 
    -32769ll /* sin(5.7595748901367188) ~=-0.5000152587890625*/,   -31773ll /* sin(5.7770281473795571) ~=-0.4848175048828125*/, 
    -30768ll /* sin(5.7944814046223962) ~=-0.4694824218750000*/,   -29753ll /* sin(5.8119346618652346) ~=-0.4539947509765625*/, 
    -28730ll /* sin(5.8293879191080729) ~=-0.4383850097656250*/,   -27697ll /* sin(5.8468411763509112) ~=-0.4226226806640625*/, 
    -26657ll /* sin(5.8642944335937504) ~=-0.4067535400390625*/,   -25608ll /* sin(5.8817476908365887) ~=-0.3907470703125000*/, 
    -24551ll /* sin(5.8992009480794270) ~=-0.3746185302734375*/,   -23487ll /* sin(5.9166542053222653) ~=-0.3583831787109375*/, 
    -22415ll /* sin(5.9341074625651045) ~=-0.3420257568359375*/,   -21337ll /* sin(5.9515607198079428) ~=-0.3255767822265625*/, 
    -20252ll /* sin(5.9690139770507811) ~=-0.3090209960937500*/,   -19162ll /* sin(5.9864672342936194) ~=-0.2923889160156250*/, 
    -18065ll /* sin(6.0039204915364586) ~=-0.2756500244140625*/,   -16963ll /* sin(6.0213737487792969) ~=-0.2588348388671875*/, 
    -15855ll /* sin(6.0388270060221352) ~=-0.2419281005859375*/,   -14743ll /* sin(6.0562802632649744) ~=-0.2249603271484375*/, 
    -13626ll /* sin(6.0737335205078127) ~=-0.2079162597656250*/,   -12506ll /* sin(6.0911867777506510) ~=-0.1908264160156250*/, 
    -11381ll /* sin(6.1086400349934893) ~=-0.1736602783203125*/,   -10253ll /* sin(6.1260932922363285) ~=-0.1564483642578125*/, 
    -9122ll /* sin(6.1435465494791668) ~=-0.1391906738281250*/,   -7988ll /* sin(6.1609998067220051) ~=-0.1218872070312500*/, 
    -6851ll /* sin(6.1784530639648434) ~=-0.1045379638671875*/,   -5713ll /* sin(6.1959063212076826) ~=-0.0871734619140625*/, 
    -4572ll /* sin(6.2133595784505209) ~=-0.0697631835937500*/,   -3431ll /* sin(6.2308128356933592) ~=-0.0523529052734375*/, 
    -2288ll /* sin(6.2482660929361975) ~=-0.0349121093750000*/,   -1145ll /* sin(6.2657193501790367) ~=-0.0174713134765625*/, 
    -1ll /* sin(6.2831726074218750) ~=-0.0000152587890625*/};
  
  fixed_t sin_angle_tab( uint16_t index ) noexcept
    {
    return as_fixed(sin_angle_table__[index]);
    }
  }
  
  