Loading collection data...
Collections are a way for you to organize kata so that you can create your own training routines. Every collection you create is public and automatically sharable with other warriors. After you have added a few kata to a collection you and others can train on the kata contained within the collection.
Get started now by creating a new collection.
This comment is hidden because it contains spoiler information about the solution
Puzzling out leading-0 edge cases was interesting.
Cool concept, tests are annoying though.
I don't like that certain simplifications are required,
such as tan(x)' equaling 1 + tan^2(x) rather than sec^2(x).
Also (* x x) is rejected because of (^ x 2).
More nitpicky:
f(x)^g(x) => (g'(x)ln(f(x))+g(x)f'(x)/f(x))(f(x)^g(x)) is the general form (which works for monomials as well)
but I needed to hardcode in the specific monomial form to pass some tests.
That may be an interesting problem on its own:
Check if two functions that only use: constants 'x' + - * / ^ cos sin tan exp ln
are equal.
Though idk if that's even possible/decidable.