randRangeNonZero(-1, 1) PM === 1 ? "+" : "-" randRange(2, 9) PM === 1 ? randRange(1, 9) : randRange(-W1 + 1, -1) randFromArray(smallDenominators) D1 randRange(1, D1 - 1) randRange(1, D2 - 1)

Express your answer as a mixed number.

`W1fraction(N1, D1) + W2fraction(N2, D2) = {?}`

W1 + W2 + N1 / D1 + PM * N2 / D2

`= \blue{W1} + \blue{fraction(N1, D1)} SIGN \left(\pink{abs(W2)} + \pink{fraction(N2, D2)}\right)`

`= \blue{W1} + \blue{fraction(N1, D1)} SIGN \pink{abs(W2)} SIGN \pink{fraction(N2, D2)}`

`= \blue{W1} SIGN \pink{abs(W2)} + \blue{fraction(N1, D1)} SIGN \pink{fraction(N2, D2)}`

`=W1 + W2 + \blue{fraction(N1, D1)} SIGN \pink{fraction(N2, D2)}`

`= W1 + W2 + fraction(N1 + PM * N2, D2)`

`= W1 + W2 + fraction(N1 + PM * N2, D2)`