\Re(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(\left(20 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(\left(6 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right) + \left(1 + 0.0 i\right)\right))
\Re(\left(\left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) + \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) i\right) + \left(\left(\left(1 + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right) + \left(\mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + 0.0\right) i\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right) i\right) \cdot \left(\left(\left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right) + \left(1 \cdot -1 + 1 \cdot -1\right)\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right) - \left(1 \cdot -1 + 1 \cdot -1\right)\right) + \left(\left(-1 \cdot 6 - 0.0 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) - \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(1 \cdot -1 + 1 \cdot -1\right)\right)\right) + \left(\left(-1 \cdot 20 - 0.0 \cdot 1\right) + \left(\left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) \cdot 15 - \left(1 \cdot -1 + 1 \cdot -1\right) \cdot 0.0\right)\right)\right) + \left(\left(\left(\left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right) + \left(1 \cdot -1 + 1 \cdot -1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right) + \mathsf{fma}\left(-1 \cdot 6 - 0.0 \cdot 1, 1 \cdot -1 + 1 \cdot -1, \mathsf{fma}\left(0.0, -1, 6 \cdot 1\right) \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right) + \left(\mathsf{fma}\left(20, 1, 0.0 \cdot -1\right) + \mathsf{fma}\left(15, 1 \cdot -1 + 1 \cdot -1, 0.0 \cdot \left(\left(1 + -1\right) \cdot \left(-1 - 1\right)\right)\right)\right)\right) i\right)\right)\right)\right))double f() {
double r986952 = -1.0;
double r986953 = 1.0;
double r986954 = /* ERROR: no complex support in C */;
double r986955 = r986954 * r986954;
double r986956 = r986955 * r986954;
double r986957 = r986956 * r986954;
double r986958 = r986957 * r986954;
double r986959 = r986958 * r986954;
double r986960 = 6.0;
double r986961 = 0.0;
double r986962 = /* ERROR: no complex support in C */;
double r986963 = r986962 * r986954;
double r986964 = r986963 * r986954;
double r986965 = r986964 * r986954;
double r986966 = r986965 * r986954;
double r986967 = r986966 * r986954;
double r986968 = r986959 + r986967;
double r986969 = 15.0;
double r986970 = /* ERROR: no complex support in C */;
double r986971 = r986970 * r986954;
double r986972 = r986971 * r986954;
double r986973 = r986972 * r986954;
double r986974 = r986973 * r986954;
double r986975 = r986968 + r986974;
double r986976 = 20.0;
double r986977 = /* ERROR: no complex support in C */;
double r986978 = r986977 * r986954;
double r986979 = r986978 * r986954;
double r986980 = r986979 * r986954;
double r986981 = r986975 + r986980;
double r986982 = r986981 + r986972;
double r986983 = r986982 + r986963;
double r986984 = /* ERROR: no complex support in C */;
double r986985 = r986983 + r986984;
double r986986 = /* ERROR: no complex support in C */;
return r986986;
}
double f() {
double r986987 = -1.0;
double r986988 = 6.0;
double r986989 = r986987 * r986988;
double r986990 = 0.0;
double r986991 = 1.0;
double r986992 = r986990 * r986991;
double r986993 = r986989 - r986992;
double r986994 = r986988 * r986991;
double r986995 = fma(r986990, r986987, r986994);
double r986996 = /* ERROR: no complex support in C */;
double r986997 = r986991 + r986987;
double r986998 = r986987 - r986991;
double r986999 = r986997 * r986998;
double r987000 = 15.0;
double r987001 = r986999 * r987000;
double r987002 = r986991 * r986987;
double r987003 = r987002 + r987002;
double r987004 = r987003 * r986990;
double r987005 = r987001 - r987004;
double r987006 = r986991 + r987005;
double r987007 = r986990 * r986999;
double r987008 = fma(r987000, r987003, r987007);
double r987009 = r987008 + r986990;
double r987010 = /* ERROR: no complex support in C */;
double r987011 = /* ERROR: no complex support in C */;
double r987012 = r986999 + r987003;
double r987013 = r986999 - r987003;
double r987014 = r987012 * r987013;
double r987015 = r986993 * r986999;
double r987016 = r986995 * r987003;
double r987017 = r987015 - r987016;
double r987018 = r987014 + r987017;
double r987019 = 20.0;
double r987020 = r986987 * r987019;
double r987021 = r987020 - r986992;
double r987022 = r987021 + r987005;
double r987023 = r987018 + r987022;
double r987024 = r987003 * r986999;
double r987025 = r987024 + r987024;
double r987026 = r986995 * r986999;
double r987027 = fma(r986993, r987003, r987026);
double r987028 = r987025 + r987027;
double r987029 = r986990 * r986987;
double r987030 = fma(r987019, r986991, r987029);
double r987031 = r987030 + r987008;
double r987032 = r987028 + r987031;
double r987033 = /* ERROR: no complex support in C */;
double r987034 = r987011 * r987033;
double r987035 = r987010 + r987034;
double r987036 = r986996 + r987035;
double r987037 = /* ERROR: no complex support in C */;
return r987037;
}
Initial program 0
Simplified0
Final simplification0
herbie shell --seed 2019172 +o rules:numerics
(FPCore ()
:name "3.9.1 real part (p56)"
(re (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1.0 1.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (* (* (* (* (* (complex 6.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (* (complex 20.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (* (complex 15.0 0.0) (complex -1.0 1.0)) (complex -1.0 1.0))) (* (complex 6.0 0.0) (complex -1.0 1.0))) (complex 1.0 0.0))))