def dup_outer_refine_real_root(f, s, t, K, eps=None, steps=None, disjoint=None, fast=False):
 (a, b, c, d) = _mobius_from_interval((s, t), K.get_field())
 f = dup_transform(f, dup_strip([a, b]), dup_strip([c, d]), K)
 if (dup_sign_variations(f, K) != 1):
  raise RefinementFailed(('there should be exactly one root in (%s, %s) interval' % (s, t)))
 return dup_inner_refine_real_root(f, (a, b, c, d), K, eps=eps, steps=steps, disjoint=disjoint, fast=fast)

def dup_outer_refine_real_root ( f , s , t , K , eps = None , steps = None , disjoint = None , fast = False ) : ( a , b , c , d ) = _mobius_from_interval ( ( s , t ) , K . get_field ( ) ) f = dup_transform ( f , dup_strip ( [ a , b ] ) , dup_strip ( [ c , d ] ) , K ) if ( dup_sign_variations ( f , K ) != 1 ) : raise RefinementFailed ( ( 'there should be exactly one root in (%s, %s) interval' % ( s , t ) ) ) return dup_inner_refine_real_root ( f , ( a , b , c , d ) , K , eps = eps , steps = steps , disjoint = disjoint , fast = fast )
refine a positive root of f given an interval .