| 733 | } |
| 734 | |
| 735 | function tWVv(e, t, r) { |
| 736 | var n = e["abs"](); |
| 737 | if (n["t"] <= 0) |
| 738 | return; |
| 739 | var i = this["abs"](); |
| 740 | if (i["t"] < n["t"]) { |
| 741 | if (t != null) |
| 742 | t["fromInt"](0); |
| 743 | if (r != null) |
| 744 | this["copyTo"](r); |
| 745 | return; |
| 746 | } |
| 747 | if (r == null) |
| 748 | r = VGqq(); |
| 749 | var o = VGqq() |
| 750 | , a = this["s"] |
| 751 | , s = e["s"]; |
| 752 | var u = this["DB"] - kSca(n[n["t"] - 1]); |
| 753 | if (u > 0) { |
| 754 | n["lShiftTo"](u, o); |
| 755 | i["lShiftTo"](u, r); |
| 756 | } else { |
| 757 | n["copyTo"](o); |
| 758 | i["copyTo"](r); |
| 759 | } |
| 760 | var _ = o["t"]; |
| 761 | var c = o[_ - 1]; |
| 762 | if (c == 0) |
| 763 | return; |
| 764 | var f = c * (1 << this["F1"]) + (_ > 1 ? o[_ - 2] >> this["F2"] : 0); |
| 765 | var l = this["FV"] / f |
| 766 | , h = (1 << this["F1"]) / f |
| 767 | , v = 1 << this["F2"]; |
| 768 | var d = r["t"] |
| 769 | , p = d - _ |
| 770 | , g = t == null ? VGqq() : t; |
| 771 | o["dlShiftTo"](p, g); |
| 772 | if (r["compareTo"](g) >= 0) { |
| 773 | r[r["t"]++] = 1; |
| 774 | r["subTo"](g, r); |
| 775 | } |
| 776 | UoGV["ONE"]["dlShiftTo"](_, g); |
| 777 | g["subTo"](o, o); |
| 778 | while (o["t"] < _) |
| 779 | o[o["t"]++] = 0; |
| 780 | while (--p >= 0) { |
| 781 | var m = r[--d] == c ? this["DM"] : Math["floor"](r[d] * l + (r[d - 1] + v) * h); |
| 782 | if ((r[d] += o["am"](0, m, r, p, 0, _)) < m) { |
| 783 | o["dlShiftTo"](p, g); |
| 784 | r["subTo"](g, r); |
| 785 | while (r[d] < --m) |
| 786 | r["subTo"](g, r); |
| 787 | } |
| 788 | } |
| 789 | if (t != null) { |
| 790 | r["drShiftTo"](_, t); |
| 791 | if (a != s) |
| 792 | UoGV["ZERO"]["subTo"](t, t); |