```5261 libm should stop using synonyms.h
5298 fabs is 0-sized, confuses dis(1) and others
Reviewed by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Approved by: Gordon Ross <gwr@nexenta.com>
```

 Split Close Expand all Collapse all
```          --- old/usr/src/lib/libm/common/C/asin.c
+++ new/usr/src/lib/libm/common/C/asin.c
```
 ↓ open down ↓ 19 lines elided ↑ open up ↑
```  20   20   */
21   21
22   22  /*
24   24   */
25   25  /*
27   27   * Use is subject to license terms.
28   28   */
29   29
30      -#pragma weak asin = __asin
30 +#pragma weak __asin = asin
31   31
32   32  /* INDENT OFF */
33   33  /*
34   34   * asin(x)
35   35   * Method :
36   36   *      Since  asin(x) = x + x^3/6 + x^5*3/40 + x^7*15/336 + ...
37   37   *      we approximate asin(x) on [0,0.5] by
38   38   *              asin(x) = x + x*x^2*R(x^2)
39   39   *      where
40   40   *              R(x^2) is a rational approximation of (asin(x)-x)/x^3
```
 ↓ open down ↓ 14 lines elided ↑ open up ↑
```  55   55   *                      = pio4_hi+(pio4-2s)-(2s*z*R(z)-pio2_lo)
56   56   *                      = pio4_hi+(pio4-2f)-(2s*z*R(z)-(pio2_lo+2c))
57   57   *
58   58   * Special cases:
59   59   *      if x is NaN, return x itself;
60   60   *      if |x|>1, return NaN with invalid signal.
61   61   *
62   62   */
63   63  /* INDENT ON */
64   64
65      -#include "libm_synonyms.h"      /* __asin, __sqrt, __isnan */
66   65  #include "libm_protos.h"        /* _SVID_libm_error */
67   66  #include "libm_macros.h"
68   67  #include <math.h>
69   68
70   69  /* INDENT OFF */
71   70  static const double xxx[] = {
72   71  /* one */        1.00000000000000000000e+00,    /* 3FF00000, 00000000 */
73   72  /* huge */       1.000e+300,
74   73  /* pio2_hi */    1.57079632679489655800e+00,    /* 3FF921FB, 54442D18 */
75   74  /* pio2_lo */    6.12323399573676603587e-17,    /* 3C91A626, 33145C07 */
```
 ↓ open down ↓ 83 lines elided ↑ open up ↑
`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`