\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))\Im(\left(\left(\left(\left(\left(\left(\left(\left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) + \left(\left(\left(\left(\left(-2\right) + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(\left(5 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(\left(4 + 0.0 i\right) \cdot \left(\frac{-1}{2} + \frac{\sqrt{3}}{2} i\right)\right)\right) + \left(7 + 0.0 i\right)\right))double f() {
double r31124 = 1.0;
double r31125 = -r31124;
double r31126 = 2.0;
double r31127 = r31125 / r31126;
double r31128 = 3.0;
double r31129 = sqrt(r31128);
double r31130 = r31129 / r31126;
double r31131 = /* ERROR: no complex support in C */;
double r31132 = r31131 * r31131;
double r31133 = r31132 * r31131;
double r31134 = r31133 * r31131;
double r31135 = -r31126;
double r31136 = 0.0;
double r31137 = /* ERROR: no complex support in C */;
double r31138 = r31137 * r31131;
double r31139 = r31138 * r31131;
double r31140 = r31139 * r31131;
double r31141 = r31134 + r31140;
double r31142 = 5.0;
double r31143 = /* ERROR: no complex support in C */;
double r31144 = r31143 * r31131;
double r31145 = r31144 * r31131;
double r31146 = r31141 + r31145;
double r31147 = 4.0;
double r31148 = /* ERROR: no complex support in C */;
double r31149 = r31148 * r31131;
double r31150 = r31146 + r31149;
double r31151 = 7.0;
double r31152 = /* ERROR: no complex support in C */;
double r31153 = r31150 + r31152;
double r31154 = /* ERROR: no complex support in C */;
return r31154;
}
double f() {
double r31155 = 1.0;
double r31156 = -r31155;
double r31157 = 2.0;
double r31158 = r31156 / r31157;
double r31159 = 3.0;
double r31160 = sqrt(r31159);
double r31161 = r31160 / r31157;
double r31162 = /* ERROR: no complex support in C */;
double r31163 = r31162 * r31162;
double r31164 = r31163 * r31162;
double r31165 = r31164 * r31162;
double r31166 = -r31157;
double r31167 = 0.0;
double r31168 = /* ERROR: no complex support in C */;
double r31169 = r31168 * r31162;
double r31170 = r31169 * r31162;
double r31171 = r31170 * r31162;
double r31172 = r31165 + r31171;
double r31173 = 5.0;
double r31174 = /* ERROR: no complex support in C */;
double r31175 = r31174 * r31162;
double r31176 = r31175 * r31162;
double r31177 = r31172 + r31176;
double r31178 = 4.0;
double r31179 = /* ERROR: no complex support in C */;
double r31180 = r31179 * r31162;
double r31181 = r31177 + r31180;
double r31182 = 7.0;
double r31183 = /* ERROR: no complex support in C */;
double r31184 = r31181 + r31183;
double r31185 = /* ERROR: no complex support in C */;
return r31185;
}
Initial program 0
Final simplification0
herbie shell --seed 2020001 +o rules:numerics
(FPCore ()
:name "3.9.2 imaginary part (p56)"
:precision binary64
(im (+ (+ (+ (+ (* (* (* (complex (/ (- 1) 2) (/ (sqrt 3) 2)) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (* (* (* (complex (- 2) 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (* (complex 5 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2))) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (* (complex 4 0.0) (complex (/ (- 1) 2) (/ (sqrt 3) 2)))) (complex 7 0.0))))