
;; Function g (g)

g (int i)
{
  int D.2012;

<bb 2>:
  switch (i) <default: <L5>, case 1: <L0>, case 2: <L1>, case 3: <L2>, case 4: <L3>, case 5: <L4>>

<L0>:
  D.2012 = 42;
  goto <bb 9>;

<L1>:
  D.2012 = 60;
  goto <bb 9>;

<L2>:
  D.2012 = 7;
  goto <bb 9>;

<L3>:
  D.2012 = 3;
  goto <bb 9>;

<L4>:
  D.2012 = 1048576;
  goto <bb 9>;

<L5>:
  D.2012 = 0;

<bb 9>:
  return D.2012;

}



;; Function f (f)

Merging blocks 5 and 6
f (int start, int end, int * a, int * b, int c, struct s * sp)
{
  int i;
  int count;
  int D.2023;
  int (*<T264>) (const char *, void *, int *) D.2022;
  void * D.2021;
  struct s * D.2020;
  int D.2019;
  int D.2018;
  int * D.2017;
  int * D.2016;
  long unsigned int D.2015;
  long unsigned int D.2014;

<bb 2>:
  count = 0;
  i = start;
  goto <bb 4>;

<bb 3>:
  D.2014 = (long unsigned int) i;
  D.2015 = D.2014 * 4;
  D.2016 = a + D.2015;
  D.2014 = (long unsigned int) i;
  D.2015 = D.2014 * 4;
  D.2017 = b + D.2015;
  D.2018 = *D.2017;
  D.2019 = D.2018 + c;
  *D.2016 = D.2019;
  count = count + 1;
  i = i + 1;

<bb 4>:
  if (i <= end)
    goto <bb 3>;
  else
    goto <bb 5>;

<bb 5>:
  D.2020 = sp->s;
  D.2021 = D.2020->vp;
  D.2022 = (int (*<T264>) (const char *, void *, int *)) D.2021;
  D.2022 ("Hello World!\n", exit, &M_var);
  D.2023 = count;
  return D.2023;

}


