ASSIGNMENT FOR SPIM LEVEL 2 AND 3 --------------------------------- 4. Level 2 :: Run the following code for the given spim machine descriptions. int i=2,k=3; int main() { int a=7; return (i+k*a); } Why does the compilation fail?How do you rectify this? 5. Level 2 :: Modify pattern addsi to use define_expand. Also try to use define_split.Justify your observations. 6. Level 3 :: Manipulate the stack layout information by changing the values of the required macros. Try all the possible combinations for the following information : a. Stack grows downward b. Frame grows downward Observe the changes in the generated spim file and try to justify. (Hint :: Modification is in spim3.h file) 7. Level 3 :: This level supports function calls for integer as return type. Support floating point return type.