Language: C++

#include <bits/stdc++.h>
const int N = 2000010;
const int mod = 1000000007;
int inv[N], fact[N], ifact[N];
inline void Init() {
	inv[1] = 1;
	for (int i = 2; i < N; i++)
		inv[i] = 1ll * (mod - mod / i) * inv[mod % i] % mod;
	fact[0] = ifact[0] = 1;
	for (int i = 1; i < N; i++) {
		fact[i] = 1ll * fact[i - 1] * i % mod;
		ifact[i] = 1ll * ifact[i - 1] * inv[i] % mod;
	}
}
inline int F(int x1, int y1, int x2, int y2) {
	return 1ll * fact[x2 + y2 - x1 - y1] * ifact[x2 - x1] % mod * ifact[y2 - y1] % mod;
}
inline int calc(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4) {
	int res = 0;
	for (int i = x3; i <= x4; i++)
		res = (res + 1ll * F(x1, y1, i, y3 - 1) * F(i, y3, x2, y2) % mod * (mod - i - y3) % mod) % mod;
	for (int j = y3; j <= y4; j++)
		res = (res + 1ll * F(x1, y1, x3 - 1, j) * F(x3, j, x2, y2) % mod * (mod - j - x3) % mod) % mod;
	for (int i = x3; i <= x4; i++)
		res = (res + 1ll * F(x1, y1, i, y4) * F(i, y4 + 1, x2, y2) % mod * (i + y4 + 1) % mod) % mod;
	for (int j = y3; j <= y4; j++)
		res = (res + 1ll * F(x1, y1, x4, j) * F(x4 + 1, j, x2, y2) % mod * (j + x4 + 1) % mod) % mod;
	return res;
}
struct Node {
	int x, y, z;
} ss[4], tt[4];
int x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6;
int main() {
	Init();
	std::scanf("%d%d%d%d%d%d", &x1, &x2, &x3, &x4, &x5, &x6);
	std::scanf("%d%d%d%d%d%d", &y1, &y2, &y3, &y4, &y5, &y6);
	ss[0] = (Node){x1 - 1, y1 - 1, 1};
	ss[1] = (Node){x1 - 1, y2, mod - 1};
	ss[2] = (Node){x2, y1 - 1, mod - 1};
	ss[3] = (Node){x2, y2, 1};
	tt[0] = (Node){x6 + 1, y6 + 1, 1};
	tt[1] = (Node){x6 + 1, y5, mod - 1};
	tt[2] = (Node){x5, y6 + 1, mod - 1};
	tt[3] = (Node){x5, y5, 1};
	int ans = 0;
	for (int i = 0; i < 4; i++)
		for (int j = 0; j < 4; j++)
			ans = (ans + 1ll * calc(ss[i].x, ss[i].y, tt[j].x, tt[j].y, x3, y3, x4, y4) * ss[i].z % mod * tt[j].z % mod) % mod;
	std::printf("%d\n", ans);
	return 0;
}

Compiler output:
a.cc:33:9: error: 'int y1' redeclared as different kind of entity
   33 | int x1, y1, x2, y2, x3, y3, x4, y4, x5, y5, x6, y6;
      |         ^~
In file included from /usr/include/features.h:523,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/c++config.h:683,
                 from /usr/include/c++/14/cassert:43,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:33,
                 from a.cc:1:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:257:1: note: previous declaration 'double y1(double)'
  257 | __MATHCALL (y1,, (_Mdouble_));
      | ^~~~~~~~~~
a.cc: In function 'int main()':
a.cc:38:35: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   38 |         ss[0] = (Node){x1 - 1, y1 - 1, 1};
      |                                ~~~^~~
a.cc:38:35: error: invalid conversion from 'double (*)(double) noexcept' to 'int' [-fpermissive]
   38 |         ss[0] = (Node){x1 - 1, y1 - 1, 1};
      |                                ~~~^~~
      |                                   |
      |                                   double (*)(double) noexcept
a.cc:40:31: warning: pointer to a function used in arithmetic [-Wpointer-arith]
   40 |         ss[2] = (Node){x2, y1 - 1, mod - 1};
      |                            ~~~^~~
a.cc:40:31: error: invalid conversion from 'double (*)(double) noexcept' to 'int' [-fpermissive]
   40 |         ss[2] = (Node){x2, y1 - 1, mod - 1};
      |                            ~~~^~~
      |                               |
      |                               double (*)(double) noexcept