{
assert(intersectionArea([2, 3, 2, 3, 2, 3, 2, 4, 3, 3, 2, 3, 2, 3], [2, 3, 2, 3, 2, 3, 2, 4, 3, 3, 2, 3, 2, 3]), 0.5);
assert(intersectionArea([2, 3, 2, 3, 2, 3, 2, 4, 3, 3, 2, 3, 2, 3], [1, 1, 1, 4, 4, 4, 4, 1, 1, 1]), 0.5);
assert(intersectionArea([1, 7, 4, 7, 4, 6, 2, 6, 2, 3, 4, 3, 4, 2, 1, 2], [3, 1, 5, 1, 5, 4, 3, 4, 3, 5, 6, 5, 6, 0, 3, 0]), 0);
assert(intersectionArea([1, 1, 1, 2, 2, 1, 2, 2], [0, 0, 0, 4, 4, 4, 4, 0]), 0);
assert(intersectionArea([0, 0, 3, 0, 3, 2, 1, 2, 1, 1, 2, 1, 2, 3, 0, 3], [0, 0, 0, 4, 4, 4, 4, 0]), -9);
assert(intersectionArea([0, 0, 1, 0, 0, 1], [0, 0, 0, 1, 1, 1, 1, 0]), -0.5);
assert(intersectionArea([1, 3, 2, 3, 2, 0, 1, 0], [0, 1, 3, 1, 3, 2, 0, 2]), -1);
assert(intersectionArea([0, 0, 0, 2, 2, 2, 2, 0], [1, 1, 3, 1, 3, 3, 1, 3]), -1);
assert(intersectionArea([0, 0, 0, 4, 4, 4, 4, 0], [1, 1, 1, 2, 2, 2, 2, 1]), 1);
assert(intersectionArea([0, 0, 3, 3], [0, 0, 3, 3]), 0);
assert(intersectionArea([0, 0, 3, 3], [1, 1, 1, 2, 2, 2, 2, 1]), 0);
assert(intersectionArea([1, 1, 1, 2, 2, 2, 2, 1], [0, 0, 3, 3]), 0);
return 'PASS';
}