     } else if (alpha.x == 0.0f && alpha.y == 0.0f) {
         axpy_kernel0_run(n, y, incy);
     } else {
-        axpy_kernel_run(n, alpha, x, incx, y, incy);
+        if (incx == 1 && incy == 1) {
+            axpy_kernel_run_flat(n, alpha, x, y);
+        } else {
+            axpy_kernel_run(n, alpha, x, incx, y, incy);
+        }
     }
 }
 

    } else if (alpha == 0.0f) {
        axpy_kernel0_run(n, y, incy);
    } else {
        axpy_kernel_run(n, alpha, x, incx, y, incy);
    }
}


    } else if (alpha == 0.0) {
        axpy_kernel0_run(n, y, incy);
    } else {
        if (incx == 1 && incy == 1) {
            axpy_kernel_run_flat(n, alpha, x, y);
        } else {
            axpy_kernel_run(n, alpha, x, incx, y, incy);
        }
    }
}

