Home | History | Annotate | Download | only in dist

Lines Matching refs:Log2

578 T1:	long		0x40C62D38,0xD3D64634	# 16381 LOG2 LEAD
579 T2: long 0x3D6F90AE,0xB1E75CC7 # 16381 LOG2 TRAIL
6848 # Step 2. Calculate N = round-to-nearest-int( X * 64/log2 ). #
6851 # 2.2 N := round-to-nearest-integer( X * 64/log2 ). #
6868 # Z = X*(64/log2)*(1+eps), |eps| <= 2^(-24). #
6872 # Step 3. Calculate X - N*log2/64. #
6874 # where L1 := single-precision(-log2/64). #
6876 # L2 := extended-precision(-log2/64 - L1).#
6878 # approximate the value -log2/64 to 88 bits of accuracy. #
6887 # N = rnd-to-int( X*64/log2 (1+eps) ), |eps|<=2^(-24) #
6888 # X*64/log2 (1+eps) = N + f, |f| <= 0.5 #
6889 # X*64/log2 - N = f - eps*X 64/log2 #
6890 # X - N*log2/64 = f*log2/64 - eps*X #
6893 # Now |X| <= 16446 log2, thus #
6895 # |X - N*log2/64| <= (0.5 + 16446/2^(18))*log2/64 #
6896 # <= 0.57 log2/64. #
6907 # Note that 0.0062 is slightly bigger than 0.57 log2/64. #
6936 # X = (M1+M)log2 + Jlog2/64 + R, |M1+M| >= 16380. #
6959 # Step 8. Handle exp(X) where |X| >= 16380log2. #
6960 # 8.1 If |X| > 16480 log2, go to Step 9. #
6962 # 8.2 N := round-to-integer( X * 64/log2 ) #
6972 # Step 9. Handle exp(X), |X| > 16480 log2. #
7007 # Step 2. Calculate N = round-to-nearest-int( X * 64/log2 ). #
7008 # 2.1 N := round-to-nearest-integer( X * 64/log2 ). #
7018 # Step 3. Calculate X - N*log2/64. #
7020 # where L1 := single-precision(-log2/64). #
7022 # L2 := extended-precision(-log2/64 - L1).#
7024 # shows that |R| <= 0.0055 (note that |X| <= 70 log2 in #
7105 # 10.1 If X >= 70log2 , exp(X) - 1 = exp(X) for all #
7107 # 10.2 If X <= -70log2, exp(X) - 1 = -1 for all practical #
7229 cmp.l %d1,&0x400CB167 # 16380 log2 trunc. 16 bits
7235 #--This is the normal branch: 2^(-65) <= |X| < 16380 log2.
7239 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7242 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7260 fmul.s &0xBC317218,%fp0 # N * L1, L1 = lead(-log2/64)
7261 fmul.x L2(%pc),%fp2 # N * L2, L1+L2 = -log2/64
7330 cmp.l %d1,&0x400CB27C # 16480 log2
7336 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7339 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7394 cmp.l %d1,&0x4004C215 # 70log2 rounded up to 16 bits
7395 ble.b EM1MAIN # 1/4 <= |X| <= 70log2
7400 #--This is the case: 1/4 <= |X| <= 70 log2.
7404 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7406 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7422 fmul.s &0xBC317218,%fp0 # N * L1, L1 = lead(-log2/64)
7423 fmul.x L2(%pc),%fp2 # N * L2, L1+L2 = -log2/64
7594 #--Step 10 |X| > 70 log2
7699 # 1. If |X| > 16380 log2, go to 3. #
7701 # 2. (|X| <= 16380 log2) Cosh(X) is obtained by the formulae #
7706 # 3. (|X| > 16380 log2). If |X| > 16480 log2, go to 5. #
7708 # 4. (16380 log2 < |X| <= 16480 log2) #
7714 # Y' := Y - 16381 log2 #
7718 # 5. (|X| > 16480 log2) sinh(X) must overflow. Return #
7738 #--THIS IS THE USUAL CASE, |X| < 16380 LOG2
7766 fsub.d T2(%pc),%fp0 # |X| - 16381 LOG2, ACCURATE
7813 # 1. If |X| > 16380 log2, go to 3. #
7815 # 2. (|X| <= 16380 log2) Sinh(X) is obtained by the formula #
7820 # 3. If |X| > 16480 log2, go to 5. #
7822 # 4. (16380 log2 < |X| <= 16480 log2) #
7829 # Y' := Y - 16381 log2 #
7833 # 5. (|X| > 16480 log2) sinh(X) must overflow. Return #
7851 #--THIS IS THE USUAL CASE, |X| < 16380 LOG2
7891 fsub.d T2(%pc),%fp0 # |X| - 16381 LOG2, ACCURATE
7931 # 1. If |X| >= (5/2) log2 or |X| <= 2**(-40), go to 3. #
7933 # 2. (2**(-40) < |X| < (5/2) log2) Calculate tanh(X) by #
7938 # 3. (|X| <= 2**(-40) or |X| >= (5/2) log2). If |X| < 1, #
7941 # 4. (|X| >= (5/2) log2) If |X| >= 50 log2, go to 6. #
7943 # 5. ((5/2) log2 <= |X| < 50 log2) Calculate tanh(X) by #
7948 # 6. (|X| >= 50 log2) Tanh(X) = +-1 (round to nearest). Thus, we #
7976 cmp.l %d1, &0x3fffddce # is |X| > (5/2)LOG2?
8015 #-- (5/2) LOG2 < |X| < 50 LOG2,
8356 #--THE IDEA IS THAT LOG(X) = K*LOG2 + LOG(Y)
8357 #-- = K*LOG2 + LOG(F) + LOG(1 + (Y-F)/F).
8394 fmul.x LOGOF2(%pc),%fp1 # GET K*LOG2 WHILE FP0 IS NOT READY
8397 fmov.x %fp1,KLOG2(%a6) # PUT K*LOG2 IN MEMORY, FREE FP1
8880 #--entry point for Log2(X), X is normalized
8913 #--entry point for Log2(X), X is denormalized
8954 # 4. Overwrite r := r * log2. Then #
8999 long 0x406A934F,0x0979A371 # 64LOG10/LOG2
9001 long 0x3F734413,0x509F8000 # LOG2/64LOG10
9008 LOG2: long 0x3FFE0000,0xB17217F7,0xD1CF79AC,0x00000000
9156 fmul.x LOG2(%pc),%fp0 # FP0 IS R
9210 cmp.l %d1,&0x400B9B07 # |X| <= 16480*log2/log10 ?
9218 fmul.d L2TEN64(%pc),%fp1 # X*64*LOG10/LOG2
9219 fmov.l %fp1,INT(%a6) # N=INT(X*64*LOG10/LOG2)
9242 fmul.d L10TWO1(%pc),%fp1 # N*(LOG2/64LOG10)_LEAD
9245 fmul.x L10TWO2(%pc),%fp2 # N*(LOG2/64LOG10)_TRAIL
9388 # $0D log2(e) (inexact)
9499 long 0x3fff0000,0xb8aa3b29,0x5c17f0bc # log2(e)
9506 long 0x3fff0000,0xb8aa3b29,0x5c17f0bb # log2(e)
9512 long 0x3fff0000,0xb8aa3b29,0x5c17f0bc # log2(e)
23715 fmul.x PLOG2(%pc),%fp0 # if pos, mul by LOG2