/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
double fma(double x, double y, double z);

#if defined(_ARM_) || defined(__arm__)

/* Use hardware FMA on ARM. */
double fma(double x, double y, double z){
  __asm__ (
    "fmacd %0, %1, %2 \n"
    : "+w"(z)
    : "w"(x), "w"(y)
  );
  return z;
}

#else

long double fmal(long double x, long double y, long double z);

/* For platforms that don't have hardware FMA, emulate it. */
double fma(double x, double y, double z){
  return (double)fmal(x, y, z);
}

#endif
