with Raised;
package body Halstead_Delivered_Bugs is

    package Exponent is
       new Raised (Base => Result, Exponent => Result, Return_Type => Result);

    function "**"
                (Some_Base : in Result; To_The_Power : in Result) return Result
        renames Exponent."**";

    procedure Of_Any_Program_Unit (E : in Effort; B_Hat : out Result) is

        Effort_Factor : constant Result := 0.666667;

    begin
        -- Of_Any_Program_Unit

        B_Hat := (Result (E) ** Effort_Factor) / 3000.0;

    exception
        -- to be changed after the demo
        when others =>
            B_Hat := 0.0;

    end Of_Any_Program_Unit;

end Halstead_Delivered_Bugs;