randVar() randRangeNonZero(-1, 1) * randRange(1, randRange(1, 12)) randRangeNonZero(-1, 1) * randRange(1, randRange(1, 12)) randRangeNonZero(-1, 1) * randRange(1, randRange(1, 20)) randRangeNonZero(-1, 1) * randRange(1, randRange(1, 12)) "(?:"+(0>A?"[-\\u2212]\\s*":"")+abs(A)+(1===A?"|":"")+(-1===A?"|[-\\u2212]\\s*":"")+")\\s*"+X "(?:"+(0>A+B?"[-\\u2212]\\s*":"")+abs(A+B)+(A+B===1?"|":"")+(A+B===-1?"|[-\\u2212]\\s*":"")+")\\s*"+X (C < 0 ? "[-\\u2212]\\s*" : "") + abs(C) ((C + D) < 0 ? "[-\\u2212]\\s*" : "") + abs(C + D)
[TERM_AX_BX]

Simplifica la siguiente expresión:

\large{expr(["+", ["*", A, X], ["*", B, X]])}

^\s*SOL\s*$
una expresión como -2x + 4

Combina los términos de X:

\qquad\pink{expr(["*", A, X]) + expr(["*", B, X])}

\qquad\pink{expr(["*", A + B, X])}

La expresión simplificada es expr(["*", A + B, X])

[TERM_AX_BX+(C>0?"\\s*\\+\\s*":"\\s*")+TERM_C,TERM_C+(A+B>0?"\\s*\\+\\s*":"\\s*")+TERM_AX_BX]

\large{expr(["+", ["*", A, X], ["*", B, X], C])}

Combina los términos de \pink{X}:

\qquad\pink{expr(["*", A, X])} + \pink{expr(["*", B, X])} + C

\qquad\pink{expr(["*", A + B, X])} + C

La expresión simplificada es expr(["*", A + B, X]) + C

\large{expr(["+", ["*", A, X], C, ["*", B, X]])}

Reescribe para agrupar los términos de \pink{X}:

\qquad\pink{expr(["*", A, X]) + expr(["*", B, X])} + C

Combina los términos de \pink{X}:

\qquad\pink{expr(["*", A + B, X])} + C

La expresión simplificada es expr(["*", A + B, X]) + C

[TERM_AX_BX+(C+D>0?"\\s*\\+\\s*":"\\s*")+TERM_C_D,TERM_C_D+(A+B>0?"\\s*\\+\\s*":"\\s*")+TERM_AX_BX]

\large{expr(["+", ["*", A, X], C, ["*", B, X], D])}

Reescribe la expresión para agrupar los términos de \pink{X} y los términos numéricos:

\qquad\pink{expr(["*", A, X]) + expr(["*", B, X])} C < 0 ? "" : "+" \blue{C + D}

Combina los términos de \pink{X}:

\qquad\pink{expr(["*", A + B, X])} C < 0 ? "" : "+" \blue{C + D}

Combina los términos numéricos:

\qquad\pink{expr(["*", A + B, X])} (C + D) < 0 ? "" : "+" \blue{C + D}

La expresión simplificada es expr(["+", ["*", A + B, X], C + D])

\large{expr(["+", ["*", A, X], C, D, ["*", B, X]])}

[TERM_AX+(C+D>0?"\\s*\\+\\s*":"\\s*")+TERM_C_D,TERM_C_D+(A>0?"\\s*\\+\\s*":"\\s*")+TERM_AX]

\large{expr(["+", ["*", A, X], C, D])}

Combina los términos numéricos:

\qquad expr(["*", A, X]) C < 0 ? "" : "+" \blue{C + D}

\qquad expr(["*", A, X]) (C + D) < 0 ? "" : "+" \blue{C + D}

La expresión simplificada es expr(["+", ["*", A, X], C + D])

\large{expr(["+", C, ["*", A, X], D])}

Reescribe la expresión para agrupar los términos numéricos:

\qquad expr(["*", A, X]) C < 0 ? "" : "+" \blue{C + D}

Combina los términos numéricos:

\qquad expr(["*", A, X]) (C + D) < 0 ? "" : "+" \blue{C + D}

La expresión simplificada es expr(["+", ["*", A, X], C + D])