CS 574 Assignment #3 (due 11/5) You are to write two parallel programs, one in SMP model and another in the Message-passing model. You program should find the smallest positive root of the function f(x)= -2 + sinx + sinx^2 + ... + sinx^1000 This root is the unique value r between 0 and 1 such that f(r) = 0. Let p be the number of active processes. The algorithm begins by dividing the interval [0, 1] into p-1 subintervals of equal size. By computing the value of f(x) at the points between the subintervals, the program can find the subinterval where the function changes from negative to positive. The algorithm can then iterate, dividing this subintervals into p-1 pieces. When the subinterval size becomes less than 10^-10, the algorithm should terminate. The program should output the root of the function. You should submit a working program in C (or other high level language). You submit pseudocode resembling your C solution for the parallel versions. Give a descriptive analysis of your two parallel programs.