def fqx_calc_jp_on_us(func_t, u1, u2, s1, s2, z1, z2):
    """calc jacobian point with tuples u1, u2, s1, s2, z1, z2,
    using func_t functions tuple for operations"""
    mul_f, sub_f, muli_f = func_t
    h = sub_f(u2, u1)
    r = sub_f(s2, s1)
    h_sq = mul_f(h, h)
    h_cu = mul_f(h, h_sq)
    x3 = sub_f(sub_f(mul_f(r, r), h_cu), mul_f(h_sq, muli_f(u1, 2)))
    y3 = sub_f(mul_f(r, sub_f(mul_f(u1, h_sq), x3)), mul_f(s1, h_cu))
    z3 = mul_f(mul_f(z1, z2), h)
    return x3, y3, z3
