PROGRAM Run USE Demo IMPLICIT NONE TYPE(My_complex) :: one = My_complex(123, 456), & two = My_complex(432, 876), three, four three = one four%imaginary = two%real four%real = two%imaginary WRITE (*, '("( ", I0, " , ", I0, " )")') & add(one,add(two,add(three,four))) END PROGRAM Run