#include <stdio.h>
#include <timath.h>
#include <string.h>
#include <kbd.h>
int _ti89, _ti92plus;
void _main (void)
{
ti_float a, b, c, d;
char buffer[200];
clrscr ();
puts ("a=");
a = atof (gets (buffer));
puts ("b=");
b = atof (gets (buffer));
puts ("c=");
c = atof (gets (buffer));
if (is_nan (a) || is_nan (b) || is_nan (c)) return;
d = fsub (fmul (b, b), fmul (FLT (4), fmul (a, c)));
if (fcmp (d, ZERO) >= 0)
{
ti_float x1, x2;
x1 = fdiv (fadd (fneg (b), sqrt (d)), fadd (a, a));
x2 = fdiv (fsub (fneg (b), sqrt (d)), fadd (a, a));
printf ("\nx1=%f\nx2=%f", x1, x2);
}
else
{
ti_float re, im;
re = fdiv (fneg (b), fadd (a,a));
im = fabs (fdiv (sqrt (fneg (d)), fadd(a, a)));
printf ("\nx1=%f-%f*i\nx2=%f+%f*i", re, im, re, im);
}
ngetchx();
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDx0aW1hdGguaD4KI2luY2x1ZGUgPHN0cmluZy5oPgojaW5jbHVkZSA8a2JkLmg+CgppbnQgX3RpODksIF90aTkycGx1czsKCnZvaWQgX21haW4gKHZvaWQpCnsKICB0aV9mbG9hdCBhLCBiLCBjLCBkOwogIGNoYXIgYnVmZmVyWzIwMF07CiAgY2xyc2NyICgpOwogIHB1dHMgKCJhPSIpOwogIGEgPSBhdG9mIChnZXRzIChidWZmZXIpKTsKICBwdXRzICgiYj0iKTsKICBiID0gYXRvZiAoZ2V0cyAoYnVmZmVyKSk7CiAgcHV0cyAoImM9Iik7CiAgYyA9IGF0b2YgKGdldHMgKGJ1ZmZlcikpOwogIGlmIChpc19uYW4gKGEpIHx8IGlzX25hbiAoYikgfHwgaXNfbmFuIChjKSkgcmV0dXJuOwogIGQgPSBmc3ViIChmbXVsIChiLCBiKSwgZm11bCAoRkxUICg0KSwgZm11bCAoYSwgYykpKTsKICBpZiAoZmNtcCAoZCwgWkVSTykgPj0gMCkKICAgIHsKICAgICAgdGlfZmxvYXQgeDEsIHgyOwogICAgICB4MSA9IGZkaXYgKGZhZGQgKGZuZWcgKGIpLCBzcXJ0IChkKSksIGZhZGQgKGEsIGEpKTsKICAgICAgeDIgPSBmZGl2IChmc3ViIChmbmVnIChiKSwgc3FydCAoZCkpLCBmYWRkIChhLCBhKSk7CiAgICAgIHByaW50ZiAoIlxueDE9JWZcbngyPSVmIiwgeDEsIHgyKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgIHRpX2Zsb2F0IHJlLCBpbTsKICAgICAgcmUgPSBmZGl2IChmbmVnIChiKSwgZmFkZCAoYSxhKSk7CiAgICAgIGltID0gZmFicyAoZmRpdiAoc3FydCAoZm5lZyAoZCkpLCBmYWRkKGEsIGEpKSk7CiAgICAgIHByaW50ZiAoIlxueDE9JWYtJWYqaVxueDI9JWYrJWYqaSIsIHJlLCBpbSwgcmUsIGltKTsKICAgIH0KICBuZ2V0Y2h4KCk7Cn0=