import math


def eq5424d1(fcp, wc = 0.145, k1 = 1.0):
    """Eq. 5.4.2.4-1: Concrete modulus of elasticity.

    In the absence of measured data, the modulus of elasticity, Ec, for
    normal weight concrete with design compressive strengths up to 15.0
    ksi and lightweight concrete up to 10.0 ksi, with unit weight between
    0.090 and 0.155 kcf, may be taken as: 
        
        Ec = 120000*k1*math.pow(wc,2)*math.pow(fcp, 0.33)

    Args:
        fcp (float): 
            compressive strength of concrete for use in
            design, (ksi)
            
        wc (float, optional): 
            unit weight of conrete, (kcf); refer to Table 3.5.1 or 
            Article C5.4.2.4; defaults to 0.145
            
        k1 (float, optional): 
            correction factor for source of aggregate to be taken as 1.0
            unless determined by physical test, as approved by the owner;
            defaults to 1.0

    Returns:
        Ec (tuple(float, str)): 
            concrete modulus of elasticity, (ksi); formatted text output
            with values substituted into equation and final calculated
            value

    """

    Ec = 120000*k1*math.pow(wc, 2)*math.pow(fcp, 0.33)

    text = (f'Ec = 120,000*kc1*math.pow(wc,2)*math.pow(fcp,0.33)\n' +
            f'Ec = 120,000*{k1:.2f}*math.pow({wc:.3f},2)*' +
            f'math.pow({fcp:.1f},0.33)' + '\n' +
            f'Ec = {120000*k1*math.pow(wc,2)*math.pow(fcp,0.33):.1f}')

    return Ec, text