/* -*-ePiX-*- */
#include "epix.h"
using namespace ePiX;
P f1(double t)
{
  return P(t, t);
}

P f3(double t)
{
  return P(t, t*t*t);
}

int main()
{
  picture(P(-2, -2.5), P(2, 2.5), "2 x 2.5in");

  begin();
  double ht(2.125), tmax1(2), tmax3(1.33);
  P pO(0,0), pA(1, 1), pA1(-1,-1), pM(-1, 0), pN(1, 0);

  pen(2);
  path bd(P(-1, -ht), pM);
  bd.pt(pN).pt(P(1, ht));
  bd.draw();

  bold();
  plot(f1, -tmax1, tmax1, 2);

  line(P(0, -ht), P(0, ht));

  dashed();
  plot(f3, -tmax3, tmax3, 40);

  label(pO, P(2,-4), "$O$", br);

  label(pA,  P( 2, -2), "$A$", r);
  label(pA1, P(-2,  2), "$A'$", l);

  label(f1(0.9*tmax1), P(2,-2), "$y = x$", br);
  label(f3(tmax3), P(2,-2), "$y = x^{3}$", r);

  tikz_format();
  end();
}
