refach warrantee_reduce calculate.
add warrantee_reduce()