At the office, we have a saying: If your function takes more than 5 arguments, you forgot one. You can see the results of that mindset in this error message:
trade_secret.c: In function 'void f()':
trade_secret.h:187: error: too few arguments to function
    'void trade_secret(int, int, int, double, double, int, int, int,
        int, double, double, double, double, int, double, double,
        double, double, double, double, double, double, double, double,
        double, double, double, double, double, int, double, double*,
        double*, int*, int*, int*, int*, int*, double*, int*, int*,
        double*, double*, double*, int*, double*, double*, double*,
        double*, int*, int*, int*, int*, int*, int)'
trade_secret.c:9: error: at this point in file