CPS 104 Problem P5 (extra credit) Challenge problems You can use the following problems as extra credit, or as simply problems to think about. Doing all of them is worth 50 pts extra credit. I considered putting one of them on the final, but decided to give everyone a break. The following problems each require you to write short sequences of SPIM code. The code need not constitute a complete program. Each program accepts its input in memory locations named X, Y, ..., which have already been declared in the .data segment. The code must NOT use any floating point operations. 1. The code should branch to STANDARD if X contains an "ordinary single precision floating-point number", and to SPECIAL otherwise. Treat zero as SPECIAL. In the remaining problems, you can assume that X has already been tested, and shown to be an "ordinary single precision floating point number", as in problem 1: 2. If X contains a positive, integral power of 2, compute in Y the square root of X. 3. For X > 0, find integer N and floating point Y such that X/(2**N) = Y, and 2 > Y >= 1. 4. Given integer N, compute X * 2**N in Y. The notation "2**N" means 2, raised to the power N. Submit the programs for all problems in one file, using "submit_cps104 P5 FILE".