| 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 fmul %st(1) // (x-1)^2 : x-1 : log(2) | 68 fmul %st(1) // (x-1)^2 : x-1 : log(2) |
| 69 fadd %st(1) // x-1+(x-1)^2 : x-1 : log(2) | 69 fadd %st(1) // x-1+(x-1)^2 : x-1 : log(2) |
| 70 fadd %st(1) // 2*(x-1)+(x-1)^2 : x-1 : log(2) | 70 fadd %st(1) // 2*(x-1)+(x-1)^2 : x-1 : log(2) |
| 71 fsqrt // sqrt(2*(x-1)+(x-1)^2) : x-1 : log(2) | 71 fsqrt // sqrt(2*(x-1)+(x-1)^2) : x-1 : log(2) |
| 72 faddp // x-1+sqrt(2*(x-1)+(x-1)^2) : log(2) | 72 faddp // x-1+sqrt(2*(x-1)+(x-1)^2) : log(2) |
| 73 fcoml MO(limit) | 73 fcoml MO(limit) |
| 74 fnstsw | 74 fnstsw |
| 75 sahf | 75 sahf |
| 76 ja 2f | 76 ja 2f |
| 77 fyl2xp1 // log1p(x-1+sqrt(2*(x-1)+(x-1)^2)) | 77 fyl2xp1 // log1p(x-1+sqrt(2*(x-1)+(x-1)^2)) |
| 78 » ret | 78 » NACLRET |
| 79 | 79 |
| 80 2: faddl MO(one) // x+sqrt(2*(x-1)+(x-1)^2) : log(2) | 80 2: faddl MO(one) // x+sqrt(2*(x-1)+(x-1)^2) : log(2) |
| 81 fyl2x // log(x+sqrt(2*(x-1)+(x-1)^2)) | 81 fyl2x // log(x+sqrt(2*(x-1)+(x-1)^2)) |
| 82 » ret | 82 » NACLRET |
| 83 | 83 |
| 84 // x > 2^34 => y = log(x) + log(2) | 84 // x > 2^34 => y = log(x) + log(2) |
| 85 .align ALIGNARG(4) | 85 .align ALIGNARG(4) |
| 86 3: fyl2x // log(x) | 86 3: fyl2x // log(x) |
| 87 fldln2 // log(2) : log(x) | 87 fldln2 // log(2) : log(x) |
| 88 faddp // log(x)+log(2) | 88 faddp // log(x)+log(2) |
| 89 » ret | 89 » NACLRET |
| 90 | 90 |
| 91 // 2^34 > x > 2 => y = log(2*x - 1/(x+sqrt(x*x-1))) | 91 // 2^34 > x > 2 => y = log(2*x - 1/(x+sqrt(x*x-1))) |
| 92 .align ALIGNARG(4) | 92 .align ALIGNARG(4) |
| 93 4: fld %st // x : x : log(2) | 93 4: fld %st // x : x : log(2) |
| 94 fadd %st, %st(1) // x : 2*x : log(2) | 94 fadd %st, %st(1) // x : 2*x : log(2) |
| 95 fld %st // x : x : 2*x : log(2) | 95 fld %st // x : x : 2*x : log(2) |
| 96 fmul %st(1) // x^2 : x : 2*x : log(2) | 96 fmul %st(1) // x^2 : x : 2*x : log(2) |
| 97 fsubl MO(one) // x^2-1 : x : 2*x : log(2) | 97 fsubl MO(one) // x^2-1 : x : 2*x : log(2) |
| 98 fsqrt // sqrt(x^2-1) : x : 2*x : log(2) | 98 fsqrt // sqrt(x^2-1) : x : 2*x : log(2) |
| 99 faddp // x+sqrt(x^2-1) : 2*x : log(2) | 99 faddp // x+sqrt(x^2-1) : 2*x : log(2) |
| 100 fdivrl MO(one) // 1/(x+sqrt(x^2-1)) : 2*x : log(2) | 100 fdivrl MO(one) // 1/(x+sqrt(x^2-1)) : 2*x : log(2) |
| 101 fsubrp // 2*x+1/(x+sqrt(x^2)-1) : log(2) | 101 fsubrp // 2*x+1/(x+sqrt(x^2)-1) : log(2) |
| 102 fyl2x // log(2*x+1/(x+sqrt(x^2-1))) | 102 fyl2x // log(2*x+1/(x+sqrt(x^2-1))) |
| 103 » ret | 103 » NACLRET |
| 104 | 104 |
| 105 // x < 1 => NaN | 105 // x < 1 => NaN |
| 106 .align ALIGNARG(4) | 106 .align ALIGNARG(4) |
| 107 5: fldz | 107 5: fldz |
| 108 fdiv %st, %st(0) | 108 fdiv %st, %st(0) |
| 109 » ret | 109 » NACLRET |
| 110 END(__ieee754_acoshl) | 110 END(__ieee754_acoshl) |
| OLD | NEW |