/* Generated with C2C (Cedar To C)*/ /* Copyright (C) 1993 by Xerox Corporation. All rights reserved. */ /* time: May 6, 1993 5:09:58 pm PDT */ /* C2C version: April 20, 1993 (sun4) */ /* ref-counting: off */ /* file: DRealFnsImpl, module: DRealFnsImpl */ /* switches: bcfhklnouw */ #include #include #include static char versionStamp[] = "@(#)mob_version [1540242556,385679509] DRealFnsImpl"; typedef unsigned word, *ptr; typedef unsigned char byte, *bPt; typedef unsigned short half, *hPt; typedef struct {word f0, f1;} W2; typedef W2 *W2Pt; typedef word (*fPt)(); #define SOURCE(p, l) /* source p, l */ static double fc7 = 3.14159265358979323846264338327950288419716939937510; static double fc8 = 180.0; static double fc14 = 1.0; #define INEG(x) ( (word) ( - ((int) (word) (x)) ) ) static double fc19 = 0.0; #define IOP2(op, x, y) ( (word) ((x) op (y)) ) static void NoName_Q2136(); static void DRealFnsImpl_P0(); static void Exp_P60(); static void Ln_P120(); static void Log_P180(); static void Power_P240(); static void Root_P300(); static void SqRt_P360(); static void Sin_P420(); static void SinDeg_P480(); static void Cos_P540(); static void CosDeg_P600(); static void Tan_P660(); static void TanDeg_P720(); static void ArcTan_P780(); static void ArcTanDeg_P840(); static void SinH_P900(); static void CosH_P960(); static void TanH_P1020(); static void CotH_P1080(); static void InvSinH_P1140(); static void InvCosH_P1200(); static void InvTanH_P1260(); static void InvCotH_P1320(); static void LnGamma_P1380(); static void Gamma_P1440(); static void J0_P1500(); static void J1_P1560(); static void Jn_P1620(); static void Y0_P1680(); static void Y1_P1740(); static void Yn_P1800(); static void RationalFromDReal_P1860(); static word AlmostZero_P1920(); static word AlmostEqual_P1980(); static struct {unsigned f; char r[16];} string1 = {851984, "\257\300\133\316\074\174\300\026\375\000\225\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\150\261\123\070\300\276\161\220\062\100\150\000\000"}; static struct {unsigned f; char r[16];} string4 = {851984, "\257\300\224\176\272\123\300\120\106\320\206\100\150\000\000"}; static struct { word f0[4]; word f4; word f5; word f6; word f7; word f8; word f9; word f10; word f11; word f12; word f13; word f14; word f15; 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; word f38; word f39; word f40; word f41; word f42; word f43; word f44; word f45; word f46; word f47; word f48; word f49; word f50; word f51; word f52; word f53; word f54; word f55; word f56; word f57; word f58; word f59; word f60; word f61; word f62; word f63; word f64; word f65; word f66; word f67; word f68; word f69; word f70; word f71[4]; } globalframe = { {0}, (word) AlmostEqual_P1980, 0, (word) AlmostZero_P1920, 0, (word) RationalFromDReal_P1860, 0, (word) Yn_P1800, 0, (word) Y1_P1740, 0, (word) Y0_P1680, 0, (word) Jn_P1620, 0, (word) J1_P1560, 0, (word) J0_P1500, 0, (word) Gamma_P1440, 0, (word) LnGamma_P1380, 0, (word) InvCotH_P1320, 0, (word) InvTanH_P1260, 0, (word) InvCosH_P1200, 0, (word) InvSinH_P1140, 0, (word) CotH_P1080, 0, (word) TanH_P1020, 0, (word) CosH_P960, 0, (word) SinH_P900, 0, (word) ArcTanDeg_P840, 0, (word) ArcTan_P780, 0, (word) TanDeg_P720, 0, (word) Tan_P660, 0, (word) CosDeg_P600, 0, (word) Cos_P540, 0, (word) SinDeg_P480, 0, (word) Sin_P420, 0, (word) SqRt_P360, 0, (word) Root_P300, 0, (word) Power_P240, 0, (word) Log_P180, 0, (word) Ln_P120, 0, (word) Exp_P60, 0, (word) DRealFnsImpl_P0, {0} }; #define DRealPtr(x) (*((double *) (x))) extern void XR_DRealExpI (ret, x) W2 *ret, *x; { DRealPtr(ret) = exp(DRealPtr(x)); } extern void XR_DRealLogI (ret, x) W2 *ret, *x; { DRealPtr(ret) = log(DRealPtr(x)); } extern void XR_DRealSqrtI (ret, x) W2 *ret, *x; { DRealPtr(ret) = sqrt(DRealPtr(x)); } extern void XR_DRealSinI (ret, x) W2 *ret, *x; { DRealPtr(ret) = sin(DRealPtr(x)); } extern void XR_DRealCosI (ret, x) W2 *ret, *x; { DRealPtr(ret) = cos(DRealPtr(x)); } extern void XR_DRealTanI (ret, x) W2 *ret, *x; { DRealPtr(ret) = tan(DRealPtr(x)); } extern void XR_DRealArcTanI (ret, y, x) W2 *ret, *x; { DRealPtr(ret) = atan2(DRealPtr(y), DRealPtr(x)); } extern void XR_DRealSinHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = sinh(DRealPtr(x)); } extern void XR_DRealCosHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = cosh(DRealPtr(x)); } extern void XR_DRealTanHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = tanh(DRealPtr(x)); } extern void XR_DRealInvSinHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = asinh(DRealPtr(x)); } extern void XR_DRealInvCosHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = acosh(DRealPtr(x)); } extern void XR_DRealInvTanHI (ret, x) W2 *ret, *x; { DRealPtr(ret) = atanh(DRealPtr(x)); } extern void XR_DRealLnGammaI (ret, x) W2 *ret, *x; { DRealPtr(ret) = lgamma(DRealPtr(x)); } extern void XR_DRealJ0I (ret, x) W2 *ret, *x; { DRealPtr(ret) = j0(DRealPtr(x)); } extern void XR_DRealJ1I (ret, x) W2 *ret, *x; { DRealPtr(ret) = j1(DRealPtr(x)); } extern void XR_DRealJnI (ret, n, x) W2 *ret; word n; W2 *x; { DRealPtr(ret) = jn(((int) n), DRealPtr(x)); } extern void XR_DRealY0I (ret, x) W2 *ret, *x; { DRealPtr(ret) = y0(DRealPtr(x)); } extern void XR_DRealY1I (ret, x) W2 *ret, *x; { DRealPtr(ret) = y1(DRealPtr(x)); } extern void XR_DRealYnI (ret, n, x) W2 *ret; word n; W2 *x; { DRealPtr(ret) = yn(((int) n), DRealPtr(x)); } static void NoName_Q2136() { register ptr gf_c0193 = (ptr) &globalframe; word var_c13612; (void) XR_DeclareGlobalFrame((word) "DRealFnsImpl", &globalframe, (word) XR_GetTypeIndexS((word) (&string1)), (word) (( (bPt) gf_c0193)+280) /* var_c12620 */ ); var_c13612 = (word) XR_ImportInterface((word) "DRealSupport", (word) XR_GetTypeIndexS((word) (&string2)), 26); (* (( (ptr) gf_c0193)+73)/* var_c13452 */ ) = var_c13612; (void) XR_ImportProcS(var_c13612, 67633153); (void) XR_ImportProcS(var_c13612, 135006210); (void) XR_ImportProcS(var_c13612, 67634689); var_c13612 = (word) XR_ImportInterface((word) "FloatingPointCommon", (word) XR_GetTypeIndexS((word) (&string3)), 5); (* (( (ptr) gf_c0193)+72)/* var_c13324 */ ) = var_c13612; var_c13612 = (word) XR_ExportInterface((word) "DRealFns", (word) XR_GetTypeIndexS((word) (&string4)), 33); (* (( (ptr) gf_c0193)+74)/* var_c13644 */ ) = var_c13612; (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+272)/* var_c12588 */ , 134742017); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+264)/* var_c12556 */ , 134742273); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+256)/* var_c12524 */ , 135266818); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+248)/* var_c12492 */ , 135267074); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+240)/* var_c12460 */ , 135267330); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+232)/* var_c12428 */ , 134743297); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+224)/* var_c12396 */ , 134743553); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+216)/* var_c12364 */ , 134743809); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+208)/* var_c12332 */ , 134744065); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+200)/* var_c12300 */ , 134744321); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+192)/* var_c12268 */ , 134744577); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+184)/* var_c12236 */ , 134744833); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+176)/* var_c12204 */ , 135269378); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+168)/* var_c12172 */ , 135269634); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+160)/* var_c12140 */ , 134745601); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+152)/* var_c12108 */ , 134745857); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+144)/* var_c12076 */ , 134746113); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+136)/* var_c12044 */ , 134746369); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+128)/* var_c12012 */ , 134746625); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+120)/* var_c11980 */ , 134746881); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+112)/* var_c11948 */ , 134747137); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+104)/* var_c11916 */ , 134747393); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+96)/* var_c11884 */ , 134747649); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+88)/* var_c11852 */ , 134747905); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+80)/* var_c11820 */ , 134748161); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+72)/* var_c11788 */ , 134748417); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+64)/* var_c11756 */ , 135010818); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+56)/* var_c11724 */ , 134748929); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+48)/* var_c11692 */ , 134749185); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+40)/* var_c11660 */ , 135011586); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+32)/* var_c11628 */ , 135011842); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+24)/* var_c11596 */ , 67903234); (void) XR_ExportProcS(var_c13612, (word) (( (bPt) gf_c0193)+16)/* var_c11564 */ , 68427779); } static void DRealFnsImpl_P0(formal_c040, formal_c039) word formal_c040; word formal_c039; { /* DRealFnsImpl: */ } static void Exp_P60(formal_c043, x_v3724) word formal_c043; W2 x_v3724; { W2 ret_v3768; /* Exp: */ SOURCE(208, 276) SOURCE(465, 19) (void) XR_DRealExpI((word) &ret_v3768, (word) &x_v3724); /* removed tail goto */ (* (W2Pt) formal_c043 ) = ret_v3768; return; } static void Ln_P120(formal_c046, x_v3828) word formal_c046; W2 x_v3828; { W2 ret_v3872; /* Ln: */ SOURCE(489, 275) SOURCE(745, 19) (void) XR_DRealLogI((word) &ret_v3872, (word) &x_v3828); /* removed tail goto */ (* (W2Pt) formal_c046 ) = ret_v3872; return; } static void Log_P180(formal_c053, base_v3932, arg_v3960) word formal_c053; W2 base_v3932; W2 arg_v3960; { W2 var_c4004; /* Log: */ SOURCE(769, 81) SOURCE(825, 25) { W2 var_c12684; { W2 var_c051; W2 var_c052; (void) Ln_P120((word) &var_c051, arg_v3960); (void) Ln_P120((word) &var_c052, base_v3932); XR_DRealDivI(&var_c12684, &var_c051, &var_c052); }; var_c4004 = var_c12684; /* removed tail goto */ }; (* (W2Pt) formal_c053 ) = var_c4004; return; } static void Power_P240(formal_c061, base_v4064, exponent_v4092) word formal_c061; W2 base_v4064; W2 exponent_v4092; { W2 var_c4136; /* Power: */ SOURCE(855, 94) SOURCE(918, 31) { W2 var_c12780; { W2 var_c12748; { W2 var_c059; (void) Ln_P120((word) &var_c059, base_v4064); XR_DRealMulI(&var_c12748, &exponent_v4092, &var_c059); }; { W2 var_c060; (void) Exp_P60((word) &var_c060, var_c12748); var_c12780 = var_c060; }; }; var_c4136 = var_c12780; /* removed tail goto */ }; (* (W2Pt) formal_c061 ) = var_c4136; return; } static void Root_P300(formal_c069, index_v4196, arg_v4224) word formal_c069; W2 index_v4196; W2 arg_v4224; { W2 var_c4268; /* Root: */ SOURCE(954, 85) SOURCE(1012, 27) { W2 var_c12876; { W2 var_c12844; { W2 var_c067; (void) Ln_P120((word) &var_c067, arg_v4224); XR_DRealDivI(&var_c12844, &var_c067, &index_v4196); }; { W2 var_c068; (void) Exp_P60((word) &var_c068, var_c12844); var_c12876 = var_c068; }; }; var_c4268 = var_c12876; /* removed tail goto */ }; (* (W2Pt) formal_c069 ) = var_c4268; return; } static void SqRt_P360(formal_c072, x_v4328) word formal_c072; W2 x_v4328; { W2 ret_v4372; /* SqRt: */ SOURCE(1044, 282) SOURCE(1306, 20) (void) XR_DRealSqrtI((word) &ret_v4372, (word) &x_v4328); /* removed tail goto */ (* (W2Pt) formal_c072 ) = ret_v4372; return; } static void Sin_P420(formal_c075, radians_v4432) word formal_c075; W2 radians_v4432; { W2 ret_v4476; /* Sin: */ SOURCE(1331, 288) SOURCE(1594, 25) (void) XR_DRealSinI((word) &ret_v4476, (word) &radians_v4432); /* removed tail goto */ (* (W2Pt) formal_c075 ) = ret_v4476; return; } static void SinDeg_P480(formal_c080, degrees_v4536) word formal_c080; W2 degrees_v4536; { W2 var_c4580; /* SinDeg: */ SOURCE(1625, 95) SOURCE(1682, 38) { W2 var_c12940; { W2 x5; W2 x6; XR_DRealDivI(&x6, &fc7, &fc8); XR_DRealMulI(&x5, &x6, °rees_v4536); (void) Sin_P420((word) &var_c12940, x5); }; var_c4580 = var_c12940; /* removed tail goto */ }; (* (W2Pt) formal_c080 ) = var_c4580; return; } static void Cos_P540(formal_c083, radians_v4640) word formal_c083; W2 radians_v4640; { W2 ret_v4684; /* Cos: */ SOURCE(1726, 288) SOURCE(1989, 25) (void) XR_DRealCosI((word) &ret_v4684, (word) &radians_v4640); /* removed tail goto */ (* (W2Pt) formal_c083 ) = ret_v4684; return; } static void CosDeg_P600(formal_c088, degrees_v4744) word formal_c088; W2 degrees_v4744; { W2 var_c4788; /* CosDeg: */ SOURCE(2020, 95) SOURCE(2077, 38) { W2 var_c13004; { W2 x9; W2 x10; XR_DRealDivI(&x10, &fc7, &fc8); XR_DRealMulI(&x9, &x10, °rees_v4744); (void) Cos_P540((word) &var_c13004, x9); }; var_c4788 = var_c13004; /* removed tail goto */ }; (* (W2Pt) formal_c088 ) = var_c4788; return; } static void Tan_P660(formal_c091, radians_v4848) word formal_c091; W2 radians_v4848; { W2 ret_v4892; /* Tan: */ SOURCE(2121, 288) SOURCE(2384, 25) (void) XR_DRealTanI((word) &ret_v4892, (word) &radians_v4848); /* removed tail goto */ (* (W2Pt) formal_c091 ) = ret_v4892; return; } static void TanDeg_P720(formal_c096, degrees_v4952) word formal_c096; W2 degrees_v4952; { W2 var_c4996; /* TanDeg: */ SOURCE(2415, 95) SOURCE(2472, 38) { W2 var_c13068; { W2 x11; W2 x12; XR_DRealDivI(&x12, &fc7, &fc8); XR_DRealMulI(&x11, &x12, °rees_v4952); (void) Tan_P660((word) &var_c13068, x11); }; var_c4996 = var_c13068; /* removed tail goto */ }; (* (W2Pt) formal_c096 ) = var_c4996; return; } static void ArcTan_P780(formal_c0100, y_v5056, x_v5084) word formal_c0100; W2 y_v5056; W2 x_v5084; { W2 radians_v5128; /* ArcTan: */ SOURCE(2515, 327) SOURCE(2812, 30) (void) XR_DRealArcTanI((word) &radians_v5128, (word) &y_v5056, (word) &x_v5084); /* removed tail goto */ (* (W2Pt) formal_c0100 ) = radians_v5128; return; } static void ArcTanDeg_P840(formal_c0106, y_v5188, x_v5216) word formal_c0106; W2 y_v5188; W2 x_v5216; { W2 degrees_v5260; W2 radians_v8440; /* ArcTanDeg: */ SOURCE(2848, 130) SOURCE(2914, 29) (void) ArcTan_P780((word) &radians_v8440, y_v5188, x_v5216); SOURCE(2945, 33) { W2 x13; XR_DRealDivI(&x13, &fc8, &fc7); XR_DRealMulI(°rees_v5260, &x13, &radians_v8440); }; /* removed tail goto */ (* (W2Pt) formal_c0106 ) = degrees_v5260; return; } static void SinH_P900(formal_c0109, x_v5320) word formal_c0109; W2 x_v5320; { W2 ret_v5364; /* SinH: */ SOURCE(2983, 282) SOURCE(3245, 20) (void) XR_DRealSinHI((word) &ret_v5364, (word) &x_v5320); /* removed tail goto */ (* (W2Pt) formal_c0109 ) = ret_v5364; return; } static void CosH_P960(formal_c0112, x_v5424) word formal_c0112; W2 x_v5424; { W2 ret_v5468; /* CosH: */ SOURCE(3271, 282) SOURCE(3533, 20) (void) XR_DRealCosHI((word) &ret_v5468, (word) &x_v5424); /* removed tail goto */ (* (W2Pt) formal_c0112 ) = ret_v5468; return; } static void TanH_P1020(formal_c0115, x_v5528) word formal_c0115; W2 x_v5528; { W2 ret_v5572; /* TanH: */ SOURCE(3559, 282) SOURCE(3821, 20) (void) XR_DRealTanHI((word) &ret_v5572, (word) &x_v5528); /* removed tail goto */ (* (W2Pt) formal_c0115 ) = ret_v5572; return; } static void CotH_P1080(formal_c0120, x_v5632) word formal_c0120; W2 x_v5632; { W2 var_c5676; /* CotH: */ SOURCE(3847, 69) SOURCE(3896, 20) { W2 var_c13132; { W2 var_c0119; (void) TanH_P1020((word) &var_c0119, x_v5632); XR_DRealDivI(&var_c13132, &fc14, &var_c0119); }; var_c5676 = var_c13132; /* removed tail goto */ }; (* (W2Pt) formal_c0120 ) = var_c5676; return; } static void InvSinH_P1140(formal_c0123, x_v5736) word formal_c0123; W2 x_v5736; { W2 ret_v5780; /* InvSinH: */ SOURCE(3922, 298) SOURCE(4197, 23) (void) XR_DRealInvSinHI((word) &ret_v5780, (word) &x_v5736); /* removed tail goto */ (* (W2Pt) formal_c0123 ) = ret_v5780; return; } static void InvCosH_P1200(formal_c0126, x_v5840) word formal_c0126; W2 x_v5840; { W2 ret_v5884; /* InvCosH: */ SOURCE(4226, 298) SOURCE(4501, 23) (void) XR_DRealInvCosHI((word) &ret_v5884, (word) &x_v5840); /* removed tail goto */ (* (W2Pt) formal_c0126 ) = ret_v5884; return; } static void InvTanH_P1260(formal_c0129, x_v5944) word formal_c0129; W2 x_v5944; { W2 ret_v5988; /* InvTanH: */ SOURCE(4529, 298) SOURCE(4804, 23) (void) XR_DRealInvTanHI((word) &ret_v5988, (word) &x_v5944); /* removed tail goto */ (* (W2Pt) formal_c0129 ) = ret_v5988; return; } static void InvCotH_P1320(formal_c0134, x_v6048) word formal_c0134; W2 x_v6048; { W2 var_c6092; /* InvCotH: */ SOURCE(4832, 75) SOURCE(4884, 23) { W2 var_c13196; { W2 var_c0133; (void) InvTanH_P1260((word) &var_c0133, x_v6048); XR_DRealDivI(&var_c13196, &fc14, &var_c0133); }; var_c6092 = var_c13196; /* removed tail goto */ }; (* (W2Pt) formal_c0134 ) = var_c6092; return; } static void LnGamma_P1380(formal_c0137, x_v6152) word formal_c0137; W2 x_v6152; { W2 ret_v6196; /* LnGamma: */ SOURCE(4912, 299) SOURCE(5188, 23) (void) XR_DRealLnGammaI((word) &ret_v6196, (word) &x_v6152); /* removed tail goto */ (* (W2Pt) formal_c0137 ) = ret_v6196; return; } static void Gamma_P1440(formal_c0144, x_v6256) word formal_c0144; W2 x_v6256; { W2 var_c6300; /* Gamma: */ SOURCE(5217, 74) SOURCE(5267, 24) { W2 var_c13292; { W2 var_c13260; (void) LnGamma_P1380((word) &var_c13260, x_v6256); { W2 var_c0143; (void) Exp_P60((word) &var_c0143, var_c13260); var_c13292 = var_c0143; }; }; var_c6300 = var_c13292; /* removed tail goto */ }; (* (W2Pt) formal_c0144 ) = var_c6300; return; } static void J0_P1500(formal_c0147, x_v6360) word formal_c0147; W2 x_v6360; { W2 ret_v6404; /* J0: */ SOURCE(5296, 270) SOURCE(5548, 18) (void) XR_DRealJ0I((word) &ret_v6404, (word) &x_v6360); /* removed tail goto */ (* (W2Pt) formal_c0147 ) = ret_v6404; return; } static void J1_P1560(formal_c0150, x_v6464) word formal_c0150; W2 x_v6464; { W2 ret_v6508; /* J1: */ SOURCE(5571, 270) SOURCE(5823, 18) (void) XR_DRealJ1I((word) &ret_v6508, (word) &x_v6464); /* removed tail goto */ (* (W2Pt) formal_c0150 ) = ret_v6508; return; } static void Jn_P1620(formal_c0154, n_v6568, x_v6596) word formal_c0154; word n_v6568; W2 x_v6596; { W2 ret_v6640; /* Jn: */ SOURCE(5846, 326) SOURCE(6151, 21) (void) XR_DRealJnI((word) &ret_v6640, n_v6568, (word) &x_v6596); /* removed tail goto */ (* (W2Pt) formal_c0154 ) = ret_v6640; return; } static void Y0_P1680(formal_c0157, x_v6700) word formal_c0157; W2 x_v6700; { W2 ret_v6744; /* Y0: */ SOURCE(6178, 270) SOURCE(6430, 18) (void) XR_DRealY0I((word) &ret_v6744, (word) &x_v6700); /* removed tail goto */ (* (W2Pt) formal_c0157 ) = ret_v6744; return; } static void Y1_P1740(formal_c0160, x_v6804) word formal_c0160; W2 x_v6804; { W2 ret_v6848; /* Y1: */ SOURCE(6453, 270) SOURCE(6705, 18) (void) XR_DRealY1I((word) &ret_v6848, (word) &x_v6804); /* removed tail goto */ (* (W2Pt) formal_c0160 ) = ret_v6848; return; } static void Yn_P1800(formal_c0164, n_v6908, x_v6936) word formal_c0164; word n_v6908; W2 x_v6936; { W2 ret_v6980; /* Yn: */ SOURCE(6728, 326) SOURCE(7033, 21) (void) XR_DRealYnI((word) &ret_v6980, n_v6908, (word) &x_v6936); /* removed tail goto */ (* (W2Pt) formal_c0164 ) = ret_v6980; return; } static void RationalFromDReal_P1860(formal_c0179, x_v7040, limit_v7068) word formal_c0179; W2 x_v7040; word limit_v7068; { register ptr gf_c13676 = (ptr) &globalframe; W2 var_c7112; word sign_v10256 = 1; word inverse_v10284 = 0; word p0_v10312 = 0; word q0_v10340 = 0; word lambda_v10368 = 0; word q1_v10396 = 0; word p2_v10424 = 0; word p1_v10452 = 1; word q2_v10480 = 1; /* RationalFromDReal: */ SOURCE(7059, 804) SOURCE(7254, 56) if (( (int)limit_v7068 < (int)1)) { SOURCE(7272, 38) { word var_c0177 = 5; (void) XR_RaiseError((* (( (ptr) (* (( (ptr) gf_c13676)+72)/* var_c13324 */ ))+4) ), (word) &var_c0177); }; }; SOURCE(7312, 37) { W2 D15; XR_DFloatInt(&D15, limit_v7068); if (XR_DRealGtI(&x_v7040, &D15)) { SOURCE(7330, 19) var_c7112.f0 = limit_v7068; var_c7112.f1 = 1; goto lab_L100030; }; }; SOURCE(7351, 39) { W2 x16; W2 D17; float tf18; XR_DRealNegI(&x16, &x_v7040); XR_DFloatReal(&D17, ( tf18 = (float)(int)limit_v7068, *(word*)&tf18 )); if (XR_DRealGtI(&x16, &D17)) { SOURCE(7370, 20) var_c7112.f0 = INEG(limit_v7068); var_c7112.f1 = 1; goto lab_L100030; }; }; SOURCE(7393, 36) if (XR_DRealGtI(&fc19, &x_v7040)) { SOURCE(7411, 6) XR_DRealNegI(&x_v7040, &x_v7040); SOURCE(7419, 10) sign_v10256 = (word) -1; }; SOURCE(7432, 58) if (XR_DRealEqI(&x_v7040, &fc14)) { SOURCE(7448, 42) var_c7112.f0 = sign_v10256; var_c7112.f1 = 1; goto lab_L100030; }; SOURCE(7492, 44) if (XR_DRealGtI(&x_v7040, &fc14)) { SOURCE(7510, 9) XR_DRealDivI(&x_v7040, &fc14, &x_v7040); SOURCE(7521, 15) inverse_v10284 = 1; }; SOURCE(7540, 193) lab_L100033: ; SOURCE(7540, 193) { W2 oneOverX_v10524; SOURCE(7543, 28) { W2 D20; XR_DFloatInt(&D20, lambda_v10368); XR_DRealSubI(&oneOverX_v10524, &x_v7040, &D20); }; SOURCE(7573, 34) { W2 x21; W2 D22; W2 D23; float tf24; XR_DFloatInt(&D22, (limit_v7068 - q1_v10396)); XR_DRealMulI(&x21, &oneOverX_v10524, &D22); XR_DFloatReal(&D23, ( tf24 = (float)(int)q2_v10480, *(word*)&tf24 )); if (XR_DRealGeI(&D23, &x21)) { SOURCE(7607, 4) goto lab_L100032; }; }; SOURCE(7613, 16) XR_DRealDivI(&x_v7040, &fc14, &oneOverX_v10524); SOURCE(7631, 28) { word pd25; pd25 = (* (( (ptr) (* (( (ptr) gf_c13676)+73)/* var_c13452 */ ))+10) ); lambda_v10368 = (word) ( *( (fPt) ((* (ptr) pd25 ))))(x_v7040, pd25); }; SOURCE(7661, 7) q0_v10340 = q1_v10396; SOURCE(7670, 7) q1_v10396 = q2_v10480; SOURCE(7679, 17) q2_v10480 = (IOP2( * , (int)lambda_v10368, (int)q1_v10396) + q0_v10340); SOURCE(7698, 7) p0_v10312 = p1_v10452; SOURCE(7707, 7) p1_v10452 = p2_v10424; SOURCE(7716, 17) p2_v10424 = (IOP2( * , (int)lambda_v10368, (int)p1_v10452) + p0_v10312); }; goto lab_L100033; lab_L100032: ; SOURCE(7745, 118) if ((0 == inverse_v10284)) { SOURCE(7765, 52) var_c7112.f0 = IOP2( * , (int)sign_v10256, (int)p2_v10424); var_c7112.f1 = q2_v10480; /* removed tail goto */ } else { SOURCE(7817, 46) var_c7112.f0 = IOP2( * , (int)sign_v10256, (int)q2_v10480); var_c7112.f1 = p2_v10424; /* removed tail goto */ }; lab_L100030: ; (* (W2Pt) formal_c0179 ) = var_c7112; return; } static word AlmostZero_P1920(x_v7172, distance_v7200) W2 x_v7172; word distance_v7200; { register ptr gf_c13708 = (ptr) &globalframe; word var_c7244; /* AlmostZero: */ SOURCE(7868, 156) SOURCE(7941, 29) if (XR_DRealEqI(&x_v7172, &fc19)) { SOURCE(7957, 13) return(1); }; SOURCE(7972, 52) { word var_c0197; { W2 var_c0183; { word pd26; pd26 = (* (( (ptr) (* (( (ptr) gf_c13708)+73)/* var_c13452 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd26 ))))((word) &var_c0183, (* (W2Pt) &fc14 ), distance_v7200, pd26); }; { W2 x27; XR_DRealAbsI(&x27, &x_v7172); var_c0197 = (unsigned) XR_DRealGtI(&var_c0183, &x27); }; }; return(var_c0197); }; } static word AlmostEqual_P1980(y_v7304, x_v7332, distance_v7360) W2 y_v7304; W2 x_v7332; word distance_v7360; { register ptr gf_c13740 = (ptr) &globalframe; word var_c7404; /* AlmostEqual: */ SOURCE(8029, 400) SOURCE(8106, 56) { word pd28; pd28 = (* (( (ptr) (* (( (ptr) gf_c13740)+73)/* var_c13452 */ ))+4) ); if (((word) ( *( (fPt) ((* (ptr) pd28 ))))(x_v7332, pd28) > 2)) { SOURCE(8148, 14) return(0); }; }; SOURCE(8164, 56) { word pd29; pd29 = (* (( (ptr) (* (( (ptr) gf_c13740)+73)/* var_c13452 */ ))+4) ); if (((word) ( *( (fPt) ((* (ptr) pd29 ))))(y_v7304, pd29) > 2)) { SOURCE(8206, 14) return(0); }; }; SOURCE(8222, 209) { W2 delta_v10568; W2 absX_v10596; W2 absY_v10624; W2 max_v10652; SOURCE(8224, 23) { W2 x30; XR_DRealSubI(&x30, &x_v7332, &y_v7304); XR_DRealAbsI(&delta_v10568, &x30); }; SOURCE(8249, 20) XR_DRealAbsI(&absX_v10596, &x_v7332); SOURCE(8271, 20) XR_DRealAbsI(&absY_v10624, &y_v7304); SOURCE(8293, 47) { word tcp31; if (XR_DRealGtI(&absY_v10624, &absX_v10596)) { tcp31 = (word) &absY_v10624; } else { tcp31 = (word) &absX_v10596; }; max_v10652 = (* (W2Pt) tcp31 ); }; SOURCE(8342, 33) if (XR_DRealEqI(&delta_v10568, &max_v10652)) { SOURCE(8362, 13) return(1); }; SOURCE(8377, 52) { word var_c0198; { W2 var_c0192; { word pd32; pd32 = (* (( (ptr) (* (( (ptr) gf_c13740)+73)/* var_c13452 */ ))+12) ); (void) ( *( (fPt) ((* (ptr) pd32 ))))((word) &var_c0192, max_v10652, distance_v7360, pd32); }; var_c0198 = (unsigned) XR_DRealGeI(&var_c0192, &delta_v10568); }; return(var_c0198); }; }; } /* file: DRealFnsImpl, module: DRealFnsImpl, compiled at: May 6, 1993 5:09:57 pm PDT */ extern void XR_install_DRealFnsImpl() { NoName_Q2136(); } extern void XR_run_DRealFnsImpl() { XR_Start(&globalframe); }