Strength reduction
A constant multiply usually becomes mulli. A power of two is the exception: it never multiplies at all. The compiler rewrites it as a left shift, which is cheaper and gives the same answer. That rewrite has a name, strength reduction, and you'll see it constantly. The shift instruction itself is rlwinm, though MWCC dresses it up as the slwi extended mnemonic.
Say times16(n) = n * 16. Out comes:
slwi r3, r3, 4 # n << 4 == n * 16
blr
The 4 is log base 2 of 16; the shift count is always log base 2 of the multiplier. Your C can say n * 16 or n << 4; the object code is just that single shift either way.
A target that shifts left by some amount is hiding a multiply by two to that power. Recover the power and you have the multiplier. * N and << log2(N) are interchangeable here, so the prettier one wins.
Your task
Write func_80207188 to match the target.