A constant with no load
Adding a small constant costs nothing extra. The number rides inside the instruction itself, in the immediate form add rD, #imm. Here is a function that adds twelve to its argument:
0 add r0, #12
2 bx lr
One instruction. No separate load, no register set aside to hold the twelve — the value is part of the encoding.
That encoding is where sixteen bits starts to pinch. The immediate field in this form is eight bits wide, so it reaches 0 to 255 and no further. Ask for a bigger constant and the compiler has to build the value some other way, which is a problem you will meet in a few lessons' time. Your target's constant is comfortably inside the range.
Read the number the target's add carries and that is the number you want.
Your task
Write bias, taking an s32 x, to reproduce the target assembly.