C Time Cost Model, n=5000 clock_per_sec=1000 Integer Arithmetic (n=5000) {} 401 380 381 390 391 16 k++ 611 601 580 591 601 24 k = i + j 661 661 671 661 661 27 k = i - j 681 681 681 691 681 27 k = i * j 661 671 661 671 671 27 k = i / j 3735 3725 3726 3735 3725 149 k = i % j 3736 3725 3725 3726 3735 149 k = i & j 661 671 661 671 661 27 k = i | j 661 661 671 661 661 27 Floating Point Arithmetic (n=5000) fj=j; 841 841 831 842 841 34 fj=j; fk = fi + fj; 911 901 902 901 911 36 fj=j; fk = fi - fj; 902 911 911 901 912 36 fj=j; fk = fi * fj; 991 992 991 991 992 40 fj=j; fk = fi / fj; 3485 3495 3485 3495 3485 140 Array Operations (n=5000) k = i + j 681 681 691 681 681 27 k = x[i] + j 681 671 681 681 681 27 k = i + x[j] 751 751 761 751 761 30 k = x[i] + x[j] 821 832 821 821 831 33 Comparisons (n=5000) if (i < j) k++ 661 661 661 671 661 27 if (x[i] < x[j]) k++ 831 841 832 841 831 33 Array Comparisons and Swaps (n=5000) k = (x[i] j) ? i : j 711 711 711 711 711 28 k = maxmac(i, j) 722 731 731 721 731 29 k = maxfunc(i, j) 1502 1512 1502 1512 1503 60 Math Functions (n=1000) fk = j+fi; 30 20 30 30 30 28 k = rand(); 40 41 40 50 40 42 fk = sqrt(j+fi) 330 341 330 341 330 334 fk = sin(j+fi) 1282 1282 1272 1281 1272 1278 fk = cos(j+fi) 1292 1272 1282 1272 1292 1282 fk = tan(j+fi) 951 941 952 951 951 949 Memory Allocation (n=500) free(malloc(16)); 161 150 150 150 160 617 free(malloc(100)); 161 160 160 160 161 642 free(malloc(2000)); 160 150 150 161 150 617