   __shared__ float thresh[REPTREES][ATHREADS];
   __shared__ float totals[REPTREES][ATHREADS];
   int newt, bd, tind, ttop, kk;
-  int neg_infty = NEG_INFINITY;
-  float fneg_infty = *((float *)&neg_infty);
+  float ftmp;
   float vv[REPTREES];
 
   for (bd = blockIdx.x; bd < ncols; bd += gridDim.x) {

      // check thresholds and save as needed
      __syncthreads();
      if (threadIdx.x + threadIdx.y*ATHREADS < ntrees) {
        if (thresh[threadIdx.y][threadIdx.x] != fneg_infty) {  // Check if non-leaf
          newt = 2 * pos[threadIdx.y][threadIdx.x] + 1;
          if (totals[threadIdx.y][threadIdx.x] > thresh[threadIdx.y][threadIdx.x]) {
            newt++;

  __shared__ int pos[REPTREES][ATHREADS];
  __shared__ float totals[REPTREES][ATHREADS];
  int bd, tind, ttop;
  float ftmp;
  float vv[REPTREES];
  

