\Im(\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))
\Im(\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))
double f() {
double r14968 = -1.0;
double r14969 = 1.0;
double r14970 = /* ERROR: no complex support in C */;
double r14971 = r14970 * r14970;
double r14972 = r14971 * r14970;
double r14973 = r14972 * r14970;
double r14974 = r14973 * r14970;
double r14975 = r14974 * r14970;
double r14976 = 6.0;
double r14977 = 0.0;
double r14978 = /* ERROR: no complex support in C */;
double r14979 = r14978 * r14970;
double r14980 = r14979 * r14970;
double r14981 = r14980 * r14970;
double r14982 = r14981 * r14970;
double r14983 = r14982 * r14970;
double r14984 = r14975 + r14983;
double r14985 = 15.0;
double r14986 = /* ERROR: no complex support in C */;
double r14987 = r14986 * r14970;
double r14988 = r14987 * r14970;
double r14989 = r14988 * r14970;
double r14990 = r14989 * r14970;
double r14991 = r14984 + r14990;
double r14992 = 20.0;
double r14993 = /* ERROR: no complex support in C */;
double r14994 = r14993 * r14970;
double r14995 = r14994 * r14970;
double r14996 = r14995 * r14970;
double r14997 = r14991 + r14996;
double r14998 = r14997 + r14988;
double r14999 = r14998 + r14979;
double r15000 = /* ERROR: no complex support in C */;
double r15001 = r14999 + r15000;
double r15002 = /* ERROR: no complex support in C */;
return r15002;
}
double f() {
double r15003 = -1.0;
double r15004 = 1.0;
double r15005 = /* ERROR: no complex support in C */;
double r15006 = r15005 * r15005;
double r15007 = r15006 * r15005;
double r15008 = r15007 * r15005;
double r15009 = r15008 * r15005;
double r15010 = r15009 * r15005;
double r15011 = 6.0;
double r15012 = 0.0;
double r15013 = /* ERROR: no complex support in C */;
double r15014 = r15013 * r15005;
double r15015 = r15014 * r15005;
double r15016 = r15015 * r15005;
double r15017 = r15016 * r15005;
double r15018 = r15017 * r15005;
double r15019 = r15010 + r15018;
double r15020 = 15.0;
double r15021 = /* ERROR: no complex support in C */;
double r15022 = r15021 * r15005;
double r15023 = r15022 * r15005;
double r15024 = r15023 * r15005;
double r15025 = r15024 * r15005;
double r15026 = r15019 + r15025;
double r15027 = 20.0;
double r15028 = /* ERROR: no complex support in C */;
double r15029 = r15028 * r15005;
double r15030 = r15029 * r15005;
double r15031 = r15030 * r15005;
double r15032 = r15026 + r15031;
double r15033 = r15032 + r15023;
double r15034 = r15033 + r15014;
double r15035 = /* ERROR: no complex support in C */;
double r15036 = r15034 + r15035;
double r15037 = /* ERROR: no complex support in C */;
return r15037;
}
Initial program 0
Final simplification0
herbie shell --seed 2020002 +o rules:numerics
(FPCore ()
:name "3.9.1 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (complex -1 1) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (* (* (* (* (* (complex 6 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (* (complex 20 0.0) (complex -1 1)) (complex -1 1)) (complex -1 1))) (* (* (complex 15 0.0) (complex -1 1)) (complex -1 1))) (* (complex 6 0.0) (complex -1 1))) (complex 1 0.0))))