#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include <dispatch/dispatch.h>

#define TAMANHO 100000

int main(int argc, char *argv[])
{
  srand (time(NULL));
  uint32_t quantidade;
  if (argc==2) quantidade = atoi(argv[1]);
  else quantidade = 20;
  
  dispatch_queue_t globalFila = dispatch_get_global_queue (0, 0);  

  dispatch_apply(quantidade, globalFila, ^(size_t k) {
    int i;
    double result = 0;
    double a, b;
    for ( i = 0; i < TAMANHO; i++){
      a = (double)rand();
      b = (double)rand();
      result += a * b;
    }
  });
  
  return 0;
}