printf( "Starting the Van der Pol test...\n" );

xdot = function( t; x )
{
    return x[1]*(1.0-x[2]^2)-x[2], x[1];
};

x = ode4( xdot; 0; 20; 0,.25; NULL; 1e-6 );

fail = 0;

if ( abs( max(x[1;]) - 2.671 ) > 0.01 ) { fail = 1; }
if ( abs( min(x[1;]) + 2.677 ) > 0.01 ) { fail = 1; }
if ( abs( max(x[2;]) - 2.009 ) > 0.01 ) { fail = 1; }
if ( abs( min(x[2;]) + 2.009 ) > 0.01 ) { fail = 1; }

if ( abs( x[1;]*fill(x.nc;1) - 18.486 ) > 0.01 ) { fail = 1; }
if ( abs( x[2;]*fill(x.nc;1) - 29.185 ) > 0.01 ) { fail = 1; }
if ( abs( x[1;]*x[1;] - 446.639 ) > 0.1 ) { fail = 1; }
if ( abs( x[1;]*x[2;] - 69.2305 ) > 0.1 ) { fail = 1; }
if ( abs( x[2;]*x[2;] - 529.738 ) > 0.1 ) { fail = 1; }

if ( fail ) {
    printf( "...failed.\a\n" );
    exception();
else
    printf( "...passed.\n" );
}


syntax highlighted by Code2HTML, v. 0.9.1