Print this page
        
*** 101,111 ****
          /* when x = 0 */
          if (x == zero)
                  return (signy == 1 ? -PIo2 - tiny : PIo2 + tiny);
  
          /* when x is INF */
!         if (!finitel(x))
                  if (!finitel(y)) {
                          switch (m) {
                          case 0:
                                  return (PIo4 + tiny);   /* atan(+INF,+INF) */
                          case 1:
--- 101,111 ----
          /* when x = 0 */
          if (x == zero)
                  return (signy == 1 ? -PIo2 - tiny : PIo2 + tiny);
  
          /* when x is INF */
!         if (!finitel(x)) {
                  if (!finitel(y)) {
                          switch (m) {
                          case 0:
                                  return (PIo4 + tiny);   /* atan(+INF,+INF) */
                          case 1:
*** 125,135 ****
                                  return (PI + tiny);     /* atan(+...,-INF) */
                          case 3:
                                  return (-PI - tiny);    /* atan(-...,-INF) */
                          }
                  }
! 
          /* when y is INF */
          if (!finitel(y))
                  return (signy == 1 ? -PIo2 - tiny : PIo2 + tiny);
  
          /* compute y/x */
--- 125,135 ----
                                  return (PI + tiny);     /* atan(+...,-INF) */
                          case 3:
                                  return (-PI - tiny);    /* atan(-...,-INF) */
                          }
                  }
!         }
          /* when y is INF */
          if (!finitel(y))
                  return (signy == 1 ? -PIo2 - tiny : PIo2 + tiny);
  
          /* compute y/x */