\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 r44151 = 1.0;
double r44152 = -r44151;
double r44153 = 2.0;
double r44154 = r44152 / r44153;
double r44155 = 3.0;
double r44156 = sqrt(r44155);
double r44157 = r44156 / r44153;
double r44158 = /* ERROR: no complex support in C */;
double r44159 = r44158 * r44158;
double r44160 = r44159 * r44158;
double r44161 = r44160 * r44158;
double r44162 = -r44153;
double r44163 = 0.0;
double r44164 = /* ERROR: no complex support in C */;
double r44165 = r44164 * r44158;
double r44166 = r44165 * r44158;
double r44167 = r44166 * r44158;
double r44168 = r44161 + r44167;
double r44169 = 5.0;
double r44170 = /* ERROR: no complex support in C */;
double r44171 = r44170 * r44158;
double r44172 = r44171 * r44158;
double r44173 = r44168 + r44172;
double r44174 = 4.0;
double r44175 = /* ERROR: no complex support in C */;
double r44176 = r44175 * r44158;
double r44177 = r44173 + r44176;
double r44178 = 7.0;
double r44179 = /* ERROR: no complex support in C */;
double r44180 = r44177 + r44179;
double r44181 = /* ERROR: no complex support in C */;
return r44181;
}
double f() {
double r44182 = 1.0;
double r44183 = -r44182;
double r44184 = 2.0;
double r44185 = r44183 / r44184;
double r44186 = 3.0;
double r44187 = sqrt(r44186);
double r44188 = r44187 / r44184;
double r44189 = /* ERROR: no complex support in C */;
double r44190 = r44189 * r44189;
double r44191 = r44190 * r44189;
double r44192 = r44191 * r44189;
double r44193 = -r44184;
double r44194 = 0.0;
double r44195 = /* ERROR: no complex support in C */;
double r44196 = r44195 * r44189;
double r44197 = r44196 * r44189;
double r44198 = r44197 * r44189;
double r44199 = r44192 + r44198;
double r44200 = 5.0;
double r44201 = /* ERROR: no complex support in C */;
double r44202 = r44201 * r44189;
double r44203 = r44202 * r44189;
double r44204 = r44199 + r44203;
double r44205 = 4.0;
double r44206 = /* ERROR: no complex support in C */;
double r44207 = r44206 * r44189;
double r44208 = r44204 + r44207;
double r44209 = 7.0;
double r44210 = /* ERROR: no complex support in C */;
double r44211 = r44208 + r44210;
double r44212 = /* ERROR: no complex support in C */;
return r44212;
}
Initial program 0
Final simplification0
herbie shell --seed 2019353
(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))))