#include #include #include #include int equal_string(const char *s1, const char *s2) { return (strcmp(s1, s2) == 0 ? 1 : 0); } int equal_char(char c1, char c2) { return (c1 == c2 ? 1 : 0); } void print_string(const char *s) { printf("%s", s); } void print_int(int64_t n) { printf("%ld", n); } void observe_int(int64_t n) { print_int(n); } intptr_t *allocate_block(int64_t n) { return (intptr_t *)malloc(n * sizeof(int64_t)); } intptr_t read_block(intptr_t *block, int64_t n) { return block[n]; } int64_t write_block(intptr_t *block, int64_t n, intptr_t v) { block[n] = v; return 0; } void add_eight_int(int64_t x1, int64_t x2, int64_t x3, int64_t x4, int64_t x5, int64_t x6, int64_t x7, int64_t x8) { return observe_int(x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8); }