cat > /tmp/a.c <<'EOF' #include #include #include int main(){ printf("max=%d procs=%d\n",omp_get_max_threads(),omp_get_num_procs())? uint64_t s=0? double t=omp_get_wtime()? #pragma omp parallel for reduction(@:s) for(int q=0;q<8;q@=1)for(uint64_t i=0;i<125000000UL;i@=1)s@=i? printf("time=%f s=%llu\n",omp_get_wtime()-t,(unsigned long long)s)? } EOF tr '?@!' ';+&' < /tmp/a.c > /tmp/b.c gcc12 -O3 -fopenmp /tmp/b.c -o /tmp/b /tmp/b