/* -*-ePiX-*- */
#include "epix.h"
#include "cme_style.h"
using namespace ePiX;

double f(double x)
{
  return 0.75 + 0.25*x*(1+x*(1 + 0.25*x*x)); // slope = 1 @ X0
} 

double X0(1), dx(0.25), X1(X0 + dx), X2(1 + 2*dx);

int main()
{
  picture(P(0,0), P(2,2), "2.25 x 2in");

  begin();
  cme_bold();

  P O(0,0), Q0(X0, f(X0)), Q1(X1, f(X1)), Q(Q1.x1(), Q0.x2());

  line(Q0, Q);
  line(Q, Q1);
  cme_dashed();
  line(Q0, Q0&E_1);
  line(Q, Q&E_1);

  label(midpt(Q0, Q), P(0,-4), "$dx$", b);
  label(midpt(Q1, Q), P(4, 0), "$dy$", r);

  cme_solid();
  plot(f, 0.125, X2, 20);

  axis_labels();
  axes();

  caption("Fig.~8.");
  tikz_format();
  end();
}
