\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 r23868 = -1.0;
double r23869 = 1.0;
double r23870 = /* ERROR: no complex support in C */;
double r23871 = r23870 * r23870;
double r23872 = r23871 * r23870;
double r23873 = r23872 * r23870;
double r23874 = r23873 * r23870;
double r23875 = r23874 * r23870;
double r23876 = 6.0;
double r23877 = 0.0;
double r23878 = /* ERROR: no complex support in C */;
double r23879 = r23878 * r23870;
double r23880 = r23879 * r23870;
double r23881 = r23880 * r23870;
double r23882 = r23881 * r23870;
double r23883 = r23882 * r23870;
double r23884 = r23875 + r23883;
double r23885 = 15.0;
double r23886 = /* ERROR: no complex support in C */;
double r23887 = r23886 * r23870;
double r23888 = r23887 * r23870;
double r23889 = r23888 * r23870;
double r23890 = r23889 * r23870;
double r23891 = r23884 + r23890;
double r23892 = 20.0;
double r23893 = /* ERROR: no complex support in C */;
double r23894 = r23893 * r23870;
double r23895 = r23894 * r23870;
double r23896 = r23895 * r23870;
double r23897 = r23891 + r23896;
double r23898 = r23897 + r23888;
double r23899 = r23898 + r23879;
double r23900 = /* ERROR: no complex support in C */;
double r23901 = r23899 + r23900;
double r23902 = /* ERROR: no complex support in C */;
return r23902;
}
double f() {
double r23903 = -1.0;
double r23904 = 1.0;
double r23905 = /* ERROR: no complex support in C */;
double r23906 = r23905 * r23905;
double r23907 = r23906 * r23905;
double r23908 = r23907 * r23905;
double r23909 = r23908 * r23905;
double r23910 = r23909 * r23905;
double r23911 = 6.0;
double r23912 = 0.0;
double r23913 = /* ERROR: no complex support in C */;
double r23914 = r23913 * r23905;
double r23915 = r23914 * r23905;
double r23916 = r23915 * r23905;
double r23917 = r23916 * r23905;
double r23918 = r23917 * r23905;
double r23919 = r23910 + r23918;
double r23920 = 15.0;
double r23921 = /* ERROR: no complex support in C */;
double r23922 = r23921 * r23905;
double r23923 = r23922 * r23905;
double r23924 = r23923 * r23905;
double r23925 = r23924 * r23905;
double r23926 = r23919 + r23925;
double r23927 = 20.0;
double r23928 = /* ERROR: no complex support in C */;
double r23929 = r23928 * r23905;
double r23930 = r23929 * r23905;
double r23931 = r23930 * r23905;
double r23932 = r23926 + r23931;
double r23933 = r23932 + r23923;
double r23934 = r23933 + r23914;
double r23935 = /* ERROR: no complex support in C */;
double r23936 = r23934 + r23935;
double r23937 = /* ERROR: no complex support in C */;
return r23937;
}
Initial program 0
Final simplification0
herbie shell --seed 2020042 +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))))