properly support extremely large arguments in gamma functions