亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? e_sinh.s

?? glibc 庫, 不僅可以學習使用庫函數,還可以學習函數的具體實現,是提高功力的好資料
?? S
?? 第 1 頁 / 共 2 頁
字號:
.file "sinh.s"// Copyright (c) 2000 - 2005, Intel Corporation// All rights reserved.//// Contributed 2000 by the Intel Numerics Group, Intel Corporation//// Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions are// met://// * Redistributions of source code must retain the above copyright// notice, this list of conditions and the following disclaimer.//// * Redistributions in binary form must reproduce the above copyright// notice, this list of conditions and the following disclaimer in the// documentation and/or other materials provided with the distribution.//// * The name of Intel Corporation may not be used to endorse or promote// products derived from this software without specific prior written// permission.// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR ITS// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY OR TORT (INCLUDING// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.//// Intel Corporation is the author of this code, and requests that all// problem reports or change requests be submitted to it directly at// http://www.intel.com/software/products/opensource/libraries/num.htm.//// History//==============================================================// 02/02/00 Initial version// 04/04/00 Unwind support added// 08/15/00 Bundle added after call to __libm_error_support to properly//          set [the previously overwritten] GR_Parameter_RESULT.// 10/12/00 Update to set denormal operand and underflow flags// 01/22/01 Fixed to set inexact flag for small args.// 05/02/01 Reworked to improve speed of all paths// 05/20/02 Cleaned up namespace and sf0 syntax// 11/20/02 Improved speed with new algorithm// 03/31/05 Reformatted delimiters between data tables// API//==============================================================// double sinh(double)// Overview of operation//==============================================================// Case 1:  0 < |x| < 2^-60//  Result = x, computed by x+sgn(x)*x^2) to handle flags and rounding//// Case 2:  2^-60 < |x| < 0.25//  Evaluate sinh(x) by a 13th order polynomial//  Care is take for the order of multiplication; and A1 is not exactly 1/3!,//  A2 is not exactly 1/5!, etc.//  sinh(x) = x + (A1*x^3 + A2*x^5 + A3*x^7 + A4*x^9 + A5*x^11 + A6*x^13)//// Case 3:  0.25 < |x| < 710.47586//  Algorithm is based on the identity sinh(x) = ( exp(x) - exp(-x) ) / 2.//  The algorithm for exp is described as below.  There are a number of//  economies from evaluating both exp(x) and exp(-x).  Although we//  are evaluating both quantities, only where the quantities diverge do we//  duplicate the computations.  The basic algorithm for exp(x) is described//  below.//// Take the input x. w is "how many log2/128 in x?"//  w = x * 128/log2//  n = int(w)//  x = n log2/128 + r + delta//  n = 128M + index_1 + 2^4 index_2//  x = M log2 + (log2/128) index_1 + (log2/8) index_2 + r + delta//  exp(x) = 2^M  2^(index_1/128)  2^(index_2/8) exp(r) exp(delta)//       Construct 2^M//       Get 2^(index_1/128) from table_1;//       Get 2^(index_2/8)   from table_2;//       Calculate exp(r) by 5th order polynomial//          r = x - n (log2/128)_high//          delta = - n (log2/128)_low//       Calculate exp(delta) as 1 + delta// Special values//==============================================================// sinh(+0)    = +0// sinh(-0)    = -0// sinh(+qnan) = +qnan// sinh(-qnan) = -qnan// sinh(+snan) = +qnan// sinh(-snan) = -qnan// sinh(-inf)  = -inf// sinh(+inf)  = +inf// Overflow and Underflow//=======================// sinh(x) = largest double normal when//     |x| = 710.47586 = 0x408633ce8fb9f87d//// Underflow is handled as described in case 1 above// Registers used//==============================================================// Floating Point registers used:// f8, input, output// f6 -> f15,  f32 -> f61// General registers used:// r14 -> r40// Predicate registers used:// p6 -> p15// Assembly macros//==============================================================rRshf                 = r14rN_neg                = r14rAD_TB1               = r15rAD_TB2               = r16rAD_P                 = r17rN                    = r18rIndex_1              = r19rIndex_2_16           = r20rM                    = r21rBiased_M             = r21rSig_inv_ln2          = r22rIndex_1_neg          = r22rExp_bias             = r23rExp_bias_minus_1     = r23rExp_mask             = r24rTmp                  = r24rGt_ln                = r24rIndex_2_16_neg       = r24rM_neg                = r25rBiased_M_neg         = r25rRshf_2to56           = r26rAD_T1_neg            = r26rExp_2tom56           = r28rAD_T2_neg            = r28rAD_T1                = r29rAD_T2                = r30rSignexp_x            = r31rExp_x                = r31GR_SAVE_B0            = r33GR_SAVE_PFS           = r34GR_SAVE_GP            = r35GR_Parameter_X        = r37GR_Parameter_Y        = r38GR_Parameter_RESULT   = r39GR_Parameter_TAG      = r40FR_X                  = f10FR_Y                  = f1FR_RESULT             = f8fRSHF_2TO56           = f6fINV_LN2_2TO63        = f7fW_2TO56_RSH          = f9f2TOM56               = f11fP5                   = f12fP4                   = f13fP3                   = f14fP2                   = f15fLn2_by_128_hi        = f33fLn2_by_128_lo        = f34fRSHF                 = f35fNfloat               = f36fNormX                = f37fR                    = f38fF                    = f39fRsq                  = f40f2M                   = f41fS1                   = f42fT1                   = f42fS2                   = f43fT2                   = f43fS                    = f43fWre_urm_f8           = f44fAbsX                 = f44fMIN_DBL_OFLOW_ARG    = f45fMAX_DBL_NORM_ARG     = f46fXsq                  = f47fX4                   = f48fGt_pln               = f49fTmp                  = f49fP54                  = f50fP5432                = f50fP32                  = f51fP                    = f52fP54_neg              = f53fP5432_neg            = f53fP32_neg              = f54fP_neg                = f55fF_neg                = f56f2M_neg               = f57fS1_neg               = f58fT1_neg               = f58fS2_neg               = f59fT2_neg               = f59fS_neg                = f59fExp                  = f60fExp_neg              = f61fA6                   = f50fA65                  = f50fA6543                = f50fA654321              = f50fA5                   = f51fA4                   = f52fA43                  = f52fA3                   = f53fA2                   = f54fA21                  = f54fA1                   = f55fX3                   = f56// Data tables//==============================================================RODATA.align 16// ************* DO NOT CHANGE ORDER OF THESE TABLES ********************// double-extended 1/ln(2)// 3fff b8aa 3b29 5c17 f0bb be87fed0691d3e88// 3fff b8aa 3b29 5c17 f0bc// For speed the significand will be loaded directly with a movl and setf.sig//   and the exponent will be bias+63 instead of bias+0.  Thus subsequent//   computations need to scale appropriately.// The constant 128/ln(2) is needed for the computation of w.  This is also//   obtained by scaling the computations.//// Two shifting constants are loaded directly with movl and setf.d.//   1. fRSHF_2TO56 = 1.1000..00 * 2^(63-7)//        This constant is added to x*1/ln2 to shift the integer part of//        x*128/ln2 into the rightmost bits of the significand.//        The result of this fma is fW_2TO56_RSH.//   2. fRSHF       = 1.1000..00 * 2^(63)//        This constant is subtracted from fW_2TO56_RSH * 2^(-56) to give//        the integer part of w, n, as a floating-point number.//        The result of this fms is fNfloat.LOCAL_OBJECT_START(exp_table_1)data8 0x408633ce8fb9f87e // smallest dbl overflow argdata8 0x408633ce8fb9f87d // largest dbl arg to give normal dbl resultdata8 0xb17217f7d1cf79ab , 0x00003ff7 // ln2/128 hidata8 0xc9e3b39803f2f6af , 0x00003fb7 // ln2/128 lo//// Table 1 is 2^(index_1/128) where// index_1 goes from 0 to 15//data8 0x8000000000000000 , 0x00003FFFdata8 0x80B1ED4FD999AB6C , 0x00003FFFdata8 0x8164D1F3BC030773 , 0x00003FFFdata8 0x8218AF4373FC25EC , 0x00003FFFdata8 0x82CD8698AC2BA1D7 , 0x00003FFFdata8 0x8383594EEFB6EE37 , 0x00003FFFdata8 0x843A28C3ACDE4046 , 0x00003FFFdata8 0x84F1F656379C1A29 , 0x00003FFFdata8 0x85AAC367CC487B15 , 0x00003FFFdata8 0x8664915B923FBA04 , 0x00003FFFdata8 0x871F61969E8D1010 , 0x00003FFFdata8 0x87DB357FF698D792 , 0x00003FFFdata8 0x88980E8092DA8527 , 0x00003FFFdata8 0x8955EE03618E5FDD , 0x00003FFFdata8 0x8A14D575496EFD9A , 0x00003FFFdata8 0x8AD4C6452C728924 , 0x00003FFFLOCAL_OBJECT_END(exp_table_1)// Table 2 is 2^(index_1/8) where// index_2 goes from 0 to 7LOCAL_OBJECT_START(exp_table_2)data8 0x8000000000000000 , 0x00003FFFdata8 0x8B95C1E3EA8BD6E7 , 0x00003FFFdata8 0x9837F0518DB8A96F , 0x00003FFFdata8 0xA5FED6A9B15138EA , 0x00003FFFdata8 0xB504F333F9DE6484 , 0x00003FFFdata8 0xC5672A115506DADD , 0x00003FFFdata8 0xD744FCCAD69D6AF4 , 0x00003FFFdata8 0xEAC0C6E7DD24392F , 0x00003FFFLOCAL_OBJECT_END(exp_table_2)LOCAL_OBJECT_START(exp_p_table)data8 0x3f8111116da21757 //P5data8 0x3fa55555d787761c //P4data8 0x3fc5555555555414 //P3data8 0x3fdffffffffffd6a //P2LOCAL_OBJECT_END(exp_p_table)LOCAL_OBJECT_START(sinh_p_table)data8 0xB08AF9AE78C1239F, 0x00003FDE  // A6data8 0xB8EF1D28926D8891, 0x00003FEC  // A4data8 0x8888888888888412, 0x00003FF8  // A2data8 0xD732377688025BE9, 0x00003FE5  // A5data8 0xD00D00D00D4D39F2, 0x00003FF2  // A3data8 0xAAAAAAAAAAAAAAAB, 0x00003FFC  // A1LOCAL_OBJECT_END(sinh_p_table).section .textGLOBAL_IEEE754_ENTRY(sinh){ .mlx      getf.exp        rSignexp_x = f8  // Must recompute if x unorm      movl            rSig_inv_ln2 = 0xb8aa3b295c17f0bc  // significand of 1/ln2}{ .mlx      addl            rAD_TB1    = @ltoff(exp_table_1), gp      movl            rRshf_2to56 = 0x4768000000000000   // 1.10000 2^(63+56)};;{ .mfi      ld8             rAD_TB1    = [rAD_TB1]      fclass.m        p6,p0 = f8,0x0b  // Test for x=unorm      mov             rExp_mask = 0x1ffff}{ .mfi      mov             rExp_bias = 0xffff      fnorm.s1        fNormX   = f8      mov             rExp_2tom56 = 0xffff-56};;// Form two constants we need//  1/ln2 * 2^63  to compute  w = x * 1/ln2 * 128//  1.1000..000 * 2^(63+63-7) to right shift int(w) into the significand{ .mfi      setf.sig        fINV_LN2_2TO63 = rSig_inv_ln2 // form 1/ln2 * 2^63      fclass.m        p8,p0 = f8,0x07  // Test for x=0      nop.i 999}{ .mlx      setf.d          fRSHF_2TO56 = rRshf_2to56 // Form const 1.100 * 2^(63+56)      movl            rRshf = 0x43e8000000000000 // 1.10000 2^63 for right shift};;{ .mfi      ldfpd           fMIN_DBL_OFLOW_ARG, fMAX_DBL_NORM_ARG = [rAD_TB1],16      fclass.m        p10,p0 = f8,0x1e3  // Test for x=inf, nan, NaT      nop.i           0}{ .mfb      setf.exp        f2TOM56 = rExp_2tom56 // form 2^-56 for scaling Nfloat      nop.f           0(p6)  br.cond.spnt    SINH_UNORM            // Branch if x=unorm};;SINH_COMMON:{ .mfi      ldfe            fLn2_by_128_hi  = [rAD_TB1],16      nop.f           0      nop.i           0}{ .mfb      setf.d          fRSHF = rRshf // Form right shift const 1.100 * 2^63      nop.f           0(p8)  br.ret.spnt     b0                    // Exit for x=0, result=x};;{ .mfi      ldfe            fLn2_by_128_lo  = [rAD_TB1],16      nop.f           0      nop.i           0}{ .mfb      and             rExp_x = rExp_mask, rSignexp_x // Biased exponent of x(p10) fma.d.s0        f8 = f8,f1,f0  // Result if x=inf, nan, NaT(p10) br.ret.spnt     b0               // quick exit for x=inf, nan, NaT};;// After that last load rAD_TB1 points to the beginning of table 1{ .mfi      nop.m           0      fcmp.eq.s0      p6,p0 = f8, f0       // Dummy to set D      sub             rExp_x = rExp_x, rExp_bias // True exponent of x};;{ .mfi      nop.m           0      fmerge.s        fAbsX = f0, fNormX   // Form |x|      nop.i           0}{ .mfb      cmp.gt          p7, p0 = -2, rExp_x      // Test |x| < 2^(-2)      fma.s1          fXsq = fNormX, fNormX, f0  // x*x for small path(p7)  br.cond.spnt    SINH_SMALL               // Branch if 0 < |x| < 2^-2};;// W = X * Inv_log2_by_128// By adding 1.10...0*2^63 we shift and get round_int(W) in significand.// We actually add 1.10...0*2^56 to X * Inv_log2 to do the same thing.{ .mfi      add             rAD_P = 0x180, rAD_TB1      fma.s1          fW_2TO56_RSH  = fNormX, fINV_LN2_2TO63, fRSHF_2TO56      add             rAD_TB2 = 0x100, rAD_TB1};;// Divide arguments into the following categories://  Certain Safe                - 0.25 <= |x| <= MAX_DBL_NORM_ARG//  Possible Overflow       p14 - MAX_DBL_NORM_ARG < |x| < MIN_DBL_OFLOW_ARG//  Certain Overflow        p15 - MIN_DBL_OFLOW_ARG <= |x| < +inf//// If the input is really a double arg, then there will never be// "Possible Overflow" arguments.//{ .mfi      ldfpd           fP5, fP4  = [rAD_P] ,16      fcmp.ge.s1      p15,p14 = fAbsX,fMIN_DBL_OFLOW_ARG      nop.i           0};;// Nfloat = round_int(W)// The signficand of fW_2TO56_RSH contains the rounded integer part of W,// as a twos complement number in the lower bits (that is, it may be negative).// That twos complement number (called N) is put into rN.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91国偷自产一区二区三区成为亚洲经典| 日本韩国欧美在线| 国产精品午夜在线| 91国产免费观看| 国内精品写真在线观看| 国产精品女人毛片| 欧美在线免费视屏| 日韩精品欧美成人高清一区二区| 日韩免费高清视频| 91啪亚洲精品| 久久精品免费观看| 久久精品在线观看| 欧美在线观看视频在线| 国产黄色91视频| www.色精品| 亚洲欧洲精品一区二区精品久久久| 91丝袜呻吟高潮美腿白嫩在线观看| 免费在线视频一区| 亚洲国产综合人成综合网站| 国产精品女主播在线观看| 日韩欧美视频在线| 色婷婷av一区二区| 91国产福利在线| av亚洲产国偷v产偷v自拍| 首页国产欧美久久| 天天色天天爱天天射综合| 亚洲综合精品久久| 国产精品色噜噜| 26uuu国产电影一区二区| 91精品福利视频| 91福利精品视频| 欧美性受xxxx黑人xyx性爽| 91丝袜高跟美女视频| 欧美主播一区二区三区| 欧美日韩精品一二三区| 欧美高清hd18日本| 久久精品视频在线看| 国产精品毛片a∨一区二区三区| 国产欧美精品区一区二区三区 | 久久99精品久久久久| 久久机这里只有精品| 国产精品一区二区无线| 成人在线视频首页| 欧美日韩国产精选| 精品国产免费一区二区三区四区| 久久先锋影音av鲁色资源| 日韩一区欧美一区| 肉丝袜脚交视频一区二区| 激情综合色播激情啊| 欧洲一区在线观看| 欧美国产激情二区三区| 日韩国产一区二| 日本高清不卡视频| 亚洲国产激情av| 国产一区在线观看麻豆| 在线播放一区二区三区| 最新热久久免费视频| 国产99久久久久久免费看农村| 欧美精品免费视频| 国产精品不卡在线| 高清国产一区二区| 久久久不卡影院| 日本欧美久久久久免费播放网| 欧美性大战xxxxx久久久| 国产精品蜜臀av| 成人三级在线视频| 欧美激情自拍偷拍| 99精品国产一区二区三区不卡| 久久久www成人免费毛片麻豆| 韩国午夜理伦三级不卡影院| 欧美色老头old∨ideo| 伊人色综合久久天天| 一本大道久久精品懂色aⅴ| 亚洲欧洲综合另类| 在线观看一区不卡| 亚洲一区在线观看视频| 在线播放视频一区| 国产一区二区免费在线| 国产欧美视频一区二区| www..com久久爱| 亚洲一区成人在线| 亚洲精品一线二线三线无人区| 国产精品中文字幕日韩精品 | 一本色道a无线码一区v| 中文字幕日韩一区二区| 欧美日韩成人一区| 国产盗摄女厕一区二区三区| 国产精品久久久久毛片软件| 国模套图日韩精品一区二区| 成人激情开心网| 亚洲精选视频在线| 91麻豆精品国产| 成人一区在线看| 午夜av一区二区| 欧美电视剧在线看免费| 色婷婷av一区二区三区gif| 五月天精品一区二区三区| 中文字幕第一页久久| 91精品国产91热久久久做人人| 国产精品综合在线视频| 亚洲国产视频直播| 国产欧美日韩一区二区三区在线观看| 欧美亚一区二区| 国产酒店精品激情| 麻豆国产精品一区二区三区 | 欧美另类一区二区三区| 成人午夜电影久久影院| 午夜精品久久久久久久99水蜜桃| 久久久国产午夜精品| 欧美美女bb生活片| 色悠悠久久综合| 大胆亚洲人体视频| 丁香五精品蜜臀久久久久99网站| 琪琪一区二区三区| 美女网站色91| 麻豆精品精品国产自在97香蕉| 亚洲一区二区三区国产| 国产精品久久久久久久久搜平片| 国产亚洲婷婷免费| 日本一区二区三级电影在线观看| 国产欧美精品国产国产专区| 久久久精品影视| 日韩一区在线看| 日韩一区中文字幕| 亚洲高清视频在线| 免费成人在线影院| 91亚洲精品乱码久久久久久蜜桃| 国产成人aaa| 91在线精品一区二区| 一本一道综合狠狠老| 制服丝袜av成人在线看| 日韩欧美国产成人一区二区| 欧美激情综合五月色丁香| 亚洲a一区二区| 成人精品视频.| 日韩一级大片在线| 亚洲欧美另类久久久精品| 亚洲第一电影网| 99久久精品免费看| 精品精品欲导航| 亚洲国产成人av好男人在线观看| 国产成人精品亚洲午夜麻豆| 欧美主播一区二区三区| 自拍偷拍欧美精品| 国模一区二区三区白浆| 91精品国产91久久久久久最新毛片| 国产欧美日韩不卡| 国产中文一区二区三区| 欧美日韩精品欧美日韩精品| 亚洲丝袜精品丝袜在线| 日本sm残虐另类| 欧美日本一区二区在线观看| 中文字幕中文字幕一区二区| www.欧美精品一二区| 国产亚洲精品福利| 成人黄色在线视频| 亚洲国产精品成人综合| 日韩成人一区二区三区在线观看| 色香色香欲天天天影视综合网| 中文字幕色av一区二区三区| 97精品视频在线观看自产线路二| 日本一区二区三区视频视频| 国产在线麻豆精品观看| 欧美韩日一区二区三区| 91亚洲国产成人精品一区二三| 国产精品久久久久久久久动漫| 日本电影亚洲天堂一区| 亚洲视频在线观看三级| 91国偷自产一区二区三区成为亚洲经典 | 中文字幕精品综合| 色偷偷成人一区二区三区91| 美脚の诱脚舐め脚责91 | 99久久婷婷国产| 天堂成人国产精品一区| 4438成人网| 91色|porny| 国产成人免费在线观看| 一区二区欧美视频| 久久精品视频免费| 欧美日韩一区久久| 99精品黄色片免费大全| 天堂一区二区在线免费观看| 中文字幕乱码日本亚洲一区二区| 欧美日韩黄色影视| 972aa.com艺术欧美| 麻豆成人在线观看| 视频一区二区三区入口| 亚洲亚洲人成综合网络| 久久精品一区二区三区av| 4hu四虎永久在线影院成人| 99视频精品在线| 国产伦精品一区二区三区视频青涩| 亚洲视频一区二区在线| 日韩欧美电影一二三| 精品不卡在线视频| 久久久不卡网国产精品一区| 欧美一级夜夜爽| 久久久国产午夜精品| 精品理论电影在线观看| 精品成人在线观看|