| OLD | NEW |
| 1 /* ix87 specific implementation of arctanh function. | 1 /* ix87 specific implementation of arctanh function. |
| 2 Copyright (C) 1996, 1999, 2005 Free Software Foundation, Inc. | 2 Copyright (C) 1996, 1999, 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 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 77 fmul %st(2) // 2*|x|^2 : 1-|x| : 2*|x| : 0.5*ln2 | 77 fmul %st(2) // 2*|x|^2 : 1-|x| : 2*|x| : 0.5*ln2 |
| 78 fdivp // (2*|x|^2)/(1-|x|) : 2*|x| : 0.5*ln2 | 78 fdivp // (2*|x|^2)/(1-|x|) : 2*|x| : 0.5*ln2 |
| 79 faddp // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 79 faddp // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 80 fcoml MO(limit) // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 80 fcoml MO(limit) // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 81 fnstsw // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 81 fnstsw // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 82 sahf | 82 sahf |
| 83 jae 4f | 83 jae 4f |
| 84 fyl2xp1 // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) | 84 fyl2xp1 // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) |
| 85 jecxz 3f | 85 jecxz 3f |
| 86 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) | 86 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) |
| 87 3:» ret | 87 3:» NACLRET |
| 88 | 88 |
| 89 .align ALIGNARG(4) | 89 .align ALIGNARG(4) |
| 90 4: faddl MO(one) // 1+2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 90 4: faddl MO(one) // 1+2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 91 fyl2x // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) | 91 fyl2x // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) |
| 92 jecxz 3f | 92 jecxz 3f |
| 93 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) | 93 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) |
| 94 3:» ret | 94 3:» NACLRET |
| 95 | 95 |
| 96 .align ALIGNARG(4) | 96 .align ALIGNARG(4) |
| 97 2: faddl MO(one) // 1+|x| : |x| : 0.5*ln2 | 97 2: faddl MO(one) // 1+|x| : |x| : 0.5*ln2 |
| 98 fxch // |x| : 1+|x| : 0.5*ln2 | 98 fxch // |x| : 1+|x| : 0.5*ln2 |
| 99 fsubrl MO(one) // 1-|x| : 1+|x| : 0.5*ln2 | 99 fsubrl MO(one) // 1-|x| : 1+|x| : 0.5*ln2 |
| 100 fdivrp // (1+|x|)/(1-|x|) : 0.5*ln2 | 100 fdivrp // (1+|x|)/(1-|x|) : 0.5*ln2 |
| 101 fyl2x // 0.5*ln2*ld((1+|x|)/(1-|x|)) | 101 fyl2x // 0.5*ln2*ld((1+|x|)/(1-|x|)) |
| 102 jecxz 3f | 102 jecxz 3f |
| 103 fchs // 0.5*ln2*ld((1+x)/(1-x)) | 103 fchs // 0.5*ln2*ld((1+x)/(1-x)) |
| 104 3:» ret | 104 3:» NACLRET |
| 105 | 105 |
| 106 // x == NaN | 106 // x == NaN |
| 107 5: flds 4(%esp) | 107 5: flds 4(%esp) |
| 108 » ret | 108 » NACLRET |
| 109 END(__ieee754_atanhf) | 109 END(__ieee754_atanhf) |
| OLD | NEW |