cases: fixes x :: "floatarith \<times> nat" obtains uu_ :: "nat" where "x = (Exp (Var 0), uu_)"   | n :: "nat" where "x = (Cos (Var 0), n__)"   | n :: "nat" where "x = (Inverse (Var 0), na__)"   | v :: "floatarith" and va :: "floatarith" and n :: "nat" where "x = (Add v__ va__, nb__)"   | v :: "floatarith" and n :: "nat" where "x = (Minus vb__, nc__)"   | v :: "floatarith" and va :: "floatarith" and n :: "nat" where "x = (Mult vc__ vaa__, nd__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Inverse (Add vab__ vba__), ne__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Minus vac__), nf__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Inverse (Mult vad__ vbb__), ng__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Inverse vae__), nh__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Cos vaf__), ni__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Arctan vag__), nj__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Abs vah__), nk__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Inverse (Max vai__ vbc__), nl__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Inverse (Min vaj__ vbd__), nm__)"   | n :: "nat" where "x = (Inverse Pi, nn__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Sqrt vak__), no__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Exp val__), np__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Inverse (Powr vam__ vbe__), nq__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Ln van__), nr__)"   | va :: "floatarith" and vb :: "nat" and n :: "nat" where "x = (Inverse (Power vao__ vbf__), ns__)"   | va :: "floatarith" and n :: "nat" where "x = (Inverse (Floor vap__), nt__)"   | vb :: "nat" and n :: "nat" where "x = (Inverse (Var (Suc vbg__)), nu__)"   | va :: "float" and n :: "nat" where "x = (Inverse (Num vaq__), nv__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Cos (Add var__ vbh__), nw__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Minus vas__), nx__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Cos (Mult vat__ vbi__), ny__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Inverse vau__), nz__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Cos vav__), oa__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Arctan vaw__), ob__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Abs vax__), oc__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Cos (Max vay__ vbj__), od__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Cos (Min vaz__ vbk__), oe__)"   | n :: "nat" where "x = (Cos Pi, of__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Sqrt vbl__), og__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Exp vbm__), oh__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Cos (Powr vbn__ vbo__), oi__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Ln vbp__), oj__)"   | va :: "floatarith" and vb :: "nat" and n :: "nat" where "x = (Cos (Power vbq__ vbr__), ok__)"   | va :: "floatarith" and n :: "nat" where "x = (Cos (Floor vbs__), ol__)"   | vb :: "nat" and n :: "nat" where "x = (Cos (Var (Suc vbt__)), om__)"   | va :: "float" and n :: "nat" where "x = (Cos (Num vbu__), on__)"   | v :: "floatarith" and n :: "nat" where "x = (Arctan vd__, oo__)"   | v :: "floatarith" and n :: "nat" where "x = (Abs ve__, op__)"   | v :: "floatarith" and va :: "floatarith" and n :: "nat" where "x = (Max vf__ vbv__, oq__)"   | v :: "floatarith" and va :: "floatarith" and n :: "nat" where "x = (Min vg__ vbw__, or__)"   | n :: "nat" where "x = (Pi, os__)"   | v :: "floatarith" and n :: "nat" where "x = (Sqrt vh__, ot__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Exp (Add vbx__ vby__), ou__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Minus vbz__), ov__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Exp (Mult vca__ vcb__), ow__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Inverse vcc__), ox__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Cos vcd__), oy__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Arctan vce__), oz__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Abs vcf__), pa__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Exp (Max vcg__ vch__), pb__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Exp (Min vci__ vcj__), pc__)"   | n :: "nat" where "x = (Exp Pi, pd__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Sqrt vck__), pe__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Exp vcl__), pf__)"   | va :: "floatarith" and vb :: "floatarith" and n :: "nat" where "x = (Exp (Powr vcm__ vcn__), pg__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Ln vco__), ph__)"   | va :: "floatarith" and vb :: "nat" and n :: "nat" where "x = (Exp (Power vcp__ vcq__), pi__)"   | va :: "floatarith" and n :: "nat" where "x = (Exp (Floor vcr__), pj__)"   | vb :: "nat" and n :: "nat" where "x = (Exp (Var (Suc vb)), pk__)"   | va :: "float" and n :: "nat" where "x = (Exp (Num vct__), pl__)"   | v :: "floatarith" and va :: "floatarith" and n :: "nat" where "x = (Powr vi__ vcu__, pm__)"   | v :: "floatarith" and n :: "nat" where "x = (Ln vj__, pn__)"   | v :: "floatarith" and va :: "nat" and n :: "nat" where "x = (Power vk__ va, po__)"   | v :: "floatarith" and n :: "nat" where "x = (Floor vl__, pp__)"   | v :: "nat" and n :: "nat" where "x = (Var vm__, pq__)"   | v :: "float" and n :: "nat" where "x = (Num v, n)"