public function multiply($z)
    {
        if (is_numeric($z)) {
            $z = new self($z, 0);
        }

        return new self(
            ($this->float_r * $z->re) - ($this->float_i * $z->im),
            ($this->float_r * $z->im) + ($z->re * $this->float_i)
        );
    }