let gamma_complement a x =
    assert (x >= 0. && a > 0.);
    if x < a +. 1.
    then 1. -. gamma_0_x a x
    else gamma_x_infty a x