int main() { unsigned long long t1, t2, t3, t4; double a,b; int l; for (l=0; l<10000; l++) { asm volatile ("mov %0=ar.itc;;" : "=r"(t1) : : "memory"); a = -1.35462832e13; b = +34.23472394e20; mpf_t x,y; mpf_init_set_d(x,a); mpf_init_set_d(y,b); asm volatile ("mov %0=ar.itc;;" : "=r"(t2) : : "memory"); mpf_mul(x,x,y); asm volatile ("mov %0=ar.itc;;" : "=r"(t3) : : "memory"); j = mpf_get_d(x); asm volatile ("mov %0=ar.itc;;" : "=r"(t4) : : "memory"); mpf_clear(x); mpf_clear(y); } }