#include "blink.h"

uint64_t __clock = 0;
const uint32_t __coverage_len = 1;
uint32_t __coverage[1] = {0};
uint32_t __coverage_index = 0;
uint8_t e1 = 0;  /* blink_atom.isOn */
uint8_t e2 = 0;  /* blink_atom.doReset */
uint16_t e3 = 30000;  /* blink_atom.toggle */

/* blink_atom.decrement */
void r0(void) {
  const uint16_t e4 = 0;
  uint8_t e5;
  const uint16_t e6 = 1;
  uint16_t e7;
  uint16_t e8;
  e5 = e4 < e3;
  e7 = e3 - e6;
  e8 = e5 ? e7 : e3;
  if (e5) {
    __coverage[0] = __coverage[0] | (1 << 0);
  }
  e3 = e8;
}

/* blink_atom.reset */
void r1(void) {
  const uint16_t e4 = 30000;
  uint16_t e5;
  const uint8_t e6 = 0;
  e5 = e2 ? e4 : e3;
  if (e2) {
    __coverage[0] = __coverage[0] | (1 << 1);
  }
  e3 = e5;
  e2 = e6;
}

/* blink_atom.flip */
void r2(void) {
  const uint16_t e4 = 0;
  uint8_t e5;
  uint8_t e6;
  uint8_t e7;
  uint8_t e8;
  uint8_t e9;
  uint8_t e10;
  uint8_t e11;
  uint8_t e12;
  uint8_t e13;
  uint8_t e14;
  uint8_t e15;
  uint8_t e16;
  uint8_t e17;
  e5 = e4 < e3;
  e6 = ! e5;
  e7 = e2 && e5;
  e8 = ! e7;
  e9 = e8 && e5;
  e10 = ! e9;
  e11 = e1 && e5;
  e12 = ! e11;
  e13 = ! e1;
  e14 = e13 && e6;
  e15 = ! e14;
  e16 = e12 && e15;
  e17 = ! e16;
  if (e6) {
    setLED(e1);
    __coverage[0] = __coverage[0] | (1 << 2);
  }
  e2 = e10;
  e1 = e17;
}


void blink_atom(void) {
  if (__clock % 1 == 0) {
    r0();  /* blink_atom.decrement */
  }
  if (__clock % 2 == 0) {
    r1();  /* blink_atom.reset */
  }
  if (__clock % 2 == 1) {
    r2();  /* blink_atom.flip */
  }

  __clock = __clock + 1;
}
