Still can't sense what depth of simplification and derivation is expected.
For example, shall it simplify expressions like (1-x^2) / (1+x)^2 or more complicated polynomial expressions?
Or shall the code derive functions like (ax)^(bx)^(cx)?
Rust: The error message for the test_large test case isn't helpful as it doesn't give any indication as to what's being tested or what failed to pass: "assertion failed: result == expected1 || result == expected2".
assertion failed: result == expected1 || result == expected2
Could this message be made clearer/the test input be posted in the comments?
rust translation, please review and approve.