Average Error: 0 → 0
Time: 20.4s
Precision: 64
\[\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(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\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))
\Im(\left(\left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))
double f() {
        double r20798 = -1.0;
        double r20799 = 1.0;
        double r20800 = /* ERROR: no complex support in C */;
        double r20801 = r20800 * r20800;
        double r20802 = r20801 * r20800;
        double r20803 = r20802 * r20800;
        double r20804 = r20803 * r20800;
        double r20805 = r20804 * r20800;
        double r20806 = 6.0;
        double r20807 = 0.0;
        double r20808 = /* ERROR: no complex support in C */;
        double r20809 = r20808 * r20800;
        double r20810 = r20809 * r20800;
        double r20811 = r20810 * r20800;
        double r20812 = r20811 * r20800;
        double r20813 = r20812 * r20800;
        double r20814 = r20805 + r20813;
        double r20815 = 15.0;
        double r20816 = /* ERROR: no complex support in C */;
        double r20817 = r20816 * r20800;
        double r20818 = r20817 * r20800;
        double r20819 = r20818 * r20800;
        double r20820 = r20819 * r20800;
        double r20821 = r20814 + r20820;
        double r20822 = 20.0;
        double r20823 = /* ERROR: no complex support in C */;
        double r20824 = r20823 * r20800;
        double r20825 = r20824 * r20800;
        double r20826 = r20825 * r20800;
        double r20827 = r20821 + r20826;
        double r20828 = r20827 + r20818;
        double r20829 = r20828 + r20809;
        double r20830 = /* ERROR: no complex support in C */;
        double r20831 = r20829 + r20830;
        double r20832 = /* ERROR: no complex support in C */;
        return r20832;
}

double f() {
        double r20833 = 15.0;
        double r20834 = 0.0;
        double r20835 = /* ERROR: no complex support in C */;
        double r20836 = -1.0;
        double r20837 = 1.0;
        double r20838 = /* ERROR: no complex support in C */;
        double r20839 = r20835 * r20838;
        double r20840 = 6.0;
        double r20841 = /* ERROR: no complex support in C */;
        double r20842 = r20839 + r20841;
        double r20843 = r20842 * r20838;
        double r20844 = r20838 + r20841;
        double r20845 = r20838 * r20838;
        double r20846 = r20838 * r20845;
        double r20847 = r20844 * r20846;
        double r20848 = 20.0;
        double r20849 = /* ERROR: no complex support in C */;
        double r20850 = r20849 + r20839;
        double r20851 = r20838 * r20850;
        double r20852 = r20847 + r20851;
        double r20853 = r20852 * r20845;
        double r20854 = r20843 + r20853;
        double r20855 = /* ERROR: no complex support in C */;
        double r20856 = r20854 + r20855;
        double r20857 = /* ERROR: no complex support in C */;
        return r20857;
}

Error

Derivation

  1. Initial program 0

    \[\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))\]
  2. Simplified0

    \[\leadsto \color{blue}{\Im(\left(\left(\left(\left(-1 + 1 i\right) \cdot \left(\left(6 + 0.0 i\right) + \left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right)\right)\right) + \left(\left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right) \cdot \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(\left(6 + 0.0 i\right) + \left(-1 + 1 i\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(\left(-1 + 1 i\right) \cdot \left(15 + 0.0 i\right)\right) + \left(20 + 0.0 i\right)\right)\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))}\]
  3. Final simplification0

    \[\leadsto \Im(\left(\left(\left(\left(\left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right) + \left(6 + 0.0 i\right)\right) \cdot \left(-1 + 1 i\right)\right) + \left(\left(\left(\left(\left(-1 + 1 i\right) + \left(6 + 0.0 i\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(\left(-1 + 1 i\right) \cdot \left(\left(20 + 0.0 i\right) + \left(\left(15 + 0.0 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right)\right) \cdot \left(\left(-1 + 1 i\right) \cdot \left(-1 + 1 i\right)\right)\right)\right) + \left(1 + 0.0 i\right)\right))\]

Reproduce

herbie shell --seed 2019196 
(FPCore ()
  :name "3.9.1 imaginary part (p56)"
  (im (+ (+ (+ (+ (+ (+ (* (* (* (* (* (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))))