docs: public static double invGamma1pm1(final double x) {
          assert x >= -0.5;
          assert x <= 1.5;
  
          final double ret;
          final double t = x <= 0.5 ? x : (x - 0.5) - 0.5;
          if (t < 0.0) {
              final double a = INV_GAMMA1P_M1_A0 + t * INV_GAMMA1P_M1_A1;
              double b = INV_GAMMA1P_M1_B8;
              b = INV_GAMMA1P_M1_B7 + t * b;
              b = INV_GAMMA1P_M1_B6 + t * b;
              b = INV_GAMMA1P_M1_B5 + t * b;
              b = INV_GAMMA1P_M1_B4 + t * b;
              b = INV_GAMMA1P_M1_B3 + t * b;
              b = INV_GAMMA1P_M1_B2 + t * b;
              b = INV_GAMMA1P_M1_B1 + t * b;
              b = 1.0 + t * b;
  
              double c = INV_GAMMA1P_M1_C13 + t * (a / b);
              c = INV_GAMMA1P_M1_C12 + t * c;
              c = INV_GAMMA1P_M1_C11 + t * c;
              c = INV_GAMMA1P_M1_C10 + t * c;
              c = INV_GAMMA1P_M1_C9 + t * c;
              c = INV_GAMMA1P_M1_C8 + t * c;
              c = INV_GAMMA1P_M1_C7 + t * c;
              c = INV_GAMMA1P_M1_C6 + t * c;
              c = INV_GAMMA1P_M1_C5 + t * c;
              c = INV_GAMMA1P_M1_C4 + t * c;
              c = INV_GAMMA1P_M1_C3 + t * c;
              c = INV_GAMMA1P_M1_C2 + t * c;
              c = INV_GAMMA1P_M1_C1 + t * c;
              c = INV_GAMMA1P_M1_C + t * c;
              if (x > 0.5) {
                  ret = t * c / x;
              } else {
                  ret = x * ((c + 0.5) + 0.5);
              }
          } else {
              double p = INV_GAMMA1P_M1_P6;
              p = INV_GAMMA1P_M1_P5 + t * p;
              p = INV_GAMMA1P_M1_P4 + t * p;
              p = INV_GAMMA1P_M1_P3 + t * p;
              p = INV_GAMMA1P_M1_P2 + t * p;
              p = INV_GAMMA1P_M1_P1 + t * p;
              p = INV_GAMMA1P_M1_P0 + t * p;
  
              double q = INV_GAMMA1P_M1_Q4;
              q = INV_GAMMA1P_M1_Q3 + t * q;
              q = INV_GAMMA1P_M1_Q2 + t * q;
              q = INV_GAMMA1P_M1_Q1 + t * q;
              q = 1.0 + t * q;
  
              double c = INV_GAMMA1P_M1_C13 + (p / q) * t;
              c = INV_GAMMA1P_M1_C12 + t * c;
              c = INV_GAMMA1P_M1_C11 + t * c;
              c = INV_GAMMA1P_M1_C10 + t * c;
              c = INV_GAMMA1P_M1_C9 + t * c;
              c = INV_GAMMA1P_M1_C8 + t * c;
              c = INV_GAMMA1P_M1_C7 + t * c;
              c = INV_GAMMA1P_M1_C6 + t * c;
              c = INV_GAMMA1P_M1_C5 + t * c;
              c = INV_GAMMA1P_M1_C4 + t * c;
              c = INV_GAMMA1P_M1_C3 + t * c;
              c = INV_GAMMA1P_M1_C2 + t * c;
              c = INV_GAMMA1P_M1_C1 + t * c;
              c = INV_GAMMA1P_M1_C0 + t * c;
  
              if (x > 0.5) {
                  ret = (t / x) * ((c - 0.5) - 0.5);
              } else {
                  ret = x * c;
              }
          }
  
          return ret;
      }