(root)/
gcc-13.2.0/
gcc/
testsuite/
gcc.c-torture/
compile/
pr35595.c
       1  /* { dg-require-effective-target int32plus } */
       2  typedef signed int __int32_t;
       3  typedef unsigned int __uint32_t;
       4  typedef union
       5  {
       6    float value;
       7    __uint32_t word;
       8  }
       9  ieee_float_shape_type;
      10  static const float two23 = 8.3886080000e+06;
      11  static const float pi = 3.1415927410e+00;
      12  static const float zero = 0.0000000000e+00;
      13  static float
      14  sin_pif (float x)
      15  {
      16    float y = 0;
      17    float z = 0;
      18    __int32_t n = 0;
      19    __int32_t ix = 0;
      20    do
      21      {
      22        ieee_float_shape_type gf_u = { 0 };
      23        (ix) = gf_u.word;
      24      }
      25    while (0);
      26    if (z == y)
      27      {
      28        if (ix < 0x4b800000)
      29  	{
      30  	  if (ix < 0x4b000000)
      31  	    z = y + two23;
      32  	  do
      33  	    {
      34  	      ieee_float_shape_type gf_u;
      35  	      gf_u.value = (z);
      36  	      (n) = gf_u.word;
      37  	    }
      38  	  while (0);
      39  	}
      40      }
      41    if (n == 0)
      42      y = __kernel_sinf (pi * y, zero, 0);
      43  }
      44  
      45  float
      46  __ieee754_lgammaf_r (float x, int *signgamp)
      47  {
      48    float t = 0;
      49    __int32_t hx = 0;
      50    do
      51      {
      52        ieee_float_shape_type gf_u = { 0 };
      53        (hx) = gf_u.word;
      54      }
      55    while (0);
      56    if (hx < 0)
      57      t = sin_pif (x);
      58    return 0;
      59  }