+flt_retval = *x - (*y) * quotient ;
+return(flt_retval);
+}
+
+#else tahoe
+
+/* THIS IS BASED ON THE TAHOE REPR. FOR FLOATING POINT */
+#include <tahoemath/FP.h>
+
+double r_mod(x,y)
+float *x, *y;
+{
+double floor(), quotient = *x / *y;
+if (quotient >= 0.0)
+ quotient = floor(quotient);
+else {
+ *(unsigned long *)"ient ^= SIGN_BIT;
+ quotient = floor(quotient);
+ if (quotient != 0)
+ *(unsigned long *)"ient ^= SIGN_BIT;
+ }