} if (x <= 0.0L) { if (x < 0.0L) return (zero / zero); return 1.0L / zero;
 __ieee754_y0l(long double x){  long double xx, xinv, z, p, q, c, s, cc, ss;  if (x <= 0.0L)    {      if (x < 0.0L)	return (zero / zero);      return 1.0L / zero;    }  if (! finitel (x))    {      if (x != x)	return x;      else	return 0.0L;    }  xx = fabsl (x);  if (xx <= 2.0L)    {      /* 0 <= x <= 2 */      z = xx * xx;      p = neval (z, Y0_2N, NY0_2N) / deval (z, Y0_2D, NY0_2D);      p = TWOOPI * logl(x) * __ieee754_j0l(x) + p;      return p;    }  xinv = 1.0L / xx;  z = xinv * xinv;  if (xinv <= 0.25)    {      if (xinv <= 0.125)	{	  if (xinv <= 0.0625)	    {	      p = neval (z, P16_IN, NP16_IN) / deval (z, P16_ID, NP16_ID);	      q = neval (z, Q16_IN, NQ16_IN) / deval (z, Q16_ID, NQ16_ID);	    }	  else	    {	      p = neval (z, P8_16N, NP8_16N) / deval (z, P8_16D, NP8_16D);	      q = neval (z, Q8_16N, NQ8_16N) / deval (z, Q8_16D, NQ8_16D);	    }	}      else if (xinv <= 0.1875)	{	  p = neval (z, P5_8N, NP5_8N) / deval (z, P5_8D, NP5_8D);	  q = neval (z, Q5_8N, NQ5_8N) / deval (z, Q5_8D, NQ5_8D);	}      else	{	  p = neval (z, P4_5N, NP4_5N) / deval (z, P4_5D, NP4_5D);	  q = neval (z, Q4_5N, NQ4_5N) / deval (z, Q4_5D, NQ4_5D);	}    }				/* .25 */  else /* if (xinv <= 0.5) */    {      if (xinv <= 0.375)	{	  if (xinv <= 0.3125)	    {	      p = neval (z, P3r2_4N, NP3r2_4N) / deval (z, P3r2_4D, NP3r2_4D);	      q = neval (z, Q3r2_4N, NQ3r2_4N) / deval (z, Q3r2_4D, NQ3r2_4D);	    }	  else	    {	      p = neval (z, P2r7_3r2N, NP2r7_3r2N)		  / deval (z, P2r7_3r2D, NP2r7_3r2D);	      q = neval (z, Q2r7_3r2N, NQ2r7_3r2N)		  / deval (z, Q2r7_3r2D, NQ2r7_3r2D);	    }	}      else if (xinv <= 0.4375)	{	  p = neval (z, P2r3_2r7N, NP2r3_2r7N)	      / deval (z, P2r3_2r7D, NP2r3_2r7D);	  q = neval (z, Q2r3_2r7N, NQ2r3_2r7N)	      / deval (z, Q2r3_2r7D, NQ2r3_2r7D);	}      else	{	  p = neval (z, P2_2r3N, NP2_2r3N) / deval (z, P2_2r3D, NP2_2r3D);	  q = neval (z, Q2_2r3N, NQ2_2r3N) / deval (z, Q2_2r3D, NQ2_2r3D);	}    }  p = 1.0L + z * p;  q = z * xinv * q;  q = q - 0.125L * xinv;  /* X = x - pi/4     cos(X) = cos(x) cos(pi/4) + sin(x) sin(pi/4)     = 1/sqrt(2) * (cos(x) + sin(x))     sin(X) = sin(x) cos(pi/4) - cos(x) sin(pi/4)     = 1/sqrt(2) * (sin(x) - cos(x))     sin(x) +- cos(x) = -cos(2x)/(sin(x) -+ cos(x))     cf. Fdlibm.  */  c = cosl (x);  s = sinl (x);  ss = s - c;  cc = s + c;  z = -cosl (x + x);  if ((s * c) < 0)    cc = z / ss;  else    ss = z / cc;  z = ONEOSQPI * (p * ss + q * cc) / sqrtl (x);  return z;}