float P1(float h) {
    float value = (1.0 / sqrt(tau)) * exp(-0.5 * square(h));

    return value;
}

float C1(float h) {
    float value = 0.5 + 0.5 * erf(h / sqrt(2.0));

    return value;
}

float invC1(float U) {
    float h = sqrt(2.0) * erfinv(2.0 * U - 1.0);

    return h;
}