/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 9:05:25 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: RealFnsImpl, module: RealFnsImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
#define XRM←BITLSHIFT(x, y) ((word)(x) << (word)(y))
static char versionStamp[] = "@(#)mob←version [3177984008,354301641] RealFnsImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef word (*fPt)();
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
static float fc1 = 0.70710678119;
static float fc2 = 0.9189385332;
#define SOURCE(p, l) /* source p, l */
static float fc8 = 1.0;
static float fc10 = 0.693147181;
static float fc12 = 3.1415926535;
static float fc14 = 2.0;
static float fc18 = 3.0;
static float fc22 = 4.0;
static float fc25 = 8.0;
static float fc28 = 180.0;
static float fc35 = 360.0;
static float fc43 = .414213562;
static float fc52 = 2.41421356;
static float fc61 = 362880.0;
static float fc64 = 40320.0;
static float fc67 = 5040.0;
static float fc70 = 720.0;
static float fc73 = 120.0;
static float fc76 = 24.0;
static float fc79 = 6.0;
static float fc85 = 6.28125;
#define FABS(f, t) ( ((t=(f)) >= (float) 0.0) ? (t) : (- (t)) )
static float fc92 = 3e-4;
static float fc98 = 3e-3;
static float fc104 = 0.5;
static float fc110 = -127.0;
static float fc112 = 0.0;
static float fc114 = 127.0;
static float fc122 = 14.0;
static float fc123 = 10.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
static float fc177 = 67108864.0;
static float fc181 = 8192.0;
static float fc278 = 201.0;
static float fc280 = 128.0;
static float fc283 = .000483826794897;
static float fc293 = -.0958017723;
static float fc295 = .00971685835;
static float fc298 = -0.429135777;
static float fc345 = -1.0;
static float fc360 = 0.00000000005;
static float fc373 = -3.1415926535;
static float fc382 = .1989123673;
static float fc385 = .668178638;
static float fc392 = 1.496605763;
static float fc401 = 5.02733949;
static float fc413 = .999999998;
static float fc416 = -.333331726;
static float fc419 = .1997952738;
static float fc422 = -.134450639;
static float fc440 = 20.;
static float fc443 = 0.;
static float fc445 = -1.;
static float fc446 = 1.;
static float fc508 = -0.2762472E-2;
static float fc512 = 0.8333327385E-1;
static float fc529 = -0.1849052456E3;
static float fc532 = 0.7739233017E5;
static float fc535 = -0.1121442418E8;
static float fc538 = 0.6516196407E9;
static float fc541 = -0.1336259035E11;
static float fc544 = 0.5756849057E11;
static float fc547 = 0.2678532712E3;
static float fc550 = 0.5927264853E5;
static float fc553 = 0.9494680718E7;
static float fc556 = 0.1029532985E10;
static float fc559 = 0.5756849041E11;
static float fc579 = -0.165711693E-5;
static float fc582 = 0.270871648E-4;
static float fc585 = -0.1098577711E-2;
static float fc588 = 0.9999999983;
static float fc590 = 0.576476505E-6;
static float fc593 = -0.6796319617E-5;
static float fc596 = 0.1430262718E-3;
static float fc599 = -0.1562499927E-1;
static float fc609 = 0.6543001487E1;
static float fc612 = -0.1988185996E4;
static float fc615 = 0.1978615055E6;
static float fc618 = -0.7064812917E7;
static float fc621 = 0.6706259146E8;
static float fc624 = 0.1766217266E3;
static float fc627 = 0.2668508067E5;
static float fc630 = 0.2635953855E7;
static float fc633 = 0.1341252501E9;
static float fc655 = 0.19796752E-5;
static float fc658 = -0.348677998E-4;
static float fc661 = 0.1830991520E-2;
static float fc664 = 0.1000000001E1;
static float fc666 = -0.67222066E-6;
static float fc669 = 0.831923005E-5;
static float fc672 = -0.2002434943E-3;
static float fc675 = 0.4687499917E-1;
#define INEG(x)  ( (word) ( - ((int) (word) (x)) ) )
#define IOP2(op, x, y)  ( (word) ((x) op (y)) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
#define MIN(cast, x, y)  ( ( cast x) < ( cast y) ? (x) : (y) )
#define MAX(cast, x, y)  ( ( cast x) > ( cast y) ? (x) : (y) )
static void NoName←Q4404();
static void RealFnsImpl←P0();
static void Bomb←P60();
static word Exp←P120();
static word Log←P180();
static word Ln←P240();
static word SqRt←P300();
static word Root←P360();
static word Power←P420();
static word Sin←P480();
static word Cos←P540();
static word SinDeg←P600();
static word CosDeg←P660();
static word Tan←P720();
static word CoTan←P780();
static word TanCot←P840();
static word TanDeg←P900();
static word CoTanDeg←P960();
static word ArcSin←P1020();
static word ArcCos←P1080();
static word ArcSinDeg←P1140();
static word ArcCosDeg←P1200();
static word ArcTan←P1260();
static word ArcTanDeg←P1320();
static word SinH←P1380();
static word CosH←P1440();
static word TanH←P1500();
static word CotH←P1560();
static word InvSinH←P1620();
static word InvCosH←P1680();
static word InvTanH←P1740();
static word InvCotH←P1800();
static word LnGamma←P1860();
static word Gamma←P1920();
static word J0←P1980();
static void PQ0←P2040();
static word J1←P2100();
static void PQ1←P2160();
static word OldJn←P2220();
static word Jn←P2280();
static void RationalFromReal←P2340();
static void OldRationalFromReal←P2400();
static word AlmostZero←P2460();
static word AlmostEqual←P2520();
static word SinFirstOctant←P2580();
static word CosFirstOctant←P2640();
static word GetWithinTwoPI←P2700();
static word GetWithin360←P2760();
static void Mul32←P2820();
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\275\154\060\010\300\025\036\066\311\100\164\000\000"};
static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\150\261\123\070\300\276\161\220\062\100\150\000\000"};
static struct {unsigned f; char r[16];} string5 = {851984, "\257\300\246\205\220\035\300\344\000\142\023\100\150\000\000"};
static struct {unsigned f; char r[16];} string6 = {851984, "\257\300\321\335\027\212\300\103\063\273\041\100\150\000\000"};
static struct {unsigned f; char r[16];} string7 = {851984, "\257\300\245\247\302\156\300\052\156\325\023\100\150\000\000"};
static struct {
   word f0[135]; word f135; word f136; word f137; 
   word f138; word f139; word f140; word f141; 
   word f142; word f143; word f144; word f145; 
   word f146; word f147; word f148; word f149; 
   word f150; word f151; word f152; word f153; 
   word f154; word f155; word f156; word f157; 
   word f158; word f159; word f160; word f161; 
   word f162; word f163; word f164; word f165; 
   word f166; word f167[4]; 
   } globalframe = {
   {0}, 1060619040, 1060979136, 1061328992, 
   1061669472, 1062001280, 1062325248, 1062641472, 
   1062950912, 1063253760, 1063550528, 1063841472, 
   1064126976, 1064407296, 1064682816, 1064953600, 
   1065220032, 1065480352, 1065734944, 1065982304, 
   1066223104, 1066457728, 1066686720, 1066910400, 
   1067129216, 1067343392, 1067553184, 1067758912, 
   1067960832, 1068159040, 1068353792, 1068545408, 
   1068733760, {0}
   };

static void NoName←Q4404()
   {
   register ptr gf←c0364 =  (ptr) &globalframe;
   word var←c21948;
   (* (( (ptr) gf←c0364)+16)/* invRoot2←v3336 */  ) = (*  (ptr) &fc1 );
   (* (( (ptr) gf←c0364)+17)/* lnRoot2pi←v3364 */  ) = (*  (ptr) &fc2 );
   (* (( (ptr) gf←c0364)+133) ) = ( ((word)  (fPt) RealFnsImpl←P0) );
   (* (( (ptr) gf←c0364)+131) ) = ( ((word)  (fPt) Bomb←P60) );
   (* (( (ptr) gf←c0364)+129) ) = ( ((word)  (fPt) Exp←P120) );
   (* (( (ptr) gf←c0364)+127) ) = ( ((word)  (fPt) Log←P180) );
   (* (( (ptr) gf←c0364)+125) ) = ( ((word)  (fPt) Ln←P240) );
   (* (( (ptr) gf←c0364)+123) ) = ( ((word)  (fPt) SqRt←P300) );
   (* (( (ptr) gf←c0364)+121) ) = ( ((word)  (fPt) Root←P360) );
   (* (( (ptr) gf←c0364)+119) ) = ( ((word)  (fPt) Power←P420) );
   (* (( (ptr) gf←c0364)+117) ) = ( ((word)  (fPt) Sin←P480) );
   (* (( (ptr) gf←c0364)+115) ) = ( ((word)  (fPt) Cos←P540) );
   (* (( (ptr) gf←c0364)+113) ) = ( ((word)  (fPt) SinDeg←P600) );
   (* (( (ptr) gf←c0364)+111) ) = ( ((word)  (fPt) CosDeg←P660) );
   (* (( (ptr) gf←c0364)+109) ) = ( ((word)  (fPt) Tan←P720) );
   (* (( (ptr) gf←c0364)+107) ) = ( ((word)  (fPt) CoTan←P780) );
   (* (( (ptr) gf←c0364)+105) ) = ( ((word)  (fPt) TanCot←P840) );
   (* (( (ptr) gf←c0364)+103) ) = ( ((word)  (fPt) TanDeg←P900) );
   (* (( (ptr) gf←c0364)+101) ) = ( ((word)  (fPt) CoTanDeg←P960) );
   (* (( (ptr) gf←c0364)+99) ) = ( ((word)  (fPt) ArcSin←P1020) );
   (* (( (ptr) gf←c0364)+97) ) = ( ((word)  (fPt) ArcCos←P1080) );
   (* (( (ptr) gf←c0364)+95) ) = ( ((word)  (fPt) ArcSinDeg←P1140) );
   (* (( (ptr) gf←c0364)+93) ) = ( ((word)  (fPt) ArcCosDeg←P1200) );
   (* (( (ptr) gf←c0364)+91) ) = ( ((word)  (fPt) ArcTan←P1260) );
   (* (( (ptr) gf←c0364)+89) ) = ( ((word)  (fPt) ArcTanDeg←P1320) );
   (* (( (ptr) gf←c0364)+87) ) = ( ((word)  (fPt) SinH←P1380) );
   (* (( (ptr) gf←c0364)+85) ) = ( ((word)  (fPt) CosH←P1440) );
   (* (( (ptr) gf←c0364)+83) ) = ( ((word)  (fPt) TanH←P1500) );
   (* (( (ptr) gf←c0364)+81) ) = ( ((word)  (fPt) CotH←P1560) );
   (* (( (ptr) gf←c0364)+79) ) = ( ((word)  (fPt) InvSinH←P1620) );
   (* (( (ptr) gf←c0364)+77) ) = ( ((word)  (fPt) InvCosH←P1680) );
   (* (( (ptr) gf←c0364)+75) ) = ( ((word)  (fPt) InvTanH←P1740) );
   (* (( (ptr) gf←c0364)+73) ) = ( ((word)  (fPt) InvCotH←P1800) );
   (* (( (ptr) gf←c0364)+71) ) = ( ((word)  (fPt) LnGamma←P1860) );
   (* (( (ptr) gf←c0364)+69) ) = ( ((word)  (fPt) Gamma←P1920) );
   (* (( (ptr) gf←c0364)+67) ) = ( ((word)  (fPt) J0←P1980) );
   (* (( (ptr) gf←c0364)+65) ) = ( ((word)  (fPt) PQ0←P2040) );
   (* (( (ptr) gf←c0364)+63) ) = ( ((word)  (fPt) J1←P2100) );
   (* (( (ptr) gf←c0364)+61) ) = ( ((word)  (fPt) PQ1←P2160) );
   (* (( (ptr) gf←c0364)+59) ) = ( ((word)  (fPt) OldJn←P2220) );
   (* (( (ptr) gf←c0364)+57) ) = ( ((word)  (fPt) Jn←P2280) );
   (* (( (ptr) gf←c0364)+55) ) = ( ((word)  (fPt) RationalFromReal←P2340) );
   (* (( (ptr) gf←c0364)+53) ) = ( ((word)  (fPt) OldRationalFromReal←P2400) );
   (* (( (ptr) gf←c0364)+51) ) = ( ((word)  (fPt) AlmostZero←P2460) );
   (* (( (ptr) gf←c0364)+49) ) = ( ((word)  (fPt) AlmostEqual←P2520) );
   (* (( (ptr) gf←c0364)+47) ) = ( ((word)  (fPt) SinFirstOctant←P2580) );
   (* (( (ptr) gf←c0364)+45) ) = ( ((word)  (fPt) CosFirstOctant←P2640) );
   (* (( (ptr) gf←c0364)+43) ) = ( ((word)  (fPt) GetWithinTwoPI←P2700) );
   (* (( (ptr) gf←c0364)+41) ) = ( ((word)  (fPt) GetWithin360←P2760) );
   (* (( (ptr) gf←c0364)+39) ) = ( ((word)  (fPt) Mul32←P2820) );
   (void) XR←DeclareGlobalFrame((word) "RealFnsImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string3)), (word) (( (bPt) gf←c0364)+532)
      /* var←c20028 */ );
   var←c21948 = (word) XR←ImportInterface((word) "FloatingPointCommon", (word) XR←GetTypeIndexS((word) (&string4)), 5);
   (* (( (ptr) gf←c0364)+168)/* var←c20156 */  ) = var←c21948;
   var←c21948 = (word) XR←ImportInterface((word) "Real", (word) XR←GetTypeIndexS((word) (&string5)), 11);
   (* (( (ptr) gf←c0364)+167)/* var←c20124 */  ) = var←c21948;
   (void) XR←ImportProcS(var←c21948, 67371265);
   (void) XR←ImportProcS(var←c21948, 67371521);
   (void) XR←ImportProcS(var←c21948, 67633154);
   var←c21948 = (word) XR←ImportInterface((word) "RealSupport", (word) XR←GetTypeIndexS((word) (&string6)), 24);
   (* (( (ptr) gf←c0364)+169)/* var←c20220 */  ) = var←c21948;
   (void) XR←ImportProcS(var←c21948, 67372033);
   var←c21948 = (word) XR←ExportInterface((word) "RealFns", (word) XR←GetTypeIndexS((word) (&string7)), 36);
   (* (( (ptr) gf←c0364)+170)/* var←c21980 */  ) = var←c21948;
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+516)/* var←c19964 */ , 67371009);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+500)/* var←c19900 */ , 67371265);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+508)/* var←c19932 */ , 67633666);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+476)/* var←c19804 */ , 67633922);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+484)/* var←c19836 */ , 67634178);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+492)/* var←c19868 */ , 67372289);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+468)/* var←c19772 */ , 67372545);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+452)/* var←c19708 */ , 67372801);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+460)/* var←c19740 */ , 67373057);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+444)/* var←c19676 */ , 67373313);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+436)/* var←c19644 */ , 67373569);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+412)/* var←c19548 */ , 67373825);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+364)/* var←c19356 */ , 67636226);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+356)/* var←c19324 */ , 67636482);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+428)/* var←c19612 */ , 67374593);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+404)/* var←c19516 */ , 67374849);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+396)/* var←c19484 */ , 67375105);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+380)/* var←c19420 */ , 67375361);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+388)/* var←c19452 */ , 67375617);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+372)/* var←c19388 */ , 67375873);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+348)/* var←c19292 */ , 67376129);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+340)/* var←c19260 */ , 67376385);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+332)/* var←c19228 */ , 67376641);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+324)/* var←c19196 */ , 67376897);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+316)/* var←c19164 */ , 67377153);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+308)/* var←c19132 */ , 67377409);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+300)/* var←c19100 */ , 67377665);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+292)/* var←c19068 */ , 67377921);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+284)/* var←c19036 */ , 67378177);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+276)/* var←c19004 */ , 67378433);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+268)/* var←c18972 */ , 67378689);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+252)/* var←c18908 */ , 67378945);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+228)/* var←c18812 */ , 67641346);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+220)/* var←c18780 */ , 134750466);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+204)/* var←c18716 */ , 67641858);
   (void) XR←ExportProcS(var←c21948, (word) (( (bPt) gf←c0364)+196)/* var←c18684 */ , 67904259);
   }

static void RealFnsImpl←P0(formal←c091, formal←c090)
   word formal←c091;
   word formal←c090;
   {
   register ptr gf←c22012 =  (ptr) &globalframe;
   /* RealFnsImpl: */ 
SOURCE(80, 20594)
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(862, 25)
   {
      word x9;
      word x11;
      *(float*)(( (ptr) gf←c22012)+4)/* LogBase2ofE←v2916 */  = (
         x9 = (*  (ptr) &fc8 ),  *(float*)&x9
         ) / (
         x11 = (*  (ptr) &fc10 ),  *(float*)&x11
         );
      };
SOURCE(949, 18)
   {
      word x13;
      word x15;
      *(float*)(( (ptr) gf←c22012)+5)/* twoPI←v3000 */  = (
         x13 = (*  (ptr) &fc12 ),  *(float*)&x13
         ) * (
         x15 = (*  (ptr) &fc14 ),  *(float*)&x15
         );
      };
SOURCE(969, 21)
   {
      word x16;
      word x17;
      *(float*)(( (ptr) gf←c22012)+6)/* piHalves←v3028 */  = (
         x16 = (*  (ptr) &fc12 ),  *(float*)&x16
         ) / (
         x17 = (*  (ptr) &fc14 ),  *(float*)&x17
         );
      };
SOURCE(992, 26)
   {
      word x19;
      word x20;
      *(float*)(( (ptr) gf←c22012)+7)/* pi3ovr2←v3056 */  = (
         x19 = (*  (ptr) &fc18 ),  *(float*)&x19
         ) * (
         x20 = (* (( (ptr) gf←c22012)+6)/* piHalves←v3028 */  ),  *(float*)&x20
         );
      };
SOURCE(1020, 28)
   {
      word x21;
      word x23;
      *(float*)(( (ptr) gf←c22012)+8)/* pi3Eighths←v3084 */  = (
         x21 = (* (( (ptr) gf←c22012)+7)/* pi3ovr2←v3056 */  ),  *(float*)&x21
         ) / (
         x23 = (*  (ptr) &fc22 ),  *(float*)&x23
         );
      };
SOURCE(1074, 22)
   {
      word x24;
      word x26;
      *(float*)(( (ptr) gf←c22012)+9)/* piEighths←v3140 */  = (
         x24 = (*  (ptr) &fc12 ),  *(float*)&x24
         ) / (
         x26 = (*  (ptr) &fc25 ),  *(float*)&x26
         );
      };
SOURCE(1098, 31)
   {
      word x27;
      word x29;
      *(float*)(( (ptr) gf←c22012)+10)/* radiansPerDegree←v3168 */  = (
         x27 = (*  (ptr) &fc12 ),  *(float*)&x27
         ) / (
         x29 = (*  (ptr) &fc28 ),  *(float*)&x29
         );
      };
SOURCE(1131, 31)
   {
      word x30;
      word x31;
      *(float*)(( (ptr) gf←c22012)+11)/* degreesPerRadian←v3196 */  = (
         x30 = (*  (ptr) &fc28 ),  *(float*)&x30
         ) / (
         x31 = (*  (ptr) &fc12 ),  *(float*)&x31
         );
      };
SOURCE(1164, 24)
   {
      word x32;
      word x33;
      *(float*)(( (ptr) gf←c22012)+12)/* rec2pi←v3224 */  = (
         x32 = (*  (ptr) &fc8 ),  *(float*)&x32
         ) / (
         x33 = (* (( (ptr) gf←c22012)+5)/* twoPI←v3000 */  ),  *(float*)&x33
         );
      };
SOURCE(1190, 24)
   {
      word x34;
      word x36;
      *(float*)(( (ptr) gf←c22012)+13)/* rec360←v3252 */  = (
         x34 = (*  (ptr) &fc8 ),  *(float*)&x34
         ) / (
         x36 = (*  (ptr) &fc35 ),  *(float*)&x36
         );
      };
SOURCE(1216, 25)
   {
      word x37;
      word x38;
      *(float*)(( (ptr) gf←c22012)+14)/* fourOverPI←v3280 */  = (
         x37 = (*  (ptr) &fc22 ),  *(float*)&x37
         ) / (
         x38 = (*  (ptr) &fc12 ),  *(float*)&x38
         );
      };
SOURCE(1243, 24)
   {
      word x39;
      word x40;
      *(float*)(( (ptr) gf←c22012)+15)/* twoOverPI←v3308 */  = (
         x39 = (*  (ptr) &fc14 ),  *(float*)&x39
         ) / (
         x40 = (*  (ptr) &fc12 ),  *(float*)&x40
         );
      };
   /* moved to installation proc */ 
   /* moved to installation proc */ 
SOURCE(1333, 37)
   {
      word pd41;
      pd41 = (* (( (ptr) (* (( (ptr) gf←c22012)+167)/* var←c20124 */  ))+4) );
      (* (( (ptr) gf←c22012)+18)/* sqrtEps←v3392 */  ) = (word) ( *( (fPt) ((*  (ptr) pd41 ))))((*  (ptr) &fc8 ),  (word) -12, pd41)
      ;
      };
SOURCE(8003, 25)
   {
      word x42;
      word x44;
      *(float*)(( (ptr) gf←c22012)+19)/* x2←v4008 */  = (
         x42 = (*  (ptr) &fc8 ),  *(float*)&x42
         ) / (
         x44 = (*  (ptr) &fc43 ),  *(float*)&x44
         );
      };
SOURCE(8030, 21)
   {
      word x45;
      word x46;
      word x47;
      *(float*)(( (ptr) gf←c22012)+20)/* x22←v4036 */  = ((
         x45 = (* (( (ptr) gf←c22012)+19)/* x2←v4008 */  ),  *(float*)&x45
         ) * (
         x46 = (* (( (ptr) gf←c22012)+19)/* x2←v4008 */  ),  *(float*)&x46
         )) + (
         x47 = (*  (ptr) &fc8 ),  *(float*)&x47
         );
      };
SOURCE(8098, 21)
   {
      word x48;
      word x49;
      word x50;
      *(float*)(( (ptr) gf←c22012)+21)/* x44←v4120 */  = ((
         x48 = (*  (ptr) &fc8 ),  *(float*)&x48
         ) * (
         x49 = (*  (ptr) &fc8 ),  *(float*)&x49
         )) + (
         x50 = (*  (ptr) &fc8 ),  *(float*)&x50
         );
      };
SOURCE(8151, 25)
   {
      word x51;
      word x53;
      *(float*)(( (ptr) gf←c22012)+22)/* x6←v4176 */  = (
         x51 = (*  (ptr) &fc8 ),  *(float*)&x51
         ) / (
         x53 = (*  (ptr) &fc52 ),  *(float*)&x53
         );
      };
SOURCE(8178, 21)
   {
      word x54;
      word x55;
      word x56;
      *(float*)(( (ptr) gf←c22012)+23)/* x66←v4204 */  = ((
         x54 = (* (( (ptr) gf←c22012)+22)/* x6←v4176 */  ),  *(float*)&x54
         ) * (
         x55 = (* (( (ptr) gf←c22012)+22)/* x6←v4176 */  ),  *(float*)&x55
         )) + (
         x56 = (*  (ptr) &fc8 ),  *(float*)&x56
         );
      };
SOURCE(11464, 24)
   {
      word x57;
      word x58;
      word x59;
      *(float*)(( (ptr) gf←c22012)+24)/* pi34←v4764 */  = (
         x57 = (*  (ptr) &fc18 ),  *(float*)&x57
         ) * ((
         x58 = (*  (ptr) &fc12 ),  *(float*)&x58
         ) / (
         x59 = (*  (ptr) &fc22 ),  *(float*)&x59
         ));
      };
SOURCE(12672, 39)
   (* (( (ptr) gf←c22012)+25)/* lagestNumber←v4876 */  ) = 2139095039;
SOURCE(12713, 18)
   (* (( (ptr) gf←c22012)+26)/* factLimit←v4904 */  ) = 8;
SOURCE(18787, 47)
   {
      word x60;
      word x62;
      *(float*)(( (ptr) gf←c22012)+27)/* fact9recip←v5072 */  = (
         x60 = (*  (ptr) &fc8 ),  *(float*)&x60
         ) / (
         x62 = (*  (ptr) &fc61 ),  *(float*)&x62
         );
      };
SOURCE(18836, 45)
   {
      word x63;
      word x65;
      *(float*)(( (ptr) gf←c22012)+28)/* fact8recip←v5100 */  = (
         x63 = (*  (ptr) &fc8 ),  *(float*)&x63
         ) / (
         x65 = (*  (ptr) &fc64 ),  *(float*)&x65
         );
      };
SOURCE(18883, 43)
   {
      word x66;
      word x68;
      *(float*)(( (ptr) gf←c22012)+29)/* fact7recip←v5128 */  = (
         x66 = (*  (ptr) &fc8 ),  *(float*)&x66
         ) / (
         x68 = (*  (ptr) &fc67 ),  *(float*)&x68
         );
      };
SOURCE(18928, 41)
   {
      word x69;
      word x71;
      *(float*)(( (ptr) gf←c22012)+30)/* fact6recip←v5156 */  = (
         x69 = (*  (ptr) &fc8 ),  *(float*)&x69
         ) / (
         x71 = (*  (ptr) &fc70 ),  *(float*)&x71
         );
      };
SOURCE(18971, 39)
   {
      word x72;
      word x74;
      *(float*)(( (ptr) gf←c22012)+31)/* fact5recip←v5184 */  = (
         x72 = (*  (ptr) &fc8 ),  *(float*)&x72
         ) / (
         x74 = (*  (ptr) &fc73 ),  *(float*)&x74
         );
      };
SOURCE(19012, 37)
   {
      word x75;
      word x77;
      *(float*)(( (ptr) gf←c22012)+32)/* fact4recip←v5212 */  = (
         x75 = (*  (ptr) &fc8 ),  *(float*)&x75
         ) / (
         x77 = (*  (ptr) &fc76 ),  *(float*)&x77
         );
      };
SOURCE(19051, 35)
   {
      word x78;
      word x80;
      *(float*)(( (ptr) gf←c22012)+33)/* fact3recip←v5240 */  = (
         x78 = (*  (ptr) &fc8 ),  *(float*)&x78
         ) / (
         x80 = (*  (ptr) &fc79 ),  *(float*)&x80
         );
      };
SOURCE(19088, 33)
   {
      word x81;
      word x82;
      *(float*)(( (ptr) gf←c22012)+34)/* fact2recip←v5268 */  = (
         x81 = (*  (ptr) &fc8 ),  *(float*)&x81
         ) / (
         x82 = (*  (ptr) &fc14 ),  *(float*)&x82
         );
      };
SOURCE(19124, 67)
   {
      word x83;
      word x84;
      *(float*)(( (ptr) gf←c22012)+35)/* minEps←v5296 */  = (
         x83 = (*  (ptr) &fc8 ),  *(float*)&x83
         ) - (
         x84 = ((*  (ptr) &fc8 ) - 1),  *(float*)&x84
         );
      };
SOURCE(19193, 30)
   (* (( (ptr) gf←c22012)+36)/* sinCosEps←v5324 */  ) = (word) SqRt←P300((* ((( (ptr) gf←c22012)+35)/* minEps←v5296 */ ) ));
SOURCE(19674, 20)
   (* (( (ptr) gf←c22012)+37)/* PIc1←v5408 */  ) = (*  (ptr) &fc85 );
SOURCE(19742, 23)
   {
      word x86;
      word x87;
      *(float*)(( (ptr) gf←c22012)+38)/* PIc2←v5436 */  = (
         x86 = (* (( (ptr) gf←c22012)+5)/* twoPI←v3000 */  ),  *(float*)&x86
         ) - (
         x87 = (* (( (ptr) gf←c22012)+37)/* PIc1←v5408 */  ),  *(float*)&x87
         );
      };
   }

static void Bomb←P60(x←v5956, exCode←v5984)
   word x←v5956;
   word exCode←v5984;
   {
   register ptr gf←c22044 =  (ptr) &globalframe;
   /* Bomb: */ 
SOURCE(709, 122)
SOURCE(792, 39)
   {
      word var←c094;
      var←c094 = exCode←v5984;
      (void) XR←RaiseError((* (( (ptr) (* (( (ptr) gf←c22044)+168)/* var←c20156 */  ))+4) ), (word) &var←c094);
      };
   }

static word Exp←P120(x←v6044)
   word x←v6044;
   {
   register ptr gf←c22076 =  (ptr) &globalframe;
   word var←c6088;
   word r←v11536;
   word f←v11564;
   word k←v11592;
   word fl←v11620;
   /* Exp: */ 
SOURCE(1415, 696)
SOURCE(1485, 42)
   fl←v11620 = (*  (ptr) &fc8 );
SOURCE(1530, 73)
   {
      word var←c20188;
      {
         float tf88;
         word x89;
         float tf90;
         var←c20188 = (
            tf90 = FABS((
                  x89 = x←v6044,  *(float*)&x89
                  ), tf88),  *(word*)&tf90
            );
         };
      {
         word x91;
         word x93;
         word x97;
         word x99;
         if (((
            x91 = var←c20188,  *(float*)&x91
            ) < (
            x93 = (*  (ptr) &fc92 ),  *(float*)&x93
            ))) {
SOURCE(1559, 12)
            {
               word x94;
               word x95;
               float tf96;
               return((
                  tf96 = (
                     x94 = (*  (ptr) &fc8 ),  *(float*)&x94
                     ) + (
                     x95 = x←v6044,  *(float*)&x95
                     ),  *(word*)&tf96
                  ));
               };
            }
         else {
            if (((
               x97 = var←c20188,  *(float*)&x97
               ) < (
               x99 = (*  (ptr) &fc98 ),  *(float*)&x99
               ))) {
SOURCE(1583, 20)
               {
                  word x100;
                  word x101;
                  word x102;
                  word x103;
                  word x105;
                  float tf106;
                  return((
                     tf106 = ((
                        x100 = (*  (ptr) &fc8 ),  *(float*)&x100
                        ) + (
                        x101 = x←v6044,  *(float*)&x101
                        )) + (((
                        x102 = x←v6044,  *(float*)&x102
                        ) * (
                        x103 = x←v6044,  *(float*)&x103
                        )) * (
                        x105 = (*  (ptr) &fc104 ),  *(float*)&x105
                        )),  *(word*)&tf106
                     ));
                  };
               };
            };
         };
      };
SOURCE(1615, 17)
   {
      word x107;
      word x108;
      *(float*)&x←v6044 = (
         x107 = x←v6044,  *(float*)&x107
         ) * (
         x108 = (* (( (ptr) gf←c22076)+4)/* LogBase2ofE←v2916 */  ),  *(float*)&x108
         );
      };
SOURCE(1665, 38)
   {
      word x109;
      word x111;
      if (((
         x109 = x←v6044,  *(float*)&x109
         ) < (
         x111 = (*  (ptr) &fc110 ),  *(float*)&x111
         ))) {
SOURCE(1691, 12)
         return((*  (ptr) &fc112 ));
         };
      };
SOURCE(1705, 32)
   {
      word x113;
      word x115;
      if (((
         x113 = x←v6044,  *(float*)&x113
         ) > (
         x115 = (*  (ptr) &fc114 ),  *(float*)&x115
         ))) {
SOURCE(1730, 7)
         (void) Bomb←P60(x←v6044, 0);
         };
      };
SOURCE(1740, 22)
   {
      word pd116;
      pd116 = (* (( (ptr) (* (( (ptr) gf←c22076)+169)/* var←c20220 */  ))+8) );
      k←v11592 = (word) ( *( (fPt) ((*  (ptr) pd116 ))))(x←v6044, pd116);
      };
SOURCE(1796, 9)
   {
      word x117;
      *(float*)&x←v6044 = (
         x117 = x←v6044,  *(float*)&x117
         ) - (float)(int)k←v11592;
      };
SOURCE(1826, 9)
   {
      word x118;
      word x119;
      *(float*)&x←v6044 = (
         x118 = x←v6044,  *(float*)&x118
         ) * (
         x119 = (*  (ptr) &fc10 ),  *(float*)&x119
         );
      };
SOURCE(1878, 7)
   {
      word x120;
      word x121;
      *(float*)&r←v11536 = (
         x120 = x←v6044,  *(float*)&x120
         ) * (
         x121 = x←v6044,  *(float*)&x121
         );
      };
SOURCE(1888, 143)
SOURCE(1910, 19)
   f←v11564 = (*  (ptr) &fc122 );
SOURCE(1931, 31)
   {
      word x124;
      word x125;
      word x126;
      *(float*)&f←v11564 = (
         x124 = (*  (ptr) &fc123 ),  *(float*)&x124
         ) + ((
         x125 = r←v11536,  *(float*)&x125
         ) / (
         x126 = f←v11564,  *(float*)&x126
         ));
      };
SOURCE(1964, 31)
   {
      word x127;
      word x128;
      word x129;
      *(float*)&f←v11564 = (
         x127 = (*  (ptr) &fc79 ),  *(float*)&x127
         ) + ((
         x128 = r←v11536,  *(float*)&x128
         ) / (
         x129 = f←v11564,  *(float*)&x129
         ));
      };
SOURCE(1997, 31)
   {
      word x130;
      word x131;
      word x132;
      *(float*)&f←v11564 = (
         x130 = (*  (ptr) &fc14 ),  *(float*)&x130
         ) + ((
         x131 = r←v11536,  *(float*)&x131
         ) / (
         x132 = f←v11564,  *(float*)&x132
         ));
      };
SOURCE(2035, 19)
   {
      word x133;
      word x134;
      word x135;
      word x136;
      *(float*)&x←v6044 = ((
         x133 = f←v11564,  *(float*)&x133
         ) + (
         x134 = x←v6044,  *(float*)&x134
         )) / ((
         x135 = f←v11564,  *(float*)&x135
         ) - (
         x136 = x←v6044,  *(float*)&x136
         ));
      };
SOURCE(2056, 25)
   fl←v11620 = (fl←v11620 & 2155872255) | (((BCK((k←v11592 + 127), 256))) << 23);
SOURCE(2083, 28)
   {
      word x137;
      word x138;
      float tf139;
      return((
         tf139 = (
            x137 = x←v6044,  *(float*)&x137
            ) * (
            x138 = fl←v11620,  *(float*)&x138
            ),  *(word*)&tf139
         ));
      };
   }

static word Log←P180(base←v6148, arg←v6176)
   word base←v6148;
   word arg←v6176;
   {
   word var←c6220;
   /* Log: */ 
SOURCE(2117, 78)
SOURCE(2171, 24)
   {
      word x140;
      word x141;
      float tf142;
      return((
         tf142 = (
            x140 = (word) Ln←P240(arg←v6176),  *(float*)&x140
            ) / (
            x141 = (word) Ln←P240(base←v6148),  *(float*)&x141
            ),  *(word*)&tf142
         ));
      };
   }

static word Ln←P240(x←v6280)
   word x←v6280;
   {
   word var←c6324;
   word fl←v11708;
   word m←v11736;
   word xm1←v11764;
   word OneMinusX←v11792;
   word OneMinusXPowerRep←v11820;
   /* Ln: */ 
SOURCE(2201, 651)
SOURCE(2274, 15)
   {
      word x143;
      word x144;
      *(float*)&xm1←v11764 = (
         x143 = x←v6280,  *(float*)&x143
         ) - (
         x144 = (*  (ptr) &fc8 ),  *(float*)&x144
         );
      };
SOURCE(2327, 22)
   {
      word x145;
      word x146;
      if (((
         x145 = x←v6280,  *(float*)&x145
         ) <= (
         x146 = (*  (ptr) &fc112 ),  *(float*)&x146
         ))) {
SOURCE(2342, 7)
         (void) Bomb←P60(x←v6280, 0);
         };
      };
SOURCE(2352, 96)
   {
      word var←c20284;
      {
         float tf147;
         word x148;
         float tf149;
         var←c20284 = (
            tf149 = FABS((
                  x148 = xm1←v11764,  *(float*)&x148
                  ), tf147),  *(word*)&tf149
            );
         };
      {
         word x150;
         word x151;
         word x152;
         word x153;
         if (((
            x150 = var←c20284,  *(float*)&x150
            ) > (
            x151 = (*  (ptr) &fc98 ),  *(float*)&x151
            ))) {
            }
         else {
            if (((
               x152 = var←c20284,  *(float*)&x152
               ) > (
               x153 = (*  (ptr) &fc92 ),  *(float*)&x153
               ))) {
SOURCE(2397, 26)
               {
                  word x154;
                  word x155;
                  word x156;
                  word x157;
                  float tf158;
                  return((
                     tf158 = (
                        x154 = xm1←v11764,  *(float*)&x154
                        ) - (((
                        x155 = (*  (ptr) &fc104 ),  *(float*)&x155
                        ) * (
                        x156 = xm1←v11764,  *(float*)&x156
                        )) * (
                        x157 = xm1←v11764,  *(float*)&x157
                        )),  *(word*)&tf158
                     ));
                  };
               }
            else {
SOURCE(2436, 12)
               return(xm1←v11764);
               };
            };
         };
      };
SOURCE(2451, 28)
   fl←v11708 = x←v6280;
SOURCE(2481, 31)
   m←v11736 = ((((unsigned)fl←v11708 << 1) >> 24) - 126);
SOURCE(2514, 25)
   fl←v11708 = (fl←v11708 & 2155872255) | (((126)) << 23);
SOURCE(2560, 22)
   x←v6280 = fl←v11708;
SOURCE(2585, 33)
   {
      word x159;
      word x160;
      if (((
         x159 = x←v6280,  *(float*)&x159
         ) == (
         x160 = (*  (ptr) &fc104 ),  *(float*)&x160
         ))) {
SOURCE(2601, 17)
         {
            word x161;
            float tf162;
            return((
               tf162 = (
                  x161 = (*  (ptr) &fc10 ),  *(float*)&x161
                  ) * (float)(int)(m←v11736 - 1),  *(word*)&tf162
               ));
            };
         };
      };
SOURCE(2621, 17)
   {
      word x163;
      word x164;
      *(float*)&OneMinusX←v11792 = (
         x163 = (*  (ptr) &fc8 ),  *(float*)&x163
         ) - (
         x164 = x←v6280,  *(float*)&x164
         );
      };
SOURCE(2640, 9)
   {
      word x165;
      *(float*)&x←v6280 = (float)(int)m←v11736 * (
         x165 = (*  (ptr) &fc10 ),  *(float*)&x165
         );
      };
SOURCE(2651, 21)
   OneMinusXPowerRep←v11820 = (*  (ptr) &fc8 );
SOURCE(2674, 153)
   {
      register word i←v11864;
      i←v11864 = 1;
      lab←L100003: ;
      {
         word PreviousVal←v11908;
SOURCE(2702, 21)
         PreviousVal←v11908 = x←v6280;
SOURCE(2725, 47)
         {
            word x166;
            word x167;
            *(float*)&OneMinusXPowerRep←v11820 = (
               x166 = OneMinusXPowerRep←v11820,  *(float*)&x166
               ) * (
               x167 = OneMinusX←v11792,  *(float*)&x167
               );
            };
SOURCE(2774, 27)
         {
            word x168;
            word x169;
            *(float*)&x←v6280 = (
               x168 = x←v6280,  *(float*)&x168
               ) - ((
               x169 = OneMinusXPowerRep←v11820,  *(float*)&x169
               ) / (float)(unsigned)i←v11864);
            };
SOURCE(2803, 24)
         {
            word x170;
            word x171;
            if (((
               x170 = x←v6280,  *(float*)&x170
               ) == (
               x171 = PreviousVal←v11908,  *(float*)&x171
               ))) {
SOURCE(2827, 4)
               goto lab←L100001;
               };
            };
         };
      i←v11864 = (i←v11864 + 1);
      goto lab←L100003;
      lab←L100001: ;
      };
SOURCE(2843, 9)
   return(x←v6280);
   }

static word SqRt←P300(a←v6384)
   word a←v6384;
   {
   register ptr gf←c22108 =  (ptr) &globalframe;
   word b←v6428;
   /* SqRt: */ 
SOURCE(2858, 552)
SOURCE(2858, 552)
   b←v6428 = (*  (ptr) &fc112 );
   {
      word x172;
      word x173;
      if (((
         x172 = a←v6384,  *(float*)&x172
         ) <= (
         x173 = (*  (ptr) &fc112 ),  *(float*)&x173
         ))) {
SOURCE(2945, 23)
         {
            word x174;
            word x175;
            if (((
               x174 = a←v6384,  *(float*)&x174
               ) < (
               x175 = (*  (ptr) &fc112 ),  *(float*)&x175
               ))) {
SOURCE(2961, 7)
               (void) Bomb←P60(a←v6384, 0);
               };
            };
SOURCE(2970, 7)
         b←v6428 = (*  (ptr) &fc112 );
         }
      else {
         if (((((unsigned)a←v6384 << 1) >> 24) == 0)) {
SOURCE(3017, 52)
            {
               word x176;
               word x178;
               float tf179;
               word x180;
               word x182;
               *(float*)&b←v6428 = (
                  x180 = (word) SqRt←P300((
                        tf179 = (
                           x176 = a←v6384,  *(float*)&x176
                           ) * (
                           x178 = (*  (ptr) &fc177 ),  *(float*)&x178
                           ),  *(word*)&tf179
                        )),  *(float*)&x180
                  ) / (
                  x182 = (*  (ptr) &fc181 ),  *(float*)&x182
                  );
               };
            }
         else {
SOURCE(3082, 330)
            {
               word aFmt←v11952;
               word bFmt←v11980;
               word aExp←v12008;
SOURCE(3084, 42)
               aFmt←v11952 = a←v6384;
SOURCE(3128, 62)
               bFmt←v11980 = (* ((( (ptr) gf←c22108)+135)/* var←c20092 */ +(((unsigned)aFmt←v11952 << 8) >> 27)) );
SOURCE(3192, 27)
               aExp←v12008 = (((unsigned)aFmt←v11952 << 1) >> 25);
SOURCE(3221, 31)
               {
                  word idx183;
                  bFmt←v11980 = (bFmt←v11980 & 2155872255) | (((
                           idx183 = (word) (((((unsigned)bFmt←v11980 << 1) >> 24) + aExp←v12008) - 63),
                           BCK(idx183, 256)
                           )) << 23);
                  };
SOURCE(3254, 24)
               b←v6428 = bFmt←v11980;
SOURCE(3280, 64)
               {
                  word x184;
                  word x185;
                  word x186;
                  float tf187;
                  b←v6428 = ((
                     tf187 = (
                        x184 = b←v6428,  *(float*)&x184
                        ) + ((
                        x185 = a←v6384,  *(float*)&x185
                        ) / (
                        x186 = b←v6428,  *(float*)&x186
                        )),  *(word*)&tf187
                     ) - 8388608);
                  };
SOURCE(3346, 64)
               {
                  word x188;
                  word x189;
                  word x190;
                  float tf191;
                  b←v6428 = ((
                     tf191 = (
                        x188 = b←v6428,  *(float*)&x188
                        ) + ((
                        x189 = a←v6384,  *(float*)&x189
                        ) / (
                        x190 = b←v6428,  *(float*)&x190
                        )),  *(word*)&tf191
                     ) - 8388608);
                  };
               };
            };
         };
      };
SOURCE(2858, 552)
   return(b←v6428);
   }

static word Root←P360(index←v6524, arg←v6552)
   word index←v6524;
   word arg←v6552;
   {
   word var←c6596;
   /* Root: */ 
SOURCE(4059, 82)
SOURCE(4115, 26)
   {
      word var←c20348;
      {
         word x192;
         word x193;
         *(float*)&var←c20348 = (
            x192 = (word) Ln←P240(arg←v6552),  *(float*)&x192
            ) / (
            x193 = index←v6524,  *(float*)&x193
            );
         };
      return((word) Exp←P120(var←c20348));
      };
   }

static word Power←P420(base←v6656, exponent←v6684)
   word base←v6656;
   word exponent←v6684;
   {
   word var←c6728;
   /* Power: */ 
SOURCE(4147, 155)
SOURCE(4208, 62)
   {
      word x194;
      word x195;
      if (((
         x194 = base←v6656,  *(float*)&x194
         ) == (
         x195 = (*  (ptr) &fc112 ),  *(float*)&x195
         ))) {
SOURCE(4225, 45)
         {
            word x196;
            word x197;
            if (((
               x196 = exponent←v6684,  *(float*)&x196
               ) == (
               x197 = (*  (ptr) &fc112 ),  *(float*)&x197
               ))) {
SOURCE(4246, 15)
               return((*  (ptr) &fc8 ));
               }
            else {
SOURCE(4261, 9)
               return((*  (ptr) &fc112 ));
               };
            };
         };
      };
SOURCE(4272, 30)
   {
      word var←c20412;
      {
         word x198;
         word x199;
         *(float*)&var←c20412 = (
            x198 = exponent←v6684,  *(float*)&x198
            ) * (
            x199 = (word) Ln←P240(base←v6656),  *(float*)&x199
            );
         };
      return((word) Exp←P120(var←c20412));
      };
   }

static word Sin←P480(radians←v6788)
   word radians←v6788;
   {
   register ptr gf←c22140 =  (ptr) &globalframe;
   word sin←v6832;
   /* Sin: */ 
SOURCE(4308, 849)
SOURCE(4363, 794)
SOURCE(4365, 24)
   {
      word rem←v12052;
SOURCE(4365, 24)
      {
         float tf200;
         word x201;
         float tf202;
         rem←v12052 = (
            tf202 = FABS((
                  x201 = radians←v6788,  *(float*)&x201
                  ), tf200),  *(word*)&tf202
            );
         };
SOURCE(4391, 45)
      {
         word x203;
         word x204;
         if (((
            x203 = rem←v12052,  *(float*)&x203
            ) > (
            x204 = (* (( (ptr) gf←c22140)+5)/* twoPI←v3000 */  ),  *(float*)&x204
            ))) {
SOURCE(4411, 25)
            rem←v12052 = (word) GetWithinTwoPI←P2700(rem←v12052);
            };
         };
SOURCE(4438, 690)
SOURCE(4440, 392)
      {
         word var←c20444;
         {
            word pd205;
            word x206;
            word x207;
            float tf208;
            pd205 = (* (( (ptr) (* (( (ptr) gf←c22140)+169)/* var←c20220 */  ))+8) );
            var←c20444 = (word) ( *( (fPt) ((*  (ptr) pd205 ))))((
                  tf208 = (
                     x206 = rem←v12052,  *(float*)&x206
                     ) * (
                     x207 = (* (( (ptr) gf←c22140)+14)/* fourOverPI←v3280 */  ),  *(float*)&x207
                     ),  *(word*)&tf208
                  ), pd205);
            };
         switch (var←c20444) {
            case 0: 
SOURCE(4510, 12)
               goto lab←L100005;
            case 1: 
SOURCE(4531, 20)
               {
                  word x209;
                  word x210;
                  *(float*)&rem←v12052 = (
                     x209 = (* (( (ptr) gf←c22140)+6)/* piHalves←v3028 */  ),  *(float*)&x209
                     ) - (
                     x210 = rem←v12052,  *(float*)&x210
                     );
                  };
SOURCE(4553, 12)
               goto lab←L100007;
            case 2: 
SOURCE(4574, 20)
               {
                  word x211;
                  word x212;
                  *(float*)&rem←v12052 = (
                     x211 = rem←v12052,  *(float*)&x211
                     ) - (
                     x212 = (* (( (ptr) gf←c22140)+6)/* piHalves←v3028 */  ),  *(float*)&x212
                     );
                  };
SOURCE(4596, 12)
               goto lab←L100007;
            case 3: 
SOURCE(4617, 14)
               {
                  word x213;
                  word x214;
                  *(float*)&rem←v12052 = (
                     x213 = (*  (ptr) &fc12 ),  *(float*)&x213
                     ) - (
                     x214 = rem←v12052,  *(float*)&x214
                     );
                  };
SOURCE(4633, 12)
               goto lab←L100005;
            case 4: 
SOURCE(4654, 14)
               {
                  word x215;
                  word x216;
                  *(float*)&rem←v12052 = (
                     x215 = rem←v12052,  *(float*)&x215
                     ) - (
                     x216 = (*  (ptr) &fc12 ),  *(float*)&x216
                     );
                  };
SOURCE(4670, 12)
               goto lab←L100006;
            case 5: 
SOURCE(4691, 19)
               {
                  word x217;
                  word x218;
                  *(float*)&rem←v12052 = (
                     x217 = (* (( (ptr) gf←c22140)+7)/* pi3ovr2←v3056 */  ),  *(float*)&x217
                     ) - (
                     x218 = rem←v12052,  *(float*)&x218
                     );
                  };
SOURCE(4712, 12)
               goto lab←L100008;
            case 6: 
SOURCE(4733, 19)
               {
                  word x219;
                  word x220;
                  *(float*)&rem←v12052 = (
                     x219 = rem←v12052,  *(float*)&x219
                     ) - (
                     x220 = (* (( (ptr) gf←c22140)+7)/* pi3ovr2←v3056 */  ),  *(float*)&x220
                     );
                  };
SOURCE(4754, 12)
               goto lab←L100008;
            case 7: 
SOURCE(4775, 17)
               {
                  word x221;
                  word x222;
                  *(float*)&rem←v12052 = (
                     x221 = (* (( (ptr) gf←c22140)+5)/* twoPI←v3000 */  ),  *(float*)&x221
                     ) - (
                     x222 = rem←v12052,  *(float*)&x222
                     );
                  };
SOURCE(4794, 12)
               goto lab←L100006;
            default: 
SOURCE(4820, 12)
               return((*  (ptr) &fc112 ));
            };
         };
      /* c2c skipped dead code */ 
      lab←L100005: ;
SOURCE(4851, 25)
      sin←v6832 = (word) SinFirstOctant←P2580(rem←v12052);
SOURCE(4878, 22)
      {
         word x223;
         word x224;
         if (((
            x223 = radians←v6788,  *(float*)&x223
            ) < (
            x224 = (*  (ptr) &fc112 ),  *(float*)&x224
            ))) {
SOURCE(4900, 9)
            goto lab←L100004;
            };
         };
      goto lab←L100009;
      lab←L100006: ;
SOURCE(4923, 25)
      sin←v6832 = (word) SinFirstOctant←P2580(rem←v12052);
SOURCE(4950, 22)
      {
         word x225;
         word x226;
         if (((
            x225 = radians←v6788,  *(float*)&x225
            ) > (
            x226 = (*  (ptr) &fc112 ),  *(float*)&x226
            ))) {
SOURCE(4972, 9)
            goto lab←L100004;
            };
         };
      goto lab←L100009;
      lab←L100007: ;
SOURCE(4995, 25)
      sin←v6832 = (word) CosFirstOctant←P2640(rem←v12052);
SOURCE(5022, 22)
      {
         word x227;
         word x228;
         if (((
            x227 = radians←v6788,  *(float*)&x227
            ) < (
            x228 = (*  (ptr) &fc112 ),  *(float*)&x228
            ))) {
SOURCE(5044, 9)
            goto lab←L100004;
            };
         };
      goto lab←L100009;
      lab←L100008: ;
SOURCE(5067, 25)
      sin←v6832 = (word) CosFirstOctant←P2640(rem←v12052);
SOURCE(5094, 22)
      {
         word x229;
         word x230;
         if (((
            x229 = radians←v6788,  *(float*)&x229
            ) > (
            x230 = (*  (ptr) &fc112 ),  *(float*)&x230
            ))) {
SOURCE(5116, 9)
            goto lab←L100004;
            };
         };
      lab←L100009: ;
      };
   goto lab←L100010;
   lab←L100004: ;
SOURCE(5144, 11)
   {
      word x231;
      *(float*)&sin←v6832 =  - (
         x231 = sin←v6832,  *(float*)&x231
         );
      };
   lab←L100010: ;
SOURCE(4308, 849)
   return(sin←v6832);
   }

static word Cos←P540(radians←v6892)
   word radians←v6892;
   {
   register ptr gf←c22172 =  (ptr) &globalframe;
   word cos←v6936;
   word rem←v12096;
   /* Cos: */ 
SOURCE(5161, 709)
SOURCE(5218, 24)
   {
      float tf232;
      word x233;
      float tf234;
      rem←v12096 = (
         tf234 = FABS((
               x233 = radians←v6892,  *(float*)&x233
               ), tf232),  *(word*)&tf234
         );
      };
SOURCE(5244, 45)
   {
      word x235;
      word x236;
      if (((
         x235 = rem←v12096,  *(float*)&x235
         ) > (
         x236 = (* (( (ptr) gf←c22172)+5)/* twoPI←v3000 */  ),  *(float*)&x236
         ))) {
SOURCE(5264, 25)
         rem←v12096 = (word) GetWithinTwoPI←P2700(rem←v12096);
         };
      };
SOURCE(5291, 579)
SOURCE(5293, 389)
   {
      word var←c20476;
      {
         word pd237;
         word x238;
         word x239;
         float tf240;
         pd237 = (* (( (ptr) (* (( (ptr) gf←c22172)+169)/* var←c20220 */  ))+8) );
         var←c20476 = (word) ( *( (fPt) ((*  (ptr) pd237 ))))((
               tf240 = (
                  x238 = rem←v12096,  *(float*)&x238
                  ) * (
                  x239 = (* (( (ptr) gf←c22172)+14)/* fourOverPI←v3280 */  ),  *(float*)&x239
                  ),  *(word*)&tf240
               ), pd237);
         };
      switch (var←c20476) {
         case 0: 
SOURCE(5363, 12)
            goto lab←L100013;
         case 1: 
SOURCE(5384, 20)
            {
               word x241;
               word x242;
               *(float*)&rem←v12096 = (
                  x241 = (* (( (ptr) gf←c22172)+6)/* piHalves←v3028 */  ),  *(float*)&x241
                  ) - (
                  x242 = rem←v12096,  *(float*)&x242
                  );
               };
SOURCE(5406, 12)
            goto lab←L100011;
         case 2: 
SOURCE(5427, 20)
            {
               word x243;
               word x244;
               *(float*)&rem←v12096 = (
                  x243 = rem←v12096,  *(float*)&x243
                  ) - (
                  x244 = (* (( (ptr) gf←c22172)+6)/* piHalves←v3028 */  ),  *(float*)&x244
                  );
               };
SOURCE(5449, 12)
            goto lab←L100012;
         case 3: 
SOURCE(5470, 14)
            {
               word x245;
               word x246;
               *(float*)&rem←v12096 = (
                  x245 = (*  (ptr) &fc12 ),  *(float*)&x245
                  ) - (
                  x246 = rem←v12096,  *(float*)&x246
                  );
               };
SOURCE(5486, 12)
            goto lab←L100014;
         case 4: 
SOURCE(5507, 14)
            {
               word x247;
               word x248;
               *(float*)&rem←v12096 = (
                  x247 = rem←v12096,  *(float*)&x247
                  ) - (
                  x248 = (*  (ptr) &fc12 ),  *(float*)&x248
                  );
               };
SOURCE(5523, 12)
            goto lab←L100014;
         case 5: 
SOURCE(5544, 19)
            {
               word x249;
               word x250;
               *(float*)&rem←v12096 = (
                  x249 = (* (( (ptr) gf←c22172)+7)/* pi3ovr2←v3056 */  ),  *(float*)&x249
                  ) - (
                  x250 = rem←v12096,  *(float*)&x250
                  );
               };
SOURCE(5565, 12)
            goto lab←L100012;
         case 6: 
SOURCE(5586, 19)
            {
               word x251;
               word x252;
               *(float*)&rem←v12096 = (
                  x251 = rem←v12096,  *(float*)&x251
                  ) - (
                  x252 = (* (( (ptr) gf←c22172)+7)/* pi3ovr2←v3056 */  ),  *(float*)&x252
                  );
               };
SOURCE(5607, 12)
            goto lab←L100011;
         case 7: 
SOURCE(5628, 17)
            {
               word x253;
               word x254;
               *(float*)&rem←v12096 = (
                  x253 = (* (( (ptr) gf←c22172)+5)/* twoPI←v3000 */  ),  *(float*)&x253
                  ) - (
                  x254 = rem←v12096,  *(float*)&x254
                  );
               };
SOURCE(5647, 12)
            goto lab←L100013;
         default: 
SOURCE(5673, 9)
            cos←v6936 = (*  (ptr) &fc8 );
            break;
         };
      };
   goto lab←L100015;
   lab←L100011: ;
SOURCE(5701, 25)
   cos←v6936 = (word) SinFirstOctant←P2580(rem←v12096);
   goto lab←L100015;
   lab←L100012: ;
SOURCE(5740, 25)
   cos←v6936 = (word) SinFirstOctant←P2580(rem←v12096);
SOURCE(5767, 10)
   {
      word x255;
      *(float*)&cos←v6936 =  - (
         x255 = cos←v6936,  *(float*)&x255
         );
      };
   goto lab←L100015;
   lab←L100013: ;
SOURCE(5791, 25)
   cos←v6936 = (word) CosFirstOctant←P2640(rem←v12096);
   goto lab←L100015;
   lab←L100014: ;
SOURCE(5830, 25)
   cos←v6936 = (word) CosFirstOctant←P2640(rem←v12096);
SOURCE(5857, 10)
   {
      word x256;
      *(float*)&cos←v6936 =  - (
         x256 = cos←v6936,  *(float*)&x256
         );
      };
   lab←L100015: ;
SOURCE(5161, 709)
   return(cos←v6936);
   }

static word SinDeg←P600(degrees←v6996)
   word degrees←v6996;
   {
   register ptr gf←c22204 =  (ptr) &globalframe;
   word sin←v7040;
   /* SinDeg: */ 
SOURCE(5877, 155)
SOURCE(5937, 58)
   {
      float tf257;
      word x258;
      word x259;
      if ((FABS((
            x258 = degrees←v6996,  *(float*)&x258
            ), tf257) > (
         x259 = (*  (ptr) &fc35 ),  *(float*)&x259
         ))) {
SOURCE(5964, 31)
         degrees←v6996 = (word) GetWithin360←P2760(degrees←v6996);
         };
      };
SOURCE(5997, 35)
   {
      word x260;
      word x261;
      float tf262;
      sin←v7040 = (word) Sin←P480((
            tf262 = (
               x260 = degrees←v6996,  *(float*)&x260
               ) * (
               x261 = (* (( (ptr) gf←c22204)+10)/* radiansPerDegree←v3168 */  ),  *(float*)&x261
               ),  *(word*)&tf262
            ));
      };
SOURCE(5877, 155)
   return(sin←v7040);
   }

static word CosDeg←P660(degrees←v7100)
   word degrees←v7100;
   {
   register ptr gf←c22236 =  (ptr) &globalframe;
   word cos←v7144;
   /* CosDeg: */ 
SOURCE(6038, 174)
SOURCE(6098, 22)
   {
      float tf263;
      word x264;
      float tf265;
      degrees←v7100 = (
         tf265 = FABS((
               x264 = degrees←v7100,  *(float*)&x264
               ), tf263),  *(word*)&tf265
         );
      };
SOURCE(6122, 53)
   {
      word x266;
      word x267;
      if (((
         x266 = degrees←v7100,  *(float*)&x266
         ) > (
         x267 = (*  (ptr) &fc35 ),  *(float*)&x267
         ))) {
SOURCE(6144, 31)
         degrees←v7100 = (word) GetWithin360←P2760(degrees←v7100);
         };
      };
SOURCE(6177, 35)
   {
      word x268;
      word x269;
      float tf270;
      cos←v7144 = (word) Cos←P540((
            tf270 = (
               x268 = degrees←v7100,  *(float*)&x268
               ) * (
               x269 = (* (( (ptr) gf←c22236)+10)/* radiansPerDegree←v3168 */  ),  *(float*)&x269
               ),  *(word*)&tf270
            ));
      };
SOURCE(6038, 174)
   return(cos←v7144);
   }

static word Tan←P720(radians←v7204)
   word radians←v7204;
   {
   word tan←v7248;
   /* Tan: */ 
SOURCE(6218, 87)
SOURCE(6275, 30)
   return((word) TanCot←P840(radians←v7204, 0));
   }

static word CoTan←P780(radians←v7308)
   word radians←v7308;
   {
   word cotan←v7352;
   /* CoTan: */ 
SOURCE(6311, 90)
SOURCE(6372, 29)
   return((word) TanCot←P840(radians←v7308, 1));
   }

static word TanCot←P840(x←v7412, cot←v7440)
   word x←v7412;
   word cot←v7440;
   {
   register ptr gf←c22268 =  (ptr) &globalframe;
   word tan←v7484;
   word xn←v12196;
   word f←v12224;
   word g←v12252;
   word num←v12280;
   word den←v12308;
   word n←v12336;
   /* TanCot: */ 
SOURCE(6407, 605)
SOURCE(6688, 27)
   {
      word pd271;
      word x272;
      word x273;
      float tf274;
      pd271 = (* (( (ptr) (* (( (ptr) gf←c22268)+167)/* var←c20124 */  ))+6) );
      n←v12336 = (word) ( *( (fPt) ((*  (ptr) pd271 ))))((
            tf274 = (
               x272 = (* (( (ptr) gf←c22268)+15)/* twoOverPI←v3308 */  ),  *(float*)&x272
               ) * (
               x273 = x←v7412,  *(float*)&x273
               ),  *(word*)&tf274
            ), pd271);
      };
SOURCE(6717, 12)
   {
      float tf275;
      xn←v12196 = (
         tf275 = (float)(int)n←v12336,  *(word*)&tf275
         );
      };
SOURCE(6731, 23)
   {
      word x276;
      word x277;
      word x279;
      word x281;
      word x282;
      word x284;
      *(float*)&f←v12224 = ((
         x276 = x←v7412,  *(float*)&x276
         ) - ((
         x277 = xn←v12196,  *(float*)&x277
         ) * ((
         x279 = (*  (ptr) &fc278 ),  *(float*)&x279
         ) / (
         x281 = (*  (ptr) &fc280 ),  *(float*)&x281
         )))) - ((
         x282 = xn←v12196,  *(float*)&x282
         ) * (
         x284 = (*  (ptr) &fc283 ),  *(float*)&x284
         ));
      };
SOURCE(6756, 106)
   {
      float tf285;
      word x286;
      word x287;
      if ((FABS((
            x286 = f←v12224,  *(float*)&x286
            ), tf285) < (
         x287 = (* (( (ptr) gf←c22268)+18)/* sqrtEps←v3392 */  ),  *(float*)&x287
         ))) {
SOURCE(6783, 7)
         num←v12280 = f←v12224;
SOURCE(6792, 9)
         den←v12308 = (*  (ptr) &fc8 );
         }
      else {
SOURCE(6812, 7)
         {
            word x288;
            word x289;
            *(float*)&g←v12252 = (
               x288 = f←v12224,  *(float*)&x288
               ) * (
               x289 = f←v12224,  *(float*)&x289
               );
            };
SOURCE(6821, 16)
         {
            word x290;
            word x291;
            word x292;
            word x294;
            *(float*)&num←v12280 = (
               x290 = f←v12224,  *(float*)&x290
               ) + (((
               x291 = f←v12224,  *(float*)&x291
               ) * (
               x292 = g←v12252,  *(float*)&x292
               )) * (
               x294 = (*  (ptr) &fc293 ),  *(float*)&x294
               ));
            };
SOURCE(6839, 23)
         {
            word x296;
            word x297;
            word x299;
            word x300;
            word x301;
            *(float*)&den←v12308 = ((((
               x296 = (*  (ptr) &fc295 ),  *(float*)&x296
               ) * (
               x297 = g←v12252,  *(float*)&x297
               )) + (
               x299 = (*  (ptr) &fc298 ),  *(float*)&x299
               )) * (
               x300 = g←v12252,  *(float*)&x300
               )) + (
               x301 = (*  (ptr) &fc8 ),  *(float*)&x301
               );
            };
         };
      };
SOURCE(6867, 145)
   if ((0 != cot←v7440)) {
SOURCE(6880, 62)
      if ((0 != (n←v12336 & 1))) {
SOURCE(6905, 22)
         {
            word x302;
            word x303;
            float tf304;
            return((
               tf304 = ( - (
                  x302 = num←v12280,  *(float*)&x302
                  )) / (
                  x303 = den←v12308,  *(float*)&x303
                  ),  *(word*)&tf304
               ));
            };
         }
      else {
SOURCE(6927, 15)
         {
            word x305;
            word x306;
            float tf307;
            return((
               tf307 = (
                  x305 = den←v12308,  *(float*)&x305
                  ) / (
                  x306 = num←v12280,  *(float*)&x306
                  ),  *(word*)&tf307
               ));
            };
         };
      }
   else {
SOURCE(6950, 62)
      if ((0 != (n←v12336 & 1))) {
SOURCE(6975, 22)
         {
            word x308;
            word x309;
            float tf310;
            return((
               tf310 = ( - (
                  x308 = den←v12308,  *(float*)&x308
                  )) / (
                  x309 = num←v12280,  *(float*)&x309
                  ),  *(word*)&tf310
               ));
            };
         }
      else {
SOURCE(6997, 15)
         {
            word x311;
            word x312;
            float tf313;
            return((
               tf313 = (
                  x311 = num←v12280,  *(float*)&x311
                  ) / (
                  x312 = den←v12308,  *(float*)&x312
                  ),  *(word*)&tf313
               ));
            };
         };
      };
   }

static word TanDeg←P900(degrees←v7544)
   word degrees←v7544;
   {
   word tan←v7588;
   /* TanDeg: */ 
SOURCE(7019, 159)
SOURCE(7079, 58)
   {
      float tf314;
      word x315;
      word x316;
      if ((FABS((
            x315 = degrees←v7544,  *(float*)&x315
            ), tf314) > (
         x316 = (*  (ptr) &fc35 ),  *(float*)&x316
         ))) {
SOURCE(7106, 31)
         degrees←v7544 = (word) GetWithin360←P2760(degrees←v7544);
         };
      };
SOURCE(7139, 39)
   {
      word x317;
      word x318;
      *(float*)&tan←v7588 = (
         x317 = (word) SinDeg←P600(degrees←v7544),  *(float*)&x317
         ) / (
         x318 = (word) CosDeg←P660(degrees←v7544),  *(float*)&x318
         );
      };
SOURCE(7019, 159)
   return(tan←v7588);
   }

static word CoTanDeg←P960(degrees←v7648)
   word degrees←v7648;
   {
   register ptr gf←c22300 =  (ptr) &globalframe;
   word cotan←v7692;
   /* CoTanDeg: */ 
SOURCE(7184, 163)
SOURCE(7248, 58)
   {
      float tf319;
      word x320;
      word x321;
      if ((FABS((
            x320 = degrees←v7648,  *(float*)&x320
            ), tf319) > (
         x321 = (*  (ptr) &fc35 ),  *(float*)&x321
         ))) {
SOURCE(7275, 31)
         degrees←v7648 = (word) GetWithin360←P2760(degrees←v7648);
         };
      };
SOURCE(7308, 39)
   {
      word x322;
      word x323;
      float tf324;
      cotan←v7692 = (word) CoTan←P780((
            tf324 = (
               x322 = degrees←v7648,  *(float*)&x322
               ) * (
               x323 = (* (( (ptr) gf←c22300)+10)/* radiansPerDegree←v3168 */  ),  *(float*)&x323
               ),  *(word*)&tf324
            ));
      };
SOURCE(7184, 163)
   return(cotan←v7692);
   }

static word ArcSin←P1020(x←v7752)
   word x←v7752;
   {
   register ptr gf←c22332 =  (ptr) &globalframe;
   word var←c7796;
   word z←v12464;
   /* ArcSin: */ 
SOURCE(7353, 280)
SOURCE(7413, 220)
   {
      word var←c20572;
      {
         float tf325;
         word x326;
         float tf327;
         z←v12464 = (
            tf327 = FABS((
                  x326 = x←v7752,  *(float*)&x326
                  ), tf325),  *(word*)&tf327
            );
         };
      var←c20572 = z←v12464;
      {
         word x328;
         word x329;
         word x330;
         word x331;
         if (((
            x328 = var←c20572,  *(float*)&x328
            ) < (
            x329 = (* (( (ptr) gf←c22332)+18)/* sqrtEps←v3392 */  ),  *(float*)&x329
            ))) {
SOURCE(7451, 9)
            return(x←v7752);
            }
         else {
            if (((
               x330 = var←c20572,  *(float*)&x330
               ) < (
               x331 = (*  (ptr) &fc104 ),  *(float*)&x331
               ))) {
SOURCE(7537, 32)
               {
                  word var←c20636;
                  {
                     word x332;
                     word x333;
                     word x334;
                     float tf335;
                     var←c20636 = (word) SqRt←P300((
                           tf335 = (
/*1*/   x332 = (*  (ptr) &fc8 ),  *(float*)&x332
/*1*/   ) - ((
/*1*/   x333 = z←v12464,  *(float*)&x333
/*1*/   ) * (
/*1*/   x334 = z←v12464,  *(float*)&x334
/*1*/   )),  *(word*)&tf335
                           ));
                     };
                  return((word) ArcTan←P1260(x←v7752, var←c20636));
                  };
               }
            else {
SOURCE(7587, 46)
               {
                  word var←c20700;
                  {
                     word x336;
                     word x337;
                     word x338;
                     word x339;
                     word x340;
                     word x341;
                     word x342;
                     float tf343;
                     var←c20700 = (word) SqRt←P300((
                           tf343 = ((
/*1*/   x336 = (*  (ptr) &fc14 ),  *(float*)&x336
/*1*/   ) * ((
/*1*/   x337 = (*  (ptr) &fc8 ),  *(float*)&x337
/*1*/   ) - (
/*1*/   x338 = z←v12464,  *(float*)&x338
/*1*/   ))) - (((
/*1*/   x339 = (*  (ptr) &fc8 ),  *(float*)&x339
/*1*/   ) - (
/*1*/   x340 = z←v12464,  *(float*)&x340
/*1*/   )) * ((
/*1*/   x341 = (*  (ptr) &fc8 ),  *(float*)&x341
/*1*/   ) - (
/*1*/   x342 = z←v12464,  *(float*)&x342
/*1*/   ))),  *(word*)&tf343
                           ));
                     };
                  return((word) ArcTan←P1260(x←v7752, var←c20700));
                  };
               };
            };
         };
      };
   }

static word ArcCos←P1080(x←v7856)
   word x←v7856;
   {
   word var←c7900;
   /* ArcCos: */ 
SOURCE(7643, 120)
SOURCE(7692, 71)
   {
      word x344;
      word x346;
      if (((
         x344 = x←v7856,  *(float*)&x344
         ) == (
         x346 = (*  (ptr) &fc345 ),  *(float*)&x346
         ))) {
         return((*  (ptr) &fc12 ));
         }
      else {
         {
            word var←c0389;
            {
               word var←c20764;
               {
                  word x347;
                  word x348;
                  word x349;
                  word x350;
                  float tf351;
                  var←c20764 = (word) SqRt←P300((
                        tf351 = ((
                           x347 = (*  (ptr) &fc8 ),  *(float*)&x347
                           ) - (
                           x348 = x←v7856,  *(float*)&x348
                           )) / ((
                           x349 = (*  (ptr) &fc8 ),  *(float*)&x349
                           ) + (
                           x350 = x←v7856,  *(float*)&x350
                           )),  *(word*)&tf351
                        ));
                  };
               {
                  word x352;
                  word x353;
                  *(float*)&var←c0389 = (
                     x352 = (*  (ptr) &fc14 ),  *(float*)&x352
                     ) * (
                     x353 = (word) ArcTan←P1260(var←c20764, (*  (ptr) &fc8 )),  *(float*)&x353
                     );
                  };
               };
            return(var←c0389);
            };
         };
      };
   }

static word ArcSinDeg←P1140(x←v7960)
   word x←v7960;
   {
   register ptr gf←c22364 =  (ptr) &globalframe;
   word degrees←v8004;
   /* ArcSinDeg: */ 
SOURCE(7769, 97)
SOURCE(7830, 36)
   {
      word x354;
      word x355;
      *(float*)&degrees←v8004 = (
         x354 = (word) ArcSin←P1020(x←v7960),  *(float*)&x354
         ) * (
         x355 = (* (( (ptr) gf←c22364)+11)/* degreesPerRadian←v3196 */  ),  *(float*)&x355
         );
      };
SOURCE(7769, 97)
   return(degrees←v8004);
   }

static word ArcCosDeg←P1200(x←v8064)
   word x←v8064;
   {
   register ptr gf←c22396 =  (ptr) &globalframe;
   word degrees←v8108;
   /* ArcCosDeg: */ 
SOURCE(7872, 97)
SOURCE(7933, 36)
   {
      word x356;
      word x357;
      *(float*)&degrees←v8108 = (
         x356 = (word) ArcCos←P1080(x←v8064),  *(float*)&x356
         ) * (
         x357 = (* (( (ptr) gf←c22396)+11)/* degreesPerRadian←v3196 */  ),  *(float*)&x357
         );
      };
SOURCE(7872, 97)
   return(degrees←v8108);
   }

static word ArcTan←P1260(y←v8168, x←v8196)
   word y←v8168;
   word x←v8196;
   {
   register ptr gf←c22428 =  (ptr) &globalframe;
   word radians←v8240;
   word s←v12508;
   word v←v12536;
   word t←v12564;
   word t2←v12592;
   word c←v12620;
   word q←v12648;
   /* ArcTan: */ 
SOURCE(8327, 676)
SOURCE(8413, 138)
   {
      float tf358;
      word x359;
      word x361;
      if ((FABS((
            x359 = x←v8196,  *(float*)&x359
            ), tf358) <= (
         x361 = (*  (ptr) &fc360 ),  *(float*)&x361
         ))) {
SOURCE(8448, 103)
         {
            float tf362;
            word x363;
            word x364;
            if ((FABS((
                  x363 = y←v8168,  *(float*)&x363
                  ), tf362) <= (
               x364 = (*  (ptr) &fc360 ),  *(float*)&x364
               ))) {
SOURCE(8483, 15)
               return((*  (ptr) &fc112 ));
               }
            else {
SOURCE(8498, 53)
               {
                  word x365;
                  word x366;
                  if (((
                     x365 = y←v8168,  *(float*)&x365
                     ) < (
                     x366 = (*  (ptr) &fc112 ),  *(float*)&x366
                     ))) {
SOURCE(8512, 23)
                     {
                        word x367;
                        float tf368;
                        return((
                           tf368 =  - (
/*1*/   x367 = (* (( (ptr) gf←c22428)+6)/* piHalves←v3028 */  ),  *(float*)&x367
/*1*/   ),  *(word*)&tf368
                           ));
                        };
                     }
                  else {
SOURCE(8535, 16)
                     return((* (( (ptr) gf←c22428)+6)/* piHalves←v3028 */  ));
                     };
                  };
               };
            };
         };
      };
SOURCE(8553, 120)
   {
      word x369;
      word x370;
      if (((
         x369 = x←v8196,  *(float*)&x369
         ) < (
         x370 = (*  (ptr) &fc112 ),  *(float*)&x370
         ))) {
SOURCE(8567, 51)
         {
            word x371;
            word x372;
            if (((
               x371 = y←v8168,  *(float*)&x371
               ) < (
               x372 = (*  (ptr) &fc112 ),  *(float*)&x372
               ))) {
SOURCE(8582, 7)
               q←v12648 = (*  (ptr) &fc373 );
SOURCE(8591, 5)
               s←v12508 = (*  (ptr) &fc8 );
               }
            else {
SOURCE(8604, 6)
               q←v12648 = (*  (ptr) &fc12 );
SOURCE(8612, 6)
               s←v12508 = (*  (ptr) &fc345 );
               };
            };
         }
      else {
SOURCE(8625, 48)
         {
            word x374;
            word x375;
            if (((
               x374 = y←v8168,  *(float*)&x374
               ) < (
               x375 = (*  (ptr) &fc112 ),  *(float*)&x375
               ))) {
SOURCE(8640, 5)
               q←v12648 = (*  (ptr) &fc112 );
SOURCE(8647, 6)
               s←v12508 = (*  (ptr) &fc345 );
               }
            else {
SOURCE(8661, 5)
               q←v12648 = (*  (ptr) &fc112 );
SOURCE(8668, 5)
               s←v12508 = (*  (ptr) &fc8 );
               };
            };
         };
      };
SOURCE(8676, 12)
   {
      float tf376;
      word x377;
      word x378;
      float tf379;
      v←v12536 = (
         tf379 = FABS(((
               x377 = y←v8168,  *(float*)&x377
               ) / (
               x378 = x←v8196,  *(float*)&x378
               )), tf376),  *(word*)&tf379
         );
      };
SOURCE(8690, 244)
   {
      word var←c20796;
      var←c20796 = v←v12536;
      {
         word x381;
         word x383;
         word x384;
         word x386;
         word x391;
         word x393;
         word x400;
         word x402;
         if (((
            x381 = var←c20796,  *(float*)&x381
            ) < (
            x383 = (*  (ptr) &fc382 ),  *(float*)&x383
            ))) {
SOURCE(8719, 5)
            t←v12564 = v←v12536;
SOURCE(8727, 5)
            c←v12620 = (*  (ptr) &fc112 );
            goto endif0380;
            };
         if (((
            x384 = var←c20796,  *(float*)&x384
            ) < (
            x386 = (*  (ptr) &fc385 ),  *(float*)&x386
            ))) {
SOURCE(8750, 21)
            {
               word x387;
               word x388;
               word x389;
               word x390;
               *(float*)&t←v12564 = (
                  x387 = (* (( (ptr) gf←c22428)+19)/* x2←v4008 */  ),  *(float*)&x387
                  ) - ((
                  x388 = (* (( (ptr) gf←c22428)+20)/* x22←v4036 */  ),  *(float*)&x388
                  ) / ((
                  x389 = (* (( (ptr) gf←c22428)+19)/* x2←v4008 */  ),  *(float*)&x389
                  ) + (
                  x390 = v←v12536,  *(float*)&x390
                  )));
               };
SOURCE(8773, 13)
            c←v12620 = (* (( (ptr) gf←c22428)+9)/* piEighths←v3140 */  );
            goto endif0380;
            };
         if (((
            x391 = var←c20796,  *(float*)&x391
            ) < (
            x393 = (*  (ptr) &fc392 ),  *(float*)&x393
            ))) {
SOURCE(8804, 21)
            {
               word x394;
               word x395;
               word x396;
               word x397;
               *(float*)&t←v12564 = (
                  x394 = (*  (ptr) &fc8 ),  *(float*)&x394
                  ) - ((
                  x395 = (* (( (ptr) gf←c22428)+21)/* x44←v4120 */  ),  *(float*)&x395
                  ) / ((
                  x396 = (*  (ptr) &fc8 ),  *(float*)&x396
                  ) + (
                  x397 = v←v12536,  *(float*)&x397
                  )));
               };
SOURCE(8827, 13)
            {
               word x398;
               word x399;
               *(float*)&c←v12620 = (
                  x398 = (*  (ptr) &fc12 ),  *(float*)&x398
                  ) / (
                  x399 = (*  (ptr) &fc22 ),  *(float*)&x399
                  );
               };
            goto endif0380;
            };
         if (((
            x400 = var←c20796,  *(float*)&x400
            ) < (
            x402 = (*  (ptr) &fc401 ),  *(float*)&x402
            ))) {
SOURCE(8858, 21)
            {
               word x403;
               word x404;
               word x405;
               word x406;
               *(float*)&t←v12564 = (
                  x403 = (* (( (ptr) gf←c22428)+22)/* x6←v4176 */  ),  *(float*)&x403
                  ) - ((
                  x404 = (* (( (ptr) gf←c22428)+23)/* x66←v4204 */  ),  *(float*)&x404
                  ) / ((
                  x405 = (* (( (ptr) gf←c22428)+22)/* x6←v4176 */  ),  *(float*)&x405
                  ) + (
                  x406 = v←v12536,  *(float*)&x406
                  )));
               };
SOURCE(8881, 14)
            c←v12620 = (* (( (ptr) gf←c22428)+8)/* pi3Eighths←v3084 */  );
            goto endif0380;
            };
SOURCE(8911, 8)
         {
            word x407;
            word x408;
            *(float*)&t←v12564 = (
               x407 = (*  (ptr) &fc345 ),  *(float*)&x407
               ) / (
               x408 = v←v12536,  *(float*)&x408
               );
            };
SOURCE(8922, 12)
         c←v12620 = (* (( (ptr) gf←c22428)+6)/* piHalves←v3028 */  );
         goto endif0380;
         endif0380: ;
         };
      };
SOURCE(8937, 8)
   {
      word x409;
      word x410;
      *(float*)&t2←v12592 = (
         x409 = t←v12564,  *(float*)&x409
         ) * (
         x410 = t←v12564,  *(float*)&x410
         );
      };
SOURCE(8947, 56)
   {
      word x411;
      word x412;
      word x414;
      word x415;
      word x417;
      word x418;
      word x420;
      word x421;
      word x423;
      word x424;
      word x425;
      *(float*)&radians←v8240 = ((
         x411 = s←v12508,  *(float*)&x411
         ) * (((
         x412 = t←v12564,  *(float*)&x412
         ) * ((
         x414 = (*  (ptr) &fc413 ),  *(float*)&x414
         ) + ((
         x415 = t2←v12592,  *(float*)&x415
         ) * ((
         x417 = (*  (ptr) &fc416 ),  *(float*)&x417
         ) + ((
         x418 = t2←v12592,  *(float*)&x418
         ) * ((
         x420 = (*  (ptr) &fc419 ),  *(float*)&x420
         ) + ((
         x421 = t2←v12592,  *(float*)&x421
         ) * (
         x423 = (*  (ptr) &fc422 ),  *(float*)&x423
         )))))))) + (
         x424 = c←v12620,  *(float*)&x424
         ))) + (
         x425 = q←v12648,  *(float*)&x425
         );
      };
SOURCE(8327, 676)
   return(radians←v8240);
   }

static word ArcTanDeg←P1320(y←v8300, x←v8328)
   word y←v8300;
   word x←v8328;
   {
   register ptr gf←c22460 =  (ptr) &globalframe;
   word degrees←v8372;
   /* ArcTanDeg: */ 
SOURCE(9009, 103)
SOURCE(9073, 39)
   {
      word x426;
      word x427;
      *(float*)&degrees←v8372 = (
         x426 = (word) ArcTan←P1260(y←v8300, x←v8328),  *(float*)&x426
         ) * (
         x427 = (* (( (ptr) gf←c22460)+11)/* degreesPerRadian←v3196 */  ),  *(float*)&x427
         );
      };
SOURCE(9009, 103)
   return(degrees←v8372);
   }

static word SinH←P1380(x←v8432)
   word x←v8432;
   {
   word f←v8476;
   word ex←v12692;
   word emx←v12720;
   /* SinH: */ 
SOURCE(9119, 104)
SOURCE(9169, 17)
   ex←v12692 = (word) Exp←P120(x←v8432);
SOURCE(9188, 16)
   {
      word x428;
      word x429;
      *(float*)&emx←v12720 = (
         x428 = (*  (ptr) &fc8 ),  *(float*)&x428
         ) / (
         x429 = ex←v12692,  *(float*)&x429
         );
      };
SOURCE(9206, 17)
   {
      word x430;
      word x431;
      word x432;
      *(float*)&f←v8476 = ((
         x430 = ex←v12692,  *(float*)&x430
         ) - (
         x431 = emx←v12720,  *(float*)&x431
         )) / (
         x432 = (*  (ptr) &fc14 ),  *(float*)&x432
         );
      };
SOURCE(9119, 104)
   return(f←v8476);
   }

static word CosH←P1440(x←v8536)
   word x←v8536;
   {
   word f←v8580;
   word ex←v12764;
   word emx←v12792;
   /* CosH: */ 
SOURCE(9227, 104)
SOURCE(9277, 17)
   ex←v12764 = (word) Exp←P120(x←v8536);
SOURCE(9296, 16)
   {
      word x433;
      word x434;
      *(float*)&emx←v12792 = (
         x433 = (*  (ptr) &fc8 ),  *(float*)&x433
         ) / (
         x434 = ex←v12764,  *(float*)&x434
         );
      };
SOURCE(9314, 17)
   {
      word x435;
      word x436;
      word x437;
      *(float*)&f←v8580 = ((
         x435 = ex←v12764,  *(float*)&x435
         ) + (
         x436 = emx←v12792,  *(float*)&x436
         )) / (
         x437 = (*  (ptr) &fc14 ),  *(float*)&x437
         );
      };
SOURCE(9227, 104)
   return(f←v8580);
   }

static word TanH←P1500(x←v8640)
   word x←v8640;
   {
   word f←v8684;
   /* TanH: */ 
SOURCE(9335, 167)
SOURCE(9385, 117)
   {
      float tf438;
      word x439;
      word x441;
      if ((FABS((
            x439 = x←v8640,  *(float*)&x439
            ), tf438) > (
         x441 = (*  (ptr) &fc440 ),  *(float*)&x441
         ))) {
SOURCE(9406, 36)
         {
            word x442;
            word x444;
            if (((
               x442 = x←v8640,  *(float*)&x442
               ) < (
               x444 = (*  (ptr) &fc443 ),  *(float*)&x444
               ))) {
               f←v8684 = (*  (ptr) &fc445 );
               }
            else {
               f←v8684 = (*  (ptr) &fc446 );
               };
            };
         }
      else {
SOURCE(9442, 62)
         {
            word ex←v12836;
            word emx←v12864;
SOURCE(9444, 17)
            ex←v12836 = (word) Exp←P120(x←v8640);
SOURCE(9463, 16)
            {
               word x447;
               word x448;
               *(float*)&emx←v12864 = (
                  x447 = (*  (ptr) &fc8 ),  *(float*)&x447
                  ) / (
                  x448 = ex←v12836,  *(float*)&x448
                  );
               };
SOURCE(9481, 21)
            {
               word x449;
               word x450;
               word x451;
               word x452;
               *(float*)&f←v8684 = ((
                  x449 = ex←v12836,  *(float*)&x449
                  ) - (
                  x450 = emx←v12864,  *(float*)&x450
                  )) / ((
                  x451 = ex←v12836,  *(float*)&x451
                  ) + (
                  x452 = emx←v12864,  *(float*)&x452
                  ));
               };
            };
         };
      };
SOURCE(9335, 167)
   return(f←v8684);
   }

static word CotH←P1560(x←v8744)
   word x←v8744;
   {
   word f←v8788;
   /* CotH: */ 
SOURCE(9511, 167)
SOURCE(9561, 117)
   {
      float tf453;
      word x454;
      word x455;
      if ((FABS((
            x454 = x←v8744,  *(float*)&x454
            ), tf453) > (
         x455 = (*  (ptr) &fc440 ),  *(float*)&x455
         ))) {
SOURCE(9582, 36)
         {
            word x456;
            word x457;
            if (((
               x456 = x←v8744,  *(float*)&x456
               ) < (
               x457 = (*  (ptr) &fc443 ),  *(float*)&x457
               ))) {
               f←v8788 = (*  (ptr) &fc445 );
               }
            else {
               f←v8788 = (*  (ptr) &fc446 );
               };
            };
         }
      else {
SOURCE(9618, 62)
         {
            word ex←v12908;
            word emx←v12936;
SOURCE(9620, 17)
            ex←v12908 = (word) Exp←P120(x←v8744);
SOURCE(9639, 16)
            {
               word x458;
               word x459;
               *(float*)&emx←v12936 = (
                  x458 = (*  (ptr) &fc8 ),  *(float*)&x458
                  ) / (
                  x459 = ex←v12908,  *(float*)&x459
                  );
               };
SOURCE(9657, 21)
            {
               word x460;
               word x461;
               word x462;
               word x463;
               *(float*)&f←v8788 = ((
                  x460 = ex←v12908,  *(float*)&x460
                  ) + (
                  x461 = emx←v12936,  *(float*)&x461
                  )) / ((
                  x462 = ex←v12908,  *(float*)&x462
                  ) - (
                  x463 = emx←v12936,  *(float*)&x463
                  ));
               };
            };
         };
      };
SOURCE(9511, 167)
   return(f←v8788);
   }

static word InvSinH←P1620(x←v8848)
   word x←v8848;
   {
   word f←v8892;
   /* InvSinH: */ 
SOURCE(9687, 76)
SOURCE(9740, 23)
   {
      word var←c20828;
      {
         word x464;
         word x465;
         word x466;
         word x467;
         float tf468;
         word x469;
         *(float*)&var←c20828 = (
            x464 = x←v8848,  *(float*)&x464
            ) + (
            x469 = (word) SqRt←P300((
                  tf468 = ((
                     x465 = x←v8848,  *(float*)&x465
                     ) * (
                     x466 = x←v8848,  *(float*)&x466
                     )) + (
                     x467 = (*  (ptr) &fc8 ),  *(float*)&x467
                     ),  *(word*)&tf468
                  )),  *(float*)&x469
            );
         };
      f←v8892 = (word) Ln←P240(var←c20828);
      };
SOURCE(9687, 76)
   return(f←v8892);
   }

static word InvCosH←P1680(x←v8952)
   word x←v8952;
   {
   word f←v8996;
   /* InvCosH: */ 
SOURCE(9769, 101)
SOURCE(9822, 23)
   {
      word x470;
      word x471;
      if (((
         x470 = x←v8952,  *(float*)&x470
         ) < (
         x471 = (*  (ptr) &fc8 ),  *(float*)&x471
         ))) {
SOURCE(9838, 7)
         (void) Bomb←P60(x←v8952, 0);
         };
      };
SOURCE(9847, 23)
   {
      word var←c20860;
      {
         word x472;
         word x473;
         word x474;
         word x475;
         float tf476;
         word x477;
         *(float*)&var←c20860 = (
            x472 = x←v8952,  *(float*)&x472
            ) + (
            x477 = (word) SqRt←P300((
                  tf476 = ((
                     x473 = x←v8952,  *(float*)&x473
                     ) * (
                     x474 = x←v8952,  *(float*)&x474
                     )) - (
                     x475 = (*  (ptr) &fc8 ),  *(float*)&x475
                     ),  *(word*)&tf476
                  )),  *(float*)&x477
            );
         };
      f←v8996 = (word) Ln←P240(var←c20860);
      };
SOURCE(9769, 101)
   return(f←v8996);
   }

static word InvTanH←P1740(x←v9056)
   word x←v9056;
   {
   word f←v9100;
   /* InvTanH: */ 
SOURCE(9876, 111)
SOURCE(9929, 29)
   {
      float tf478;
      word x479;
      word x480;
      if ((FABS((
            x479 = x←v9056,  *(float*)&x479
            ), tf478) >= (
         x480 = (*  (ptr) &fc8 ),  *(float*)&x480
         ))) {
SOURCE(9951, 7)
         (void) Bomb←P60(x←v9056, 0);
         };
      };
SOURCE(9960, 27)
   {
      word x481;
      word x482;
      word x483;
      word x484;
      word x485;
      float tf486;
      word x487;
      *(float*)&f←v9100 = (
         x481 = (*  (ptr) &fc104 ),  *(float*)&x481
         ) * (
         x487 = (word) Ln←P240((
               tf486 = ((
                  x482 = (*  (ptr) &fc8 ),  *(float*)&x482
                  ) + (
                  x483 = x←v9056,  *(float*)&x483
                  )) / ((
                  x484 = (*  (ptr) &fc8 ),  *(float*)&x484
                  ) - (
                  x485 = x←v9056,  *(float*)&x485
                  )),  *(word*)&tf486
               )),  *(float*)&x487
         );
      };
SOURCE(9876, 111)
   return(f←v9100);
   }

static word InvCotH←P1800(x←v9160)
   word x←v9160;
   {
   word f←v9204;
   /* InvCotH: */ 
SOURCE(9993, 111)
SOURCE(10046, 29)
   {
      float tf488;
      word x489;
      word x490;
      if ((FABS((
            x489 = x←v9160,  *(float*)&x489
            ), tf488) <= (
         x490 = (*  (ptr) &fc8 ),  *(float*)&x490
         ))) {
SOURCE(10068, 7)
         (void) Bomb←P60(x←v9160, 0);
         };
      };
SOURCE(10077, 27)
   {
      word x491;
      word x492;
      word x493;
      word x494;
      word x495;
      float tf496;
      word x497;
      *(float*)&f←v9204 = (
         x491 = (*  (ptr) &fc104 ),  *(float*)&x491
         ) * (
         x497 = (word) Ln←P240((
               tf496 = ((
                  x492 = x←v9160,  *(float*)&x492
                  ) + (
                  x493 = (*  (ptr) &fc8 ),  *(float*)&x493
                  )) / ((
                  x494 = x←v9160,  *(float*)&x494
                  ) - (
                  x495 = (*  (ptr) &fc8 ),  *(float*)&x495
                  )),  *(word*)&tf496
               )),  *(float*)&x497
         );
      };
SOURCE(9993, 111)
   return(f←v9204);
   }

static word LnGamma←P1860(x←v9264)
   word x←v9264;
   {
   register ptr gf←c22492 =  (ptr) &globalframe;
   word f←v9308;
   word phi←v12980;
   word lnAdjFact←v13008;
   /* LnGamma: */ 
SOURCE(10110, 392)
SOURCE(10174, 19)
   lnAdjFact←v13008 = (*  (ptr) &fc112 );
SOURCE(10195, 24)
   {
      word x498;
      word x499;
      if (((
         x498 = x←v9264,  *(float*)&x498
         ) <= (
         x499 = (*  (ptr) &fc112 ),  *(float*)&x499
         ))) {
SOURCE(10212, 7)
         (void) Bomb←P60(x←v9264, 0);
         };
      };
SOURCE(10221, 159)
   {
      word x500;
      word x501;
      if (((
         x500 = x←v9264,  *(float*)&x500
         ) < (
         x501 = (*  (ptr) &fc25 ),  *(float*)&x501
         ))) {
SOURCE(10235, 147)
         {
            word adjFact←v13052;
SOURCE(10280, 19)
            adjFact←v13052 = (*  (ptr) &fc8 );
SOURCE(10301, 45)
            lab←L100018: ;
            {
               word x502;
               word x503;
               if (((
                  x502 = x←v9264,  *(float*)&x502
                  ) < (
                  x503 = (*  (ptr) &fc25 ),  *(float*)&x503
                  ))) {
                  }
               else {
                  goto lab←L100016;
                  };
               };
SOURCE(10316, 19)
            {
               word x504;
               word x505;
               *(float*)&adjFact←v13052 = (
                  x504 = adjFact←v13052,  *(float*)&x504
                  ) * (
                  x505 = x←v9264,  *(float*)&x505
                  );
               };
SOURCE(10337, 9)
            {
               word x506;
               word x507;
               *(float*)&x←v9264 = (
                  x506 = x←v9264,  *(float*)&x506
                  ) + (
                  x507 = (*  (ptr) &fc8 ),  *(float*)&x507
                  );
               };
            goto lab←L100018;
            lab←L100016: ;
SOURCE(10357, 23)
            lnAdjFact←v13008 = (word) Ln←P240(adjFact←v13052);
            };
         };
      };
SOURCE(10385, 45)
   {
      word x509;
      word x510;
      word x511;
      word x513;
      word x514;
      *(float*)&phi←v12980 = (((
         x509 = (*  (ptr) &fc508 ),  *(float*)&x509
         ) / ((
         x510 = x←v9264,  *(float*)&x510
         ) * (
         x511 = x←v9264,  *(float*)&x511
         ))) + (
         x513 = (*  (ptr) &fc512 ),  *(float*)&x513
         )) / (
         x514 = x←v9264,  *(float*)&x514
         );
      };
SOURCE(10459, 43)
   {
      word x515;
      word x516;
      word x517;
      word x518;
      word x519;
      word x520;
      word x521;
      *(float*)&f←v9308 = ((((((
         x515 = x←v9264,  *(float*)&x515
         ) - (
         x516 = (*  (ptr) &fc104 ),  *(float*)&x516
         )) * (
         x517 = (word) Ln←P240(x←v9264),  *(float*)&x517
         )) - (
         x518 = x←v9264,  *(float*)&x518
         )) + (
         x519 = (* (( (ptr) gf←c22492)+17)/* lnRoot2pi←v3364 */  ),  *(float*)&x519
         )) + (
         x520 = phi←v12980,  *(float*)&x520
         )) - (
         x521 = lnAdjFact←v13008,  *(float*)&x521
         );
      };
SOURCE(10110, 392)
   return(f←v9308);
   }

static word Gamma←P1920(x←v9368)
   word x←v9368;
   {
   word var←c9412;
   /* Gamma: */ 
SOURCE(10530, 71)
SOURCE(10578, 23)
   {
      word var←c20924;
      var←c20924 = (word) LnGamma←P1860(x←v9368);
      return((word) Exp←P120(var←c20924));
      };
   }

static word J0←P1980(x←v9472)
   word x←v9472;
   {
   word f←v9516;
   /* J0: */ 
SOURCE(10607, 517)
SOURCE(10655, 22)
   {
      word x522;
      word x523;
      if (((
         x522 = x←v9472,  *(float*)&x522
         ) < (
         x523 = (*  (ptr) &fc112 ),  *(float*)&x523
         ))) {
SOURCE(10671, 6)
         {
            word x524;
            *(float*)&x←v9472 =  - (
               x524 = x←v9472,  *(float*)&x524
               );
            };
         };
      };
SOURCE(10679, 445)
   {
      word x525;
      word x526;
      if (((
         x525 = x←v9472,  *(float*)&x525
         ) < (
         x526 = (*  (ptr) &fc25 ),  *(float*)&x526
         ))) {
SOURCE(10695, 301)
         {
            word x2←v13096;
            word P←v13124;
            word Q←v13152;
SOURCE(10697, 14)
            {
               word x527;
               word x528;
               *(float*)&x2←v13096 = (
                  x527 = x←v9472,  *(float*)&x527
                  ) * (
                  x528 = x←v9472,  *(float*)&x528
                  );
               };
SOURCE(10713, 145)
            {
               word x530;
               word x531;
               word x533;
               word x534;
               word x536;
               word x537;
               word x539;
               word x540;
               word x542;
               word x543;
               word x545;
               *(float*)&P←v13124 = ((((((((((
                  x530 = (*  (ptr) &fc529 ),  *(float*)&x530
                  ) * (
                  x531 = x2←v13096,  *(float*)&x531
                  )) + (
                  x533 = (*  (ptr) &fc532 ),  *(float*)&x533
                  )) * (
                  x534 = x2←v13096,  *(float*)&x534
                  )) + (
                  x536 = (*  (ptr) &fc535 ),  *(float*)&x536
                  )) * (
                  x537 = x2←v13096,  *(float*)&x537
                  )) + (
                  x539 = (*  (ptr) &fc538 ),  *(float*)&x539
                  )) * (
                  x540 = x2←v13096,  *(float*)&x540
                  )) + (
                  x542 = (*  (ptr) &fc541 ),  *(float*)&x542
                  )) * (
                  x543 = x2←v13096,  *(float*)&x543
                  )) + (
                  x545 = (*  (ptr) &fc544 ),  *(float*)&x545
                  );
               };
SOURCE(10860, 125)
            {
               word x546;
               word x548;
               word x549;
               word x551;
               word x552;
               word x554;
               word x555;
               word x557;
               word x558;
               word x560;
               *(float*)&Q←v13152 = (((((((((
                  x546 = x2←v13096,  *(float*)&x546
                  ) + (
                  x548 = (*  (ptr) &fc547 ),  *(float*)&x548
                  )) * (
                  x549 = x2←v13096,  *(float*)&x549
                  )) + (
                  x551 = (*  (ptr) &fc550 ),  *(float*)&x551
                  )) * (
                  x552 = x2←v13096,  *(float*)&x552
                  )) + (
                  x554 = (*  (ptr) &fc553 ),  *(float*)&x554
                  )) * (
                  x555 = x2←v13096,  *(float*)&x555
                  )) + (
                  x557 = (*  (ptr) &fc556 ),  *(float*)&x557
                  )) * (
                  x558 = x2←v13096,  *(float*)&x558
                  )) + (
                  x560 = (*  (ptr) &fc559 ),  *(float*)&x560
                  );
               };
SOURCE(10987, 7)
            {
               word x561;
               word x562;
               *(float*)&f←v9516 = (
                  x561 = P←v13124,  *(float*)&x561
                  ) / (
                  x562 = Q←v13152,  *(float*)&x562
                  );
               };
            };
         }
      else {
SOURCE(11003, 123)
         {
            word X0←v13196;
            word p0←v13224;
            word q0←v13252;
SOURCE(11005, 22)
            {
               word x563;
               word x564;
               word x565;
               *(float*)&X0←v13196 = (
                  x563 = x←v9472,  *(float*)&x563
                  ) - ((
                  x564 = (*  (ptr) &fc12 ),  *(float*)&x564
                  ) / (
                  x565 = (*  (ptr) &fc22 ),  *(float*)&x565
                  ));
               };
SOURCE(11043, 17)
            {
               W2 var←c20956;
               (void) PQ0←P2040((word) &var←c20956, x←v9472);
               q0←v13252 = var←c20956.f1;
               p0←v13224 = var←c20956.f0;
               };
SOURCE(11062, 62)
            {
               word x566;
               word x567;
               word x568;
               float tf569;
               word x570;
               word x571;
               word x572;
               word x573;
               word x574;
               *(float*)&f←v9516 = (
                  x570 = (word) SqRt←P300((
                        tf569 = (
                           x566 = (*  (ptr) &fc14 ),  *(float*)&x566
                           ) / ((
                           x567 = (*  (ptr) &fc12 ),  *(float*)&x567
                           ) * (
                           x568 = x←v9472,  *(float*)&x568
                           )),  *(word*)&tf569
                        )),  *(float*)&x570
                  ) * (((
                  x571 = p0←v13224,  *(float*)&x571
                  ) * (
                  x572 = (word) Cos←P540(X0←v13196),  *(float*)&x572
                  )) - ((
                  x573 = q0←v13252,  *(float*)&x573
                  ) * (
                  x574 = (word) Sin←P480(X0←v13196),  *(float*)&x574
                  )));
               };
            };
         };
      };
SOURCE(10607, 517)
   return(f←v9516);
   }

static void PQ0←P2040(formal←c0232, x←v9576)
   word formal←c0232;
   word x←v9576;
   {
   word P0←v9620;
   word Q0←v9648;
   word z←v13296;
   word z2←v13324;
   /* PQ0: */ 
SOURCE(11132, 326)
SOURCE(11179, 15)
   {
      word x575;
      word x576;
      *(float*)&z←v13296 = (
         x575 = (*  (ptr) &fc25 ),  *(float*)&x575
         ) / (
         x576 = x←v9576,  *(float*)&x576
         );
      };
SOURCE(11196, 14)
   {
      word x577;
      word x578;
      *(float*)&z2←v13324 = (
         x577 = z←v13296,  *(float*)&x577
         ) * (
         x578 = z←v13296,  *(float*)&x578
         );
      };
SOURCE(11212, 118)
   {
      word x580;
      word x581;
      word x583;
      word x584;
      word x586;
      word x587;
      word x589;
      *(float*)&P0←v9620 = ((((((
         x580 = (*  (ptr) &fc579 ),  *(float*)&x580
         ) * (
         x581 = z2←v13324,  *(float*)&x581
         )) + (
         x583 = (*  (ptr) &fc582 ),  *(float*)&x583
         )) * (
         x584 = z2←v13324,  *(float*)&x584
         )) + (
         x586 = (*  (ptr) &fc585 ),  *(float*)&x586
         )) * (
         x587 = z2←v13324,  *(float*)&x587
         )) + (
         x589 = (*  (ptr) &fc588 ),  *(float*)&x589
         );
      };
SOURCE(11332, 126)
   {
      word x591;
      word x592;
      word x594;
      word x595;
      word x597;
      word x598;
      word x600;
      word x601;
      *(float*)&Q0←v9648 = (((((((
         x591 = (*  (ptr) &fc590 ),  *(float*)&x591
         ) * (
         x592 = z2←v13324,  *(float*)&x592
         )) + (
         x594 = (*  (ptr) &fc593 ),  *(float*)&x594
         )) * (
         x595 = z2←v13324,  *(float*)&x595
         )) + (
         x597 = (*  (ptr) &fc596 ),  *(float*)&x597
         )) * (
         x598 = z2←v13324,  *(float*)&x598
         )) + (
         x600 = (*  (ptr) &fc599 ),  *(float*)&x600
         )) * (
         x601 = z←v13296,  *(float*)&x601
         );
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0232 ) = P0←v9620;
   (* (( (ptr) formal←c0232)+1) ) = Q0←v9648;
   return;
   }

static word J1←P2100(x←v9708)
   word x←v9708;
   {
   register ptr gf←c22524 =  (ptr) &globalframe;
   word f←v9752;
   word sign←v13368;
   /* J1: */ 
SOURCE(11491, 506)
SOURCE(11539, 16)
   sign←v13368 = (*  (ptr) &fc8 );
SOURCE(11557, 36)
   {
      word x602;
      word x603;
      if (((
         x602 = x←v9708,  *(float*)&x602
         ) < (
         x603 = (*  (ptr) &fc112 ),  *(float*)&x603
         ))) {
SOURCE(11574, 11)
         sign←v13368 = (*  (ptr) &fc345 );
SOURCE(11587, 6)
         {
            word x604;
            *(float*)&x←v9708 =  - (
               x604 = x←v9708,  *(float*)&x604
               );
            };
         };
      };
SOURCE(11596, 401)
   {
      word x605;
      word x606;
      if (((
         x605 = x←v9708,  *(float*)&x605
         ) < (
         x606 = (*  (ptr) &fc25 ),  *(float*)&x606
         ))) {
SOURCE(11612, 257)
         {
            word x2←v13412;
            word P←v13440;
            word Q←v13468;
SOURCE(11614, 14)
            {
               word x607;
               word x608;
               *(float*)&x2←v13412 = (
                  x607 = x←v9708,  *(float*)&x607
                  ) * (
                  x608 = x←v9708,  *(float*)&x608
                  );
               };
SOURCE(11630, 119)
            {
               word x610;
               word x611;
               word x613;
               word x614;
               word x616;
               word x617;
               word x619;
               word x620;
               word x622;
               *(float*)&P←v13440 = ((((((((
                  x610 = (*  (ptr) &fc609 ),  *(float*)&x610
                  ) * (
                  x611 = x2←v13412,  *(float*)&x611
                  )) + (
                  x613 = (*  (ptr) &fc612 ),  *(float*)&x613
                  )) * (
                  x614 = x2←v13412,  *(float*)&x614
                  )) + (
                  x616 = (*  (ptr) &fc615 ),  *(float*)&x616
                  )) * (
                  x617 = x2←v13412,  *(float*)&x617
                  )) + (
                  x619 = (*  (ptr) &fc618 ),  *(float*)&x619
                  )) * (
                  x620 = x2←v13412,  *(float*)&x620
                  )) + (
                  x622 = (*  (ptr) &fc621 ),  *(float*)&x622
                  );
               };
SOURCE(11751, 100)
            {
               word x623;
               word x625;
               word x626;
               word x628;
               word x629;
               word x631;
               word x632;
               word x634;
               *(float*)&Q←v13468 = (((((((
                  x623 = x2←v13412,  *(float*)&x623
                  ) + (
                  x625 = (*  (ptr) &fc624 ),  *(float*)&x625
                  )) * (
                  x626 = x2←v13412,  *(float*)&x626
                  )) + (
                  x628 = (*  (ptr) &fc627 ),  *(float*)&x628
                  )) * (
                  x629 = x2←v13412,  *(float*)&x629
                  )) + (
                  x631 = (*  (ptr) &fc630 ),  *(float*)&x631
                  )) * (
                  x632 = x2←v13412,  *(float*)&x632
                  )) + (
                  x634 = (*  (ptr) &fc633 ),  *(float*)&x634
                  );
               };
SOURCE(11853, 14)
            {
               word x635;
               word x636;
               word x637;
               word x638;
               *(float*)&f←v9752 = (((
                  x635 = sign←v13368,  *(float*)&x635
                  ) * (
                  x636 = x←v9708,  *(float*)&x636
                  )) * (
                  x637 = P←v13440,  *(float*)&x637
                  )) / (
                  x638 = Q←v13468,  *(float*)&x638
                  );
               };
            };
         }
      else {
SOURCE(11876, 123)
         {
            word X1←v13512;
            word p1←v13540;
            word q1←v13568;
SOURCE(11878, 17)
            {
               word x639;
               word x640;
               *(float*)&X1←v13512 = (
                  x639 = x←v9708,  *(float*)&x639
                  ) - (
                  x640 = (* (( (ptr) gf←c22524)+24)/* pi34←v4764 */  ),  *(float*)&x640
                  );
               };
SOURCE(11911, 17)
            {
               W2 var←c20988;
               (void) PQ1←P2160((word) &var←c20988, x←v9708);
               q1←v13568 = var←c20988.f1;
               p1←v13540 = var←c20988.f0;
               };
SOURCE(11930, 67)
            {
               word x641;
               word x642;
               word x643;
               word x644;
               float tf645;
               word x646;
               word x647;
               word x648;
               word x649;
               word x650;
               *(float*)&f←v9752 = ((
                  x641 = sign←v13368,  *(float*)&x641
                  ) * (
                  x646 = (word) SqRt←P300((
                        tf645 = (
                           x642 = (*  (ptr) &fc14 ),  *(float*)&x642
                           ) / ((
                           x643 = (*  (ptr) &fc12 ),  *(float*)&x643
                           ) * (
                           x644 = x←v9708,  *(float*)&x644
                           )),  *(word*)&tf645
                        )),  *(float*)&x646
                  )) * (((
                  x647 = p1←v13540,  *(float*)&x647
                  ) * (
                  x648 = (word) Cos←P540(X1←v13512),  *(float*)&x648
                  )) - ((
                  x649 = q1←v13568,  *(float*)&x649
                  ) * (
                  x650 = (word) Sin←P480(X1←v13512),  *(float*)&x650
                  )));
               };
            };
         };
      };
SOURCE(11491, 506)
   return(f←v9752);
   }

static void PQ1←P2160(formal←c0249, x←v9812)
   word formal←c0249;
   word x←v9812;
   {
   word P1←v9856;
   word Q1←v9884;
   word z←v13612;
   word z2←v13640;
   /* PQ1: */ 
SOURCE(12005, 322)
SOURCE(12052, 15)
   {
      word x651;
      word x652;
      *(float*)&z←v13612 = (
         x651 = (*  (ptr) &fc25 ),  *(float*)&x651
         ) / (
         x652 = x←v9812,  *(float*)&x652
         );
      };
SOURCE(12069, 14)
   {
      word x653;
      word x654;
      *(float*)&z2←v13640 = (
         x653 = z←v13612,  *(float*)&x653
         ) * (
         x654 = z←v13612,  *(float*)&x654
         );
      };
SOURCE(12085, 117)
   {
      word x656;
      word x657;
      word x659;
      word x660;
      word x662;
      word x663;
      word x665;
      *(float*)&P1←v9856 = ((((((
         x656 = (*  (ptr) &fc655 ),  *(float*)&x656
         ) * (
         x657 = z2←v13640,  *(float*)&x657
         )) + (
         x659 = (*  (ptr) &fc658 ),  *(float*)&x659
         )) * (
         x660 = z2←v13640,  *(float*)&x660
         )) + (
         x662 = (*  (ptr) &fc661 ),  *(float*)&x662
         )) * (
         x663 = z2←v13640,  *(float*)&x663
         )) + (
         x665 = (*  (ptr) &fc664 ),  *(float*)&x665
         );
      };
SOURCE(12204, 123)
   {
      word x667;
      word x668;
      word x670;
      word x671;
      word x673;
      word x674;
      word x676;
      word x677;
      *(float*)&Q1←v9884 = (((((((
         x667 = (*  (ptr) &fc666 ),  *(float*)&x667
         ) * (
         x668 = z2←v13640,  *(float*)&x668
         )) + (
         x670 = (*  (ptr) &fc669 ),  *(float*)&x670
         )) * (
         x671 = z2←v13640,  *(float*)&x671
         )) + (
         x673 = (*  (ptr) &fc672 ),  *(float*)&x673
         )) * (
         x674 = z2←v13640,  *(float*)&x674
         )) + (
         x676 = (*  (ptr) &fc675 ),  *(float*)&x676
         )) * (
         x677 = z←v13612,  *(float*)&x677
         );
      };
   /* removed tail goto */ 
   (*  (ptr) formal←c0249 ) = P1←v9856;
   (* (( (ptr) formal←c0249)+1) ) = Q1←v9884;
   return;
   }

static word OldJn←P2220(n←v9944, x←v9972)
   word n←v9944;
   word x←v9972;
   {
   word f←v10016;
   word sign←v13684;
   /* OldJn: */ 
SOURCE(12332, 331)
SOURCE(12391, 16)
   sign←v13684 = (*  (ptr) &fc8 );
SOURCE(12409, 61)
   if (( (int)n←v9944 <  (int)0)) {
SOURCE(12422, 6)
      n←v9944 = INEG(n←v9944);
SOURCE(12430, 40)
      if (( (int)IOP2( % ,  (int)n←v9944,  (int)2) !=  (int)0)) {
         sign←v13684 = (*  (ptr) &fc345 );
         }
      else {
         sign←v13684 = (*  (ptr) &fc8 );
         };
      };
SOURCE(12473, 190)
   {
      word var←c21020;
      var←c21020 = n←v9944;
      if (( (int)var←c21020 ==  (int)0)) {
SOURCE(12492, 9)
         f←v10016 = (word) J0←P1980(x←v9972);
         }
      else {
         if (( (int)var←c21020 ==  (int)1)) {
SOURCE(12508, 14)
            {
               word x678;
               word x679;
               *(float*)&f←v10016 = (
                  x678 = sign←v13684,  *(float*)&x678
                  ) * (
                  x679 = (word) J1←P2100(x←v9972),  *(float*)&x679
                  );
               };
            }
         else {
SOURCE(12535, 130)
            {
               word v0←v13728;
               word v1←v13756;
SOURCE(12537, 16)
               v0←v13728 = (word) J0←P1980(x←v9972);
SOURCE(12555, 16)
               v1←v13756 = (word) J1←P2100(x←v9972);
SOURCE(12573, 68)
               {
                  register word m←v13800 = 2;
                  register word noName←c21052;
                  noName←c21052 = n←v9944;
                  if (( (int)m←v13800 >  (int)noName←c21052)) {
                     goto lab←L100021;
                     };
                  lab←L100024: ;
                  {
                     word v2←v13844;
SOURCE(12597, 26)
                     {
                        word x680;
                        word x681;
                        word x682;
                        *(float*)&v2←v13844 = (((float)(int)IOP2( * ,  (int)2,  (int)(m←v13800 - 1)) * (
                           x680 = v1←v13756,  *(float*)&x680
                           )) / (
                           x681 = x←v9972,  *(float*)&x681
                           )) - (
                           x682 = v0←v13728,  *(float*)&x682
                           );
                        };
SOURCE(12625, 7)
                     v0←v13728 = v1←v13756;
SOURCE(12634, 7)
                     v1←v13756 = v2←v13844;
                     };
                  if (( (int)m←v13800 >=  (int)noName←c21052)) {
                     goto lab←L100021;
                     };
                  m←v13800 = (m←v13800 + 1);
                  goto lab←L100024;
                  lab←L100021: ;
                  };
SOURCE(12652, 11)
               {
                  word x683;
                  word x684;
                  *(float*)&f←v10016 = (
                     x683 = sign←v13684,  *(float*)&x683
                     ) * (
                     x684 = v1←v13756,  *(float*)&x684
                     );
                  };
               };
            };
         };
      };
SOURCE(12332, 331)
   return(f←v10016);
   }

static word Jn←P2280(n←v10076, x←v10104)
   word n←v10076;
   word x←v10104;
   {
   register ptr gf←c22556 =  (ptr) &globalframe;
   word f←v10148;
   word sign←v13888;
   /* Jn: */ 
SOURCE(12734, 623)
SOURCE(12790, 16)
   sign←v13888 = (*  (ptr) &fc8 );
SOURCE(12808, 61)
   if (( (int)n←v10076 <  (int)0)) {
SOURCE(12821, 6)
      n←v10076 = INEG(n←v10076);
SOURCE(12829, 40)
      if (( (int)IOP2( % ,  (int)n←v10076,  (int)2) !=  (int)0)) {
         sign←v13888 = (*  (ptr) &fc345 );
         }
      else {
         sign←v13888 = (*  (ptr) &fc8 );
         };
      };
   if (( (int)n←v10076 ==  (int)0)) {
SOURCE(12896, 14)
      return((word) J0←P1980(x←v10104));
      }
   else {
      if (( (int)n←v10076 ==  (int)1)) {
SOURCE(12919, 14)
         {
            word x685;
            word x686;
            *(float*)&f←v10148 = (
               x685 = sign←v13888,  *(float*)&x685
               ) * (
               x686 = (word) J1←P2100(x←v10104),  *(float*)&x686
               );
            };
         }
      else {
         {
            word x687;
            word x688;
            if (((
               x687 = x←v10104,  *(float*)&x687
               ) == (
               x688 = (*  (ptr) &fc112 ),  *(float*)&x688
               ))) {
SOURCE(12944, 12)
               return((*  (ptr) &fc112 ));
               }
            else {
SOURCE(12969, 390)
               {
                  word halfX←v13932;
                  word halfX2←v13960;
                  word term←v13988;
                  word sum←v14016;
SOURCE(12971, 19)
                  {
                     word x689;
                     word x690;
                     *(float*)&halfX←v13932 = (
                        x689 = x←v10104,  *(float*)&x689
                        ) * (
                        x690 = (*  (ptr) &fc104 ),  *(float*)&x690
                        );
                     };
SOURCE(12992, 28)
                  {
                     word x691;
                     word x692;
                     *(float*)&halfX2←v13960 = (
                        x691 = halfX←v13932,  *(float*)&x691
                        ) * (
                        x692 = halfX←v13932,  *(float*)&x692
                        );
                     };
SOURCE(13039, 144)
                  if (( (int)n←v10076 <=  (int)(* (( (ptr) gf←c22556)+26)/* factLimit←v4904 */  ))) {
SOURCE(13064, 12)
                     term←v13988 = halfX←v13932;
SOURCE(13078, 57)
                     {
                        register word j←v14060 = 2;
                        register word noName←c21116;
                        noName←c21116 = SGNCK(n←v10076);
                        if ((j←v14060 > noName←c21116)) {
                           goto lab←L100025;
                           };
                        lab←L100028: ;
SOURCE(13102, 33)
                        {
                           word x693;
                           word x694;
                           *(float*)&term←v13988 = (
/*1*/   x693 = term←v13988,  *(float*)&x693
/*1*/   ) * ((
/*1*/   x694 = halfX←v13932,  *(float*)&x694
/*1*/   ) / (float)(unsigned)j←v14060);
                           };
                        if ((j←v14060 >= noName←c21116)) {
                           goto lab←L100025;
                           };
                        j←v14060 = (j←v14060 + 1);
                        goto lab←L100028;
                        lab←L100025: ;
                        };
                     }
                  else {
SOURCE(13144, 39)
                     {
                        word var←c21148;
                        {
                           word x695;
                           float tf696;
                           word x697;
                           *(float*)&var←c21148 = ((float)(int)n←v10076 * (
/*1*/   x695 = (word) Ln←P240(halfX←v13932),  *(float*)&x695
/*1*/   )) - (
/*1*/   x697 = (word) LnGamma←P1860((
/*1*/         tf696 = (float)(int)(n←v10076 + 1),  *(word*)&tf696
/*1*/         )),  *(float*)&x697
/*1*/   );
                           };
                        term←v13988 = (word) Exp←P120(var←c21148);
                        };
                     };
SOURCE(13185, 10)
                  sum←v14016 = term←v13988;
SOURCE(13197, 137)
                  {
                     word k←v14104;
                     k←v14104 = (*  (ptr) &fc8 );
                     lab←L100032: ;
                     {
                        word newSum←v14148;
SOURCE(13235, 35)
                        {
                           word x698;
                           word x699;
                           word x700;
                           word x701;
                           *(float*)&term←v13988 = ( - (
/*1*/   x698 = term←v13988,  *(float*)&x698
/*1*/   )) * ((
/*1*/   x699 = halfX2←v13960,  *(float*)&x699
/*1*/   ) / ((
/*1*/   x700 = k←v14104,  *(float*)&x700
/*1*/   ) * ((float)(int)n←v10076 + (
/*1*/   x701 = k←v14104,  *(float*)&x701
/*1*/   ))));
                           };
SOURCE(13272, 19)
                        {
                           word x702;
                           word x703;
                           *(float*)&newSum←v14148 = (
/*1*/   x702 = sum←v14016,  *(float*)&x702
/*1*/   ) + (
/*1*/   x703 = term←v13988,  *(float*)&x703
/*1*/   );
                           };
SOURCE(13293, 41)
                        {
                           word x704;
                           word x705;
                           if (((
/*1*/   x704 = newSum←v14148,  *(float*)&x704
/*1*/   ) == (
/*1*/   x705 = sum←v14016,  *(float*)&x705
/*1*/   ))) {
SOURCE(13312, 10)
/*1*/   goto lab←L100030;
/*1*/   }
                           else {
SOURCE(13322, 12)
/*1*/   sum←v14016 = newSum←v14148;
/*1*/   };
                           };
                        };
                     {
                        word x706;
                        word x707;
                        *(float*)&k←v14104 = (
                           x706 = k←v14104,  *(float*)&x706
                           ) + (
                           x707 = (*  (ptr) &fc8 ),  *(float*)&x707
                           );
                        };
                     goto lab←L100032;
                     lab←L100030: ;
                     };
SOURCE(13345, 12)
                  {
                     word x708;
                     word x709;
                     *(float*)&f←v10148 = (
                        x708 = sum←v14016,  *(float*)&x708
                        ) * (
                        x709 = sign←v13888,  *(float*)&x709
                        );
                     };
                  };
               };
            };
         };
      };
SOURCE(12734, 623)
   return(f←v10148);
   }

static void RationalFromReal←P2340(formal←c0308, x←v10208, limit←v10236)
   word formal←c0308;
   word x←v10208;
   word limit←v10236;
   {
   register ptr gf←c22588 =  (ptr) &globalframe;
   W2 var←c10280;
   word tooLargeToFix←v14192;
   word tooSmallToFix←v14220;
   word halfTooSmallToFix←v14248;
   word sign←v14332 = 1;
   word flip←v14360 = 0;
   word scale←v14388;
   word ak2←v14416;
   word ak1←v14444;
   word ak←v14472;
   word ck←v14500;
   word climit←v14528;
   word nk←v14556;
   word dk←v14584;
   word nk1←v14612 = 0;
   word dk2←v14640 = 0;
   word nk2←v14668 = 1;
   word dk1←v14696 = 1;
   /* RationalFromReal: */ 
SOURCE(13366, 3748)
SOURCE(13462, 53)
   {
      word pd710;
      pd710 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
      tooLargeToFix←v14192 = (word) ( *( (fPt) ((*  (ptr) pd710 ))))((*  (ptr) &fc8 ), 31, pd710);
      };
SOURCE(13535, 53)
   {
      word pd711;
      pd711 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
      tooSmallToFix←v14220 = (word) ( *( (fPt) ((*  (ptr) pd711 ))))((*  (ptr) &fc8 ),  (word) -31, pd711);
      };
SOURCE(13610, 56)
   {
      word pd712;
      pd712 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
      halfTooSmallToFix←v14248 = (word) ( *( (fPt) ((*  (ptr) pd712 ))))(tooSmallToFix←v14220,  (word) -1, pd712);
      };
SOURCE(14227, 34)
   if (( (int)limit←v10236 <=  (int)0)) {
SOURCE(14246, 15)
      var←c10280.f0 = 0;
      var←c10280.f1 = 1;
      goto lab←L100033;
      };
SOURCE(14286, 35)
   {
      word x713;
      word x714;
      if (((
         x713 = x←v10208,  *(float*)&x713
         ) < (
         x714 = (*  (ptr) &fc112 ),  *(float*)&x714
         ))) {
SOURCE(14304, 6)
         {
            word x715;
            *(float*)&x←v10208 =  - (
               x715 = x←v10208,  *(float*)&x715
               );
            };
SOURCE(14312, 9)
         sign←v14332 =  (word) -1;
         };
      };
SOURCE(14326, 1440)
   {
      word x716;
      word x717;
      if (((
         x716 = x←v10208,  *(float*)&x716
         ) >= (
         x717 = (*  (ptr) &fc8 ),  *(float*)&x717
         ))) {
SOURCE(14343, 437)
         {
            word rest←v14740;
            word var←c0390;
SOURCE(14412, 88)
            {
               word x718;
               word x719;
               if (((
                  x718 = x←v10208,  *(float*)&x718
                  ) >= (
                  x719 = tooLargeToFix←v14192,  *(float*)&x719
                  ))) { goto then0720;};
               {
                  word pd721;
                  word idx722;
                  pd721 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+5) );
                  ck←v14500 = (
                     idx722 = (word) ( *( (fPt) ((*  (ptr) pd721 ))))(x←v10208, pd721),
                     SGNCK(idx722)
                     );
                  };
               var←c0390 = ck←v14500;
               if ((var←c0390 >= SGNCK(limit←v10236))) {
                  then0720: ;
SOURCE(14476, 24)
                  var←c10280.f0 = IOP2( * ,  (int)sign←v14332,  (int)limit←v10236);
                  var←c10280.f1 = 1;
                  goto lab←L100033;
                  };
               };
SOURCE(14502, 11)
            flip←v14360 = 1;
SOURCE(14570, 6)
            nk←v14556 = 1;
SOURCE(14579, 7)
            dk←v14584 = SGNCK(ck←v14500);
SOURCE(14632, 13)
            {
               word x723;
               *(float*)&rest←v14740 = (
                  x723 = x←v10208,  *(float*)&x723
                  ) - (float)(unsigned)ck←v14500;
               };
SOURCE(14647, 49)
            scale←v14388 = (150 - (((unsigned)(*  (ptr) &fc8 ) << 1) >> 24));
SOURCE(14698, 39)
            {
               word var←c21244;
               {
                  word pd724;
                  pd724 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
                  var←c21244 = (word) ( *( (fPt) ((*  (ptr) pd724 ))))(rest←v14740, scale←v14388, pd724);
                  };
               {
                  word pd725;
                  word idx726;
                  pd725 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+5) );
                  ak←v14472 = (
                     idx726 = (word) ( *( (fPt) ((*  (ptr) pd725 ))))(var←c21244, pd725),
                     SGNCK(idx726)
                     );
                  };
               };
SOURCE(14739, 39)
            {
               word var←c21276;
               {
                  word pd727;
                  pd727 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
                  var←c21276 = (word) ( *( (fPt) ((*  (ptr) pd727 ))))((*  (ptr) &fc8 ), scale←v14388, pd727);
                  };
               {
                  word pd728;
                  word idx729;
                  pd728 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+5) );
                  ak1←v14444 = (
                     idx729 = (word) ( *( (fPt) ((*  (ptr) pd728 ))))(var←c21276, pd728),
                     SGNCK(idx729)
                     );
                  };
               };
            };
         }
      else {
SOURCE(14787, 1024)
         {
            word n←v14784;
            word num←v14812;
SOURCE(14854, 200)
            {
               word x730;
               word x731;
               if (((
                  x730 = x←v10208,  *(float*)&x730
                  ) <= (
                  x731 = tooSmallToFix←v14220,  *(float*)&x731
                  ))) {
SOURCE(14919, 46)
                  {
                     word x732;
                     word x733;
                     if (((
                        x732 = x←v10208,  *(float*)&x732
                        ) <= (
                        x733 = halfTooSmallToFix←v14248,  *(float*)&x733
                        ))) {
SOURCE(14950, 15)
                        var←c10280.f0 = 0;
                        var←c10280.f1 = 1;
                        goto lab←L100033;
                        };
                     };
SOURCE(14967, 87)
                  {
                     word pd734;
                     word x735;
                     word x736;
                     float tf737;
                     word idx738;
                     pd734 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+5) );
                     if ((SGNCK(limit←v10236) > (
                        idx738 = (word) ( *( (fPt) ((*  (ptr) pd734 ))))((
/*1*/   tf737 = (
/*1*/      x735 = (*  (ptr) &fc104 ),  *(float*)&x735
/*1*/      ) / (
/*1*/      x736 = x←v10208,  *(float*)&x736
/*1*/      ),  *(word*)&tf737
/*1*/   ), pd734),
                        SGNCK(idx738)
                        ))) {
SOURCE(15011, 28)
                        var←c10280.f0 = sign←v14332;
                        var←c10280.f1 = limit←v10236;
                        goto lab←L100033;
                        }
                     else {
SOURCE(15039, 15)
                        var←c10280.f0 = 0;
                        var←c10280.f1 = 1;
                        goto lab←L100033;
                        };
                     };
                  };
               };
SOURCE(15059, 47)
            scale←v14388 = (150 - (((unsigned)x←v10208 << 1) >> 24));
SOURCE(15108, 37)
            {
               word var←c21404;
               {
                  word pd739;
                  pd739 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+4) );
                  var←c21404 = (word) ( *( (fPt) ((*  (ptr) pd739 ))))(x←v10208, scale←v14388, pd739);
                  };
               {
                  word pd740;
                  word idx741;
                  pd740 = (* (( (ptr) (* (( (ptr) gf←c22588)+167)/* var←c20124 */  ))+5) );
                  ak1←v14444 = (
                     idx741 = (word) ( *( (fPt) ((*  (ptr) pd740 ))))(var←c21404, pd740),
                     SGNCK(idx741)
                     );
                  };
               };
SOURCE(15147, 28)
            {
               word idx742;
               n←v14784 = (
                  idx742 = (word) (MIN((int)(word), 31, scale←v14388)),
                  SGNCK(idx742)
                  );
               };
SOURCE(15210, 28)
            num←v14812 = (word) XRM←BITLSHIFT(1, BCK(n←v14784, 32));
SOURCE(15240, 12)
            ck←v14500 = (num←v14812 / ak1←v14444);
SOURCE(15285, 16)
            ak←v14472 = (num←v14812 % ak1←v14444);
SOURCE(15339, 235)
            lab←L100036: ;
            scale←v14388 = (scale←v14388 - n←v14784);
            if (( (int)scale←v14388 >  (int)0)) {
               }
            else {
               goto lab←L100034;
               };
SOURCE(15415, 17)
            {
               word idx743;
               n←v14784 = (
                  idx743 = (word) (MIN((int)(word), 8, scale←v14388)),
                  SGNCK(idx743)
                  );
               };
SOURCE(15487, 29)
            num←v14812 = (word) XRM←BITLSHIFT(ak←v14472, BCK(n←v14784, 32));
SOURCE(15518, 38)
            ck←v14500 = ((word) XRM←BITLSHIFT(ck←v14500, BCK(n←v14784, 32)) + (num←v14812 / ak1←v14444));
SOURCE(15558, 16)
            ak←v14472 = (num←v14812 % ak1←v14444);
            goto lab←L100036;
            lab←L100034: ;
SOURCE(15610, 135)
            if ((ck←v14500 >= SGNCK(limit←v10236))) {
SOURCE(15675, 70)
               {
                  word idx744;
                  if (((
                     idx744 = (word) IOP2( * ,  (int)2,  (int)limit←v10236),
                     SGNCK(idx744)
                     ) > ck←v14500)) {
SOURCE(15702, 28)
                     var←c10280.f0 = sign←v14332;
                     var←c10280.f1 = limit←v10236;
                     goto lab←L100033;
                     }
                  else {
SOURCE(15730, 15)
                     var←c10280.f0 = 0;
                     var←c10280.f1 = 1;
                     goto lab←L100033;
                     };
                  };
               };
SOURCE(15750, 6)
            nk←v14556 = 1;
SOURCE(15759, 7)
            dk←v14584 = SGNCK(ck←v14500);
            };
         };
      };
SOURCE(15815, 1177)
   lab←L100039: ;
   if ((ak←v14472 != 0)) {
      }
   else {
      goto lab←L100037;
      };
SOURCE(15882, 9)
   ak2←v14416 = ak1←v14444;
SOURCE(15894, 8)
   ak1←v14444 = ak←v14472;
SOURCE(15934, 9)
   nk2←v14668 = nk1←v14612;
SOURCE(15946, 8)
   nk1←v14612 = nk←v14556;
SOURCE(16006, 9)
   dk2←v14640 = dk1←v14696;
SOURCE(16018, 8)
   dk1←v14696 = dk←v14584;
SOURCE(16028, 12)
   ck←v14500 = (ak2←v14416 / ak1←v14444);
SOURCE(16088, 17)
   ak←v14472 = (ak2←v14416 - (ck←v14500 * ak1←v14444));
SOURCE(16141, 26)
   climit←v14528 = ((limit←v10236 - dk2←v14640) / dk1←v14696);
SOURCE(16222, 21)
   if ((climit←v14528 <= ck←v14500)) {
SOURCE(16243, 16)
      goto lab←L100040;
      };
SOURCE(16300, 17)
   nk←v14556 = (IOP2( * ,  (int)ck←v14500,  (int)nk1←v14612) + nk2←v14668);
SOURCE(16370, 17)
   dk←v14584 = (IOP2( * ,  (int)ck←v14500,  (int)dk1←v14696) + dk2←v14640);
   goto lab←L100039;
   lab←L100040: ;
SOURCE(16411, 627)
   {
      word twoClimit←v14856;
SOURCE(16413, 26)
      twoClimit←v14856 = (climit←v14528 << 1);
SOURCE(16441, 551)
      if ((twoClimit←v14856 >= ck←v14500)) {
SOURCE(16514, 21)
         nk←v14556 = (IOP2( * ,  (int)climit←v14528,  (int)nk1←v14612) + nk2←v14668);
SOURCE(16582, 21)
         dk←v14584 = (IOP2( * ,  (int)climit←v14528,  (int)dk1←v14696) + dk2←v14640);
SOURCE(16605, 387)
         if ((twoClimit←v14856 == ck←v14500)) {
SOURCE(16636, 397)
            {
               word dk2ak1Hi←v14900;
               word dk2ak1Lo←v14928;
               word dk1akHi←v14956;
               word dk1akLo←v14984;
SOURCE(16775, 60)
               {
                  W2 var←c21500;
                  {
                     word idx745;
                     (void) Mul32←P2820((word) &var←c21500, (
                           idx745 = (word)  ( (0 != flip←v14360) ? nk2←v14668 : dk2←v14640 ) ,
                           SGNCK(idx745)
                           ), ak1←v14444);
                     };
                  dk2ak1Lo←v14928 = var←c21500.f1;
                  dk2ak1Hi←v14900 = var←c21500.f0;
                  };
SOURCE(16837, 57)
               {
                  W2 var←c21532;
                  {
                     word idx746;
                     (void) Mul32←P2820((word) &var←c21532, (
                           idx746 = (word)  ( (0 != flip←v14360) ? nk1←v14612 : dk1←v14696 ) ,
                           SGNCK(idx746)
                           ), ak←v14472);
                     };
                  dk1akLo←v14984 = var←c21532.f1;
                  dk1akHi←v14956 = var←c21532.f0;
                  };
SOURCE(16896, 96)
               if ((dk2ak1Hi←v14900 < dk1akHi←v14956) ||  ( (dk2ak1Hi←v14900 == dk1akHi←v14956) ? (dk2ak1Lo←v14928 <= dk1akLo←v14984) : 0 ) ) {
SOURCE(16973, 8)
                  nk←v14556 = nk1←v14612;
SOURCE(16984, 8)
                  dk←v14584 = dk1←v14696;
                  };
               };
            };
         };
      };
   goto lab←L100038;
   lab←L100037: ;
   lab←L100038: ;
SOURCE(17051, 63)
   if ((0 != flip←v14360)) {
SOURCE(17064, 28)
      var←c10280.f0 = IOP2( * ,  (int)sign←v14332,  (int)dk←v14584);
      var←c10280.f1 = nk←v14556;
      /* removed tail goto */ 
      }
   else {
SOURCE(17092, 22)
      var←c10280.f0 = IOP2( * ,  (int)sign←v14332,  (int)nk←v14556);
      var←c10280.f1 = dk←v14584;
      /* removed tail goto */ 
      };
   lab←L100033: ;
   (*  (W2Pt) formal←c0308 ) = var←c10280;
   return;
   }

static void OldRationalFromReal←P2400(formal←c0322, x←v10340, limit←v10368)
   word formal←c0322;
   word x←v10340;
   word limit←v10368;
   {
   register ptr gf←c22620 =  (ptr) &globalframe;
   W2 var←c10412;
   word oneOverX←v15028;
   word sign←v15056 = 1;
   word inverse←v15084 = 0;
   word p0←v15112;
   word q0←v15140;
   word lambda←v15168;
   word q1←v15196 = 0;
   word p2←v15224 = 0;
   word p1←v15252 = 1;
   word q2←v15280 = 1;
   /* OldRationalFromReal: */ 
SOURCE(17120, 689)
SOURCE(17310, 36)
   {
      word x747;
      word x748;
      if (((
         x747 = x←v10340,  *(float*)&x747
         ) < (
         x748 = (*  (ptr) &fc112 ),  *(float*)&x748
         ))) {
SOURCE(17328, 6)
         {
            word x749;
            *(float*)&x←v10340 =  - (
               x749 = x←v10340,  *(float*)&x749
               );
            };
SOURCE(17336, 10)
         sign←v15056 =  (word) -1;
         };
      };
SOURCE(17349, 58)
   {
      word x750;
      word x751;
      if (((
         x750 = x←v10340,  *(float*)&x750
         ) == (
         x751 = (*  (ptr) &fc8 ),  *(float*)&x751
         ))) {
SOURCE(17365, 42)
         var←c10412.f0 = sign←v15056;
         var←c10412.f1 = 1;
         goto lab←L100041;
         };
      };
SOURCE(17409, 44)
   {
      word x752;
      word x753;
      if (((
         x752 = x←v10340,  *(float*)&x752
         ) > (
         x753 = (*  (ptr) &fc8 ),  *(float*)&x753
         ))) {
SOURCE(17427, 9)
         {
            word x754;
            word x755;
            *(float*)&x←v10340 = (
               x754 = (*  (ptr) &fc8 ),  *(float*)&x754
               ) / (
               x755 = x←v10340,  *(float*)&x755
               );
            };
SOURCE(17438, 15)
         inverse←v15084 = 1;
         };
      };
SOURCE(17457, 10)
   lambda←v15168 = 0;
SOURCE(17483, 196)
   {
      word var←c0391;
      word var←c0392;
      lab←L100044: ;
      {
         word x758;
         {
            word x756;
            *(float*)&oneOverX←v15028 = (
               x756 = x←v10340,  *(float*)&x756
               ) - (float)(int)lambda←v15168;
            };
         var←c0391 = oneOverX←v15028;
         {
            word x757;
            *(float*)&var←c0392 = (
               x757 = var←c0391,  *(float*)&x757
               ) * (float)(int)(limit←v10368 - q1←v15196);
            };
         if (((
            x758 = var←c0392,  *(float*)&x758
            ) > (float)(int)q2←v15280)) {
            }
         else {
            goto lab←L100042;
            };
         };
SOURCE(17543, 16)
      {
         word x759;
         word x760;
         *(float*)&x←v10340 = (
            x759 = (*  (ptr) &fc8 ),  *(float*)&x759
            ) / (
            x760 = oneOverX←v15028,  *(float*)&x760
            );
         };
SOURCE(17561, 27)
      {
         word pd761;
         pd761 = (* (( (ptr) (* (( (ptr) gf←c22620)+169)/* var←c20220 */  ))+8) );
         lambda←v15168 = (word) ( *( (fPt) ((*  (ptr) pd761 ))))(x←v10340, pd761);
         };
SOURCE(17607, 7)
      q0←v15140 = q1←v15196;
SOURCE(17616, 7)
      q1←v15196 = q2←v15280;
SOURCE(17625, 17)
      q2←v15280 = (IOP2( * ,  (int)lambda←v15168,  (int)q1←v15196) + q0←v15140);
SOURCE(17644, 7)
      p0←v15112 = p1←v15252;
SOURCE(17653, 7)
      p1←v15252 = p2←v15224;
SOURCE(17662, 17)
      p2←v15224 = (IOP2( * ,  (int)lambda←v15168,  (int)p1←v15252) + p0←v15112);
      goto lab←L100044;
      lab←L100042: ;
      };
SOURCE(17691, 118)
   if ((0 == inverse←v15084)) {
SOURCE(17711, 52)
      var←c10412.f0 = IOP2( * ,  (int)sign←v15056,  (int)p2←v15224);
      var←c10412.f1 = q2←v15280;
      /* removed tail goto */ 
      }
   else {
SOURCE(17763, 46)
      var←c10412.f0 = IOP2( * ,  (int)sign←v15056,  (int)q2←v15280);
      var←c10412.f1 = p2←v15224;
      /* removed tail goto */ 
      };
   lab←L100041: ;
   (*  (W2Pt) formal←c0322 ) = var←c10412;
   return;
   }

static word AlmostZero←P2460(x←v10472, distance←v10500)
   word x←v10472;
   word distance←v10500;
   {
   word var←c10564;
   /* AlmostZero: */ 
SOURCE(17815, 147)
SOURCE(17899, 63)
   return(( (int)(((unsigned)x←v10472 << 1) >> 24) <  (int)((distance←v10500 - 126) + 127)));
   }

static word AlmostEqual←P2520(y←v10624, x←v10652, distance←v10680)
   word y←v10624;
   word x←v10652;
   word distance←v10680;
   {
   word var←c10744;
   word xe←v15324;
   word ye←v15352;
   /* AlmostEqual: */ 
SOURCE(17968, 806)
SOURCE(18054, 28)
   xe←v15324 = x←v10652;
SOURCE(18084, 28)
   ye←v15352 = y←v10624;
   if (((((unsigned)xe←v15324 << 1) >> 24) == 255)) {
SOURCE(18155, 14)
      return(0);
      }
   else {
      if (((((unsigned)ye←v15352 << 1) >> 24) == 255)) {
SOURCE(18195, 14)
         return(0);
         }
      else {
         {
            word x762;
            word x763;
            if (((
               x762 = x←v10652,  *(float*)&x762
               ) == (
               x763 = y←v10624,  *(float*)&x763
               ))) {
SOURCE(18220, 13)
               return(1);
               }
            else {
               if ((((int)xe←v15324<0) != ((int)ye←v15352<0))) {
SOURCE(18256, 14)
                  return(0);
                  }
               else {
                  if (( (int)(distance←v10680 - 126) ==  (int)0)) {
SOURCE(18288, 13)
                     return(1);
                     }
                  else {
                     if (((((unsigned)xe←v15324 << 1) >> 24) > ((((unsigned)ye←v15352 << 1) >> 24) + 1))) { goto then0764;};
                     if (((((unsigned)ye←v15352 << 1) >> 24) > ((((unsigned)xe←v15324 << 1) >> 24) + 1))) {
                        then0764: ;
SOURCE(18343, 14)
                        return(0);
                        }
                     else {
SOURCE(18372, 189)
                        if (((((unsigned)xe←v15324 << 1) >> 24) == 0)) { goto then0765;};
                        if (((((unsigned)ye←v15352 << 1) >> 24) == 0)) {
                           then0765: ;
SOURCE(18405, 158)
                           {
/*1*/   word reNorm←v15396;
SOURCE(18407, 18)
/*1*/   reNorm←v15396 = (*  (ptr) &fc8 );
SOURCE(18427, 72)
/*1*/   {
/*1*/      word idx766;
/*1*/      reNorm←v15396 = (reNorm←v15396 & 2155872255) | (((
/*1*/               idx766 = (word) ((((unsigned)reNorm←v15396 << 1) >> 24) + 24),
/*1*/               BCK(idx766, 256)
/*1*/               )) << 23);
/*1*/      };
SOURCE(18501, 29)
/*1*/   {
/*1*/      word var←c21724;
/*1*/      {
/*1*/         word x767;
/*1*/         word x768;
/*1*/         *(float*)&var←c21724 = (
/*1*/            x767 = x←v10652,  *(float*)&x767
/*1*/            ) * (
/*1*/            x768 = reNorm←v15396,  *(float*)&x768
/*1*/            );
/*1*/         };
/*1*/      x←v10652 = var←c21724;
/*1*/      xe←v15324 = var←c21724;
/*1*/      };
SOURCE(18532, 29)
/*1*/   {
/*1*/      word var←c21756;
/*1*/      {
/*1*/         word x769;
/*1*/         word x770;
/*1*/         *(float*)&var←c21756 = (
/*1*/            x769 = y←v10624,  *(float*)&x769
/*1*/            ) * (
/*1*/            x770 = reNorm←v15396,  *(float*)&x770
/*1*/            );
/*1*/         };
/*1*/      y←v10624 = var←c21756;
/*1*/      ye←v15352 = var←c21756;
/*1*/      };
/*1*/   };
                           };
SOURCE(18566, 210)
                        {
                           word delta←v15440;
                           word keyExp←v15468;
SOURCE(18568, 37)
                           {
/*1*/   word x771;
/*1*/   word x772;
/*1*/   *(float*)&delta←v15440 = (
/*1*/      x771 = x←v10652,  *(float*)&x771
/*1*/      ) - (
/*1*/      x772 = y←v10624,  *(float*)&x772
/*1*/      );
/*1*/   };
SOURCE(18607, 48)
                           {
/*1*/   word x773;
/*1*/   word x774;
/*1*/   keyExp←v15468 = ((x773 = (((unsigned)xe←v15324 << 1) >> 24),
/*1*/      x774 = (((unsigned)ye←v15352 << 1) >> 24),
/*1*/      MAX( (unsigned) , x773, x774)) + (distance←v10680 - 126));
/*1*/   };
SOURCE(18657, 117)
                           {
/*1*/   word var←c21788;
/*1*/   var←c21788 = (((unsigned)delta←v15440 << 1) >> 24);
/*1*/   if (( (int)var←c21788 <  (int)keyExp←v15468)) {
SOURCE(18700, 13)
/*1*/      return(1);
/*1*/      }
/*1*/   else {
/*1*/      if (( (int)var←c21788 >  (int)keyExp←v15468)) {
SOURCE(18727, 14)
/*1*/         return(0);
/*1*/         }
/*1*/      else {
SOURCE(18754, 20)
/*1*/         return((( (((unsigned)delta←v15440 << 9) >> 9) ) == 0));
/*1*/         };
/*1*/      };
/*1*/   };
                           };
                        };
                     };
                  };
               };
            };
         };
      };
   }

static word SinFirstOctant←P2580(radians←v10804)
   word radians←v10804;
   {
   register ptr gf←c22652 =  (ptr) &globalframe;
   word var←c10848;
   /* SinFirstOctant: */ 
SOURCE(19226, 223)
SOURCE(19282, 167)
   {
      word x775;
      word x776;
      if (((
         x775 = radians←v10804,  *(float*)&x775
         ) <= (
         x776 = (* (( (ptr) gf←c22652)+36)/* sinCosEps←v5324 */  ),  *(float*)&x776
         ))) {
SOURCE(19311, 22)
         return(radians←v10804);
         }
      else {
SOURCE(19333, 118)
         {
            word r2←v15512;
SOURCE(19335, 26)
            {
               word x777;
               word x778;
               *(float*)&r2←v15512 = (
                  x777 = radians←v10804,  *(float*)&x777
                  ) * (
                  x778 = radians←v10804,  *(float*)&x778
                  );
               };
SOURCE(19363, 86)
            {
               word x779;
               word x780;
               word x781;
               word x782;
               word x783;
               word x784;
               word x785;
               word x786;
               word x787;
               word x788;
               float tf789;
               return((
                  tf789 = (((((((((
                     x779 = (* (( (ptr) gf←c22652)+27)/* fact9recip←v5072 */  ),  *(float*)&x779
                     ) * (
                     x780 = r2←v15512,  *(float*)&x780
                     )) - (
                     x781 = (* (( (ptr) gf←c22652)+29)/* fact7recip←v5128 */  ),  *(float*)&x781
                     )) * (
                     x782 = r2←v15512,  *(float*)&x782
                     )) + (
                     x783 = (* (( (ptr) gf←c22652)+31)/* fact5recip←v5184 */  ),  *(float*)&x783
                     )) * (
                     x784 = r2←v15512,  *(float*)&x784
                     )) - (
                     x785 = (* (( (ptr) gf←c22652)+33)/* fact3recip←v5240 */  ),  *(float*)&x785
                     )) * (
                     x786 = r2←v15512,  *(float*)&x786
                     )) * (
                     x787 = radians←v10804,  *(float*)&x787
                     )) + (
                     x788 = radians←v10804,  *(float*)&x788
                     ),  *(word*)&tf789
                  ));
               };
            };
         };
      };
   }

static word CosFirstOctant←P2640(radians←v10908)
   word radians←v10908;
   {
   register ptr gf←c22684 =  (ptr) &globalframe;
   word var←c10952;
   /* CosFirstOctant: */ 
SOURCE(19458, 207)
SOURCE(19514, 151)
   {
      word x790;
      word x791;
      if (((
         x790 = radians←v10908,  *(float*)&x790
         ) <= (
         x791 = (* (( (ptr) gf←c22684)+36)/* sinCosEps←v5324 */  ),  *(float*)&x791
         ))) {
SOURCE(19543, 18)
         return((*  (ptr) &fc8 ));
         }
      else {
SOURCE(19561, 106)
         {
            word r2←v15556;
SOURCE(19563, 26)
            {
               word x792;
               word x793;
               *(float*)&r2←v15556 = (
                  x792 = radians←v10908,  *(float*)&x792
                  ) * (
                  x793 = radians←v10908,  *(float*)&x793
                  );
               };
SOURCE(19591, 74)
            {
               word x794;
               word x795;
               word x796;
               word x797;
               word x798;
               word x799;
               word x800;
               word x801;
               word x802;
               float tf803;
               return((
                  tf803 = ((((((((
                     x794 = (* (( (ptr) gf←c22684)+28)/* fact8recip←v5100 */  ),  *(float*)&x794
                     ) * (
                     x795 = r2←v15556,  *(float*)&x795
                     )) - (
                     x796 = (* (( (ptr) gf←c22684)+30)/* fact6recip←v5156 */  ),  *(float*)&x796
                     )) * (
                     x797 = r2←v15556,  *(float*)&x797
                     )) + (
                     x798 = (* (( (ptr) gf←c22684)+32)/* fact4recip←v5212 */  ),  *(float*)&x798
                     )) * (
                     x799 = r2←v15556,  *(float*)&x799
                     )) - (
                     x800 = (* (( (ptr) gf←c22684)+34)/* fact2recip←v5268 */  ),  *(float*)&x800
                     )) * (
                     x801 = r2←v15556,  *(float*)&x801
                     )) + (
                     x802 = (*  (ptr) &fc8 ),  *(float*)&x802
                     ),  *(word*)&tf803
                  ));
               };
            };
         };
      };
   }

static word GetWithinTwoPI←P2700(radians←v11012)
   word radians←v11012;
   {
   register ptr gf←c22716 =  (ptr) &globalframe;
   word var←c11056;
   word xn←v15600;
   /* GetWithinTwoPI: */ 
SOURCE(19781, 157)
SOURCE(19837, 44)
   {
      word pd804;
      word x805;
      word x806;
      float tf807;
      float tf808;
      pd804 = (* (( (ptr) (* (( (ptr) gf←c22716)+169)/* var←c20220 */  ))+8) );
      xn←v15600 = (
         tf808 = (float)(int)(word) ( *( (fPt) ((*  (ptr) pd804 ))))((
               tf807 = (
                  x805 = radians←v11012,  *(float*)&x805
                  ) * (
                  x806 = (* (( (ptr) gf←c22716)+12)/* rec2pi←v3224 */  ),  *(float*)&x806
                  ),  *(word*)&tf807
               ), pd804),  *(word*)&tf808
         );
      };
SOURCE(19900, 38)
   {
      word x809;
      word x810;
      word x811;
      word x812;
      word x813;
      float tf814;
      return((
         tf814 = ((
            x809 = radians←v11012,  *(float*)&x809
            ) - ((
            x810 = xn←v15600,  *(float*)&x810
            ) * (
            x811 = (* (( (ptr) gf←c22716)+37)/* PIc1←v5408 */  ),  *(float*)&x811
            ))) - ((
            x812 = xn←v15600,  *(float*)&x812
            ) * (
            x813 = (* (( (ptr) gf←c22716)+38)/* PIc2←v5436 */  ),  *(float*)&x813
            )),  *(word*)&tf814
         ));
      };
   }

static word GetWithin360←P2760(degrees←v11116)
   word degrees←v11116;
   {
   register ptr gf←c22748 =  (ptr) &globalframe;
   word var←c11160;
   word xn←v15644;
   /* GetWithin360: */ 
SOURCE(19944, 142)
SOURCE(19998, 44)
   {
      word pd815;
      word x816;
      word x817;
      float tf818;
      float tf819;
      pd815 = (* (( (ptr) (* (( (ptr) gf←c22748)+169)/* var←c20220 */  ))+8) );
      xn←v15644 = (
         tf819 = (float)(int)(word) ( *( (fPt) ((*  (ptr) pd815 ))))((
               tf818 = (
                  x816 = degrees←v11116,  *(float*)&x816
                  ) * (
                  x817 = (* (( (ptr) gf←c22748)+13)/* rec360←v3252 */  ),  *(float*)&x817
                  ),  *(word*)&tf818
               ), pd815),  *(word*)&tf819
         );
      };
SOURCE(20061, 25)
   {
      word x820;
      word x821;
      word x822;
      float tf823;
      return((
         tf823 = (
            x820 = degrees←v11116,  *(float*)&x820
            ) - ((
            x821 = xn←v15644,  *(float*)&x821
            ) * (
            x822 = (*  (ptr) &fc35 ),  *(float*)&x822
            )),  *(word*)&tf823
         ));
      };
   }

static void Mul32←P2820(formal←c0363, x←v11220, y←v11248)
   word formal←c0363;
   word x←v11220;
   word y←v11248;
   {
   word var←c11292;
   word var←c11320;
   word a←v15688;
   word b←v15716;
   word hi←v15744;
   word lo←v15772;
   word t1←v15800;
   word t2←v15828;
   word cy←v15856;
   /* Mul32: */ 
SOURCE(20092, 426)
SOURCE(20148, 32)
   a←v15688 = x←v11220;
SOURCE(20182, 32)
   b←v15716 = y←v11248;
SOURCE(20265, 35)
   lo←v15772 = (( (((unsigned)a←v15688 << 16) >> 16) ) * ( (((unsigned)b←v15716 << 16) >> 16) ));
SOURCE(20302, 35)
   hi←v15744 = (((unsigned)a←v15688 >> 16) * ((unsigned)b←v15716 >> 16));
SOURCE(20339, 35)
   t1←v15800 = (((unsigned)a←v15688 >> 16) * ( (((unsigned)b←v15716 << 16) >> 16) ));
SOURCE(20376, 35)
   t2←v15828 = (( (((unsigned)a←v15688 << 16) >> 16) ) * ((unsigned)b←v15716 >> 16));
SOURCE(20413, 39)
   {
      W2 var←c21916;
      {
         word s←v15900;
SOURCE(20612, 42)
         s←v15900 = ((((unsigned)lo←v15772 >> 16) + ( (((unsigned)t1←v15800 << 16) >> 16) )) + ( (((unsigned)t2←v15828 << 16) >> 16) ));
SOURCE(20656, 18)
         (*  (ptr) (word) &var←c21916 ) = ((unsigned)s←v15900 >> 16);
         (* (( (ptr) (word) &var←c21916) + 1) ) = ( (((unsigned)s←v15900 << 16) >> 16) );
         };
      lo←v15772 = (lo←v15772 & 65535) | ((((* (( (hPt) &var←c21916)+3) ))) << 16);
      cy←v15856 = var←c21916.f0;
      };
SOURCE(20454, 38)
   hi←v15744 = (((hi←v15744 + ((unsigned)t1←v15800 >> 16)) + ((unsigned)t2←v15828 >> 16)) + cy←v15856);
SOURCE(20494, 24)
   var←c11292 = hi←v15744;
   var←c11320 = lo←v15772;
   /* removed tail goto */ 
   (*  (ptr) formal←c0363 ) = var←c11292;
   (* (( (ptr) formal←c0363)+1) ) = var←c11320;
   return;
   }

/* file: RealFnsImpl, module: RealFnsImpl, compiled at: February 21, 1992 9:05:24 pm PST */ 
extern void XR←install←RealFnsImpl() {
   NoName←Q4404();
   }
extern void XR←run←RealFnsImpl() { XR←Start(&globalframe); }