C Time Cost Model, n=5000 clocks_per_sec=18 Integer Arithmetic (n=5000) {} 7 7 8 7 8 16 k++ 18 24 18 25 18 45 k = i + j 13 14 14 14 14 30 k = i - j 14 14 14 14 14 31 k = i * j 18 17 17 18 17 38 k = i / j 67 67 66 67 67 147 k = i % j 62 63 63 62 63 138 k = i & j 13 14 13 13 13 29 k = i | j 16 16 15 16 16 35 Floating Point Arithmetic (n=5000) fj=j; 17 18 17 18 17 38 fj=j; fk = fi + fj; 31 31 31 31 31 68 fj=j; fk = fi - fj; 32 31 32 31 32 69 fj=j; fk = fi * fj; 29 30 30 29 30 65 fj=j; fk = fi / fj; 64 65 64 64 65 142 Array Operations (n=5000) k = i + j 12 12 12 13 12 27 k = x[i] + j 16 16 16 16 15 35 k = i + x[j] 20 20 20 20 19 44 k = x[i] + x[j] 22 22 22 22 22 48 Comparisons (n=5000) if (i < j) k++ 12 12 16 12 12 28 if (x[i] < x[j]) k++ 26 33 26 25 25 59 Array Comparisons and Swaps (n=5000) k = (x[i] j) ? i : j 13 12 12 13 12 27 k = maxmac(i, j) 18 20 19 18 19 41 k = maxfunc(i, j) 97 97 99 97 97 214 Math Functions (n=1000) fk = j+fi; 1 1 1 1 0 44 k = rand(); 7 6 6 6 6 341 fk = sqrt(j+fi) 11 10 11 10 10 571 fk = sin(j+fi) 13 13 12 13 12 692 fk = cos(j+fi) 13 12 13 12 12 681 fk = tan(j+fi) 16 16 16 15 16 868 Memory Allocation (n=500) free(malloc(16)); 13 13 12 13 13 2813 free(malloc(100)); 13 12 13 13 13 2813 free(malloc(2000)); 45 47 45 47 45 10066 Secs: 321.81