diff -up ./src/main/arithmetic.c.orig ./src/main/arithmetic.c --- ./src/main/arithmetic.c.orig 2019-12-12 18:30:12.416334062 +0000 +++ ./src/main/arithmetic.c 2019-12-12 18:30:44.966334062 +0000 @@ -179,7 +179,10 @@ void attribute_hidden InitArithmetic() #endif } -#if HAVE_LONG_DOUBLE && (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE) +/* PowerPC 64 (when gcc has -mlong-double-128) breaks here because + * of issues constant folding 128bit IBM long doubles. + */ +#if HAVE_LONG_DOUBLE && (SIZEOF_LONG_DOUBLE > SIZEOF_DOUBLE) && !__PPC64__ static LDOUBLE q_1_eps = 1 / LDBL_EPSILON; #else static double q_1_eps = 1 / DBL_EPSILON;