#include <perms.h>

//          Edinburgh IMP77 Compiler - Version 8.4
//
//     1  %begin

int main(int argc, char **argv) { /*%begin*/
  _imp_initialise(argc, argv);

  //     2
  //     3    %integer value

  int VALUE;

  //     4    %recordformat simple(%integer b)

  struct SIMPLE {
    union {
      struct {
        int B;
      };
    };
  };

  //     5
  //     6    %record (simple) %map recmap

  struct SIMPLE *RECMAP(void) {
    //     7      %ownrecord(simple) inner

    static struct SIMPLE INNER;

    //     8      %result == inner

    return /*?*/ &INNER;

    //     9    %end

  } /* end of RECMAP */

  //    10
  //    11    recmap_b = value

  RECMAP()->B = VALUE;

  //    12
  //    13  %endofprogram

  _imp_stop(0);
  return 0;
end_0:;
}