modernc.org/ccgo/v3@v3.16.14/lib/testdata/gcc-9.1.0/gcc/testsuite/gcc.c-torture/execute/950607-2.c (about)

     1  typedef struct {
     2    long int p_x, p_y;
     3  } Point;
     4  
     5  int
     6  f (Point basePt, Point pt1, Point pt2)
     7  {
     8    long long vector;
     9  
    10    vector =
    11      (long long) (pt1.p_x - basePt.p_x) * (long long) (pt2.p_y - basePt.p_y) -
    12        (long long) (pt1.p_y - basePt.p_y) * (long long) (pt2.p_x - basePt.p_x);
    13  
    14    if (vector > (long long) 0)
    15      return 0;
    16    else if (vector < (long long) 0)
    17      return 1;
    18    else
    19      return 2;
    20  }
    21  
    22  main ()
    23  {
    24    Point b, p1, p2;
    25    int answer;
    26  
    27    b.p_x = -23250;
    28    b.p_y = 23250;
    29  
    30    p1.p_x = 23250;
    31    p1.p_y = -23250;
    32  
    33    p2.p_x = -23250;
    34    p2.p_y = -23250;
    35  
    36    answer = f (b, p1, p2);
    37  
    38    if (answer != 1)
    39      abort ();
    40    exit (0);
    41  }