         xweight2 = _mm_sub_ps(xconst4,xweight2);
         xweight2 = _mm_max_ps(xconst0,xweight2);
         xfactor2 = _mm_mul_ps(xval,xweight2);
+        _mm_store_ps(weight_1b,xweight2);
 
         xweight1 = _mm_add_ps(xweight1,xweight2);
         xfactor1 = _mm_add_ps(xfactor1,xfactor2);


        for(int32_t i=0; i < 8; i++){
            weight_sum0 = 4.0f - std::fabs(val[i]-val_curr);
            weight_sum0 = std::fmax(weight_sum0, 0.0f);
            weight_sum2 += weight_sum0;
            factor_sum2 += val_curr*weight_sum0;
        }

        xval     = _mm_load_ps(val);      
        xweight1 = _mm_sub_ps(xval,_mm_set1_ps(val_curr));
        //xweight1 = _mm_and_ps(xweight1,xabsmask);
        xweight1 = _mm_max_ps(_mm_sub_ps(_mm_setzero_ps(), xweight1), xweight1);
        xweight1 = _mm_sub_ps(xconst4,xweight1);
        xweight1 = _mm_max_ps(xconst0,xweight1);
        xfactor1 = _mm_mul_ps(xval,xweight1);

        xval     = _mm_load_ps(val+4);      
        xweight2 = _mm_sub_ps(xval,_mm_set1_ps(val_curr));


        //Sum it up
        float weight_sum = weight[0]+weight[1]+weight[2]+weight[3];
        float factor_sum = factor[0]+factor[1]+factor[2]+factor[3];*/

        if (weight_sum2>0) {
          float d = factor_sum2/weight_sum2;
          if (d>=0) *(D_tmp+v*D_width+(u-3)) = d;
        }
      }
