For what language version? The original Java, Javascript and C# versions do accept both versions.
The contributors that made the other language translations will have to update their respective versions.

I think at least it whould be mentioned somewhere that (* (cos x) 2) shoud be 'simplified' to (* 2 (cos x)). Cause it takes a half of time to match all preasumptions about which one of equivalent formulas should be.

The returned expression should not have unecessary 0 or 1 factors. For example it should not return (* 1 (+ x 1)) but simply the term (+ x 1) similarly it should not return (* 0 (+ x 1)) instead it should return just 0

Results with two constant values such as for example (+ 2 2) should be evaluated and returned as a single value 4

Any argument raised to the zero power should return 1 and if raised to 1 should return the same value or variable. For example (^ x 0) should return 1 and (^ x 1) should return x

No simplifactions are expected for functions like cos, sin, exp, ln... (but their arguments might require a simplification).

Thanks, the

`tan`

case works for me now.Try it now

Rust 1.44

Contains the following assertions in the tests:

Who do I contact to fix the translation?

For what language version? The original Java, Javascript and C# versions do accept both versions.

The contributors that made the other language translations will have to update their respective versions.

I believe the two

`tan`

-related test cases are broken and/or not very robust.The first one

The second one

Also the second one begs for another simplification:

`(* 2 (/ 1 $Expr)) => (/ 2 $Expr)`

.In my opinion, the simplification rules are to be codified more explicitly.

I think at least it whould be mentioned somewhere that

`(* (cos x) 2)`

shoud be 'simplified' to`(* 2 (cos x))`

. Cause it takes a half of time to match all preasumptions about which one of equivalent formulas should be.Ah, thank you

as shown in the Example Tests

Quite possibly because it wasn't implemented in the JavaScript version, which is the original.

No more, no less.

Did you notice you have to differentiate the expression?

Why is

`(* 1 x) => 1`

and not`x`

?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)?

In Haskell only

`1 + tan(x)^2`

is acceptedWhich language are you working with? Both versions of tan'(x) should be accepted, at least in the C#, Java and JS versions of the kata.

## Loading more items...