- /* J(-n,x) = (-1)^n * J(n, x), J(n, -x) = (-1)^n * J(n, x)
- * Thus, J(-n,x) = J(n,-x)
- */
- GET_FLOAT_WORD(hx, x);
- ix = 0x7fffffff & hx;
- /* if J(n,NaN) is NaN */
- if (ix > 0x7f800000)
- return x+x;
+ /* J(-n,x) = J(n,-x), use |n|-1 to avoid overflow in -n */
+ if (n == 0)
+ return j0f(x);