Concerning Gamma, the main reason I haven't implemented it yet is that
it requires determining some magic constants that were only given to me
for a lower precision than what I need (10 digits instead of 16).

For the Gamma function the book

  „Numerical Recipes: The art of Scientific Computing“ (3rd edition);
  William H. Press, Saul A. Teukolsky, William T. Vetterling, Brian P. Flannery;
  Cambridge University Press

might be of interest as it describes the implementation of a Gamma function with error smaller than < 1e-15.