Skip to content

Commit 8520dfb

Browse files
authored
Add 2nd optimization scheme
gcc -O3 cost.c -lm $ ./a.out default sum 0.124374 0.000000 multi sum 0.139044 0.000000 pow 2 sum 0.140517 0.000000 pow 2.1 sum 1.235733 0.000000 exp sum 5.393549 100000000.000000 sin sum 5.419529 0.000000 regular eqn sum 1.411861 0.000000 expanded eqn sum 0.328787 0.000000 optimized eqn sum 0.261804 0.000000 2nd optimized eqn sum 0.247991 0.000000
1 parent b3dd46b commit 8520dfb

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

math_test.c

+14
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,20 @@ int main()
134134
e_time = clock();
135135
printf("optimized eqn sum %f %f \n", (e_time - s_time)/(double) CLOCKS_PER_SEC, x);
136136

137+
// 2nd optimized equation
138+
s_time = clock();
139+
x = 0.0;
140+
for (i=0;i<nmax;i++){
141+
for (j=0;j<nmax;j++) {
142+
dx = abs(v1[i] - v2[j]);
143+
x += c*dx;
144+
dx = dx*dx;
145+
x += dx*(b + dx*a);
146+
}
147+
}
148+
e_time = clock();
149+
printf("2nd optimized eqn sum %f %f \n", (e_time - s_time)/(double) CLOCKS_PER_SEC, x);
150+
137151
free(v1);
138152
free(v2);
139153
return 0;

0 commit comments

Comments
 (0)