/* { dg-do compile } */
/* { dg-require-effective-target c99_runtime } */
/* { dg-options "-O2 -ffast-math -fdump-tree-gimple" } */
float f(float x)
{
  return (x > 0.f ? -1.f : 1.f);
}
float f1(float x)
{
  return (x > 0.f ? 1.f : -1.f);
}
float g(float x)
{
  return (x >= 0.f ? -1.f : 1.f);
}
float g1(float x)
{
  return (x >= 0.f ? 1.f : -1.f);
}
float h(float x)
{
  return (x < 0.f ? -1.f : 1.f);
}
float h1(float x)
{
  return (x < 0.f ? 1.f : -1.f);
}
float i(float x)
{
  return (x <= 0.f ? -1.f : 1.f);
}
float i1(float x)
{
  return (x <= 0.f ? 1.f : -1.f);
}
/* { dg-final { scan-tree-dump-not "copysign" "gimple"} } */
