program tw26993a;

{$mode delphi}

uses
  Classes, SysUtils;

type

  { TExtendedTestCase }

  TExtendedTestCase = record
  private
    FValue: extended;
    dummy: array[0..5] of byte;
  public
    property Value: extended read FValue write FValue;
    class operator Add(v1, v2: TExtendedTestCase): TExtendedTestCase;
    class operator Multiply(v1, v2: TExtendedTestCase): TExtendedTestCase;
  end;


{ TExtendedTestCase }

class operator TExtendedTestCase.Add(v1, v2: TExtendedTestCase): TExtendedTestCase;
begin
  Result.Value := v1.Value + v2.Value;
end;

class operator TExtendedTestCase.Multiply(v1, v2: TExtendedTestCase):
TExtendedTestCase;
begin
  Result.Value := v1.Value * v2.Value;
end;

var
  e1,e2,e3: textendedtestcase;
begin
  e1.fvalue:=2.0;
  e2.fvalue:=3.0;
  e3:=e1+e2;
  if (e3*e2).fvalue<>15.0 then
    halt(1);

end.





