ony's answer starts off by essentially finding all the prime factors of `n`. If you're going to do that, then you might as well use the following well-known formula that calculates the Euler function from the prime factorisation:

    phi(p1 ^ a1 * ... * pk ^ ak) =
          (p1 ^ a1 - p1 ^ (a1 - 1))
        * ...
        * (pk ^ ak - pk ^ (ak - 1))
The code would look something like this:

    long long wheel = 1;
    long long phi = 1;
    
    // factorization of n
    for (long long i = 2, m = n; m > 1; i++)
    {
        // Now phi(n/m) == phi
        if (m % i == 0)
        {
            // i is the smallest prime factor of m, and is not a factor of n/m
            m /= i;
            phi *= (i - 1);
            while (m % i == 0) {
                m /= i;
                phi *= i;
            }
        }
    }
    
    return phi;