\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}\left(\left(\mathsf{fma}\left(\left(\left(\left(x \cdot y\right) \cdot \left(x \cdot y\right)\right) \cdot 11 - 2\right) - \mathsf{fma}\left({y}^{4}, 121, {y}^{6}\right), x \cdot x, \mathsf{fma}\left({y}^{6}, 333.75, \mathsf{fma}\left(5.5, {y}^{8}, \frac{x}{2 \cdot y}\right)\right)\right)\right)\right)double f(double x, double y) {
double r993033 = 333.75;
double r993034 = y;
double r993035 = 6.0;
double r993036 = pow(r993034, r993035);
double r993037 = r993033 * r993036;
double r993038 = x;
double r993039 = r993038 * r993038;
double r993040 = 11.0;
double r993041 = r993040 * r993038;
double r993042 = r993041 * r993038;
double r993043 = r993042 * r993034;
double r993044 = r993043 * r993034;
double r993045 = r993044 - r993036;
double r993046 = 121.0;
double r993047 = 4.0;
double r993048 = pow(r993034, r993047);
double r993049 = r993046 * r993048;
double r993050 = r993045 - r993049;
double r993051 = 2.0;
double r993052 = r993050 - r993051;
double r993053 = r993039 * r993052;
double r993054 = r993037 + r993053;
double r993055 = 5.5;
double r993056 = 8.0;
double r993057 = pow(r993034, r993056);
double r993058 = r993055 * r993057;
double r993059 = r993054 + r993058;
double r993060 = r993051 * r993034;
double r993061 = r993038 / r993060;
double r993062 = r993059 + r993061;
return r993062;
}
double f(double x, double y) {
double r993063 = x;
double r993064 = y;
double r993065 = r993063 * r993064;
double r993066 = r993065 * r993065;
double r993067 = 11.0;
double r993068 = r993066 * r993067;
double r993069 = 2.0;
double r993070 = r993068 - r993069;
double r993071 = 4.0;
double r993072 = pow(r993064, r993071);
double r993073 = 121.0;
double r993074 = 6.0;
double r993075 = pow(r993064, r993074);
double r993076 = fma(r993072, r993073, r993075);
double r993077 = r993070 - r993076;
double r993078 = r993063 * r993063;
double r993079 = 333.75;
double r993080 = 5.5;
double r993081 = 8.0;
double r993082 = pow(r993064, r993081);
double r993083 = r993069 * r993064;
double r993084 = r993063 / r993083;
double r993085 = fma(r993080, r993082, r993084);
double r993086 = fma(r993075, r993079, r993085);
double r993087 = fma(r993077, r993078, r993086);
double r993088 = /* ERROR: no posit support in C */;
double r993089 = /* ERROR: no posit support in C */;
return r993089;
}
Initial program 58.1
Simplified58.1
rmApplied insert-posit1656.8
Final simplification56.8
herbie shell --seed 2019168 +o rules:numerics
(FPCore (x y)
:name "Rump's expression from Stadtherr's award speech"
:pre (and (== x 77617.0) (== y 33096.0))
(+ (+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0))) (/ x (* 2.0 y))))