\[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
Test:
Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1
Bits:
128 bits
Bits error versus x
Bits error versus y
Bits error versus z
Bits error versus t
Bits error versus a
Bits error versus b
Bits error versus c
Bits error versus i
Bits error versus j
Bits error versus k
Time: 26.9 s
Input Error: 3.2
Output Error: 2.5
Log:
Profile: 🕒
\(\begin{cases} (18.0 * \left(\left(z \cdot x\right) \cdot \left(y \cdot t\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(\left(k \cdot j\right) \cdot 27.0\right))_* & \text{when } y \le -9.1132546f-14 \\ (t * \left(\left(18.0 \cdot z\right) \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(a \cdot t\right))_*\right) + \left(\left(k \cdot j\right) \cdot 27.0\right))_* & \text{when } y \le 3.1144563f+34 \\ (18.0 * \left(\left(z \cdot x\right) \cdot \left(y \cdot t\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(\left(k \cdot j\right) \cdot 27.0\right))_* & \text{otherwise} \end{cases}\)

    if y < -9.1132546f-14 or 3.1144563f+34 < y

    1. Started with
      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
      4.7
    2. Applied simplify to get
      \[\color{red}{\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k} \leadsto \color{blue}{(\left(t \cdot z\right) * \left(18.0 \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*}\]
      3.4
    3. Using strategy rm
      3.4
    4. Applied fma-udef to get
      \[\color{red}{(\left(t \cdot z\right) * \left(18.0 \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_*} - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto \color{blue}{\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right)} - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*\]
      3.4
    5. Applied taylor to get
      \[\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto \left(18.0 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*\]
      1.4
    6. Taylor expanded around inf to get
      \[\left(\color{red}{18.0 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)} + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto \left(\color{blue}{18.0 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right)} + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*\]
      1.4
    7. Applied simplify to get
      \[\left(18.0 \cdot \left(y \cdot \left(t \cdot \left(x \cdot z\right)\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto (18.0 * \left(\left(z \cdot x\right) \cdot \left(y \cdot t\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(\left(k \cdot j\right) \cdot 27.0\right))_*\]
      3.1

    8. Applied final simplification

    if -9.1132546f-14 < y < 3.1144563f+34

    1. Started with
      \[\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k\]
      2.4
    2. Applied simplify to get
      \[\color{red}{\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k} \leadsto \color{blue}{(\left(t \cdot z\right) * \left(18.0 \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*}\]
      2.9
    3. Using strategy rm
      2.9
    4. Applied fma-udef to get
      \[\color{red}{(\left(t \cdot z\right) * \left(18.0 \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_*} - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto \color{blue}{\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right)} - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_*\]
      2.9
    5. Applied taylor to get
      \[\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(j \cdot \left(27.0 \cdot k\right)\right))_* \leadsto \left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(27.0 \cdot \left(j \cdot k\right)\right))_*\]
      2.7
    6. Taylor expanded around 0 to get
      \[\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \color{red}{\left(27.0 \cdot \left(j \cdot k\right)\right)})_* \leadsto \left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \color{blue}{\left(27.0 \cdot \left(j \cdot k\right)\right)})_*\]
      2.7
    7. Applied simplify to get
      \[\left(\left(t \cdot z\right) \cdot \left(18.0 \cdot \left(x \cdot y\right)\right) + c \cdot b\right) - (4.0 * \left((i * x + \left(t \cdot a\right))_*\right) + \left(27.0 \cdot \left(j \cdot k\right)\right))_* \leadsto (t * \left(\left(18.0 \cdot z\right) \cdot \left(x \cdot y\right)\right) + \left(c \cdot b\right))_* - (4.0 * \left((i * x + \left(a \cdot t\right))_*\right) + \left(\left(k \cdot j\right) \cdot 27.0\right))_*\]
      2.1

    8. Applied final simplification

  1. Removed slow pow expressions

Original test:


(lambda ((x default) (y default) (z default) (t default) (a default) (b default) (c default) (i default) (j default) (k default))
  #:name "Diagrams.Solve.Polynomial:cubForm  from diagrams-solve-0.1"
  (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))