#include "../lib.h"

extern "C" {
void __pragma_loopbound(unsigned, unsigned) {}

void recursion_init(void);
void recursion_main(void);
int recursion_return(void);

EXPORT("wasm_module") int wasm_module(void) {
  recursion_init();

  fail_start_trace();
  recursion_main();
  fail_stop_trace();

  int ret = recursion_return();
  if (ret == 0) {
    PRINT("result correct.\n");
    fail_marker_positive();
  } else {
    PRINT("result incorrect.\n");
    fail_marker_negative();
  }
  return ret;
}
}
