Why " *0.5f " on audioCallBack?

For example on the example seed/WavPlayer.cpp you have, on the AudioCallback:

    for(size_t i = 0; i < size; i += 2)
    {
        out[i] = out[i + 1] = s162f(sampler.Stream()) * 0.5f;
    }

sampler.Stream() returns a signed 16 bit int. It goes from -32768 up to 32767
So the s16f() function divides it by 32768 so that it goes from -1 to 1
Then why do you divide it by 2? ( * 0.5f )