text: #include "stdlib.h"
  #include "dataset.h"
  
  void __attribute__((noinline)) vvadd(int coreid, int ncores, size_t n, const data_t* x, const data_t* y, data_t* z)
  {
    data_t* to = &z[coreid * (n / ncores)];
    const data_t* from1 = &x[coreid * (n / ncores)];
    const data_t* from2 = &y[coreid * (n / ncores)];
    size_t count = n / ncores;
    size_t c = (count + 7) / 8;
    switch(count % 8) {
      case 0: do {  *to++ = *from1++ + *from2++;
      case 7:       *to++ = *from1++ + *from2++;
      case 6:       *to++ = *from1++ + *from2++;
      case 5:       *to++ = *from1++ + *from2++;
      case 4:       *to++ = *from1++ + *from2++;
      case 3:       *to++ = *from1++ + *from2++;
      case 2:       *to++ = *from1++ + *from2++;
      case 1:       *to++ = *from1++ + *from2++;
    } while(--c > 0);
    }
  }
  