combo error
[libfirm] / ir / be / test / ll_call.c
1 #include <stdio.h>
2
3 long long fac(long long n)
4 {
5     if(n < 1)
6         return 1;
7
8     return (n*fac(n-1));
9 }
10
11 int main(void) {
12     printf("Result:%lld (should be 3628800)\n",fac(10));
13     printf("Result:%lld (should be 39916800)\n",fac(11));
14     printf("Result:%lld (should be 479001600)\n",fac(12));
15     printf("Result:%lld (should be 6227020800)\n",fac(13));
16     printf("Result:%lld (should be 87178291200)\n",fac(14));
17     printf("Result:%lld (should be 1307674368000)\n",fac(15));
18     printf("Result:%lld (should be 20922789888000)\n",fac(16));
19     printf("Result:%lld (should be 355687428096000)\n",fac(17));
20     printf("Result:%lld (should be 6402373705728000)\n",fac(18));
21     printf("Result:%lld (should be 121645100408832000)\n",fac(19));
22     printf("Result:%lld (should be 2432902008176640000)\n",fac(20));
23
24         return fac(20) != 2432902008176640000ULL;
25 }