Home | History | Annotate | Download | only in dist

Lines Matching refs:Log2

558 T1:	long		0x40C62D38,0xD3D64634	# 16381 LOG2 LEAD
559 T2: long 0x3D6F90AE,0xB1E75CC7 # 16381 LOG2 TRAIL
6742 # Step 2. Calculate N = round-to-nearest-int( X * 64/log2 ). #
6745 # 2.2 N := round-to-nearest-integer( X * 64/log2 ). #
6762 # Z = X*(64/log2)*(1+eps), |eps| <= 2^(-24). #
6766 # Step 3. Calculate X - N*log2/64. #
6768 # where L1 := single-precision(-log2/64). #
6770 # L2 := extended-precision(-log2/64 - L1).#
6772 # approximate the value -log2/64 to 88 bits of accuracy. #
6781 # N = rnd-to-int( X*64/log2 (1+eps) ), |eps|<=2^(-24) #
6782 # X*64/log2 (1+eps) = N + f, |f| <= 0.5 #
6783 # X*64/log2 - N = f - eps*X 64/log2 #
6784 # X - N*log2/64 = f*log2/64 - eps*X #
6787 # Now |X| <= 16446 log2, thus #
6789 # |X - N*log2/64| <= (0.5 + 16446/2^(18))*log2/64 #
6790 # <= 0.57 log2/64. #
6801 # Note that 0.0062 is slightly bigger than 0.57 log2/64. #
6830 # X = (M1+M)log2 + Jlog2/64 + R, |M1+M| >= 16380. #
6853 # Step 8. Handle exp(X) where |X| >= 16380log2. #
6854 # 8.1 If |X| > 16480 log2, go to Step 9. #
6856 # 8.2 N := round-to-integer( X * 64/log2 ) #
6866 # Step 9. Handle exp(X), |X| > 16480 log2. #
6901 # Step 2. Calculate N = round-to-nearest-int( X * 64/log2 ). #
6902 # 2.1 N := round-to-nearest-integer( X * 64/log2 ). #
6912 # Step 3. Calculate X - N*log2/64. #
6914 # where L1 := single-precision(-log2/64). #
6916 # L2 := extended-precision(-log2/64 - L1).#
6918 # shows that |R| <= 0.0055 (note that |X| <= 70 log2 in #
6999 # 10.1 If X >= 70log2 , exp(X) - 1 = exp(X) for all #
7001 # 10.2 If X <= -70log2, exp(X) - 1 = -1 for all practical #
7123 cmp.l %d1,&0x400CB167 # 16380 log2 trunc. 16 bits
7129 #--This is the normal branch: 2^(-65) <= |X| < 16380 log2.
7133 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7136 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7154 fmul.s &0xBC317218,%fp0 # N * L1, L1 = lead(-log2/64)
7155 fmul.x L2(%pc),%fp2 # N * L2, L1+L2 = -log2/64
7224 cmp.l %d1,&0x400CB27C # 16480 log2
7230 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7233 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7288 cmp.l %d1,&0x4004C215 # 70log2 rounded up to 16 bits
7289 ble.b EM1MAIN # 1/4 <= |X| <= 70log2
7294 #--This is the case: 1/4 <= |X| <= 70 log2.
7298 fmul.s &0x42B8AA3B,%fp0 # 64/log2 * X
7300 fmov.l %fp0,%d1 # N = int( X * 64/log2 )
7316 fmul.s &0xBC317218,%fp0 # N * L1, L1 = lead(-log2/64)
7317 fmul.x L2(%pc),%fp2 # N * L2, L1+L2 = -log2/64
7488 #--Step 10 |X| > 70 log2
7593 # 1. If |X| > 16380 log2, go to 3. #
7595 # 2. (|X| <= 16380 log2) Cosh(X) is obtained by the formulae #
7600 # 3. (|X| > 16380 log2). If |X| > 16480 log2, go to 5. #
7602 # 4. (16380 log2 < |X| <= 16480 log2) #
7608 # Y' := Y - 16381 log2 #
7612 # 5. (|X| > 16480 log2) sinh(X) must overflow. Return #
7632 #--THIS IS THE USUAL CASE, |X| < 16380 LOG2
7660 fsub.d T2(%pc),%fp0 # |X| - 16381 LOG2, ACCURATE
7707 # 1. If |X| > 16380 log2, go to 3. #
7709 # 2. (|X| <= 16380 log2) Sinh(X) is obtained by the formula #
7714 # 3. If |X| > 16480 log2, go to 5. #
7716 # 4. (16380 log2 < |X| <= 16480 log2) #
7723 # Y' := Y - 16381 log2 #
7727 # 5. (|X| > 16480 log2) sinh(X) must overflow. Return #
7745 #--THIS IS THE USUAL CASE, |X| < 16380 LOG2
7785 fsub.d T2(%pc),%fp0 # |X| - 16381 LOG2, ACCURATE
7825 # 1. If |X| >= (5/2) log2 or |X| <= 2**(-40), go to 3. #
7827 # 2. (2**(-40) < |X| < (5/2) log2) Calculate tanh(X) by #
7832 # 3. (|X| <= 2**(-40) or |X| >= (5/2) log2). If |X| < 1, #
7835 # 4. (|X| >= (5/2) log2) If |X| >= 50 log2, go to 6. #
7837 # 5. ((5/2) log2 <= |X| < 50 log2) Calculate tanh(X) by #
7842 # 6. (|X| >= 50 log2) Tanh(X) = +-1 (round to nearest). Thus, we #
7870 cmp.l %d1, &0x3fffddce # is |X| > (5/2)LOG2?
7909 #-- (5/2) LOG2 < |X| < 50 LOG2,
8250 #--THE IDEA IS THAT LOG(X) = K*LOG2 + LOG(Y)
8251 #-- = K*LOG2 + LOG(F) + LOG(1 + (Y-F)/F).
8288 fmul.x LOGOF2(%pc),%fp1 # GET K*LOG2 WHILE FP0 IS NOT READY
8291 fmov.x %fp1,KLOG2(%a6) # PUT K*LOG2 IN MEMORY, FREE FP1
8774 #--entry point for Log2(X), X is normalized
8807 #--entry point for Log2(X), X is denormalized
8848 # 4. Overwrite r := r * log2. Then #
8893 long 0x406A934F,0x0979A371 # 64LOG10/LOG2
8895 long 0x3F734413,0x509F8000 # LOG2/64LOG10
8902 LOG2: long 0x3FFE0000,0xB17217F7,0xD1CF79AC,0x00000000
9050 fmul.x LOG2(%pc),%fp0 # FP0 IS R
9104 cmp.l %d1,&0x400B9B07 # |X| <= 16480*log2/log10 ?
9112 fmul.d L2TEN64(%pc),%fp1 # X*64*LOG10/LOG2
9113 fmov.l %fp1,INT(%a6) # N=INT(X*64*LOG10/LOG2)
9136 fmul.d L10TWO1(%pc),%fp1 # N*(LOG2/64LOG10)_LEAD
9139 fmul.x L10TWO2(%pc),%fp2 # N*(LOG2/64LOG10)_TRAIL