(Perhaps it is my age or my culture but I don't understand the nomenclature used in 1,32,34 etc.)
Part of the underlying issue may be an understanding of what fixed point representations really are.
How you convert between the floating point and fixed point representations is completely up to you. It might be guided/constrained by the capabilities of the processor you are using (8-bit, 16-bit 'words' etc and whether it easily handles operations that are larger than its basic word size).
For example, you could represent your c3 value, 0.03679168, as 368 by multiplying by 10,000 and rounding. If you used that scheme then you need to scale all other numbers by a similar amount and/or take the different scaling factors into account at each step in the operation.
I'm guessing that you are multiplying the numbers by 360000 which makes c3 scale to 13,245 (which is not quite the number I think you are representing above - hence my first statement). (In my culture, the ',' character separates each group of 3 digits and '.' is the 'decimal point.)
Also, if you are finding that c3 cannot be represented as a 32-bit number, then how are you handling c1 and c3 which are numerically greater than c3?
There are other alternative ways of solving you underlying issue (there nearly always are). For example a lookup table which will trade off more data space and much simpler and faster 'calculation. The number of entries is determined by the precision you want in the domain (which for angles is very application dependent but generally 1 degree is more than enough so there are 90 entries. (The precision you need for the range will drive the size of the values in each table entry.)
Susan