#include <perms.h>

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

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

  //     2    %recordformat fm(%integer a, b, c)

  struct FM {
    union {
      struct {
        int A;
        int B;
        int C;
      };
    };
  };

  //     3    %record (fm) %fn recfn

  struct FM RECFN(void) {
    //     4      %ownrecord (fm) local

    static struct FM LOCAL;

    //     5      %result = local

    return LOCAL;

    //     6    %end

  } /* end of RECFN */

  //     7    %integer i

  int I;

  //     8    i = recfn_b

  I = RECFN().B;

  //     9  %endofprogram

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