| OLD | NEW |
| 1 /* ix87 specific implementation of arcsinh. | 1 /* ix87 specific implementation of arcsinh. |
| 2 Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc. | 2 Copyright (C) 1996, 1997, 2005 Free Software Foundation, Inc. |
| 3 This file is part of the GNU C Library. | 3 This file is part of the GNU C Library. |
| 4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. | 4 Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. |
| 5 | 5 |
| 6 The GNU C Library is free software; you can redistribute it and/or | 6 The GNU C Library is free software; you can redistribute it and/or |
| 7 modify it under the terms of the GNU Lesser General Public | 7 modify it under the terms of the GNU Lesser General Public |
| 8 License as published by the Free Software Foundation; either | 8 License as published by the Free Software Foundation; either |
| 9 version 2.1 of the License, or (at your option) any later version. | 9 version 2.1 of the License, or (at your option) any later version. |
| 10 | 10 |
| (...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 83 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2
) | 83 faddl MO(one) // 1+sqrt(1+|x|^2) : |x|^2 : |x| : log(2
) |
| 84 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2
) | 84 fdivrp // |x|^2/(1+sqrt(1+|x|^2)) : |x| : log(2
) |
| 85 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2) | 85 faddp // |x|+|x|^2/(1+sqrt(1+|x|^2)) : log(2) |
| 86 fcoml MO(limit) | 86 fcoml MO(limit) |
| 87 fnstsw | 87 fnstsw |
| 88 sahf | 88 sahf |
| 89 ja 6f | 89 ja 6f |
| 90 fyl2xp1 | 90 fyl2xp1 |
| 91 jecxz 4f | 91 jecxz 4f |
| 92 fchs | 92 fchs |
| 93 4:» ret | 93 4:» NACLRET |
| 94 | 94 |
| 95 7: fldt 4(%esp) | 95 7: fldt 4(%esp) |
| 96 » ret | 96 » NACLRET |
| 97 | 97 |
| 98 6: faddl MO(one) | 98 6: faddl MO(one) |
| 99 fyl2x | 99 fyl2x |
| 100 jecxz 4f | 100 jecxz 4f |
| 101 fchs | 101 fchs |
| 102 4:» ret | 102 4:» NACLRET |
| 103 | 103 |
| 104 // |x| < 2^-34 => y = x (inexact iff |x| != 0.0) | 104 // |x| < 2^-34 => y = x (inexact iff |x| != 0.0) |
| 105 .align ALIGNARG(4) | 105 .align ALIGNARG(4) |
| 106 2: | 106 2: |
| 107 #ifdef PIC | 107 #ifdef PIC |
| 108 LOAD_PIC_REG (dx) | 108 LOAD_PIC_REG (dx) |
| 109 #endif | 109 #endif |
| 110 jecxz 4f | 110 jecxz 4f |
| 111 fchs // x | 111 fchs // x |
| 112 4: fld %st // x : x | 112 4: fld %st // x : x |
| 113 fldt MO(huge) // huge : x : x | 113 fldt MO(huge) // huge : x : x |
| 114 faddp // huge+x : x | 114 faddp // huge+x : x |
| 115 fstp %st(0) // x | 115 fstp %st(0) // x |
| 116 » ret | 116 » NACLRET |
| 117 | 117 |
| 118 // |x| > 2^34 => y = sign(x) * (log(|x|) + log(2)) | 118 // |x| > 2^34 => y = sign(x) * (log(|x|) + log(2)) |
| 119 .align ALIGNARG(4) | 119 .align ALIGNARG(4) |
| 120 3: fyl2x // log(|x|) | 120 3: fyl2x // log(|x|) |
| 121 fldln2 // log(2) : log(|x|) | 121 fldln2 // log(2) : log(|x|) |
| 122 faddp // log(|x|)+log(2) | 122 faddp // log(|x|)+log(2) |
| 123 jecxz 4f | 123 jecxz 4f |
| 124 fchs | 124 fchs |
| 125 4:» ret | 125 4:» NACLRET |
| 126 | 126 |
| 127 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1))) | 127 // |x| > 2 => y = sign(x) * log(2*|x| + 1/(|x|+sqrt(x*x+1))) |
| 128 .align ALIGNARG(4) | 128 .align ALIGNARG(4) |
| 129 5: fld %st // |x| : |x| : log(2) | 129 5: fld %st // |x| : |x| : log(2) |
| 130 fadd %st, %st(1) // |x| : 2*|x| : log(2) | 130 fadd %st, %st(1) // |x| : 2*|x| : log(2) |
| 131 fld %st // |x| : |x| : 2*|x| : log(2) | 131 fld %st // |x| : |x| : 2*|x| : log(2) |
| 132 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2) | 132 fmul %st(1) // |x|^2 : |x| : 2*|x| : log(2) |
| 133 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2) | 133 faddl MO(one) // 1+|x|^2 : |x| : 2*|x| : log(2) |
| 134 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2) | 134 fsqrt // sqrt(1+|x|^2) : |x| : 2*|x| : log(2) |
| 135 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2) | 135 faddp // |x|+sqrt(1+|x|^2) : 2*|x| : log(2) |
| 136 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2
) | 136 fdivrl MO(one) // 1/(|x|+sqrt(1+|x|^2)) : 2*|x| : log(2
) |
| 137 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2) | 137 faddp // 2*|x|+1/(|x|+sqrt(1+|x|^2)) : log(2) |
| 138 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2))) | 138 fyl2x // log(2*|x|+1/(|x|+sqrt(1+|x|^2))) |
| 139 jecxz 4f | 139 jecxz 4f |
| 140 fchs | 140 fchs |
| 141 4:» ret | 141 4:» NACLRET |
| 142 END(__asinhl) | 142 END(__asinhl) |
| 143 weak_alias (__asinhl, asinhl) | 143 weak_alias (__asinhl, asinhl) |
| OLD | NEW |