module Hat.Complex
(Complex((:+)), (+:+), grealPart, arealPart,
hrealPart, gimagPart, aimagPart, himagPart,
gconjugate, aconjugate, hconjugate, gmkPolar,
amkPolar, hmkPolar, gcis, acis, hcis, gpolar, apolar,
hpolar, gmagnitude, amagnitude, hmagnitude, gphase,
aphase, hphase)
where
import qualified Prelude
import qualified Hat.Hat as T
import qualified Hat.PreludeBasic
import qualified Hat.PreludeBuiltinTypes
import Hat.Prelude
data Complex a = !(T.R a) :+ !(T.R a)
instance T.WrapVal (Complex a) where
wrapVal pwrapVal
kwrapVal@((:+) (T.R _ z1wrapVal) (T.R _ z2wrapVal)) p
= T.R kwrapVal
(T.mkValueApp2 p pwrapVal (+:+) z1wrapVal z2wrapVal)
instance (Eq a) => Eq (Complex a) where
(%==) !== p = T.ufun2 (++=%@=+=%>==) (%==) p (*==)
where (T.R ((:+) fy1 fy2) _ *== T.R ((:+) fy3 fy4) _)
p
= T.uwrapForward p
((Hat.PreludeBasic.*&&)
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fy1
fy3)
(T.uwrapForward p
((Hat.PreludeBasic.*&&)
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fy2
fy4)
(T.con0 T.mkNoSrcPos p
Hat.PreludeBuiltinTypes.True
Hat.PreludeBuiltinTypes.aTrue)
p))
p)
(_ *== _) p
= T.con0 T.mkNoSrcPos p Hat.PreludeBuiltinTypes.False
Hat.PreludeBuiltinTypes.aFalse
instance (Read a) => Read (Complex a) where
greadsPrec preadsPrec p
= T.ufun1 c6v41v6v44readsPrec preadsPrec p hreadsPrec
where hreadsPrec fy1 p
= T.uwrapForward p
(hreadParen
(T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (6))))
(T.uap2 T.mkNoSrcPos p
(Hat.PreludeBasic.gthenAp T.mkNoSrcPos p)
(T.uwrapForward p
(Hat.PreludeBasic.hthenLex
(T.uap2 T.mkNoSrcPos p
(Hat.PreludeBasic.gthenAp T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gyield T.mkNoSrcPos p)
(T.pa0 (:+) T.cn2 T.mkNoSrcPos p (+:+)))
(T.uap1 T.mkNoSrcPos p
(greadsPrec T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (7)))))
(T.fromLitString T.mkNoSrcPos p ":+")
p))
(T.uap1 T.mkNoSrcPos p (greadsPrec T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (7)))))
p)
instance (Show a) => Show (Complex a) where
gshowsPrec pshowsPrec p
= T.ufun2 c6v46v6v49showsPrec pshowsPrec p hshowsPrec
where hshowsPrec fy1 (T.R ((:+) fy2 fy3) _) p
= T.uwrapForward p
(hshowParen
(T.uap2 T.mkNoSrcPos p ((!>) T.mkNoSrcPos p) fy1
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (6))))
(T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!.) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p
(gshowsPrec T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (7)))
fy2)
(T.uap1 T.mkNoSrcPos p
(gshowString T.mkNoSrcPos p)
(T.fromLitString T.mkNoSrcPos p " :+ ")))
(T.uap2 T.mkNoSrcPos p (gshowsPrec T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (7)))
fy3))
p)
hshowsPrec _ _ p = T.fatal p
grealPart, gimagPart ::
(RealFloat a) =>
T.RefSrcPos -> T.RefExp -> T.R (T.Fun (Complex a) a)
hrealPart ::
(RealFloat a) => T.R (Complex a) -> T.RefExp -> T.R a
himagPart ::
(RealFloat a) => T.R (Complex a) -> T.RefExp -> T.R a
grealPart prealPart p
= T.ufun1 arealPart prealPart p hrealPart
hrealPart (T.R ((:+) fx fy) _) p
= T.projection T.mkNoSrcPos p fx
hrealPart _ p = T.fatal p
gimagPart pimagPart p
= T.ufun1 aimagPart pimagPart p himagPart
himagPart (T.R ((:+) fx fy) _) p
= T.projection T.mkNoSrcPos p fy
himagPart _ p = T.fatal p
gconjugate ::
(RealFloat a) =>
T.RefSrcPos ->
T.RefExp -> T.R (T.Fun (Complex a) (Complex a))
hconjugate ::
(RealFloat a) =>
T.R (Complex a) -> T.RefExp -> T.R (Complex a)
gconjugate pconjugate p
= T.ufun1 aconjugate pconjugate p hconjugate
hconjugate (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+) fx
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
fy)
hconjugate _ p = T.fatal p
gmkPolar ::
(RealFloat a) =>
T.RefSrcPos ->
T.RefExp -> T.R (T.Fun a (T.Fun a (Complex a)))
hmkPolar ::
(RealFloat a) =>
T.R a -> T.R a -> T.RefExp -> T.R (Complex a)
gmkPolar pmkPolar p
= T.ufun2 amkPolar pmkPolar p hmkPolar
hmkPolar fr ftheta p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fr
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) ftheta))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fr
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) ftheta))
gcis ::
(RealFloat a) =>
T.RefSrcPos -> T.RefExp -> T.R (T.Fun a (Complex a))
hcis ::
(RealFloat a) => T.R a -> T.RefExp -> T.R (Complex a)
gcis pcis p = T.ufun1 acis pcis p hcis
hcis ftheta p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) ftheta)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) ftheta)
gpolar ::
(RealFloat a) =>
T.RefSrcPos ->
T.RefExp -> T.R (T.Fun (Complex a) (T.Tuple2 a a))
hpolar ::
(RealFloat a) =>
T.R (Complex a) -> T.RefExp -> T.R (T.Tuple2 a a)
gpolar ppolar p = T.ufun1 apolar ppolar p hpolar
hpolar fz p
= T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
(T.uwrapForward p (hmagnitude fz p))
(T.uwrapForward p (hphase fz p))
gmagnitude ::
(RealFloat a) =>
T.RefSrcPos -> T.RefExp -> T.R (T.Fun (Complex a) a)
hmagnitude ::
(RealFloat a) => T.R (Complex a) -> T.RefExp -> T.R a
gmagnitude pmagnitude p
= T.ufun1 amagnitude pmagnitude p hmagnitude
hmagnitude (T.R ((:+) fx fy) _) p
= T.uap2 T.mkNoSrcPos p (gscaleFloat T.mkNoSrcPos p)
(gk T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uwrapForward p
((*^)
(T.uap2 T.mkNoSrcPos p (gscaleFloat T.mkNoSrcPos p)
(gmk T.mkNoSrcPos p)
fx)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (2))
:: T.R Integer)
p))
(T.uwrapForward p
((*^)
(T.uap2 T.mkNoSrcPos p (gscaleFloat T.mkNoSrcPos p)
(gmk T.mkNoSrcPos p)
fy)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (2))
:: T.R Integer)
p))))
where gk pk p = T.uconstUse pk p sk
sk
= T.uconstDef p c28v11v28v44k
(\ p ->
T.uap2 T.mkNoSrcPos p (gmax T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gexponent T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gexponent T.mkNoSrcPos p)
fy))
gmk pmk p = T.uconstUse pmk p smk
smk
= T.uconstDef p c29v11v29v18mk
(\ p ->
T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(gk T.mkNoSrcPos p))
hmagnitude _ p = T.fatal p
gphase ::
(RealFloat a) =>
T.RefSrcPos -> T.RefExp -> T.R (T.Fun (Complex a) a)
hphase ::
(RealFloat a) => T.R (Complex a) -> T.RefExp -> T.R a
gphase pphase p = T.ufun1 aphase pphase p hphase
hphase
z1phase@(T.R ((:+) fv32v8v32v8n v32v13v32v13n) _) p
= T.ucguard
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fv32v8v32v8n
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
(h32v1v32v18n v32v13v32v13n p)
(y1phase z1phase p)
where h32v1v32v18n fv32v13v32v13n p
= T.ucguard
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fv32v13v32v13n
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
(h32v1v32v18n p)
(y1phase z1phase p)
where h32v1v32v18n p
= T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))
h32v1v32v18n p = y1phase z1phase p
h32v1v32v18n _ p = y1phase z1phase p
hphase z1phase p = y1phase z1phase p
y1phase (T.R ((:+) fx fy) _) p
= T.uap2 T.mkNoSrcPos p (gatan2 T.mkNoSrcPos p) fy fx
y1phase _ p = T.fatal p
instance (RealFloat a) => Num (Complex a) where
(%+) !+ p = T.ufun2 (+%^=*=%^=&#+) (%+) p (*+)
where ((T.R ((:+) fx fy) _) *+
(T.R ((:+) fx' fy') _))
p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fx fx')
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fy fy')
(_ *+ _) p = T.fatal p
(%-) !- p = T.ufun2 (+%@=*=%@=&#-) (%-) p (*-)
where ((T.R ((:+) fx fy) _) *-
(T.R ((:+) fx' fy') _))
p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fx fx')
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p) fy fy')
(_ *- _) p = T.fatal p
(%*) !* p = T.ufun2 (+%>=*=%>=*#*) (%*) p (**)
where ((T.R ((:+) fx fy) _) **
(T.R ((:+) fx' fy') _))
p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fx')
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy fy'))
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx fy')
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy fx'))
(_ ** _) p = T.fatal p
gnegate pnegate p
= T.ufun1 c40v5v40v41negate pnegate p hnegate
where hnegate (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gnegate T.mkNoSrcPos p) fy)
hnegate _ p = T.fatal p
gabs pabs p = T.ufun1 c41v5v41v29abs pabs p habs
where habs fz p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uwrapForward p (hmagnitude fz p))
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0)))
gsignum psignum p
= T.ufun1 c42v5v44v0signum psignum p hsignum
where hsignum fv42v12v42v12n p
= T.ucguard
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fv42v12v42v12n
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
(h42v5v42v17n p)
(y1signum fv42v12v42v12n p)
where h42v5v42v17n p
= T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))
h42v5v42v17n p = y1signum fv42v12v42v12n p
hsignum fv42v12v42v12n p = y1signum fv42v12v42v12n p
y1signum fz@(T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p) fx
(gr T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p) fy
(gr T.mkNoSrcPos p))
where gr pr p = T.uconstUse pr p sr
sr
= T.uconstDef p c43v42v43v56r
(\ p -> T.uwrapForward p (hmagnitude fz p))
y1signum _ p = T.fatal p
gfromInteger pfromInteger p
= T.ufun1 c44v5v44v39fromInteger pfromInteger p
hfromInteger
where hfromInteger fn p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p (gfromInteger T.mkNoSrcPos p)
fn)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0)))
instance (RealFloat a) => Fractional (Complex a)
where
(%/) !/ p = T.ufun2 (+&^=%=&@=>/) (%/) p (*/)
where ((T.R ((:+) fx fy) _) */
(T.R ((:+) fx' fy') _))
p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
(gx'' T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy
(gy'' T.mkNoSrcPos p)))
(gd T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fy
(gx'' T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fx
(gy'' T.mkNoSrcPos p)))
(gd T.mkNoSrcPos p))
where gx'' px'' p = T.uconstUse px'' p sx''
sx''
= T.uconstDef p c49v5v49v25x''
(\ p ->
T.uap2 T.mkNoSrcPos p
(gscaleFloat T.mkNoSrcPos p)
(gk T.mkNoSrcPos p)
fx')
gy'' py'' p = T.uconstUse py'' p sy''
sy''
= T.uconstDef p c50v5v50v25y''
(\ p ->
T.uap2 T.mkNoSrcPos p
(gscaleFloat T.mkNoSrcPos p)
(gk T.mkNoSrcPos p)
fy')
gk pk p = T.uconstUse pk p sk
sk
= T.uconstDef p c51v5v51v43k
(\ p ->
T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p (gmax T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(gexponent T.mkNoSrcPos p)
fx')
(T.uap1 T.mkNoSrcPos p
(gexponent T.mkNoSrcPos p)
fy')))
gd pd p = T.uconstUse pd p sd
sd
= T.uconstDef p c52v5v52v25d
(\ p ->
T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
fx'
(gx'' T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
fy'
(gy'' T.mkNoSrcPos p)))
(_ */ _) p = T.fatal p
gfromRational pfromRational p
= T.ufun1 c54v3v54v39fromRational pfromRational p
hfromRational
where hfromRational fa p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p (gfromRational T.mkNoSrcPos p)
fa)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0)))
instance (RealFloat a) => Floating (Complex a) where
gpi ppi p = T.uconstUse ppi p spi
spi
= T.uconstDef p c57v5v57v29pi
(\ p ->
T.con2 T.mkNoSrcPos p (:+) (+:+) (gpi T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
gexp pexp p = T.ufun1 c58v5v59v27exp pexp p hexp
where hexp (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gexpx T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fy))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gexpx T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fy))
where gexpx pexpx p = T.uconstUse pexpx p sexpx
sexpx
= T.uconstDef p c59v29v59v40expx
(\ p ->
T.uap1 T.mkNoSrcPos p (gexp T.mkNoSrcPos p) fx)
hexp _ p = T.fatal p
glog plog p = T.ufun1 c60v5v60v50log plog p hlog
where hlog fz p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uwrapForward p (hmagnitude fz p)))
(T.uwrapForward p (hphase fz p))
gsqrt psqrt p = T.ufun1 c62v5v68v0sqrt psqrt p hsqrt
where hsqrt fv62v10v62v10n p
= T.ucguard
(T.uap2 T.mkNoSrcPos p
((Hat.PreludeBasic.!==) T.mkNoSrcPos p)
fv62v10v62v10n
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
(h62v5v62v23n p)
(y1sqrt fv62v10v62v10n p)
where h62v5v62v23n p
= T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))
h62v5v62v23n p = y1sqrt fv62v10v62v10n p
hsqrt fv62v10v62v10n p = y1sqrt fv62v10v62v10n p
y1sqrt fz@(T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(gu T.mkNoSrcPos p)
(T.ucif p
(T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fy
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (0))))
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(gv T.mkNoSrcPos p))
(gv T.mkNoSrcPos p))
where gu pu p = T.uconstUse pu p su
gv pv p = T.uconstUse pv p sv
su
= T.uconstDef p c64v29v64v70u
(\ _ ->
case j64v29v64v70u of
(ku, fu, fv) -> fu)
sv
= T.uconstDef p c64v29v64v70v
(\ _ ->
case j64v29v64v70u of
(ku, fu, fv) -> fv)
j64v29v64v70u
= case
T.ucif p
(T.uap2 T.mkNoSrcPos p ((!<) T.mkNoSrcPos p) fx
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (0))))
(T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
(gv' T.mkNoSrcPos p)
(gu' T.mkNoSrcPos p))
(T.con2 T.mkNoSrcPos p T.Tuple2 T.aTuple2
(gu' T.mkNoSrcPos p)
(gv' T.mkNoSrcPos p))
of
T.R (T.Tuple2 fu fv) ku -> (ku, fu, fv)
_ -> T.fatal p
gv' pv' p = T.uconstUse pv' p sv'
sv'
= T.uconstDef p c65v29v65v50v'
(\ p ->
T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gabs T.mkNoSrcPos p)
fy)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gu' T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (2)))))
gu' pu' p = T.uconstUse pu' p su'
su'
= T.uconstDef p c66v29v66v68u'
(\ p ->
T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p
((!+) T.mkNoSrcPos p)
(T.uwrapForward p (hmagnitude fz p))
(T.uap1 T.mkNoSrcPos p
(gabs T.mkNoSrcPos p)
fx))
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (2)))))
y1sqrt _ p = T.fatal p
gsin psin p = T.ufun1 c68v5v68v54sin psin p hsin
where hsin (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p) fy))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p) fy))
hsin _ p = T.fatal p
gcos pcos p = T.ufun1 c69v5v69v58cos pcos p hcos
where hcos (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p) fy))
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fx)
(T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p) fy)))
hcos _ p = T.fatal p
gtan ptan p = T.ufun1 c70v5v71v27tan ptan p htan
where htan (T.R ((:+) fx fy) _) p
= T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gsinx T.mkNoSrcPos p)
(gcoshy T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gcosx T.mkNoSrcPos p)
(gsinhy T.mkNoSrcPos p)))
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gcosx T.mkNoSrcPos p)
(gcoshy T.mkNoSrcPos p))
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gsinx T.mkNoSrcPos p)
(gsinhy T.mkNoSrcPos p))))
where gsinx psinx p = T.uconstUse psinx p ssinx
ssinx
= T.uconstDef p c71v29v71v41sinx
(\ p ->
T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fx)
gcosx pcosx p = T.uconstUse pcosx p scosx
scosx
= T.uconstDef p c72v29v72v41cosx
(\ p ->
T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fx)
gsinhy psinhy p = T.uconstUse psinhy p ssinhy
ssinhy
= T.uconstDef p c73v29v73v42sinhy
(\ p ->
T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p)
fy)
gcoshy pcoshy p = T.uconstUse pcoshy p scoshy
scoshy
= T.uconstDef p c74v29v74v42coshy
(\ p ->
T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p)
fy)
htan _ p = T.fatal p
gsinh psinh p = T.ufun1 c76v5v76v55sinh psinh p hsinh
where hsinh (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fy)
(T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p) fx))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fy)
(T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p) fx))
hsinh _ p = T.fatal p
gcosh pcosh p = T.ufun1 c77v5v77v54cosh pcosh p hcosh
where hcosh (T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fy)
(T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p) fx))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fy)
(T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p) fx))
hcosh _ p = T.fatal p
gtanh ptanh p = T.ufun1 c78v5v79v27tanh ptanh p htanh
where htanh (T.R ((:+) fx fy) _) p
= T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gcosy T.mkNoSrcPos p)
(gsinhx T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gsiny T.mkNoSrcPos p)
(gcoshx T.mkNoSrcPos p)))
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gcosy T.mkNoSrcPos p)
(gcoshx T.mkNoSrcPos p))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(gsiny T.mkNoSrcPos p)
(gsinhx T.mkNoSrcPos p)))
where gsiny psiny p = T.uconstUse psiny p ssiny
ssiny
= T.uconstDef p c79v29v79v41siny
(\ p ->
T.uap1 T.mkNoSrcPos p (gsin T.mkNoSrcPos p) fy)
gcosy pcosy p = T.uconstUse pcosy p scosy
scosy
= T.uconstDef p c80v29v80v41cosy
(\ p ->
T.uap1 T.mkNoSrcPos p (gcos T.mkNoSrcPos p) fy)
gsinhx psinhx p = T.uconstUse psinhx p ssinhx
ssinhx
= T.uconstDef p c81v29v81v42sinhx
(\ p ->
T.uap1 T.mkNoSrcPos p (gsinh T.mkNoSrcPos p)
fx)
gcoshx pcoshx p = T.uconstUse pcoshx p scoshx
scoshx
= T.uconstDef p c82v29v82v42coshx
(\ p ->
T.uap1 T.mkNoSrcPos p (gcosh T.mkNoSrcPos p)
fx)
htanh _ p = T.fatal p
gasin pasin p = T.ufun1 c84v5v85v27asin pasin p hasin
where hasin fz@(T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(gy' T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(gx' T.mkNoSrcPos p))
where gx' px' p = T.uconstUse px' p sx'
gy' py' p = T.uconstUse py' p sy'
sx'
= T.uconstDef p c85v30v85v72x'
(\ _ ->
case j85v30v85v72x' of
(kx', fx', fy') -> fx')
sy'
= T.uconstDef p c85v30v85v72y'
(\ _ ->
case j85v30v85v72x' of
(kx', fx', fy') -> fy')
j85v30v85v72x'
= case
T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos
p)
fy)
fx)
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p
((!-) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1)))
(T.uap2 T.mkNoSrcPos p
((!*) T.mkNoSrcPos p)
fz
fz))))
of
(T.R ((:+) fx' fy') kx') -> (kx', fx', fy')
_ -> T.fatal p
hasin _ p = T.fatal p
gacos pacos p = T.ufun1 c86v5v87v27acos pacos p hacos
where hacos fz@(T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(gy'' T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(gx'' T.mkNoSrcPos p))
where gx'' px'' p = T.uconstUse px'' p sx''
gy'' py'' p = T.uconstUse py'' p sy''
sx''
= T.uconstDef p c87v29v87v62x''
(\ _ ->
case j87v29v87v62x'' of
(kx'', fx'', fy'') -> fx'')
sy''
= T.uconstDef p c87v29v87v62y''
(\ _ ->
case j87v29v87v62x'' of
(kx'', fx'', fy'') -> fy'')
j87v29v87v62x''
= case
T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fz
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos
p)
(gy' T.mkNoSrcPos p))
(gx' T.mkNoSrcPos p)))
of
(T.R ((:+) fx'' fy'') kx'') -> (kx'', fx'',
fy'')
_ -> T.fatal p
gx' px' p = T.uconstUse px' p sx'
gy' py' p = T.uconstUse py' p sy'
sx'
= T.uconstDef p c88v29v88v55x'
(\ _ ->
case j88v29v88v55x' of
(kx', fx', fy') -> fx')
sy'
= T.uconstDef p c88v29v88v55y'
(\ _ ->
case j88v29v88v55x' of
(kx', fx', fy') -> fy')
j88v29v88v55x'
= case
T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1)))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
fz
fz))
of
(T.R ((:+) fx' fy') kx') -> (kx', fx', fy')
_ -> T.fatal p
hacos _ p = T.fatal p
gatan patan p = T.ufun1 c89v5v90v27atan patan p hatan
where hatan fz@(T.R ((:+) fx fy) _) p
= T.con2 T.mkNoSrcPos p (:+) (+:+)
(gy' T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gnegate T.mkNoSrcPos p)
(gx' T.mkNoSrcPos p))
where gx' px' p = T.uconstUse px' p sx'
gy' py' p = T.uconstUse py' p sy'
sx'
= T.uconstDef p c90v29v90v70x'
(\ _ ->
case j90v29v90v70x' of
(kx', fx', fy') -> fx')
sy'
= T.uconstDef p c90v29v90v70y'
(\ _ ->
case j90v29v90v70x' of
(kx', fx', fy') -> fy')
j90v29v90v70x'
= case
T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.con2 T.mkNoSrcPos p (:+) (+:+)
(T.uap2 T.mkNoSrcPos p
((!-) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1)))
fy)
fx)
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p
((!+) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1)))
(T.uap2 T.mkNoSrcPos p
((!*) T.mkNoSrcPos p)
fz
fz))))
of
(T.R ((:+) fx' fy') kx') -> (kx', fx', fy')
_ -> T.fatal p
hatan _ p = T.fatal p
gasinh pasinh p
= T.ufun1 c92v5v92v44asinh pasinh p hasinh
where hasinh fz p
= T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fz
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (1)))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fz
fz))))
gacosh pacosh p
= T.ufun1 c93v5v93v58acosh pacosh p hacosh
where hacosh fz p
= T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fz
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p) fz
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (1))))
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
fz
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1))))
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
fz
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger
T.mkNoSrcPos
p)
(T.conInteger T.mkNoSrcPos p (1))))))))
gatanh patanh p
= T.ufun1 c94v5v94v48atanh patanh p hatanh
where hatanh fz p
= T.uap1 T.mkNoSrcPos p (glog T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!/) T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!+) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (1)))
fz)
(T.uap1 T.mkNoSrcPos p (gsqrt T.mkNoSrcPos p)
(T.uap2 T.mkNoSrcPos p ((!-) T.mkNoSrcPos p)
(T.uap1 T.mkNoSrcPos p
(Hat.PreludeBasic.gfromInteger T.mkNoSrcPos p)
(T.conInteger T.mkNoSrcPos p (1)))
(T.uap2 T.mkNoSrcPos p ((!*) T.mkNoSrcPos p) fz
fz))))
acis
= T.mkVariable tComplex 200001 200036 3 (1) "cis"
Prelude.False
aconjugate
= T.mkVariable tComplex 140001 140029 3 (1)
"conjugate"
Prelude.False
aimagPart
= T.mkVariable tComplex 110001 110021 3 (1)
"imagPart"
Prelude.False
amagnitude
= T.mkVariable tComplex 260001 280009 3 (1)
"magnitude"
Prelude.False
amkPolar
= T.mkVariable tComplex 170001 170050 3 (2) "mkPolar"
Prelude.False
aphase
= T.mkVariable tComplex 320001 330026 3 (1) "phase"
Prelude.False
apolar
= T.mkVariable tComplex 230001 230034 3 (1) "polar"
Prelude.False
arealPart
= T.mkVariable tComplex 100001 100021 3 (1)
"realPart"
Prelude.False
(+:+)
= T.mkConstructor tComplex 60021 60022 24 (2) ":+"
(++=%@=+=%>==)
= T.mkVariable tComplex 60038 60039 3 (1) "=="
Prelude.False
c6v41v6v44readsPrec
= T.mkVariable tComplex 60041 60044 3 (1)
"readsPrec"
Prelude.False
c6v46v6v49showsPrec
= T.mkVariable tComplex 60046 60049 3 (1)
"showsPrec"
Prelude.False
c28v11v28v44k
= T.mkVariable tComplex 280011 280044 3 (0) "k"
Prelude.True
c29v11v29v18mk
= T.mkVariable tComplex 290011 290018 3 (0) "mk"
Prelude.True
c43v42v43v56r
= T.mkVariable tComplex 430042 430056 3 (0) "r"
Prelude.True
c41v5v41v29abs
= T.mkVariable tComplex 410005 410029 3 (1) "abs"
Prelude.False
c44v5v44v39fromInteger
= T.mkVariable tComplex 440005 440039 3 (1)
"fromInteger"
Prelude.False
c40v5v40v41negate
= T.mkVariable tComplex 400005 400041 3 (1) "negate"
Prelude.False
c42v5v44v0signum
= T.mkVariable tComplex 420005 440000 3 (1) "signum"
Prelude.False
(+%>=*=%>=*#*)
= T.mkVariable tComplex 390005 390051 3 (1) "*"
Prelude.False
(+%^=*=%^=&#+)
= T.mkVariable tComplex 370005 370041 3 (1) "+"
Prelude.False
(+%@=*=%@=&#-)
= T.mkVariable tComplex 380005 380041 3 (1) "-"
Prelude.False
c52v5v52v25d
= T.mkVariable tComplex 520005 520025 3 (0) "d"
Prelude.True
c51v5v51v43k
= T.mkVariable tComplex 510005 510043 3 (0) "k"
Prelude.True
c49v5v49v25x''
= T.mkVariable tComplex 490005 490025 3 (0) "x''"
Prelude.True
c50v5v50v25y''
= T.mkVariable tComplex 500005 500025 3 (0) "y''"
Prelude.True
c54v3v54v39fromRational
= T.mkVariable tComplex 540003 540039 3 (1)
"fromRational"
Prelude.False
(+&^=%=&@=>/)
= T.mkVariable tComplex 470003 480009 3 (1) "/"
Prelude.False
c59v29v59v40expx
= T.mkVariable tComplex 590029 590040 3 (0) "expx"
Prelude.True
c64v29v64v70u
= T.mkVariable tComplex 640029 640070 3 (0) "u"
Prelude.True
c66v29v66v68u'
= T.mkVariable tComplex 660029 660068 3 (0) "u'"
Prelude.True
c64v29v64v70v
= T.mkVariable tComplex 640029 640070 3 (0) "v"
Prelude.True
c65v29v65v50v'
= T.mkVariable tComplex 650029 650050 3 (0) "v'"
Prelude.True
c74v29v74v42coshy
= T.mkVariable tComplex 740029 740042 3 (0) "coshy"
Prelude.True
c72v29v72v41cosx
= T.mkVariable tComplex 720029 720041 3 (0) "cosx"
Prelude.True
c73v29v73v42sinhy
= T.mkVariable tComplex 730029 730042 3 (0) "sinhy"
Prelude.True
c71v29v71v41sinx
= T.mkVariable tComplex 710029 710041 3 (0) "sinx"
Prelude.True
c82v29v82v42coshx
= T.mkVariable tComplex 820029 820042 3 (0) "coshx"
Prelude.True
c80v29v80v41cosy
= T.mkVariable tComplex 800029 800041 3 (0) "cosy"
Prelude.True
c81v29v81v42sinhx
= T.mkVariable tComplex 810029 810042 3 (0) "sinhx"
Prelude.True
c79v29v79v41siny
= T.mkVariable tComplex 790029 790041 3 (0) "siny"
Prelude.True
c85v30v85v72x'
= T.mkVariable tComplex 850030 850072 3 (0) "x'"
Prelude.True
c85v30v85v72y'
= T.mkVariable tComplex 850030 850072 3 (0) "y'"
Prelude.True
c88v29v88v55x'
= T.mkVariable tComplex 880029 880055 3 (0) "x'"
Prelude.True
c87v29v87v62x''
= T.mkVariable tComplex 870029 870062 3 (0) "x''"
Prelude.True
c88v29v88v55y'
= T.mkVariable tComplex 880029 880055 3 (0) "y'"
Prelude.True
c87v29v87v62y''
= T.mkVariable tComplex 870029 870062 3 (0) "y''"
Prelude.True
c90v29v90v70x'
= T.mkVariable tComplex 900029 900070 3 (0) "x'"
Prelude.True
c90v29v90v70y'
= T.mkVariable tComplex 900029 900070 3 (0) "y'"
Prelude.True
c86v5v87v27acos
= T.mkVariable tComplex 860005 870027 3 (1) "acos"
Prelude.False
c93v5v93v58acosh
= T.mkVariable tComplex 930005 930058 3 (1) "acosh"
Prelude.False
c84v5v85v27asin
= T.mkVariable tComplex 840005 850027 3 (1) "asin"
Prelude.False
c92v5v92v44asinh
= T.mkVariable tComplex 920005 920044 3 (1) "asinh"
Prelude.False
c89v5v90v27atan
= T.mkVariable tComplex 890005 900027 3 (1) "atan"
Prelude.False
c94v5v94v48atanh
= T.mkVariable tComplex 940005 940048 3 (1) "atanh"
Prelude.False
c69v5v69v58cos
= T.mkVariable tComplex 690005 690058 3 (1) "cos"
Prelude.False
c77v5v77v54cosh
= T.mkVariable tComplex 770005 770054 3 (1) "cosh"
Prelude.False
c58v5v59v27exp
= T.mkVariable tComplex 580005 590027 3 (1) "exp"
Prelude.False
c60v5v60v50log
= T.mkVariable tComplex 600005 600050 3 (1) "log"
Prelude.False
c57v5v57v29pi
= T.mkVariable tComplex 570005 570029 3 (1) "pi"
Prelude.False
c68v5v68v54sin
= T.mkVariable tComplex 680005 680054 3 (1) "sin"
Prelude.False
c76v5v76v55sinh
= T.mkVariable tComplex 760005 760055 3 (1) "sinh"
Prelude.False
c62v5v68v0sqrt
= T.mkVariable tComplex 620005 680000 3 (1) "sqrt"
Prelude.False
c70v5v71v27tan
= T.mkVariable tComplex 700005 710027 3 (1) "tan"
Prelude.False
c78v5v79v27tanh
= T.mkVariable tComplex 780005 790027 3 (1) "tanh"
Prelude.False
p = T.mkRoot
tComplex
= T.mkModule "Complex" "Complex.hs" Prelude.False