a:sqrt((2-sqrt(2))^2+2)/2;
b:sqrt(2-sqrt(2));
bfloat(a);
7.653668647301796b-1
bfloat(b);
7.653668647301796b-1
is(equal(a,b));
false
and normally it's true
Raymond Toy
2012-12-15
I think this is fairly consistent with how maxima behaves. a-b doesn't instantly return 0; you have to apply some transformations (radcan) to get 0.
Marking as pending.
Raymond Toy
2012-12-15
Robert Dodier
2012-12-30
Robert Dodier
2012-12-30
Well, this is a real bug -- if Maxima can't determine the equivalence of the two radical expressions, it should return unknown instead of false.
(It is a lesser bug that it can't determine the equivalence of the two expressions. But the main problem is the spurious false value.)