float bounceEaseOut(float t,float b , float c, float d) {
if ((t/=d) < (1/2.75f)) {
return c*(7.5625f*t*t) + b;
} else if (t < (2/2.75f)) {
float postFix = t-=(1.5f/2.75f);
return c*(7.5625f*(postFix)*t + .75f) + b;
} else if (t < (2.5/2.75)) {
float postFix = t-=(2.25f/2.75f);
return c*(7.5625f*(postFix)*t + .9375f) + b;
} else {
float postFix = t-=(2.625f/2.75f);
return c*(7.5625f*(postFix)*t + .984375f) + b;
}
}
ZmxvYXQgYm91bmNlRWFzZU91dChmbG9hdCB0LGZsb2F0IGIgLCBmbG9hdCBjLCBmbG9hdCBkKSB7CiAgICBpZiAoKHQvPWQpIDwgKDEvMi43NWYpKSB7CiAgICAgICAgcmV0dXJuIGMqKDcuNTYyNWYqdCp0KSArIGI7CiAgICB9IGVsc2UgaWYgKHQgPCAoMi8yLjc1ZikpIHsKICAgICAgICBmbG9hdCBwb3N0Rml4ID0gdC09KDEuNWYvMi43NWYpOwogICAgICAgIHJldHVybiBjKig3LjU2MjVmKihwb3N0Rml4KSp0ICsgLjc1ZikgKyBiOwogICAgfSBlbHNlIGlmICh0IDwgKDIuNS8yLjc1KSkgewogICAgICAgICAgICBmbG9hdCBwb3N0Rml4ID0gdC09KDIuMjVmLzIuNzVmKTsKICAgICAgICByZXR1cm4gYyooNy41NjI1ZioocG9zdEZpeCkqdCArIC45Mzc1ZikgKyBiOwogICAgfSBlbHNlIHsKICAgICAgICBmbG9hdCBwb3N0Rml4ID0gdC09KDIuNjI1Zi8yLjc1Zik7CiAgICAgICAgcmV0dXJuIGMqKDcuNTYyNWYqKHBvc3RGaXgpKnQgKyAuOTg0Mzc1ZikgKyBiOwogICAgfQp9