#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Wed Sep 13 20:23:38 2023

@author: lafond

"""
import numpy as np

def phi(x):
    if x<0:
        raise ValueError
    else:
        
        return 2*np.log(x/2)+1/x


def dicho(f,a,b,eps):
    """ on suppose a<b et que f continue changeant de signe"""
    while b-a>eps:
        c=(a+b)/2
        if f(a)*f(c)<0:
            b=c
        else:
            a=c
            
    return a
           

print(dicho(phi,0.0001,1/2,10**-4))