function phase_est(q_in, q_out, cont_u)
{
    // Główne szacowanie fazy pojedyncze uruchomienie
    // HAD na rejestrze wyjściowym
    q_out.had();

    // Zastosowanie warunkowej mocy u
    for (var j = 0; j < q_out.numBits; j++)
        cont_u(q_out, q_in, 1 << j);

    // Odwrócenie QFT na rejestrze wyjściowym
    q_out.invQFT();
}
