/* Generated with C2C (Cedar To C)*/
/* Copyright (C) 1992 by Xerox Corporation.  All rights reserved. */
/* time: February 21, 1992 9:05:08 pm PST */
/* C2C version: October 16, 1990 (native) */
/* ref-counting: off */
/* file: DRealImpl, module: DRealImpl */ 
/* switches: bcfhklnouw */ 
#include <cedar/InstallationSupport.h>
#include <cedar/CedarExtra.h>
static char versionStamp[] = "@(#)mob←version [1187355559,2157231177] DRealImpl";
typedef unsigned word, *ptr;
typedef unsigned char byte, *bPt;
typedef unsigned short half, *hPt;
typedef struct {word f0, f1, f2, f3;} W4;
typedef struct {word f0, f1;} W2;
typedef W2 *W2Pt;
typedef W4 *W4Pt;
typedef word (*fPt)();
#define SOURCE(p, l) /* source p, l */
static double fc4 = 1.0;
static double fc5 = 10.0;
static double fc6 = 9.0;
static double fc8 = 0.0;
#define BCK(idx, lim) ( ((unsigned) idx) >= ((unsigned) lim) ? (XR←RaiseBoundsFault()) : (idx) )
#define SGNCK(i) ((int) (word) (i) < 0 ? XR←RaiseArithmeticFault(): i )
static void NoName←Q2184();
static void DRealImpl←P0();
static void ComputeMagic←P60();
static void FScale←P120();
static void Round←P180();
static void Fix←P240();
static void Ceiling←P300();
static void Floor←P360();
static void XRound←P420();
static void TenToThe←P480();
static void RealToPair←P540();
static void DebugPrint←P600();
static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\106\305\233\247\300\200\224\274\111\100\164\000\000"};
static struct {unsigned f; char r[16];} string2 = {851984, "\257\300\233\213\041\256\300\330\147\331\041\100\150\000\000"};
static struct {unsigned f; char r[16];} string3 = {851984, "\257\300\325\357\120\064\300\204\001\046\072\100\150\000\000"};
static struct {
   word f0[16]; word f16; word f17; word f18; 
   word f19; word f20; word f21; word f22; 
   word f23; word f24; word f25; word f26; 
   word f27; word f28; word f29; word f30; 
   word f31; word f32; word f33; word f34; 
   word f35; word f36; word f37[3]; 
   } globalframe = {
   {0}, (word) DebugPrint←P600, 0, (word) RealToPair←P540, 
   0, (word) TenToThe←P480, 0, (word) XRound←P420, 
   0, (word) Floor←P360, 0, (word) Ceiling←P300, 
   0, (word) Fix←P240, 0, (word) Round←P180, 
   0, (word) FScale←P120, 0, (word) ComputeMagic←P60, 
   0, (word) DRealImpl←P0, {0}
   };

static void NoName←Q2184()
   {
   register ptr gf←c0146 =  (ptr) &globalframe;
   word var←c12500;
   (void) XR←DeclareGlobalFrame((word) "DRealImpl", &globalframe, (word) XR←GetTypeIndexS((word) (&string1)), (word) (( (bPt) gf←c0146)+144)
      /* var←c11092 */ );
   var←c12500 = (word) XR←ImportInterface((word) "DRealSupport", (word) XR←GetTypeIndexS((word) (&string2)), 26);
   (* (( (ptr) gf←c0146)+38)/* var←c11380 */  ) = var←c12500;
   (void) XR←ImportProcS(var←c12500, 67633153);
   (void) XR←ImportProcS(var←c12500, 135006210);
   var←c12500 = (word) XR←ExportInterface((word) "DReal", (word) XR←GetTypeIndexS((word) (&string3)), 7);
   (* (( (ptr) gf←c0146)+39)/* var←c12532 */  ) = var←c12500;
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+128)/* var←c11028 */ , 135004162);
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+112)/* var←c10964 */ , 134742273);
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+120)/* var←c10996 */ , 134742529);
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+104)/* var←c10932 */ , 134742785);
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+96)/* var←c10900 */ , 134743041);
   (void) XR←ExportProcS(var←c12500, (word) (( (bPt) gf←c0146)+72)/* var←c10804 */ , 269223426);
   }

static void DRealImpl←P0(formal←c026, formal←c018)
   word formal←c026;
   word formal←c018;
   {
   register ptr gf←c12564 =  (ptr) &globalframe;
   /* DRealImpl: */ 
SOURCE(61, 2899)
SOURCE(348, 35)
   (void) ComputeMagic←P60((word) ((( (bPt) gf←c12564)+16)/* magic←v2580 */ ));
SOURCE(1809, 38)
   {
      W4 var←c11124;
      W4 result←v10692;
      W2 a←v10724;
      a←v10724 = (*  (W2Pt) &fc4 );
      (void) XR←ExtendedFromDReal((word) &a←v10724, (word) &result←v10692);
      var←c11124 = result←v10692;
      (*  (W4Pt) (( (ptr) gf←c12564)+8)/* one←v2804 */  ) = var←c11124;
      };
SOURCE(1849, 39)
   {
      W4 var←c11156;
      W4 result←v10612;
      W2 a←v10644;
      a←v10644 = (*  (W2Pt) &fc5 );
      (void) XR←ExtendedFromDReal((word) &a←v10644, (word) &result←v10612);
      var←c11156 = result←v10612;
      (*  (W4Pt) (( (ptr) gf←c12564)+12)/* ten←v2832 */  ) = var←c11156;
      };
   }

static void ComputeMagic←P60(formal←c041)
   word formal←c041;
   {
   W4 var←c3524;
   W4 one←v4584;
   W4 m←v4612;
   /* ComputeMagic: */ 
SOURCE(385, 231)
SOURCE(430, 38)
   {
      W4 result←v10532;
      W2 a←v10564;
      a←v10564 = (*  (W2Pt) &fc4 );
      (void) XR←ExtendedFromDReal((word) &a←v10564, (word) &result←v10532);
      one←v4584 = result←v10532;
      };
SOURCE(470, 48)
   {
      W4 result←v10452;
      W2 a←v10484;
      a←v10484 = (*  (W2Pt) &fc6 );
      (void) XR←ExtendedFromDReal((word) &a←v10484, (word) &result←v10452);
      m←v4612 = result←v10452;
      };
SOURCE(520, 64)
   lab←L100007: ;
   if ((m←v4612.f3 != 1)) {
      }
   else {
      goto lab←L100005;
      };
SOURCE(538, 46)
   {
      W4 var←c11284;
      W4 result←v10104;
      W4 a←v10136;
      W4 b←v10164;
      {
         W4 result←v9996;
         W4 a←v10028;
         W4 b←v10056;
         a←v10028 = m←v4612;
         b←v10056 = m←v4612;
         (void) XR←ExtendedFloatAdd((word) &a←v10028, (word) &b←v10056, (word) &result←v9996);
         a←v10136 = result←v9996;
         };
      b←v10164 = one←v4584;
      (void) XR←ExtendedFloatSubtract((word) &a←v10136, (word) &b←v10164, (word) &result←v10104);
      var←c11284 = result←v10104;
      m←v4612 = var←c11284;
      };
   goto lab←L100007;
   lab←L100005: ;
SOURCE(595, 8)
   m←v4612.f3 = 0;
SOURCE(605, 11)
   var←c3524 = m←v4612;
   /* removed tail goto */ 
   (*  (W4Pt) formal←c041 ) = var←c3524;
   return;
   }

static void FScale←P120(formal←c047, a←v3584, scale←v3612)
   word formal←c047;
   W2 a←v3584;
   word scale←v3612;
   {
   register ptr gf←c12596 =  (ptr) &globalframe;
   W2 var←c3656;
   /* FScale: */ 
SOURCE(620, 106)
SOURCE(687, 39)
   {
      W2 var←c11412;
      {
         word pd7;
         pd7 = (* (( (ptr) (* (( (ptr) gf←c12596)+38)/* var←c11380 */  ))+12) );
         (void) ( *( (fPt) ((*  (ptr) pd7 ))))((word) &var←c11412, a←v3584, scale←v3612, pd7);
         };
      var←c3656 = var←c11412;
      /* removed tail goto */ 
      };
   (*  (W2Pt) formal←c047 ) = var←c3656;
   return;
   }

static void Round←P180(formal←c058, dreal←v3716)
   word formal←c058;
   W2 dreal←v3716;
   {
   register ptr gf←c12628 =  (ptr) &globalframe;
   W2 var←c3760;
   word neg←v4656;
   W4 m←v4684;
   word chk←v4712;
   /* Round: */ 
SOURCE(730, 304)
SOURCE(783, 21)
   neg←v4656 = XR←DRealGtI(&fc8, &dreal←v3716);
SOURCE(806, 73)
   {
      W4 result←v9888;
      W4 a←v9920;
      W4 b←v9948;
      {
         W4 result←v10372;
         W2 a←v10404;
         XR←DRealAbsI(&a←v10404, &dreal←v3716);
         (void) XR←ExtendedFromDReal((word) &a←v10404, (word) &result←v10372);
         a←v9920 = result←v10372;
         };
      b←v9948 = (*  (W4Pt) (( (ptr) gf←c12628)+4)/* magic←v2580 */  );
      (void) XR←ExtendedFloatAdd((word) &a←v9920, (word) &b←v9948, (word) &result←v9888);
      m←v4684 = result←v9888;
      };
SOURCE(881, 82)
   {
      word tc9;
      W2 D10;
      W2 D11;
      W2 D12;
      W2 D13;
      W2 D14;
      word idx15;
      if ( ! XR←EqualWords(&m←v4684, (( (ptr) gf←c12628)+4), 2)) {
         tc9 =  (word) 1;
         }
      else {
         XR←DCardCard(&D12, 2);
         XR←DCardCard(&D13, 63);
         XR←DCardPwrI(&D11, &D12, &D13);
         XR←DCardCard(&D14, (0 == neg←v4656));
         XR←DCardSubI(&D10, &D11, &D14);
         tc9 =  (word) XR←DCardGtI((( (ptr) gf←c12628)+6), &D10);
         };
      chk←v4712 = (
         idx15 = (word) tc9,
         BCK(idx15, 1)
         );
      };
SOURCE(965, 69)
   {
      W2 D16;
      if ((0 != neg←v4656)) {
         XR←DIntNegI(&D16, (( (ptr) &m←v4684)+2));
         var←c3760 = D16;
         }
      else {
         var←c3760 = (*  (W2Pt) (( (ptr) &m←v4684)+2) );
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c058 ) = var←c3760;
   return;
   }

static void Fix←P240(formal←c069, dreal←v3820)
   word formal←c069;
   W2 dreal←v3820;
   {
   register ptr gf←c12660 =  (ptr) &globalframe;
   W2 var←c3864;
   word neg←v4776;
   W4 m←v4804;
   word chk←v4832;
   /* Fix: */ 
SOURCE(1038, 346)
SOURCE(1089, 21)
   neg←v4776 = XR←DRealGtI(&fc8, &dreal←v3820);
SOURCE(1112, 73)
   {
      W4 result←v9780;
      W4 a←v9812;
      W4 b←v9840;
      {
         W4 result←v10292;
         W2 a←v10324;
         XR←DRealAbsI(&a←v10324, &dreal←v3820);
         (void) XR←ExtendedFromDReal((word) &a←v10324, (word) &result←v10292);
         a←v9812 = result←v10292;
         };
      b←v9840 = (*  (W4Pt) (( (ptr) gf←c12660)+4)/* magic←v2580 */  );
      (void) XR←ExtendedFloatAdd((word) &a←v9812, (word) &b←v9840, (word) &result←v9780);
      m←v4804 = result←v9780;
      };
SOURCE(1187, 83)
   {
      word tc17;
      W2 D18;
      W2 D19;
      W2 D20;
      W2 D21;
      W2 D22;
      word idx23;
      if ( ! XR←EqualWords(&m←v4804, (( (ptr) gf←c12660)+4), 2)) {
         tc17 =  (word) 1;
         }
      else {
         XR←DCardCard(&D20, 2);
         XR←DCardCard(&D21, 63);
         XR←DCardPwrI(&D19, &D20, &D21);
         XR←DCardCard(&D22, (0 == neg←v4776));
         XR←DCardSubI(&D18, &D19, &D22);
         tc17 =  (word) XR←DCardGtI((( (ptr) gf←c12660)+6), &D18);
         };
      chk←v4832 = (
         idx23 = (word) tc17,
         BCK(idx23, 1)
         );
      };
SOURCE(1272, 41)
   {
      W2 D24;
      W2 x25;
      XR←DFloatDCardI(&D24, ((( (ptr) &m←v4804)+2)));
      XR←DRealAbsI(&x25, &dreal←v3820);
      if (XR←DRealGtI(&D24, &x25)) {
SOURCE(1298, 15)
         {
            W2 D26;
            W2 D27;
            XR←DCardCard(&D27, 1);
            XR←DCardSubI(&D26, (( (ptr) &m←v4804)+2), &D27);
            (*  (W2Pt) (( (ptr) &m←v4804)+2) ) = D26;
            };
         };
      };
SOURCE(1315, 69)
   {
      W2 D28;
      if ((0 != neg←v4776)) {
         XR←DIntNegI(&D28, (( (ptr) &m←v4804)+2));
         var←c3864 = D28;
         }
      else {
         var←c3864 = (*  (W2Pt) (( (ptr) &m←v4804)+2) );
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c069 ) = var←c3864;
   return;
   }

static void Ceiling←P300(formal←c073, dreal←v3924)
   word formal←c073;
   W2 dreal←v3924;
   {
   W2 ans←v3968;
   /* Ceiling: */ 
SOURCE(1388, 113)
SOURCE(1448, 18)
   (void) Round←P180((word) &ans←v3968, dreal←v3924);
SOURCE(1468, 33)
   {
      W2 D29;
      XR←DFloatDIntI(&D29, (&ans←v3968));
      if (XR←DRealGtI(&dreal←v3924, &D29)) {
SOURCE(1488, 13)
         {
            W2 D30;
            W2 D31;
            XR←DCardCard(&D31, 1);
            XR←DCardAddI(&D30, &ans←v3968, &D31);
            ans←v3968 = D30;
            };
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c073 ) = ans←v3968;
   return;
   }

static void Floor←P360(formal←c077, dreal←v4028)
   word formal←c077;
   W2 dreal←v4028;
   {
   W2 ans←v4072;
   /* Floor: */ 
SOURCE(1507, 111)
SOURCE(1565, 18)
   (void) Round←P180((word) &ans←v4072, dreal←v4028);
SOURCE(1585, 33)
   {
      W2 D32;
      XR←DFloatDIntI(&D32, (&ans←v4072));
      if (XR←DRealGtI(&D32, &dreal←v4028)) {
SOURCE(1605, 13)
         {
            W2 D33;
            W2 D34;
            XR←DCardCard(&D34, 1);
            XR←DCardSubI(&D33, &ans←v4072, &D34);
            ans←v4072 = D33;
            };
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c077 ) = ans←v4072;
   return;
   }

static void XRound←P420(formal←c085, xreal←v4132, neg←v4160)
   word formal←c085;
   W4 xreal←v4132;
   word neg←v4160;
   {
   register ptr gf←c12692 =  (ptr) &globalframe;
   W2 var←c4204;
   W4 m←v4896;
   /* XRound: */ 
SOURCE(1624, 181)
SOURCE(1685, 49)
   {
      W4 result←v9672;
      W4 a←v9704;
      W4 b←v9732;
      a←v9704 = xreal←v4132;
      b←v9732 = (*  (W4Pt) (( (ptr) gf←c12692)+4)/* magic←v2580 */  );
      (void) XR←ExtendedFloatAdd((word) &a←v9704, (word) &b←v9732, (word) &result←v9672);
      m←v4896 = result←v9672;
      };
SOURCE(1736, 69)
   {
      W2 D35;
      if ((0 != neg←v4160)) {
         XR←DIntNegI(&D35, (( (ptr) &m←v4896)+2));
         var←c4204 = D35;
         }
      else {
         var←c4204 = (*  (W2Pt) (( (ptr) &m←v4896)+2) );
         };
      };
   /* removed tail goto */ 
   (*  (W2Pt) formal←c085 ) = var←c4204;
   return;
   }

static void TenToThe←P480(formal←c0109, i←v4264)
   word formal←c0109;
   word i←v4264;
   {
   register ptr gf←c12724 =  (ptr) &globalframe;
   W4 var←c4308;
   /* TenToThe: */ 
SOURCE(1891, 286)
   if ((i←v4264 == 0)) {
SOURCE(2043, 12)
      var←c4308 = (*  (W4Pt) (( (ptr) gf←c12724)+8)/* one←v2804 */  );
      /* removed tail goto */ 
      }
   else {
      if ((i←v4264 == 1)) {
SOURCE(2066, 12)
         var←c4308 = (*  (W4Pt) (( (ptr) gf←c12724)+12)/* ten←v2832 */  );
         /* removed tail goto */ 
         }
      else {
         if (((i←v4264 & 1) == 0)) {
SOURCE(2095, 27)
            {
               W4 var←c11892;
               {
                  W4 var←c11796;
                  W4 d←v8824;
                  (void) TenToThe←P480((word) &d←v8824, (i←v4264 >> 1));
SOURCE(1991, 23)
                  {
                     W4 var←c11860;
                     W4 result←v9348;
                     W4 a←v9380;
                     W4 b←v9408;
                     a←v9380 = d←v8824;
                     b←v9408 = d←v8824;
                     (void) XR←ExtendedFloatMultiply((word) &a←v9380, (word) &b←v9408, (word) &result←v9348);
                     var←c11860 = result←v9348;
                     var←c11796 = var←c11860;
                     };
                  var←c11892 = var←c11796;
                  };
               var←c4308 = var←c11892;
               /* removed tail goto */ 
               };
            }
         else {
SOURCE(2135, 42)
            {
               W4 var←c12084;
               {
                  W4 var←c11956;
                  W4 result←v9456;
                  W4 a←v9488;
                  W4 b←v9516;
                  a←v9488 = (*  (W4Pt) (( (ptr) gf←c12724)+12)/* ten←v2832 */  );
                  {
                     W4 d←v8776;
                     (void) TenToThe←P480((word) &d←v8776, (i←v4264 >> 1));
SOURCE(1991, 23)
                     {
                        W4 var←c12052;
                        W4 result←v9564;
                        W4 a←v9596;
                        W4 b←v9624;
                        a←v9596 = d←v8776;
                        b←v9624 = d←v8776;
                        (void) XR←ExtendedFloatMultiply((word) &a←v9596, (word) &b←v9624, (word) &result←v9564);
                        var←c12052 = result←v9564;
                        b←v9516 = var←c12052;
                        };
                     };
                  (void) XR←ExtendedFloatMultiply((word) &a←v9488, (word) &b←v9516, (word) &result←v9456);
                  var←c11956 = result←v9456;
                  var←c12084 = var←c11956;
                  };
               var←c4308 = var←c12084;
               /* removed tail goto */ 
               };
            };
         };
      };
   (*  (W4Pt) formal←c0109 ) = var←c4308;
   return;
   }

static void RealToPair←P540(formal←c0144, r←v4368, precision←v4396)
   word formal←c0144;
   W2 r←v4368;
   word precision←v4396;
   {
   register ptr gf←c12756 =  (ptr) &globalframe;
   word type←v4440;
   W2 fr←v4468;
   word exp10←v4496;
   /* RealToPair: */ 
SOURCE(2183, 777)
SOURCE(2297, 663)
   {
      word var←c12116;
      {
         word pd36;
         pd36 = (* (( (ptr) (* (( (ptr) gf←c12756)+38)/* var←c11380 */  ))+4) );
         var←c12116 = (word) ( *( (fPt) ((*  (ptr) pd36 ))))(r←v4368, pd36);
         };
      switch (var←c12116) {
         case 0: 
SOURCE(2344, 20)
            type←v4440 = 1;
            {
               W2 D37;
               XR←DCardCard(&D37, 0);
               fr←v4468 = D37;
               };
            exp10←v4496 = 0;
            /* removed tail goto */ 
            break;
         case 3: 
SOURCE(2381, 73)
            if (XR←DRealGtI(&fc8, &r←v4368)) {
               fr←v4468.f0 = 2147483648;
               fr←v4468.f1 = 0;
               }
            else {
               fr←v4468.f0 = 0;
               fr←v4468.f1 = 0;
               };
            type←v4440 = 2;
            exp10←v4496 = 2147483647;
            /* removed tail goto */ 
            break;
         case 4: case 5: case 6: 
SOURCE(2486, 29)
            type←v4440 = 3;
            fr←v4468 = r←v4368;
            exp10←v4496 = 0;
            /* removed tail goto */ 
            break;
         default: 
SOURCE(2529, 433)
            {
               W4 vMin←v5088;
               W4 vMax←v5116;
               word negative←v5144;
               W4 v←v5172;
               word exponent←v5200 = 0;
               word var←c12244;
               W4 a←v9056;
               W4 b←v9084;
               word var←c12340;
               W4 a←v8980;
               W4 b←v9008;
SOURCE(2531, 38)
               (void) TenToThe←P480((word) &vMin←v5088, SGNCK((precision←v4396 - 1)));
SOURCE(2571, 36)
               {
                  W4 result←v9240;
                  W4 a←v9272;
                  W4 b←v9300;
                  a←v9272 = vMin←v5088;
                  b←v9300 = (*  (W4Pt) (( (ptr) gf←c12756)+12)/* ten←v2832 */  );
                  (void) XR←ExtendedFloatMultiply((word) &a←v9272, (word) &b←v9300, (word) &result←v9240);
                  vMax←v5116 = result←v9240;
                  };
SOURCE(2609, 22)
               negative←v5144 = XR←DRealGtI(&fc8, &r←v4368);
SOURCE(2633, 59)
               {
                  W4 result←v10212;
                  W2 a←v10244;
                  if ((0 != negative←v5144)) {
                     XR←DRealNegI(&a←v10244, &r←v4368);
                     }
                  else {
                     a←v10244 = r←v4368;
                     };
                  (void) XR←ExtendedFromDReal((word) &a←v10244, (word) &result←v10212);
                  v←v5172 = result←v10212;
                  };
SOURCE(2713, 13)
               (void) DebugPrint←P600(v←v5172);
SOURCE(2728, 81)
               lab←L100032: ;
               a←v9056 = v←v5172;
               b←v9084 = vMax←v5116;
               var←c12244 = (word) XR←ExtendedFloatLess((word) &a←v9056, (word) &b←v9084);
               if (((0 == var←c12244)
               )) {
                  }
               else {
                  goto lab←L100030;
                  };
SOURCE(2751, 18)
               {
                  W4 var←c12308;
                  W4 result←v8872;
                  W4 a←v8904;
                  W4 b←v8932;
                  a←v8904 = v←v5172;
                  b←v8932 = (*  (W4Pt) (( (ptr) gf←c12756)+12)/* ten←v2832 */  );
                  (void) XR←ExtendedFloatDivide((word) &a←v8904, (word) &b←v8932, (word) &result←v8872);
                  var←c12308 = result←v8872;
                  v←v5172 = var←c12308;
                  };
SOURCE(2771, 23)
               exponent←v5200 = (exponent←v5200 + 1);
SOURCE(2796, 13)
               (void) DebugPrint←P600(v←v5172);
               goto lab←L100032;
               lab←L100030: ;
SOURCE(2820, 83)
               lab←L100037: ;
               a←v8980 = v←v5172;
               b←v9008 = vMin←v5088;
               var←c12340 = (word) XR←ExtendedFloatLess((word) &a←v8980, (word) &b←v9008);
               if ((var←c12340
               )) {
                  }
               else {
                  goto lab←L100035;
                  };
SOURCE(2843, 20)
               {
                  W4 var←c12404;
                  W4 result←v9132;
                  W4 a←v9164;
                  W4 b←v9192;
                  a←v9164 = v←v5172;
                  b←v9192 = (*  (W4Pt) (( (ptr) gf←c12756)+12)/* ten←v2832 */  );
                  (void) XR←ExtendedFloatMultiply((word) &a←v9164, (word) &b←v9192, (word) &result←v9132);
                  var←c12404 = result←v9132;
                  v←v5172 = var←c12404;
                  };
SOURCE(2865, 23)
               exponent←v5200 = (exponent←v5200 - 1);
SOURCE(2890, 13)
               (void) DebugPrint←P600(v←v5172);
               goto lab←L100037;
               lab←L100035: ;
SOURCE(2914, 46)
               {
                  W2 var←c12468;
                  (void) XRound←P420((word) &var←c12468, v←v5172, negative←v5144);
                  type←v4440 = 0;
                  fr←v4468 = var←c12468;
                  exp10←v4496 = exponent←v5200;
                  /* removed tail goto */ 
                  };
               };
            break;
         };
      };
   (*  (ptr) formal←c0144 ) = type←v4440;
   (*  (W2Pt) (( (ptr) formal←c0144)+1) ) = fr←v4468;
   (* (( (ptr) formal←c0144)+3) ) = exp10←v4496;
   return;
   }

static void DebugPrint←P600(x←v4556)
   W4 x←v4556;
   {
   /* DebugPrint: */ 
   }

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