Average Error: 0.2 → 0.2
Time: 33.7s
Precision: 64
Internal Precision: 128
\[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
\[(\left(\frac{\cos B}{\sin B}\right) \cdot \left(-x\right) + \left(\frac{1}{\sin B}\right))_*\]

Error

Bits error versus B

Bits error versus x

Derivation

  1. Initial program 0.2

    \[\left(-x \cdot \frac{1}{\tan B}\right) + \frac{1}{\sin B}\]
  2. Initial simplification0.2

    \[\leadsto \frac{1}{\sin B} - \frac{x}{\tan B}\]
  3. Taylor expanded around inf 0.2

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{x \cdot \cos B}{\sin B}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity0.2

    \[\leadsto \frac{1}{\sin B} - \frac{x \cdot \cos B}{\color{blue}{1 \cdot \sin B}}\]
  6. Applied times-frac0.2

    \[\leadsto \frac{1}{\sin B} - \color{blue}{\frac{x}{1} \cdot \frac{\cos B}{\sin B}}\]
  7. Applied add-sqr-sqrt32.2

    \[\leadsto \color{blue}{\sqrt{\frac{1}{\sin B}} \cdot \sqrt{\frac{1}{\sin B}}} - \frac{x}{1} \cdot \frac{\cos B}{\sin B}\]
  8. Applied prod-diff32.2

    \[\leadsto \color{blue}{(\left(\sqrt{\frac{1}{\sin B}}\right) \cdot \left(\sqrt{\frac{1}{\sin B}}\right) + \left(-\frac{\cos B}{\sin B} \cdot \frac{x}{1}\right))_* + (\left(-\frac{\cos B}{\sin B}\right) \cdot \left(\frac{x}{1}\right) + \left(\frac{\cos B}{\sin B} \cdot \frac{x}{1}\right))_*}\]
  9. Simplified0.2

    \[\leadsto \color{blue}{(\left(\frac{\cos B}{\sin B}\right) \cdot \left(-x\right) + \left(\frac{1}{\sin B}\right))_*} + (\left(-\frac{\cos B}{\sin B}\right) \cdot \left(\frac{x}{1}\right) + \left(\frac{\cos B}{\sin B} \cdot \frac{x}{1}\right))_*\]
  10. Simplified0.2

    \[\leadsto (\left(\frac{\cos B}{\sin B}\right) \cdot \left(-x\right) + \left(\frac{1}{\sin B}\right))_* + \color{blue}{0}\]
  11. Final simplification0.2

    \[\leadsto (\left(\frac{\cos B}{\sin B}\right) \cdot \left(-x\right) + \left(\frac{1}{\sin B}\right))_*\]

Runtime

Time bar (total: 33.7s)Debug logProfile

BaselineHerbieOracleSpan%
Regimes0.20.20.00.20%
herbie shell --seed 2018354 +o rules:numerics
(FPCore (B x)
  :name "VandenBroeck and Keller, Equation (24)"
  (+ (- (* x (/ 1 (tan B)))) (/ 1 (sin B))))