component a {
  f( n = 0, m = n + 1, p = 1 + 2 ) = n + m * p; /* 3 */
  g = f( p = 1, n = 3 );
  b = 1 + g + 3 * 4 - c;
  c = 2;
  int h( n = 1000, m ) = n - sqrt( m );
  l = h( m = 40 );
  z = h( 100, 50 );
  r = 1 + 2 - 3 * 4 / 6 + z - 50 / 10 + 3;
}

component b {
  bool a = false;
  bool b = true;
  bool c = false || true;
  bool d = false && true;
  bool e = c || d && true;
  
  bool f( bool a = false, bool b = true ) = ( a && !b ) || ( !a && b );
  bool g = f( a, b );
  bool h = f( a, a );
  bool i = f( b, b );
  bool k = f;
}
