/// LSU EE 4720 -- Computer Architecture // // Program that computes pi. // // Intended to demonstrate differences in performance and CPI // with and without optimization. (If your goal is to compute // pi to great precision, for example, // 3.14159265358979323846264338327950288419716939937510582097494, // then this program is NOT the way to do it, there are much // faster ways.) #include <stdio.h> #include <stdlib.h> int main(int argv, char **argc) { double i; double sum = 0; const double default_iterations = 50000000; const double iterations = argv == 2 ? 1e6 * atoi(argc[1]) : default_iterations; const double sum_iterations = iterations * 2; for(i=1; i<sum_iterations;) { sum = sum + 4.0 / i; i += 2; sum = sum - 4.0 / i; i += 2; } printf("After %d iterations sum = %.8f\n", (int)(i-1)/2, sum); return 0; }