C Time Cost Model, n=5000 Integer Arithmetic (n=5000) {} 3 4 3 4 3 7 k++ 5 6 5 5 6 12 k = i + j 5 5 5 6 5 11 k = i - j 5 5 5 6 5 11 k = i * j 9 8 9 9 8 19 k = i / j 36 36 36 36 36 79 k = i % j 36 36 36 37 36 80 k = i & j 7 6 7 7 7 15 k = i | j 6 5 5 5 5 11 Floating Point Arithmetic (n=5000) fj=j; 16 16 15 16 16 35 fj=j; fk = fi + fj; 36 37 36 37 36 80 fj=j; fk = fi - fj; 37 36 37 36 37 80 fj=j; fk = fi * fj; 39 40 40 40 41 88 fj=j; fk = fi / fj; 97 97 97 97 97 213 Array Operations (n=5000) k = i + j 5 6 5 5 5 11 k = x[i] + j 7 7 7 7 7 15 k = i + x[j] 8 8 7 8 8 17 k = x[i] + x[j] 11 10 11 10 10 23 Comparisons (n=5000) if (i < j) k++ 8 8 8 8 8 18 if (x[i] < x[j]) k++ 15 16 16 15 16 34 Array Comparisons and Swaps (n=5000) k = (x[i] j) ? i : j 6 7 7 7 7 15 k = maxmac(i, j) 7 7 7 7 7 15 k = maxfunc(i, j) 76 75 77 79 75 168 Math Functions (n=1000) fk = j+fi; 1 1 1 1 1 55 k = rand(); 5 6 6 6 5 308 fk = sqrt(j+fi) 10 10 10 10 10 549 fk = sin(j+fi) 11 12 12 11 12 637 fk = cos(j+fi) 12 12 12 12 12 659 fk = tan(j+fi) 15 16 15 16 15 846 Memory Allocation (n=500) free(malloc(16)); 13 13 12 14 13 2857 free(malloc(100)); 13 12 13 13 13 2813 free(malloc(2000)); 45 45 46 45 46 9978