         t.toc();
         if(rank==0)std::cout<<t.diff()/(double)multi<<" ";
     }
+    else 
+        if(rank==0)std::cout<<0.<<" ";
 
     //The Arakawa scheme
     dg::ArakawaX<dg::CartesianMPIGrid3d, Matrix, Vector> arakawa( grid);

    dg::Timer t;
    Vector w3d = dg::create::weights( grid);
    Vector lhs = dg::evaluate ( left, grid), jac(lhs);
    Vector rhs = dg::evaluate ( right,grid);
    const Vector sol = dg::evaluate( jacobian, grid );
    Vector eins = dg::evaluate( dg::one, grid );
    std::cout<< std::setprecision(6);
    unsigned multi=100;

    dg::blas1::axpby( 1., lhs, -1., jac);
    //AXPBY
    t.tic();
    for( unsigned i=0; i<multi; i++)
        dg::blas1::axpby( 1., lhs, -1., jac);
    t.toc();
    if(rank==0)std::cout<<t.diff()/(double)multi<<" ";
    //DOT
    t.tic();
    double norm;
    for( unsigned i=0; i<multi; i++)
        norm = dg::blas1::dot( lhs, rhs);
    t.toc();
    if(rank==0)std::cout<<t.diff()/(double)multi<<" ";
    norm++;//avoid compiler warning

    dg::Elliptic<dg::CylindricalMPIGrid3d, Matrix, Vector> laplace(gridEll, dg::not_normed, dg::centered);
    const Vector solution = dg::evaluate ( fct, gridEll);
    const Vector deriv = dg::evaluate( derivative, gridEll);
    x = dg::evaluate( initial, gridEll);
    Vector b = dg::evaluate ( laplace_fct, gridEll);
    dg::blas2::symv( ellw3d, b, b);
    dg::CG< Vector > pcg( x, n*n*Nx*Ny);
