It seems attachments are not saved (or I just don't see them). So here the two classes in plain text: class TESTBED create make feature make local r: REAL_96 do --(create {MEMORY}).collection_off -- would work with this from until False loop r := r + real_96_from_real_64 (0.001) Io.put_string (r.out + "%N") end end real_96_from_real_64 (a_value: REAL_64): REAL_96 do --create Result -- would work with this Result.set_from_real_64 (a_value) end end expanded class REAL_96 inherit ANY redefine default_create, out end feature {NONE} default_create do create mp.make (12) end mp: MANAGED_POINTER feature {ANY} c_pointer: POINTER do Result := mp.item end feature {ANY} set_from_real_64 (a_value: REAL_64) do c_set_from_real_64 (c_pointer, a_value) end plus alias "+" (other: REAL_96): REAL_96 do c_plus (Result.c_pointer, c_pointer, other.c_pointer) end out: STRING_8 do Result := c_out (c_pointer) end feature {NONE} c_set_from_real_64 (a_data: POINTER; a_value: REAL_64) external "C inline" alias "*(long double *)$a_data = (double)$a_value;" end c_plus (a_res, a_data, a_other_data: POINTER) external "C inline" alias "*(long double *)$a_res = *(long double *)$a_data + *(long double *)$a_other_data;" end c_out (a_data: POINTER): STRING_8 external "C inline use " alias "[ char buf[100]; snprintf(buf, 100, "%Lf", *(long double *)$a_data); return eif_string(buf); ]" end end