⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e_acosl.s

📁 glibc 2.9,最新版的C语言库函数
💻 S
📖 第 1 页 / 共 4 页
字号:
{.mfi       // c7 = 33*13/16       mov R_TMP4 = 0x41d68	   // |s| (p11) fma.s1 F_AS = f8, f1, f0       nop.i 0;;}{.mfi       setf.sig F_ORMASK = R_TMP2       // y^2       fma.s1 F_Y2 = F_Y, F_Y, f0       // c7 = 33*13/16       shl R_TMP4 = R_TMP4, 12}{.mfi       // c6 = -33*7/16       mov R_TMP6 = 0xc1670       // y' ~ sqrt(1-s^2)       fma.s1 F_T1 = F_Y, F_1S2, f0       // c5 = 63/8       mov R_TMP7 = 0x40fc;;}{.mlx       // load c8 = -33*13*15/128       setf.s F_CS8 = R_TMP5       // c4 = -35/8       movl R_TMP5 = 0xc08c0000;;}{.mfi       // r3 = pointer to polynomial coefficients       addl r3 = @ltoff(poly_coeffs), gp       // 1-s-(1-s^2)_s       fnma.s1 F_DS = F_1S2_S, f1, F_1AS       // p9 = 0 if p7 = 1 (p9 = 1 for special cases only) (p7) cmp.ne p9, p0 = r0, r0}{.mlx       // load c7 = 33*13/16       setf.s F_CS7 = R_TMP4       // c3 = 5/2       movl R_TMP4 = 0x40200000;;}{.mlx       // load c4 = -35/8       setf.s F_CS4 = R_TMP5       // c2 = -3/2       movl R_TMP5 = 0xbfc00000;;}{.mfi       // load c3 = 5/2       setf.s F_CS3 = R_TMP4       // x = (1-s^2)_s*y^2-1       fms.s1 F_X = F_1S2_S, F_Y2, f1       // c6 = -33*7/16       shl R_TMP6 = R_TMP6, 12}{.mfi       nop.m 0       // y^2/2       fma.s1 F_Y2_2 = F_Y2, F_05, f0       nop.i 0;;}{.mfi       // load c6 = -33*7/16       setf.s F_CS6 = R_TMP6       // eliminate lower bits from y'       fand F_T = F_T1, F_ANDMASK       // c5 = 63/8       shl R_TMP7 = R_TMP7, 16}{.mfb       // r3 = load start address to polynomial coefficients       ld8 r3 = [r3]       // 1-(1-s^2)_s-s^2       fma.s1 F_DS = F_AS, F_1AS, F_DS       // p9 = 1 if s is a special input (NaN, or |s|> = 1) (p9) br.cond.spnt acosl_SPECIAL_CASES;;}{.mmf       // get exponent, significand of y' (in single prec.)       getf.s R_TMP = F_T1       // load c3 = -3/2       setf.s F_CS2 = R_TMP5       // y*(1-s^2)       fma.s1 F_Y1S2 = F_Y, F_1S2, f0;;}{.mfi       nop.m 0       // if s<0, set s = -s (p6) fnma.s1 f8 = f8, f1, f0       nop.i 0;;}{.mfi       // load c5 = 63/8       setf.s F_CS5 = R_TMP7       // x = (1-s^2)_s*y^2-1+(1-(1-s^2)_s-s^2)*y^2       fma.s1 F_X = F_DS, F_Y2, F_X       // for t = 2^k*1.b1 b2.., get 7-k|b1.. b6       extr.u R_INDEX = R_TMP, 17, 9;;}{.mmi       // index = (4-exponent)|b1 b2.. b6       sub R_INDEX = R_INDEX, R_BIAS       nop.m 0       // get exponent of y       shr.u R_TMP2 = R_TMP, 23;;}{.mmi       // load C3       ldfe F_C3 = [r3], 16       // set p8 = 1 if y'<2^{-4}       cmp.gt p8, p0 = 0x7b, R_TMP2       // shift R_INDEX by 5       shl R_INDEX = R_INDEX, 5;;}{.mfb       // get table index for sqrt(1-t^2)       add r2 = r2, R_INDEX       // get t = 2^k*1.b1 b2.. b7 1       for F_T = F_T, F_ORMASK (p8) br.cond.spnt VERY_LARGE_INPUT;;}{.mmf       // load C5       ldfe F_C5 = [r3], 16       // load 1/(1-t^2)       ldfp8 F_INV_1T2, F_SQRT_1T2 = [r2], 16       // x = ((1-s^2)*y^2-1)/2       fma.s1 F_X = F_X, F_05, f0;;}{.mmf       nop.m 0       // C7, C9       ldfpd F_C7, F_C9 = [r3], 16       // set correct exponent for t       fmerge.se F_T = F_T1, F_T;;}{.mfi       // get address for loading pi	   add r3 = 48, r3       // c9*x+c8       fma.s1 F_S89 = F_X, F_CS9, F_CS8       nop.i 0}{.mfi       nop.m 0       // x^2       fma.s1 F_X2 = F_X, F_X, f0       nop.i 0;;}{.mfi       // pi (low, high)       ldfpd F_PI2_LO, F_PI2_HI = [r3]       // y*(1-s^2)*x       fma.s1 F_Y1S2X = F_Y1S2, F_X, f0       nop.i 0}{.mfi       nop.m 0       // c7*x+c6       fma.s1 F_S67 = F_X, F_CS7, F_CS6       nop.i 0;;}{.mfi       nop.m 0       // 1-x       fnma.s1 F_1X = F_X, f1, f1       nop.i 0}{.mfi       nop.m 0       // c3*x+c2       fma.s1 F_S23 = F_X, F_CS3, F_CS2       nop.i 0;;}{.mfi       nop.m 0       // 1-t^2       fnma.s1 F_1T2 = F_T, F_T, f1       nop.i 0}{.mfi       // load asin(t)_high, asin(t)_low       ldfpd F_ATHI, F_ATLO = [r2]       // c5*x+c4       fma.s1 F_S45 = F_X, F_CS5, F_CS4       nop.i 0;;}{.mfi       nop.m 0       // t*s       fma.s1 F_TS = F_T, f8, f0       nop.i 0}{.mfi       nop.m 0       // 0.5/(1-t^2)       fma.s1 F_INV_1T2 = F_INV_1T2, F_2M64, f0       nop.i 0;;}{.mfi       nop.m 0       // z~sqrt(1-t^2), rounded to 24 significant bits       fma.s.s1 F_Z = F_SQRT_1T2, F_2M64, f0       nop.i 0}{.mfi       nop.m 0       // sqrt(1-t^2)       fma.s1 F_SQRT_1T2 = F_SQRT_1T2, F_2M64, f0       nop.i 0;;}{.mfi       nop.m 0       // y*(1-s^2)*x^2       fma.s1 F_Y1S2X2 = F_Y1S2, F_X2, f0       nop.i 0}{.mfi       nop.m 0       // x^4       fma.s1 F_X4 = F_X2, F_X2, f0       nop.i 0;;}{.mfi       nop.m 0       // s*t rounded to 24 significant bits       fma.s.s1 F_TSS = F_T, f8, f0       nop.i 0}{.mfi       nop.m 0       // c9*x^3+..+c6       fma.s1 F_S69 = F_X2, F_S89, F_S67       nop.i 0;;}{.mfi       nop.m 0       // ST = (t^2-1+s^2) rounded to 24 significant bits       fms.s.s1 F_ST = f8, f8, F_1T2       nop.i 0}{.mfi       nop.m 0       // c5*x^3+..+c2       fma.s1 F_S25 = F_X2, F_S45, F_S23       nop.i 0;;}{.mfi       nop.m 0       // 0.25/(1-t^2)       fma.s1 F_INV1T2_2 = F_05, F_INV_1T2, f0       nop.i 0}{.mfi       nop.m 0       // t*s-sqrt(1-t^2)*(1-s^2)*y       fnma.s1 F_TS = F_Y1S2, F_SQRT_1T2, F_TS       nop.i 0;;}{.mfi       nop.m 0       // z*0.5/(1-t^2)       fma.s1 F_ZE = F_INV_1T2, F_SQRT_1T2, f0       nop.i 0}{.mfi       nop.m 0       // z^2+t^2-1       fms.s1 F_DZ0 = F_Z, F_Z, F_1T2       nop.i 0;;}{.mfi       nop.m 0       // (1-s^2-(1-s^2)_s)*x       fma.s1 F_DS2X = F_X, F_DS, f0       nop.i 0;;}{.mfi       nop.m 0       // t*s-(t*s)_s       fms.s1 F_DTS = F_T, f8, F_TSS       nop.i 0}{.mfi       nop.m 0       // c9*x^7+..+c2       fma.s1 F_S29 = F_X4, F_S69, F_S25       nop.i 0;;}{.mfi       nop.m 0       // y*z       fma.s1 F_YZ = F_Z, F_Y, f0       nop.i 0}{.mfi       nop.m 0       // t^2       fma.s1 F_T2 = F_T, F_T, f0       nop.i 0;;}{.mfi       nop.m 0       // 1-t^2+ST       fma.s1 F_1T2_ST = F_ST, f1, F_1T2       nop.i 0;;}{.mfi       nop.m 0       // y*(1-s^2)(1-x)       fma.s1 F_Y1S2_1X = F_Y1S2, F_1X, f0       nop.i 0}{.mfi       nop.m 0       // dz ~ sqrt(1-t^2)-z       fma.s1 F_DZ = F_DZ0, F_ZE, f0       nop.i 0;;}{.mfi       nop.m 0       // -1+correction for sqrt(1-t^2)-z       fnma.s1 F_CORR = F_INV1T2_2, F_DZ0, f0       nop.i 0;;}{.mfi       nop.m 0       // (PS29*x^2+x)*y*(1-s^2)       fma.s1 F_S19 = F_Y1S2X2, F_S29, F_Y1S2X       nop.i 0;;}{.mfi       nop.m 0       // z*y*(1-s^2)_s       fma.s1 F_ZY1S2S = F_YZ, F_1S2_S, f0       nop.i 0}{.mfi       nop.m 0       // s^2-(1-t^2+ST)       fms.s1 F_1T2_ST = f8, f8, F_1T2_ST       nop.i 0;;}{.mfi       nop.m 0       // (t*s-(t*s)_s)+z*y*(1-s^2-(1-s^2)_s)*x       fma.s1 F_DTS = F_YZ, F_DS2X, F_DTS       nop.i 0}{.mfi       nop.m 0       // dz*y*(1-s^2)*(1-x)       fma.s1 F_DZ_TERM = F_DZ, F_Y1S2_1X, f0       nop.i 0;;}{.mfi       nop.m 0       // R = t*s-sqrt(1-t^2)*(1-s^2)*y+sqrt(1-t^2)*(1-s^2)*y*PS19       // (used for polynomial evaluation)       fma.s1 F_R = F_S19, F_SQRT_1T2, F_TS       nop.i 0;;}{.mfi       nop.m 0       // (PS29*x^2)*y*(1-s^2)       fma.s1 F_S29 = F_Y1S2X2, F_S29, f0       nop.i 0}{.mfi       nop.m 0       // apply correction to dz*y*(1-s^2)*(1-x)       fma.s1 F_DZ_TERM = F_DZ_TERM, F_CORR, F_DZ_TERM       nop.i 0;;}{.mfi       nop.m 0       // R^2       fma.s1 F_R2 = F_R, F_R, f0       nop.i 0;;}{.mfi       nop.m 0       // (t*s-(t*s)_s)+z*y*(1-s^2-(1-s^2)_s)*x+dz*y*(1-s^2)*(1-x)       fma.s1 F_DZ_TERM = F_DZ_TERM, f1, F_DTS       nop.i 0;;}{.mfi       nop.m 0       // c7+c9*R^2       fma.s1 F_P79 = F_C9, F_R2, F_C7       nop.i 0}{.mfi       nop.m 0       // c3+c5*R^2       fma.s1 F_P35 = F_C5, F_R2, F_C3       nop.i 0;;}{.mfi       nop.m 0       // asin(t)_low-(pi)_low (if s<0) (p6)  fms.s1 F_ATLO = F_ATLO, f1, F_PI2_LO       nop.i 0}{.mfi       nop.m 0       // R^4       fma.s1 F_R4 = F_R2, F_R2, f0       nop.i 0;;}{.mfi       nop.m 0       // R^3       fma.s1 F_R3 = F_R2, F_R, f0       nop.i 0;;}{.mfi       nop.m 0       // (t*s)_s-t^2*y*z       fnma.s1 F_TSS = F_T2, F_YZ, F_TSS       nop.i 0}{.mfi       nop.m 0       // d(ts)+z*y*d(1-s^2)*x+dz*y*(1-s^2)*(1-x)+z*y*(s^2-1+t^2-ST)       fma.s1 F_DZ_TERM = F_YZ, F_1T2_ST, F_DZ_TERM       nop.i 0;;}{.mfi       nop.m 0       // (pi)_hi-asin(t)_hi (if s<0) (p6)  fms.s1 F_ATHI = F_PI2_HI, f1, F_ATHI       nop.i 0}{.mfi       nop.m 0       // c3+c5*R^2+c7*R^4+c9*R^6       fma.s1 F_P39 = F_P79, F_R4, F_P35       nop.i 0;;}{.mfi       nop.m 0       // d(ts)+z*y*d(1-s^2)*x+dz*y*(1-s^2)*(1-x)+z*y*(s^2-1+t^2-ST)+       // + sqrt(1-t^2)*y*(1-s^2)*x^2*PS29       fma.s1 F_DZ_TERM = F_SQRT_1T2, F_S29, F_DZ_TERM       nop.i 0;;}{.mfi       nop.m 0       // (t*s)_s-t^2*y*z+z*y*ST       fma.s1 F_TSS = F_YZ, F_ST, F_TSS       nop.i 0}{.mfi       nop.m 0       // -asin(t)_low+R^3*(c3+c5*R^2+c7*R^4+c9*R^6)       fms.s1 F_P39 = F_P39, F_R3, F_ATLO       nop.i 0;;}{.mfi       nop.m 0       // d(ts)+z*y*d(1-s^2)*x+dz*y*(1-s^2)*(1-x)+z*y*(s^2-1+t^2-ST) +       // + sqrt(1-t^2)*y*(1-s^2)*x^2*PS29 +       // - asin(t)_low+R^3*(c3+c5*R^2+c7*R^4+c9*R^6)       fma.s1 F_DZ_TERM = F_P39, f1, F_DZ_TERM       nop.i 0;;}{.mfi       nop.m 0       // d(ts)+z*y*d(1-s^2)*x+dz*y*(1-s^2)*(1-x)+z*y*(s^2-1+t^2-ST) +       // + sqrt(1-t^2)*y*(1-s^2)*x^2*PS29 + z*y*(1-s^2)_s*x +       // - asin(t)_low+R^3*(c3+c5*R^2+c7*R^4+c9*R^6)       fma.s1 F_DZ_TERM = F_ZY1S2S, F_X, F_DZ_TERM       nop.i 0;;}{.mfi       nop.m 0       // d(ts)+z*y*d(1-s^2)*x+dz*y*(1-s^2)*(1-x)+z*y*(s^2-1+t^2-ST) +       // + sqrt(1-t^2)*y*(1-s^2)*x^2*PS29 + z*y*(1-s^2)_s*x +       // - asin(t)_low+R^3*(c3+c5*R^2+c7*R^4+c9*R^6) +       // + (t*s)_s-t^2*y*z+z*y*ST       fma.s1 F_DZ_TERM = F_TSS, f1, F_DZ_TERM       nop.i 0;;}.pred.rel "mutex", p6, p11{.mfi       nop.m 0       // result: add high part of table value       // s>0 in this case (p11) fnma.s0 f8 = F_DZ_TERM, f1, F_ATHI       nop.i 0}{.mfb       nop.m 0       // result: add high part of pi-table value       // if s<0 (p6)  fma.s0 f8 = F_DZ_TERM, f1, F_ATHI       br.ret.sptk b0;;}SMALL_S:       // use 15-term polynomial approximation{.mmi       // r3 = pointer to polynomial coefficients       addl r3 = @ltoff(poly_coeffs), gp;;       // load start address for coefficients

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -