infinite.
using https://en.wikipedia.org/wiki/Limit_of_a_function
TODO should these be valid, or should they always produce 'invalid'
and only Limit() produce valid operations on infinity?


simplifyAssertEq(inf, inf)
${\infty} = {\infty}$
GOOD
time: 0.754000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertNe(inf, -inf)
${\infty} \ne {-{\infty}}$
GOOD
time: 6.314000ms
stack: size: 14
  • Init
  • *:Prune:handleInfAndNan
  • unm:Prune:doubleNegative
  • Prune
  • Expand
  • *:Prune:handleInfAndNan
  • Prune
  • Factor
  • *:Prune:handleInfAndNan
  • Prune
  • Constant:Tidy:apply
  • *:Tidy:apply
  • *:Tidy:apply
  • Tidy

simplifyAssertNe(inf, invalid)
${\infty} \ne {¿}$
GOOD
time: 1.355000ms
stack: size: 7
  • Init
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

q + inf = inf for q != -inf

simplifyAssertEq(inf + inf, inf)
${{\infty} + {\infty}} = {\infty}$
GOOD
time: 0.940000ms
stack: size: 8
  • Init
  • +:Prune:handleInfAndInvalid
  • Prune
  • Expand
  • Prune
  • Factor
  • Prune
  • Tidy

simplifyAssertEq(inf + 0, inf)
${\infty} = {\infty}$
GOOD
time: 0.294000ms
stack: size: 0

    simplifyAssertEq(inf + 1, inf)
    ${{\infty} + {1}} = {\infty}$
    GOOD
    time: 1.126000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf - 1, inf)
    ${{\infty}{-{1}}} = {\infty}$
    GOOD
    time: 0.929000ms
    stack: size: 9
    • Init
    • unm:Prune:doubleNegative
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf + x + y, inf)
    ${{\infty} + {x} + {y}} = {\infty}$
    GOOD
    time: 1.761000ms
    stack: size: 8
    • Init
    • +:Prune:handleInfAndInvalid
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    q * inf = inf for q > 0 (incl q == inf)
    q * inf = -inf for q < 0 (incl q == -inf)

    simplifyAssertEq((inf * inf), inf)
    ${{{\infty}} \cdot {{\infty}}} = {\infty}$
    GOOD
    time: 1.027000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * -inf), -inf)
    ${{{\infty}} \cdot {-{\infty}}} = {-{\infty}}$
    GOOD
    time: 8.287000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1), -inf)
    ${{{\infty}} \cdot {{-1}}} = {-{\infty}}$
    GOOD
    time: 5.104000ms
    stack: size: 14
    • Init
    • *:Prune:handleInfAndNan
    • unm:Prune:doubleNegative
    • Prune
    • Expand
    • *:Prune:handleInfAndNan
    • Prune
    • Factor
    • *:Prune:handleInfAndNan
    • Prune
    • Constant:Tidy:apply
    • *:Tidy:apply
    • *:Tidy:apply
    • Tidy

    simplifyAssertEq((inf * -1 * -2), inf)
    ${{{\infty}} \cdot {{-1}} \cdot {{-2}}} = {\infty}$
    GOOD
    time: 1.528000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq((inf * 1 * 2), inf)
    ${{{\infty}} \cdot {{2}}} = {\infty}$
    GOOD
    time: 0.886000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy
    TODO this should be unknown unless x is defined as a positive or negative real
    simplifyAssertEq(inf * x, inf)
    ${{{\infty}} \cdot {{x}}} = {\infty}$
    GOOD
    time: 1.156000ms
    stack: size: 8
    • Init
    • *:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 2, inf)
    ${{\frac{1}{2}} {\infty}} = {\infty}$
    GOOD
    time: 1.785000ms
    stack: size: 8
    • Init
    • /:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    0 * inf = invalid

    simplifyAssertEq(inf * 0, invalid)
    ${{{\infty}} \cdot {{0}}} = {¿}$
    GOOD
    time: 2.888000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf / 0, invalid)
    ${¿} = {¿}$
    GOOD
    time: 0.920000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    q / inf = 0 for q != inf and q != -inf

    simplifyAssertEq(-2 / inf, 0)
    ${\frac{-2}{\infty}} = {0}$
    GOOD
    time: 1.114000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-1 / inf, 0)
    ${\frac{-1}{\infty}} = {0}$
    GOOD
    time: 0.460000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(-.5 / inf, 0)
    ${\frac{-0.5}{\infty}} = {0}$
    GOOD
    time: 0.508000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(0 / inf, 0)
    ${\frac{0}{\infty}} = {0}$
    GOOD
    time: 0.705000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(.5 / inf, 0)
    ${\frac{0.5}{\infty}} = {0}$
    GOOD
    time: 0.878000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(1 / inf, 0)
    ${\frac{1}{\infty}} = {0}$
    GOOD
    time: 1.033000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(2 / inf, 0)
    ${\frac{2}{\infty}} = {0}$
    GOOD
    time: 1.175000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    inf^q = 0 for q < 0
    inf^q = inf for q > 0

    simplifyAssertEq(inf ^ -inf, invalid)
    ${{\infty}^{-{\infty}}} = {¿}$
    GOOD
    time: 0.596000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -2, 0)
    ${{\infty}^{-2}} = {0}$
    GOOD
    time: 0.662000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -1, 0)
    ${{\infty}^{-1}} = {0}$
    GOOD
    time: 0.497000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ -.5, 0)
    ${{\infty}^{-0.5}} = {0}$
    GOOD
    time: 0.497000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 0, invalid)
    ${{\infty}^{0}} = {¿}$
    GOOD
    time: 0.654000ms
    stack: size: 7
    • Init
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ .5, inf)
    ${{\infty}^{0.5}} = {\infty}$
    GOOD
    time: 0.295000ms
    stack: size: 8
    • Init
    • ^:Prune:handleInfAndNan
    • Prune
    • Expand
    • Prune
    • Factor
    • Prune
    • Tidy

    simplifyAssertEq(inf ^ 1, inf)
    ${\infty} = {\infty}$
    GOOD
    time: 0.238000ms
    stack: size: 0

      simplifyAssertEq(inf ^ 2, inf)
      ${{\infty}^{2}} = {\infty}$
      GOOD
      time: 0.528000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ inf, inf)
      ${{\infty}^{\infty}} = {\infty}$
      GOOD
      time: 0.767000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      q^inf = 0 for 0 < q < 1
      q^inf = inf for 1 < q

      simplifyAssertEq((-2) ^ inf, invalid)
      ${{-2}^{\infty}} = {¿}$
      GOOD
      time: 1.054000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ inf, invalid)
      ${{-0.5}^{\infty}} = {¿}$
      GOOD
      time: 0.704000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ inf, invalid)
      ${{0}^{\infty}} = {¿}$
      GOOD
      time: 1.738000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ inf, 0)
      ${{0.5}^{\infty}} = {0}$
      GOOD
      time: 0.731000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ inf, inf)
      ${{2}^{\infty}} = {\infty}$
      GOOD
      time: 0.346000ms
      stack: size: 8
      • Init
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      q^-inf = inf for 0 < q < 1
      q^-inf = 0 for 1 < q

      simplifyAssertEq((-2) ^ -inf, invalid)
      ${{-2}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.647000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-.5) ^ -inf, invalid)
      ${{-0.5}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.576000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 ^ -inf, invalid)
      ${{0}^{-{\infty}}} = {¿}$
      GOOD
      time: 1.068000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(.5 ^ -inf, inf)
      ${{0.5}^{-{\infty}}} = {\infty}$
      GOOD
      time: 1.167000ms
      stack: size: 10
      • Init
      • *:Prune:handleInfAndNan
      • unm:Prune:doubleNegative
      • ^:Prune:handleInfAndNan
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(2 ^ -inf, 0)
      ${{2}^{-{\infty}}} = {0}$
      GOOD
      time: 1.312000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      indeterminant:

      simplifyAssertEq(Constant(0) / 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.549000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy
      verify short-circuit doesn't interfere
      simplifyAssertEq(Constant(0) / (Constant(3) * Constant(0)), invalid)
      ${\frac{0}{{{3}} \cdot {{0}}}} = {¿}$
      GOOD
      time: 2.206000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / inf, invalid)
      ${{\frac{1}{\infty}}{\left({-{\infty}}\right)}} = {¿}$
      GOOD
      time: 1.277000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / inf, invalid)
      ${{\frac{1}{\infty}} {\infty}} = {¿}$
      GOOD
      time: 0.960000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf / -inf, invalid)
      ${\frac{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.911000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(-inf / -inf, invalid)
      ${\frac{-{\infty}}{-{\infty}}} = {¿}$
      GOOD
      time: 1.685000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * inf, invalid)
      ${{{0}} {{\infty}}} = {¿}$
      GOOD
      time: 1.429000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(0 * -inf, invalid)
      ${{{0}} \cdot {-{\infty}}} = {¿}$
      GOOD
      time: 0.934000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf + -inf, invalid)
      ${{\infty}{-{\infty}}} = {¿}$
      GOOD
      time: 0.588000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(Constant(0) ^ 0, invalid)
      ${¿} = {¿}$
      GOOD
      time: 0.493000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(inf ^ 0, invalid)
      ${{\infty}^{0}} = {¿}$
      GOOD
      time: 0.573000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ inf, invalid)
      ${{-1}^{\infty}} = {¿}$
      GOOD
      time: 0.513000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq((-1) ^ -inf, invalid)
      ${{-1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.725000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ inf, invalid)
      ${{1}^{\infty}} = {¿}$
      GOOD
      time: 0.518000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy

      simplifyAssertEq(1 ^ -inf, invalid)
      ${{1}^{-{\infty}}} = {¿}$
      GOOD
      time: 0.741000ms
      stack: size: 7
      • Init
      • Prune
      • Expand
      • Prune
      • Factor
      • Prune
      • Tidy