aboutsummaryrefslogtreecommitdiff
path: root/tests/core/test_float32_precise.in
blob: 969f5ed6f6bfa3441b8f1ee6cf8d6d94328d0f28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>

int main(int argc, char **argv) {
  float x = 1.23456789123456789;
  float y = 5.20456089123406709;
  while (argc > 10 || argc % 19 == 15) {
    // confuse optimizer
    x /= y;
    y = 2 * y - 1;
    argc--;
  }
  x = x - y;
  y = 3 * y - x / 2;
  x = x * y;
  y += 0.000000000123123123123;
  x -= y / 7.654;
  printf("\n%.20f, %.20f\n", x, y);
  return 0;
}