| OLD | NEW |
| 1 /* ix87 specific implementation of arctanh function. | 1 /* ix87 specific implementation of arctanh function. |
| 2 Copyright (C) 1996, 1999 Free Software Foundation, Inc. | 2 Copyright (C) 1996, 1999 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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 84 fmul %st(2) // 2*|x|^2 : 1-|x| : 2*|x| : 0.5*ln2 | 84 fmul %st(2) // 2*|x|^2 : 1-|x| : 2*|x| : 0.5*ln2 |
| 85 fdivp // (2*|x|^2)/(1-|x|) : 2*|x| : 0.5*ln2 | 85 fdivp // (2*|x|^2)/(1-|x|) : 2*|x| : 0.5*ln2 |
| 86 faddp // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 86 faddp // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 87 fcoml MO(limit) // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 87 fcoml MO(limit) // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 88 fnstsw // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 88 fnstsw // 2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 89 sahf | 89 sahf |
| 90 jae 4f | 90 jae 4f |
| 91 fyl2xp1 // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) | 91 fyl2xp1 // 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 4: faddl MO(one) // 1+2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 | 97 4: faddl MO(one) // 1+2*|x|+(2*|x|^2)/(1-|x|) : 0.5*ln2 |
| 98 fyl2x // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) | 98 fyl2x // 0.5*ln2*ld(1+2*|x|+(2*|x|^2)/(1-|x|)) |
| 99 jecxz 3f | 99 jecxz 3f |
| 100 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) | 100 fchs // 0.5*ln2*ld(1+2*x+(2*x^2)/(1-x)) |
| 101 3:» ret | 101 3:» NACLRET |
| 102 | 102 |
| 103 .align ALIGNARG(4) | 103 .align ALIGNARG(4) |
| 104 2: faddl MO(one) // 1+|x| : |x| : 0.5*ln2 | 104 2: faddl MO(one) // 1+|x| : |x| : 0.5*ln2 |
| 105 fxch // |x| : 1+|x| : 0.5*ln2 | 105 fxch // |x| : 1+|x| : 0.5*ln2 |
| 106 fsubrl MO(one) // 1-|x| : 1+|x| : 0.5*ln2 | 106 fsubrl MO(one) // 1-|x| : 1+|x| : 0.5*ln2 |
| 107 fdivrp // (1+|x|)/(1-|x|) : 0.5*ln2 | 107 fdivrp // (1+|x|)/(1-|x|) : 0.5*ln2 |
| 108 fyl2x // 0.5*ln2*ld((1+|x|)/(1-|x|)) | 108 fyl2x // 0.5*ln2*ld((1+|x|)/(1-|x|)) |
| 109 jecxz 3f | 109 jecxz 3f |
| 110 fchs // 0.5*ln2*ld((1+x)/(1-x)) | 110 fchs // 0.5*ln2*ld((1+x)/(1-x)) |
| 111 3:» ret | 111 3:» NACLRET |
| 112 | 112 |
| 113 // x == NaN or ±Inf | 113 // x == NaN or ±Inf |
| 114 5: cmpl $0x80000000, 8(%esp) | 114 5: cmpl $0x80000000, 8(%esp) |
| 115 ja 6f | 115 ja 6f |
| 116 cmpl $0, 4(%esp) | 116 cmpl $0, 4(%esp) |
| 117 je 7b | 117 je 7b |
| 118 6: fldt 4(%esp) | 118 6: fldt 4(%esp) |
| 119 » ret | 119 » NACLRET |
| 120 END(__ieee754_atanhl) | 120 END(__ieee754_atanhl) |
| OLD | NEW |