\[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
Test:
Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2
Bits:
128 bits
Bits error versus x
Bits error versus y
Bits error versus z
Bits error versus t
Bits error versus a
Time: 37.3 s
Input Error: 0.3
Output Error: 0.3
Log:
Profile: 🕒
\(\left(\left(a - 0.5\right) \cdot \log t + \log z\right) + \left(\log \left(x + y\right) - t\right)\)
  1. Started with
    \[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t\]
    0.3
  2. Applied taylor to get
    \[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(a - 0.5\right) \cdot \log t \leadsto \left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(\log t \cdot a - 0.5 \cdot \log t\right)\]
    0.3
  3. Taylor expanded around 0 to get
    \[\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \color{red}{\left(\log t \cdot a - 0.5 \cdot \log t\right)} \leadsto \left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \color{blue}{\left(\log t \cdot a - 0.5 \cdot \log t\right)}\]
    0.3
  4. Applied simplify to get
    \[\color{red}{\left(\left(\log \left(x + y\right) + \log z\right) - t\right) + \left(\log t \cdot a - 0.5 \cdot \log t\right)} \leadsto \color{blue}{\left(\left(a - 0.5\right) \cdot \log t + \log z\right) + \left(\log \left(x + y\right) - t\right)}\]
    0.3

  5. Removed slow pow expressions

Original test:


(lambda ((x default) (y default) (z default) (t default) (a default))
  #:name "Numeric.SpecFunctions:logGammaL from math-functions-0.1.5.2"
  (+ (- (+ (log (+ x y)) (log z)) t) (* (- a 0.5) (log t))))