C Time Cost Model, n=5000 clock_per_sec=100 Integer Arithmetic (n=5000) {} 77 77 77 76 77 31 k++ 77 77 77 77 77 31 k = i + j 77 77 77 76 77 31 k = i - j 66 66 66 71 66 27 k = i * j 77 77 77 77 77 31 k = i / j 346 346 346 346 341 138 k = i % j 340 341 346 346 346 138 k = i & j 88 82 88 88 82 34 k = i | j 77 77 77 77 77 31 Floating Point Arithmetic (n=5000) fj=j; 76 77 77 77 77 31 fj=j; fk = fi + fj; 99 99 99 99 98 40 fj=j; fk = fi - fj; 105 110 104 104 105 42 fj=j; fk = fi * fj; 110 104 110 104 104 43 fj=j; fk = fi / fj; 297 297 296 297 296 119 Array Operations (n=5000) k = i + j 77 77 77 77 77 31 k = x[i] + j 77 77 77 77 76 31 k = i + x[j] 88 88 83 87 88 35 k = x[i] + x[j] 105 104 110 104 105 42 Comparisons (n=5000) if (i < j) k++ 77 76 77 77 77 31 if (x[i] < x[j]) k++ 115 116 115 115 116 46 Array Comparisons and Swaps (n=5000) k = (x[i] j) ? i : j 104 104 110 105 104 42 k = maxmac(i, j) 104 105 110 104 104 42 k = maxfunc(i, j) 588 582 588 582 588 234 Math Functions (n=1000) fk = j+fi; 0 5 0 6 0 22 k = rand(); 11 5 11 6 11 88 fk = sqrt(j+fi) 27 33 28 27 33 296 fk = sin(j+fi) 55 49 55 55 55 538 fk = cos(j+fi) 55 55 49 55 55 538 fk = tan(j+fi) 55 66 61 60 60 604 Memory Allocation (n=500) free(malloc(16)); 17 16 17 16 17 664 free(malloc(100)); 16 17 16 17 16 656 free(malloc(2000)); 17 16 22 17 16 704 Secs: 253.26