function [ fxy_min, t ] = min3 ( n )

  if ( nargin < 1 )
    n = 101;
  end

  tic;

  m = 10;
  
  fxy_min = Inf;

  for i = 1 : m
    x = linspace ( ( i - 1 ) * pi / ( m - 1 ), i * pi / ( m - 1 ),  n / m );
    for j = 1 : m
      y = linspace ( ( j - 1 ) * pi / ( m - 1 ), j * pi / ( m - 1 ), n / m );
      [ X, Y ] = meshgrid ( x, y );
      F = f3 ( X, Y );
      fxy_min = min ( fxy_min, min ( min ( F ) ) );
    end
  end

  t = toc;

  return
end
function value = f3 ( x, y )

  value = - sin ( x ) .* ( sin (     x.^2 / pi ) ).^( 20 ) ...
          - sin ( y ) .* ( sin ( 2 * y.^2 / pi ) ).^( 20 );

  return
end
