Data.Number.Erf:$dmerfcx from erf-2.0.0.0

Time bar (total: 1.6s)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample274.0ms (17.4%)

Samples
188.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 27.0ms
Exp: 22.0ms (80.8% of total, 0.0 MiB)
Mul: 5.0ms (18.4% of total, 0.0 MiB)
Bogosity

preprocess21.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01638
18238
224438
388938
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
Symmetry

(abs y)

(negabs x)

Compiler

Compiled 2 to 10 computations (-400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (0.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
050161
Stop Event
iter-limit
Counts
5 → 13
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%3 = (exp.f64 %2)
x
y
%2
%3
(*.f64 x %3)
Outputs
%5 = (* y y)
%6 = (exp %5)
%7 = (* x %6)
%9 = (pow.f64 y #s(literal 2 binary64))
%10 = (exp.f64 %9)
%33 = (*.f64 x %9)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 (*.f64 x %10))
(approx y y)
(approx %5 %9)
(approx %6 #s(literal 1 binary64))
(approx %6 (+.f64 #s(literal 1 binary64) %9))
(approx %6 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) %9)))))
(approx %6 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) %9)))))))
(approx %7 (+.f64 x %33))
(approx %7 (+.f64 x (*.f64 %9 (+.f64 x (*.f64 #s(literal 1/2 binary64) %33)))))
(approx %7 (+.f64 x (*.f64 %9 (+.f64 x (*.f64 %9 (fma.f64 #s(literal 1/6 binary64) %33 (*.f64 #s(literal 1/2 binary64) x)))))))
(approx %6 %10)
Calls

6 calls:

TimeVariablePoint
5.0ms
x
inf
1.0ms
y
inf
1.0ms
x
-inf
1.0ms
y
0
1.0ms
y
-inf

rewrite86.0ms (5.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
12715
28615
340215
4337515
0400415
0429015
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 282
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%3 = (exp.f64 %2)
x
y
%2
%3
(*.f64 x %3)
Outputs
%2 = (fabs.f64 y)
%3 = (sqrt.f64 %2)
%4 = (*.f64 %2 %3)
%6 = (*.f64 y y)
%8 = (*.f64 %6 #s(literal 1/2 binary64))
%11 = (+.f64 y y)
%12 = (*.f64 y %11)
%13 = (fabs.f64 %12)
%15 = (*.f64 %3 %2)
%19 = (neg.f64 y)
%20 = (*.f64 %19 y)
%23 = (neg.f64 %2)
%29 = (*.f64 #s(literal 1/2 binary64) %6)
%32 = (*.f64 %6 %6)
%53 = (*.f64 %6 #s(literal 0 binary64))
%55 = (*.f64 #s(literal 0 binary64) %6)
%108 = (exp.f64 %6)
%109 = (sqrt.f64 %108)
%110 = (neg.f64 %109)
%112 = (*.f64 #s(literal 2 binary64) %108)
%113 = (*.f64 #s(literal 2 binary64) %112)
%118 = (exp.f64 %20)
%119 = (/.f64 #s(literal 2 binary64) %118)
%123 = (/.f64 #s(literal 1/2 binary64) %118)
%125 = (exp.f64 #s(literal 1 binary64))
%136 = (exp.f64 %12)
%153 = (sinh.f64 %6)
%154 = (cosh.f64 %6)
%155 = (*.f64 #s(literal -2 binary64) %154)
%158 = (*.f64 #s(literal -2 binary64) %153)
%161 = (*.f64 %154 #s(literal -2 binary64))
%162 = (*.f64 #s(literal 2 binary64) %153)
%165 = (*.f64 %155 #s(literal -2 binary64))
%168 = (*.f64 #s(literal 2 binary64) %154)
%169 = (*.f64 %168 #s(literal -2 binary64))
%175 = (*.f64 %155 #s(literal 2 binary64))
%216 = (*.f64 #s(literal -2 binary64) %158)
%219 = (*.f64 #s(literal -2 binary64) %162)
%224 = (*.f64 #s(literal 2 binary64) %158)
%227 = (*.f64 #s(literal 1 binary64) %158)
%237 = (*.f64 #s(literal 4 binary64) %153)
%253 = (*.f64 %108 #s(literal 1/2 binary64))
%264 = (neg.f64 %108)
%266 = (/.f64 %109 #s(literal 4 binary64))
%267 = (/.f64 %109 #s(literal 1/2 binary64))
%268 = (fma.f64 %118 #s(literal 1/2 binary64) %153)
%270 = (*.f64 %118 #s(literal 1/2 binary64))
%271 = (neg.f64 %153)
%272 = (-.f64 %270 %271)
%276 = (/.f64 %109 #s(literal 1 binary64))
%277 = (/.f64 %109 #s(literal 2 binary64))
%282 = (/.f64 %162 #s(literal 1/2 binary64))
%284 = (/.f64 %168 #s(literal 1/2 binary64))
%285 = (/.f64 %237 #s(literal 4 binary64))
%288 = (/.f64 %153 #s(literal 2 binary64))
%290 = (/.f64 %154 #s(literal 2 binary64))
%293 = (/.f64 #s(literal 0 binary64) %118)
%299 = (/.f64 %154 #s(literal 4 binary64))
%312 = (/.f64 %154 #s(literal 1/2 binary64))
%332 = (*.f64 %154 #s(literal 1/2 binary64))
%348 = (neg.f64 %154)
%356 = (-.f64 #s(literal 0 binary64) %20)
%375 = (*.f64 %108 x)
%390 = (*.f64 %153 x)
%391 = (*.f64 %168 x)
%394 = (*.f64 %154 x)
%395 = (*.f64 %162 x)
%421 = (*.f64 %271 x)
%424 = (/.f64 %168 #s(literal 4 binary64))
%425 = (/.f64 x #s(literal 1/2 binary64))
%426 = (neg.f64 x)
%428 = (*.f64 (neg.f64 %426) %153)
%433 = (/.f64 %162 #s(literal 4 binary64))
%436 = (/.f64 x #s(literal 4 binary64))
%441 = (/.f64 x #s(literal 2 binary64))
%445 = (/.f64 x #s(literal 1 binary64))
%454 = (*.f64 #s(literal 1/2 binary64) x)
x
y
(*.f64 %4 %3)
(*.f64 %8 #s(literal 2 binary64))
(*.f64 %13 #s(literal 1/2 binary64))
(*.f64 %3 %15)
(*.f64 %12 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %12)
(*.f64 %20 #s(literal -1 binary64))
(*.f64 %23 %23)
(*.f64 %2 %2)
(*.f64 %19 %19)
(*.f64 #s(literal 1 binary64) %6)
(*.f64 #s(literal 2 binary64) %29)
(*.f64 %6 #s(literal 1 binary64))
%6
(pow.f64 %32 #s(literal 1/2 binary64))
(pow.f64 %23 #s(literal 2 binary64))
(pow.f64 %2 #s(literal 2 binary64))
(pow.f64 %19 #s(literal 2 binary64))
(pow.f64 %6 #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 %12 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %23 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %19 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(neg.f64 %20)
(fma.f64 %4 %3 %53)
(fma.f64 %4 %3 %55)
(fma.f64 %8 #s(literal 2 binary64) %53)
(fma.f64 %8 #s(literal 2 binary64) %55)
(fma.f64 %13 #s(literal 1/2 binary64) %53)
(fma.f64 %13 #s(literal 1/2 binary64) %55)
(fma.f64 %3 %15 %53)
(fma.f64 %3 %15 %55)
(fma.f64 %12 #s(literal 1/2 binary64) %53)
(fma.f64 %12 #s(literal 1/2 binary64) %55)
(fma.f64 #s(literal 1/2 binary64) %12 %53)
(fma.f64 #s(literal 1/2 binary64) %12 %55)
(fma.f64 #s(literal 1/2 binary64) %6 %29)
(fma.f64 %20 #s(literal -1 binary64) %53)
(fma.f64 %20 #s(literal -1 binary64) %55)
(fma.f64 %23 %23 %53)
(fma.f64 %23 %23 %55)
(fma.f64 %2 %2 %53)
(fma.f64 %2 %2 %55)
(fma.f64 %19 %19 %53)
(fma.f64 %19 %19 %55)
(fma.f64 #s(literal 1 binary64) %6 %53)
(fma.f64 #s(literal 1 binary64) %6 %55)
(fma.f64 #s(literal 2 binary64) %29 %53)
(fma.f64 #s(literal 2 binary64) %29 %55)
(fma.f64 %6 #s(literal 1/2 binary64) %8)
(fma.f64 %6 #s(literal 1 binary64) %53)
(fma.f64 %6 #s(literal 1 binary64) %55)
(fma.f64 y y %53)
(fma.f64 y y %55)
(sqrt.f64 %32)
(fabs.f64 (*.f64 %19 %23))
(fabs.f64 (*.f64 y %23))
(fabs.f64 (*.f64 %19 %2))
(fabs.f64 (*.f64 y %2))
(fabs.f64 (*.f64 %23 %19))
(fabs.f64 (*.f64 %2 %19))
(fabs.f64 (*.f64 %23 y))
(fabs.f64 (*.f64 %2 y))
(fabs.f64 %20)
(fabs.f64 %6)
(+.f64 %8 %8)
(+.f64 %29 %29)
(+.f64 %6 %53)
(+.f64 %6 %55)
(*.f64 %110 %110)
(*.f64 %113 #s(literal 1/4 binary64))
(*.f64 %112 #s(literal 1/2 binary64))
(*.f64 %109 %109)
(*.f64 #s(literal 1/2 binary64) %119)
(*.f64 #s(literal 1/2 binary64) %112)
(*.f64 #s(literal 1 binary64) %108)
(*.f64 #s(literal 2 binary64) %123)
(pow.f64 %125 %6)
(pow.f64 (exp.f64 (*.f64 %12 #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 %109 #s(literal 2 binary64))
(pow.f64 (exp.f64 %23) %23)
(pow.f64 (exp.f64 %11) (/.f64 y #s(literal 2 binary64)))
(pow.f64 %136 #s(literal 1/2 binary64))
(pow.f64 (exp.f64 %2) %2)
(pow.f64 (exp.f64 %19) %19)
(pow.f64 %118 #s(literal -1 binary64))
(pow.f64 (exp.f64 y) y)
(pow.f64 %108 #s(literal 1 binary64))
(/.f64 (/.f64 %113 #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (/.f64 %112 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (/.f64 %112 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %153 #s(literal -2 binary64) %155) #s(literal -2 binary64))
(/.f64 (fma.f64 %154 #s(literal -2 binary64) %158) #s(literal -2 binary64))
(/.f64 (-.f64 %161 %162) #s(literal -2 binary64))
(/.f64 (fma.f64 %158 #s(literal -2 binary64) %165) #s(literal 4 binary64))
(/.f64 (fma.f64 %158 #s(literal 2 binary64) %169) #s(literal -4 binary64))
(/.f64 (fma.f64 %158 #s(literal 1 binary64) %161) #s(literal -2 binary64))
(/.f64 (fma.f64 %162 #s(literal -2 binary64) %175) #s(literal -4 binary64))
(/.f64 (fma.f64 %153 #s(literal -2 binary64) (*.f64 %155 #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 %155 #s(literal -2 binary64) (*.f64 %158 #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %155 #s(literal 2 binary64) (*.f64 %162 #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 %155 #s(literal 1 binary64) (*.f64 %153 #s(literal -2 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 %168 #s(literal -2 binary64) (*.f64 %158 #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 %154 #s(literal -2 binary64) (*.f64 %158 #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %153 %155) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %154 %158) #s(literal -2 binary64))
(/.f64 (-.f64 %155 %162) #s(literal -2 binary64))
(/.f64 (fma.f64 %158 #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) %155)) #s(literal 4 binary64))
(/.f64 (fma.f64 %158 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %168)) #s(literal -4 binary64))
(/.f64 (fma.f64 %158 #s(literal 1 binary64) %155) #s(literal -2 binary64))
(/.f64 (fma.f64 %162 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) %155)) #s(literal -4 binary64))
(/.f64 (fma.f64 %153 #s(literal -2 binary64) (*.f64 #s(literal 1 binary64) %155)) #s(literal -2 binary64))
(/.f64 (fma.f64 %155 #s(literal -2 binary64) %216) #s(literal 4 binary64))
(/.f64 (fma.f64 %155 #s(literal 2 binary64) %219) #s(literal -4 binary64))
(/.f64 (fma.f64 %155 #s(literal 1 binary64) %158) #s(literal -2 binary64))
(/.f64 (fma.f64 %168 #s(literal -2 binary64) %224) #s(literal -4 binary64))
(/.f64 (fma.f64 %154 #s(literal -2 binary64) %227) #s(literal -2 binary64))
(/.f64 (-.f64 %175 %216) #s(literal -4 binary64))
(/.f64 (-.f64 %165 %219) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) %154) %224) #s(literal 4 binary64))
(/.f64 (-.f64 %169 %237) #s(literal -4 binary64))
(/.f64 (-.f64 %168 %227) #s(literal 2 binary64))
(/.f64 (neg.f64 %113) #s(literal -4 binary64))
(/.f64 (neg.f64 %112) #s(literal -2 binary64))
(/.f64 (fabs.f64 %113) #s(literal 4 binary64))
(/.f64 (fabs.f64 %112) #s(literal 2 binary64))
(/.f64 #s(literal -1 binary64) (neg.f64 %118))
(/.f64 %113 #s(literal 4 binary64))
(/.f64 %253 #s(literal 1/2 binary64))
(/.f64 %112 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %125 %20))
(/.f64 #s(literal 1 binary64) (pow.f64 %109 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) %118)
(/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %118))
(/.f64 %108 #s(literal 1 binary64))
(neg.f64 %264)
(fma.f64 %266 %267 %268)
(fma.f64 %266 %267 %272)
(fma.f64 %267 %266 %268)
(fma.f64 %267 %266 %272)
(fma.f64 %276 %277 %268)
(fma.f64 %276 %277 %272)
(fma.f64 %277 %276 %268)
(fma.f64 %277 %276 %272)
(fma.f64 %282 #s(literal 1/4 binary64) %154)
(fma.f64 %284 #s(literal 1/4 binary64) %285)
(fma.f64 %284 #s(literal 1/4 binary64) %153)
(fma.f64 %288 #s(literal 2 binary64) %154)
(fma.f64 %290 #s(literal 2 binary64) %285)
(fma.f64 %290 #s(literal 2 binary64) %153)
(fma.f64 %110 %110 %293)
(fma.f64 %113 #s(literal 1/4 binary64) %293)
(fma.f64 %112 #s(literal 1/2 binary64) %293)
(fma.f64 #s(literal 4 binary64) (/.f64 %153 #s(literal 4 binary64)) %154)
(fma.f64 #s(literal 4 binary64) %299 %285)
(fma.f64 #s(literal 4 binary64) %299 %153)
(fma.f64 %158 #s(literal -1/2 binary64) %154)
(fma.f64 %155 #s(literal -1/2 binary64) %285)
(fma.f64 %155 #s(literal -1/2 binary64) %153)
(fma.f64 %109 %277 %268)
(fma.f64 %109 %277 %272)
(fma.f64 %109 %109 %293)
(fma.f64 #s(literal 1/2 binary64) %119 %293)
(fma.f64 #s(literal 1/2 binary64) (/.f64 %153 #s(literal 1/2 binary64)) %154)
(fma.f64 #s(literal 1/2 binary64) %312 %285)
(fma.f64 #s(literal 1/2 binary64) %312 %153)
(fma.f64 #s(literal 1/2 binary64) %112 %293)
(fma.f64 #s(literal 1/2 binary64) %162 %154)
(fma.f64 #s(literal 1/2 binary64) %168 %285)
(fma.f64 #s(literal 1/2 binary64) %168 %153)
(fma.f64 %162 #s(literal 1/2 binary64) %154)
(fma.f64 %168 #s(literal 1/2 binary64) %285)
(fma.f64 %168 #s(literal 1/2 binary64) %153)
(fma.f64 #s(literal 1 binary64) %153 %154)
(fma.f64 #s(literal 1 binary64) %154 %285)
(fma.f64 #s(literal 1 binary64) %154 %153)
(fma.f64 #s(literal 1 binary64) %108 %293)
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %29) (cosh.f64 %29)) %154)
(fma.f64 #s(literal 2 binary64) (*.f64 %153 #s(literal 1/2 binary64)) %154)
(fma.f64 #s(literal 2 binary64) %332 %285)
(fma.f64 #s(literal 2 binary64) %332 %153)
(fma.f64 #s(literal 2 binary64) %123 %293)
(fma.f64 #s(literal 2 binary64) %288 %154)
(fma.f64 #s(literal 2 binary64) %290 %285)
(fma.f64 #s(literal 2 binary64) %290 %153)
(fma.f64 %153 #s(literal 1 binary64) %154)
(fma.f64 %154 #s(literal 1 binary64) %285)
(fma.f64 %154 #s(literal 1 binary64) %153)
(fma.f64 %108 #s(literal 1/2 binary64) %268)
(fma.f64 %108 #s(literal 1/2 binary64) %272)
(-.f64 (+.f64 %154 %253) %270)
(-.f64 %253 (-.f64 %270 %154))
(-.f64 %253 (fma.f64 %118 #s(literal 1/2 binary64) %348))
(-.f64 %153 %348)
(-.f64 %154 %271)
(sqrt.f64 %136)
(fabs.f64 %264)
(fabs.f64 %108)
(+.f64 (cosh.f64 %356) (sinh.f64 %356))
(+.f64 (+.f64 %153 %253) %270)
(+.f64 %285 %154)
(+.f64 %123 %123)
(+.f64 %253 %268)
(+.f64 %253 %272)
(+.f64 %153 %154)
(+.f64 %154 %285)
(+.f64 %154 %153)
(+.f64 %108 %293)
(exp.f64 %356)
%108
(*.f64 (*.f64 x %109) %109)
(*.f64 %109 (*.f64 %109 x))
%375
(*.f64 x %108)
(pow.f64 %375 #s(literal 1 binary64))
(/.f64 (*.f64 x %113) #s(literal 4 binary64))
(/.f64 (*.f64 x %112) #s(literal 2 binary64))
(/.f64 (*.f64 x #s(literal 1 binary64)) %118)
(/.f64 (*.f64 %113 x) #s(literal 4 binary64))
(/.f64 (*.f64 %112 x) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) x) %118)
(/.f64 (fma.f64 %390 #s(literal 2 binary64) %391) #s(literal 2 binary64))
(/.f64 (fma.f64 %394 #s(literal 2 binary64) %395) #s(literal 2 binary64))
(/.f64 (fma.f64 %395 #s(literal 2 binary64) (*.f64 %391 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %391 #s(literal 2 binary64) (*.f64 %395 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %162 x %391) #s(literal 2 binary64))
(/.f64 (fma.f64 %168 x %395) #s(literal 2 binary64))
(/.f64 (fma.f64 %395 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %391)) #s(literal 4 binary64))
(/.f64 (fma.f64 %391 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %395)) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %375 #s(literal -1 binary64)))
(/.f64 x %118)
(neg.f64 (*.f64 %264 x))
(neg.f64 (*.f64 x %264))
(neg.f64 (-.f64 %421 %394))
(fma.f64 %424 %425 %428)
(fma.f64 %424 %425 %390)
(fma.f64 %425 %424 %428)
(fma.f64 %425 %424 %390)
(fma.f64 %425 %433 %394)
(fma.f64 %433 %425 %394)
(fma.f64 %436 %282 %394)
(fma.f64 %436 %284 %428)
(fma.f64 %436 %284 %390)
(fma.f64 %282 %436 %394)
(fma.f64 %441 %162 %394)
(fma.f64 %441 %168 %428)
(fma.f64 %441 %168 %390)
(fma.f64 %445 %153 %394)
(fma.f64 %445 %154 %428)
(fma.f64 %445 %154 %390)
(fma.f64 %284 %436 %428)
(fma.f64 %284 %436 %390)
(fma.f64 %395 #s(literal 1/2 binary64) %394)
(fma.f64 %391 #s(literal 1/2 binary64) %428)
(fma.f64 %391 #s(literal 1/2 binary64) %390)
(fma.f64 %162 %454 %394)
(fma.f64 %162 %441 %394)
(fma.f64 %168 %454 %428)
(fma.f64 %168 %454 %390)
(fma.f64 %168 %441 %428)
(fma.f64 %168 %441 %390)
(fma.f64 %153 %445 %394)
(fma.f64 %153 x %394)
(fma.f64 %154 %445 %428)
(fma.f64 %154 %445 %390)
(fma.f64 %154 x %428)
(fma.f64 %154 x %390)
(fma.f64 x %153 %394)
(fma.f64 x %154 %428)
(fma.f64 x %154 %390)
(-.f64 %390 (*.f64 %348 x))
(-.f64 %390 (*.f64 %426 %154))
(-.f64 %390 (neg.f64 %394))
(-.f64 %394 %421)
(+.f64 %390 %394)
(+.f64 %394 %428)
(+.f64 %394 %390)

reconstruct25.0ms (1.6%)

Counts
295 → 38
Compiler

Compiled 295 to 505 computations (-71.2% saved)

eval3.0ms (0.2%)

Compiler

Compiled 34 to 126 computations (-270.6% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New29534
Fresh000
Picked011
Done000
Total29635
Accuracy
100.0%
Counts
35 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f64 x (exp.f64 (*.f64 (neg.f64 y) y)))
100.0%
(*.f64 x (pow.f64 (exp.f64 (+.f64 y y)) (/.f64 y #s(literal 2 binary64))))
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
50.5%
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
79.5%
(approx (* x (exp (* y y))) (+.f64 x (*.f64 x (pow.f64 y #s(literal 2 binary64)))))
Compiler

Compiled 6 to 23 computations (-283.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series27.0ms (1.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0150514
Stop Event
iter-limit
Counts
22 → 37
Calls
Call 1
Inputs
%3 = (pow.f64 y #s(literal 2 binary64))
%6 = (exp (* y y))
%7 = (approx %6 #s(literal 1 binary64))
%8 = (*.f64 x %3)
%9 = (+.f64 x %8)
%12 = (+.f64 y y)
%13 = (neg.f64 y)
%14 = (*.f64 %13 y)
%15 = (exp.f64 %14)
%16 = (exp.f64 %12)
%17 = (/.f64 y #s(literal 2 binary64))
%18 = (pow.f64 %16 %17)
%19 = (exp.f64 y)
%20 = (pow.f64 %19 y)
x
y
#s(literal 2 binary64)
%3
#s(literal 1 binary64)
%7
%8
%9
(approx (* x %6) %9)
%12
%13
%14
%15
%16
%17
%18
%19
%20
(/.f64 x %15)
(*.f64 x %18)
(*.f64 x %20)
(*.f64 x %7)
Outputs
%6 = (pow y 2)
%7 = (* x %6)
%9 = (pow.f64 y #s(literal 2 binary64))
%10 = (*.f64 x %9)
%12 = (+ x %7)
%14 = (+.f64 #s(literal 1 binary64) %9)
%18 = (exp (* y y))
%19 = (* x %18)
%20 = (exp.f64 %9)
%23 = (neg y)
%24 = (* %23 y)
%25 = (exp %24)
%26 = (/ x %25)
%28 = (*.f64 #s(literal -1 binary64) %9)
%29 = (exp.f64 %28)
%41 = (*.f64 #s(literal 1/2 binary64) %9)
%61 = (*.f64 #s(literal 1/2 binary64) x)
%68 = (+ y y)
%69 = (*.f64 #s(literal 2 binary64) y)
%88 = (exp %68)
%104 = (*.f64 #s(literal 1/2 binary64) y)
%106 = (exp y)
%120 = (fma.f64 #s(literal -1 binary64) x %61)
%123 = (*.f64 #s(literal -1 binary64) x)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 %10)
(approx %12 (*.f64 x %14))
(approx %19 (*.f64 x %20))
(approx %26 (/.f64 x %29))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %28 #s(literal 1 binary64)))))
(approx y y)
(approx %6 %9)
(approx %18 #s(literal 1 binary64))
(approx %18 %14)
(approx %18 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1 binary64) %41))))
(approx %18 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1 binary64) (*.f64 %9 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) %9)))))))
(approx %12 (+.f64 x %10))
(approx %19 (+.f64 x (*.f64 %9 (+.f64 x (*.f64 #s(literal 1/2 binary64) %10)))))
(approx %19 (+.f64 x (*.f64 %9 (+.f64 x (*.f64 %9 (fma.f64 #s(literal 1/6 binary64) %10 %61))))))
(approx %68 %69)
(approx %23 (*.f64 #s(literal -1 binary64) y))
(approx %24 %28)
(approx %25 (+.f64 #s(literal 1 binary64) %28))
(approx %25 (+.f64 #s(literal 1 binary64) (*.f64 %9 (-.f64 %41 #s(literal 1 binary64)))))
(approx %25 (+.f64 #s(literal 1 binary64) (*.f64 %9 (-.f64 (*.f64 %9 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) %9))) #s(literal 1 binary64)))))
(approx %88 (+.f64 #s(literal 1 binary64) %69))
(approx %88 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 2 binary64) %69))))
(approx %88 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 y (+.f64 #s(literal 2 binary64) (*.f64 #s(literal 4/3 binary64) y)))))))
(approx (/ y 2) %104)
(approx %106 (+.f64 #s(literal 1 binary64) y))
(approx %106 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) %104))))
(approx %106 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) y)))))))
(approx %26 (+.f64 x (*.f64 %9 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %9 %120)) %123))))
(approx %26 (+.f64 x (*.f64 %9 (-.f64 (*.f64 %9 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %9 (+.f64 x (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1/6 binary64) x))))) %120)) %123))))
(approx %18 %20)
(approx %12 (*.f64 %9 (+.f64 x (/.f64 x %9))))
(approx %25 %29)
(approx %88 (exp.f64 %69))
(approx %106 (exp.f64 y))
(approx %88 (exp.f64 (neg.f64 (*.f64 #s(literal -2 binary64) y))))
Calls

6 calls:

TimeVariablePoint
8.0ms
x
0
4.0ms
y
0
4.0ms
y
inf
4.0ms
x
inf
2.0ms
y
-inf

rewrite94.0ms (6.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025105
041107
1125104
238496
3214996
0404496
0448294
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
22 → 860
Calls
Call 1
Inputs
%3 = (pow.f64 y #s(literal 2 binary64))
%6 = (exp (* y y))
%7 = (approx %6 #s(literal 1 binary64))
%8 = (*.f64 x %3)
%9 = (+.f64 x %8)
%12 = (+.f64 y y)
%13 = (neg.f64 y)
%14 = (*.f64 %13 y)
%15 = (exp.f64 %14)
%16 = (exp.f64 %12)
%17 = (/.f64 y #s(literal 2 binary64))
%18 = (pow.f64 %16 %17)
%19 = (exp.f64 y)
%20 = (pow.f64 %19 y)
x
y
#s(literal 2 binary64)
%3
#s(literal 1 binary64)
%7
%8
%9
(approx (* x %6) %9)
%12
%13
%14
%15
%16
%17
%18
%19
%20
(/.f64 x %15)
(*.f64 x %18)
(*.f64 x %20)
(*.f64 x %7)
Outputs
%3 = (+.f64 y y)
%4 = (*.f64 %3 y)
%6 = (*.f64 %4 #s(literal 1 binary64))
%9 = (fabs.f64 y)
%10 = (neg.f64 %9)
%11 = (*.f64 %10 #s(literal 1 binary64))
%13 = (*.f64 %9 #s(literal 1 binary64))
%15 = (/.f64 %3 #s(literal 1/2 binary64))
%17 = (/.f64 y #s(literal 4 binary64))
%19 = (*.f64 %4 #s(literal 2 binary64))
%22 = (neg.f64 %10)
%25 = (*.f64 y y)
%26 = (*.f64 %25 #s(literal 2 binary64))
%28 = (neg.f64 y)
%29 = (*.f64 %28 #s(literal 1 binary64))
%31 = (*.f64 %25 #s(literal 1/2 binary64))
%34 = (*.f64 #s(literal -2 binary64) y)
%35 = (*.f64 y %34)
%41 = (*.f64 #s(literal 4 binary64) %31)
%47 = (*.f64 #s(literal 1/2 binary64) y)
%49 = (*.f64 #s(literal -1/2 binary64) %3)
%56 = (*.f64 %31 #s(literal 1 binary64))
%59 = (*.f64 #s(literal 2 binary64) %47)
%61 = (*.f64 #s(literal 1/2 binary64) %3)
%63 = (/.f64 y #s(literal 1 binary64))
%68 = (*.f64 %25 %25)
%88 = (neg.f64 %35)
%108 = (*.f64 y #s(literal -1/2 binary64))
%109 = (*.f64 %108 %3)
%111 = (*.f64 %34 %47)
%113 = (*.f64 #s(literal -2 binary64) %31)
%115 = (*.f64 %47 %34)
%117 = (*.f64 %3 %108)
%119 = (/.f64 %35 #s(literal 2 binary64))
%121 = (/.f64 %4 #s(literal -2 binary64))
%123 = (*.f64 %28 y)
%125 = (-.f64 %123 #s(literal 0 binary64))
%128 = (*.f64 %25 #s(literal 0 binary64))
%130 = (*.f64 #s(literal 0 binary64) %25)
%162 = (*.f64 #s(literal 1/2 binary64) %25)
%213 = (pow (exp y) y)
%214 = (approx %213 #s(literal 1 binary64))
%219 = (*.f64 x %10)
%221 = (neg.f64 x)
%222 = (*.f64 %221 %9)
%223 = (neg.f64 %222)
%225 = (*.f64 %221 %28)
%226 = (neg.f64 %225)
%230 = (*.f64 %9 x)
%232 = (*.f64 %221 y)
%234 = (*.f64 y x)
%236 = (*.f64 %10 x)
%242 = (*.f64 %25 x)
%249 = (*.f64 %221 %25)
%251 = (fma.f64 y y #s(literal 1 binary64))
%253 = (fma.f64 %25 x x)
%284 = (approx (* %213 x) %253)
%289 = (*.f64 %3 #s(literal 2 binary64))
%291 = (*.f64 #s(literal 4 binary64) y)
%302 = (*.f64 %34 #s(literal 1 binary64))
%305 = (*.f64 %3 #s(literal 0 binary64))
%307 = (*.f64 #s(literal 0 binary64) %3)
%330 = (*.f64 %123 #s(literal 1/2 binary64))
%333 = (*.f64 %123 #s(literal 2 binary64))
%349 = (*.f64 %123 #s(literal 0 binary64))
%351 = (*.f64 #s(literal 0 binary64) %123)
%363 = (*.f64 #s(literal 1/2 binary64) %123)
%384 = (exp.f64 %330)
%386 = (exp.f64 %123)
%387 = (sqrt.f64 %386)
%389 = (exp.f64 %25)
%390 = (*.f64 #s(literal 1/2 binary64) %389)
%391 = (/.f64 #s(literal 2 binary64) %390)
%393 = (neg.f64 %386)
%395 = (/.f64 #s(literal 1 binary64) %390)
%397 = (/.f64 #s(literal 2 binary64) %389)
%400 = (/.f64 #s(literal 1/2 binary64) %389)
%402 = (exp.f64 %22)
%406 = (exp.f64 #s(literal 1 binary64))
%408 = (exp.f64 y)
%409 = (sqrt.f64 %408)
%411 = (exp.f64 %10)
%415 = (exp.f64 %4)
%417 = (exp.f64 %35)
%420 = (exp.f64 (*.f64 y #s(literal 4 binary64)))
%421 = (/.f64 %47 #s(literal 2 binary64))
%424 = (exp.f64 %9)
%427 = (exp.f64 #s(literal 2 binary64))
%430 = (exp.f64 %28)
%435 = (exp.f64 %3)
%438 = (cosh.f64 %25)
%439 = (sinh.f64 %123)
%440 = (*.f64 #s(literal 2 binary64) %439)
%443 = (*.f64 #s(literal 2 binary64) %438)
%446 = (*.f64 %438 #s(literal 2 binary64))
%447 = (sinh.f64 %25)
%448 = (*.f64 #s(literal 2 binary64) %447)
%454 = (*.f64 %443 #s(literal 2 binary64))
%463 = (*.f64 #s(literal 2 binary64) %440)
%466 = (*.f64 #s(literal 2 binary64) %443)
%469 = (*.f64 #s(literal 2 binary64) %448)
%472 = (neg.f64 %389)
%478 = (*.f64 #s(literal 2 binary64) %389)
%481 = (/.f64 #s(literal 0 binary64) %389)
%495 = (neg.f64 %438)
%500 = (-.f64 #s(literal 0 binary64) %25)
%510 = (*.f64 %123 #s(literal -1 binary64))
%513 = (fma.f64 %28 y %123)
%518 = (-.f64 #s(literal 0 binary64) y)
%535 = (neg.f64 %408)
%541 = (exp.f64 #s(literal 1/2 binary64))
%546 = (exp.f64 %34)
%550 = (sinh.f64 %3)
%551 = (cosh.f64 %3)
%552 = (*.f64 #s(literal 2 binary64) %551)
%555 = (*.f64 #s(literal 2 binary64) %550)
%580 = (neg.f64 %435)
%582 = (cosh.f64 y)
%583 = (fabs.f64 %582)
%584 = (sinh.f64 y)
%585 = (*.f64 %584 %584)
%586 = (sinh.f64 %34)
%587 = (-.f64 %585 %586)
%589 = (fma.f64 %584 %584 %550)
%591 = (fabs.f64 %584)
%592 = (fma.f64 %582 %582 %550)
%594 = (*.f64 %582 %582)
%595 = (-.f64 %594 %586)
%597 = (neg.f64 %582)
%600 = (*.f64 #s(literal 2 binary64) %584)
%604 = (sinh.f64 %28)
%607 = (/.f64 %550 #s(literal 2 binary64))
%613 = (+.f64 %607 %551)
%615 = (*.f64 %582 %408)
%620 = (*.f64 %584 %408)
%634 = (+.f64 %550 %594)
%635 = (*.f64 %604 %584)
%637 = (+.f64 %551 %607)
%638 = (*.f64 %604 %582)
%640 = (/.f64 %582 %430)
%670 = (/.f64 %584 %430)
%688 = (fma.f64 #s(literal 2 binary64) y %3)
%693 = (/.f64 y #s(literal 1/2 binary64))
%720 = (sqrt.f64 %389)
%721 = (*.f64 %720 %720)
%722 = (*.f64 %390 #s(literal 2 binary64))
%723 = (*.f64 #s(literal -1 binary64) %472)
%724 = (*.f64 #s(literal 4 binary64) %390)
%725 = (*.f64 #s(literal 1/2 binary64) %724)
%726 = (*.f64 #s(literal 1/2 binary64) %478)
%727 = (/.f64 #s(literal 2 binary64) %386)
%728 = (*.f64 #s(literal 1/2 binary64) %727)
%729 = (/.f64 #s(literal 1/2 binary64) %393)
%730 = (*.f64 #s(literal -2 binary64) %729)
%731 = (*.f64 %389 #s(literal 1 binary64))
%732 = (*.f64 #s(literal 1 binary64) %389)
%733 = (fabs.f64 %390)
%734 = (*.f64 #s(literal 2 binary64) %733)
%735 = (*.f64 #s(literal 2 binary64) %390)
%737 = (pow.f64 (exp.f64 %11) %11)
%739 = (pow.f64 (exp.f64 %15) %17)
%741 = (pow.f64 (exp.f64 %19) #s(literal 1/4 binary64))
%742 = (pow.f64 %402 %22)
%743 = (pow.f64 %402 %9)
%744 = (exp.f64 %6)
%745 = (pow.f64 %744 #s(literal 1/2 binary64))
%746 = (pow.f64 %720 #s(literal 2 binary64))
%747 = (pow.f64 %406 %25)
%748 = (pow.f64 %409 %3)
%749 = (pow.f64 %541 %41)
%750 = (pow.f64 %541 %4)
%751 = (pow.f64 %411 %11)
%752 = (pow.f64 %411 %10)
%753 = (pow.f64 %415 #s(literal 1/2 binary64))
%754 = (pow.f64 %417 #s(literal -1/2 binary64))
%755 = (pow.f64 %420 %421)
%756 = (pow.f64 %424 %13)
%757 = (pow.f64 %424 %22)
%758 = (pow.f64 %424 %9)
%759 = (pow.f64 %427 %56)
%760 = (pow.f64 %427 %31)
%761 = (pow.f64 %430 %49)
%762 = (pow.f64 %430 %29)
%763 = (pow.f64 %430 %28)
%764 = (pow.f64 %389 #s(literal 1 binary64))
%765 = (pow.f64 %408 %59)
%766 = (pow.f64 %408 %61)
%767 = (pow.f64 %408 %63)
%768 = (pow.f64 %408 y)
%769 = (pow.f64 %435 %47)
%770 = (pow.f64 %386 #s(literal -1 binary64))
%771 = (/.f64 %478 #s(literal 2 binary64))
%773 = (/.f64 (fma.f64 %447 #s(literal 2 binary64) %443) #s(literal 2 binary64))
%775 = (/.f64 (fma.f64 %438 #s(literal 2 binary64) %448) #s(literal 2 binary64))
%777 = (/.f64 (-.f64 %446 %440) #s(literal 2 binary64))
%779 = (/.f64 (fma.f64 %448 #s(literal 2 binary64) %454) #s(literal 4 binary64))
%782 = (/.f64 (fma.f64 %443 #s(literal 2 binary64) (*.f64 %448 #s(literal 2 binary64))) #s(literal 4 binary64))
%784 = (/.f64 (fma.f64 #s(literal 2 binary64) %447 %443) #s(literal 2 binary64))
%786 = (/.f64 (fma.f64 #s(literal 2 binary64) %438 %448) #s(literal 2 binary64))
%788 = (/.f64 (-.f64 %443 %440) #s(literal 2 binary64))
%790 = (/.f64 (fma.f64 %448 #s(literal 2 binary64) %466) #s(literal 4 binary64))
%792 = (/.f64 (fma.f64 %443 #s(literal 2 binary64) %469) #s(literal 4 binary64))
%794 = (/.f64 (-.f64 %454 %463) #s(literal 4 binary64))
%795 = (/.f64 #s(literal -1 binary64) %393)
%797 = (/.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) %393))
%798 = (/.f64 %389 #s(literal 1 binary64))
%800 = (/.f64 #s(literal 1 binary64) (pow.f64 %409 %302))
%803 = (/.f64 #s(literal 1 binary64) (pow.f64 %427 (*.f64 y %108)))
%804 = (/.f64 #s(literal 1 binary64) %386)
%806 = (/.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %386))
%807 = (neg.f64 %472)
%808 = (/.f64 #s(literal 0 binary64) %386)
%809 = (fma.f64 %720 %720 %808)
%810 = (fma.f64 %390 #s(literal 2 binary64) %808)
%811 = (fma.f64 #s(literal -1 binary64) %472 %808)
%812 = (fma.f64 %448 #s(literal 1/2 binary64) %438)
%813 = (fma.f64 %443 #s(literal 1/2 binary64) %447)
%814 = (fma.f64 #s(literal 1/2 binary64) %724 %808)
%815 = (fma.f64 #s(literal 1/2 binary64) %478 %808)
%816 = (fma.f64 #s(literal 1/2 binary64) %727 %808)
%817 = (fma.f64 #s(literal 1/2 binary64) %389 %390)
%818 = (fma.f64 #s(literal -2 binary64) %729 %808)
%819 = (*.f64 %438 #s(literal 1 binary64))
%820 = (fma.f64 %447 #s(literal 1 binary64) %819)
%821 = (*.f64 %447 #s(literal 1 binary64))
%822 = (fma.f64 %438 #s(literal 1 binary64) %821)
%823 = (fma.f64 %389 #s(literal 1 binary64) %808)
%824 = (fma.f64 #s(literal 1 binary64) %390 %390)
%825 = (fma.f64 #s(literal 1 binary64) %447 %438)
%826 = (fma.f64 #s(literal 1 binary64) %438 %447)
%827 = (fma.f64 #s(literal 1 binary64) %389 %808)
%831 = (fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %56) (cosh.f64 %56)) %438)
%833 = (fma.f64 #s(literal 2 binary64) (/.f64 #s(literal 1/4 binary64) %386) %390)
%834 = (fma.f64 #s(literal 2 binary64) %733 %808)
%838 = (fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %31) (cosh.f64 %31)) %438)
%839 = (fma.f64 #s(literal 2 binary64) %390 %808)
%840 = (-.f64 %447 %495)
%842 = (-.f64 %438 (sinh.f64 %109))
%844 = (-.f64 %438 (sinh.f64 %111))
%846 = (-.f64 %438 (sinh.f64 %113))
%848 = (-.f64 %438 (sinh.f64 %115))
%850 = (-.f64 %438 (sinh.f64 %117))
%852 = (-.f64 %438 (sinh.f64 %119))
%854 = (-.f64 %438 (sinh.f64 %121))
%856 = (-.f64 %438 (sinh.f64 %125))
%857 = (-.f64 %438 %439)
%858 = (sqrt.f64 %744)
%860 = (sqrt.f64 (exp.f64 %88))
%861 = (sqrt.f64 %415)
%862 = (fabs.f64 %472)
%863 = (fabs.f64 %389)
%866 = (+.f64 (cosh.f64 %510) (sinh.f64 %510))
%867 = (+.f64 %821 %819)
%868 = (+.f64 %819 %821)
%869 = (+.f64 %390 %390)
%870 = (+.f64 %447 %438)
%871 = (+.f64 %438 %447)
%872 = (+.f64 %389 %808)
%874 = (exp.f64 (-.f64 %510 #s(literal 0 binary64)))
%876 = (exp.f64 (-.f64 %25 #s(literal 0 binary64)))
%878 = (exp.f64 (-.f64 #s(literal 0 binary64) %500))
%879 = (fma.f64 y y %25)
%881 = (exp.f64 (/.f64 %879 #s(literal 2 binary64)))
%883 = (exp.f64 (*.f64 %879 #s(literal 1/2 binary64)))
%885 = (exp.f64 (*.f64 %513 #s(literal -1/2 binary64)))
%887 = (exp.f64 (*.f64 %333 #s(literal -1/2 binary64)))
%889 = (exp.f64 (*.f64 %688 %421))
%891 = (exp.f64 (*.f64 %289 %421))
%893 = (exp.f64 (*.f64 %518 %28))
%895 = (exp.f64 (*.f64 %29 %28))
%897 = (exp.f64 (*.f64 %510 #s(literal 1 binary64)))
%899 = (exp.f64 (*.f64 %500 #s(literal -1 binary64)))
%900 = (exp.f64 %510)
%908 = (*.f64 #s(literal 2 binary64) %582)
%951 = (*.f64 (*.f64 x #s(literal 2 binary64)) %390)
%953 = (*.f64 (/.f64 x #s(literal 1 binary64)) %389)
%954 = (*.f64 %472 %221)
%955 = (*.f64 %221 %472)
%956 = (*.f64 %389 x)
%957 = (*.f64 #s(literal 1 binary64) %956)
%959 = (*.f64 #s(literal 2 binary64) (*.f64 %390 x))
%960 = (*.f64 x %389)
%961 = (pow.f64 %956 #s(literal 1 binary64))
%963 = (/.f64 (*.f64 %221 #s(literal 1 binary64)) %393)
%965 = (/.f64 (*.f64 x #s(literal -1 binary64)) %393)
%967 = (/.f64 (*.f64 #s(literal -1 binary64) x) %393)
%968 = (/.f64 %221 %393)
%970 = (/.f64 #s(literal 1 binary64) (pow.f64 %956 #s(literal -1 binary64)))
%972 = (/.f64 #s(literal 1 binary64) (/.f64 %393 %221))
%974 = (/.f64 #s(literal 1 binary64) (/.f64 %386 x))
%975 = (/.f64 x %386)
%977 = (neg.f64 (*.f64 %221 %389))
%978 = (*.f64 %438 x)
%979 = (fma.f64 %447 x %978)
%980 = (*.f64 %447 x)
%981 = (fma.f64 %438 x %980)
%982 = (fma.f64 #s(literal 1 binary64) %980 %978)
%983 = (fma.f64 #s(literal 1 binary64) %978 %980)
%984 = (fma.f64 x %447 %978)
%985 = (fma.f64 x %438 %980)
%987 = (-.f64 %978 (*.f64 %221 %447))
%989 = (-.f64 %978 (*.f64 %439 x))
%991 = (-.f64 %978 (neg.f64 %980))
%992 = (+.f64 %980 %978)
%993 = (+.f64 %978 %980)
%994 = (*.f64 %214 x)
x
y
#s(literal 2 binary64)
(*.f64 %6 #s(literal 1/2 binary64))
(*.f64 %11 %11)
(*.f64 %13 %13)
(*.f64 %15 %17)
(*.f64 %19 #s(literal 1/4 binary64))
(*.f64 %22 %22)
(*.f64 %22 %9)
(*.f64 %26 #s(literal 1/2 binary64))
(*.f64 %29 %29)
(*.f64 %31 #s(literal 2 binary64))
(*.f64 %35 #s(literal -1/2 binary64))
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %10 %11)
(*.f64 %10 %10)
(*.f64 #s(literal 1/2 binary64) %41)
(*.f64 #s(literal 1/2 binary64) %4)
(*.f64 %9 %13)
(*.f64 %9 %22)
(*.f64 %9 %9)
(*.f64 %47 %3)
(*.f64 %28 %49)
(*.f64 %28 %29)
(*.f64 %28 %28)
(*.f64 %3 %47)
(*.f64 %25 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %25)
(*.f64 #s(literal 2 binary64) %56)
(*.f64 #s(literal 2 binary64) %31)
(*.f64 y %59)
(*.f64 y %61)
(*.f64 y %63)
%25
(pow.f64 %11 #s(literal 2 binary64))
(pow.f64 %13 #s(literal 2 binary64))
(pow.f64 %22 #s(literal 2 binary64))
(pow.f64 %68 #s(literal 1/2 binary64))
(pow.f64 %29 #s(literal 2 binary64))
(pow.f64 %10 #s(literal 2 binary64))
(pow.f64 %9 #s(literal 2 binary64))
(pow.f64 %28 #s(literal 2 binary64))
(pow.f64 %25 #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (*.f64 %4 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 %35 #s(literal 1 binary64)) #s(literal -2 binary64))
(/.f64 %6 #s(literal 2 binary64))
(/.f64 (/.f64 %4 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %35 #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 %19 #s(literal 4 binary64))
(/.f64 %88 #s(literal 2 binary64))
(/.f64 %26 #s(literal 2 binary64))
(/.f64 %35 #s(literal -2 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 %25 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %35))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %4))
(/.f64 #s(literal 1 binary64) (pow.f64 %9 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %28 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(neg.f64 %109)
(neg.f64 %111)
(neg.f64 %113)
(neg.f64 %115)
(neg.f64 %117)
(neg.f64 %119)
(neg.f64 %121)
(neg.f64 %125)
(neg.f64 %123)
(fma.f64 %6 #s(literal 1/2 binary64) %128)
(fma.f64 %6 #s(literal 1/2 binary64) %130)
(fma.f64 %11 %11 %128)
(fma.f64 %11 %11 %130)
(fma.f64 %13 %13 %128)
(fma.f64 %13 %13 %130)
(fma.f64 %15 %17 %128)
(fma.f64 %15 %17 %130)
(fma.f64 %19 #s(literal 1/4 binary64) %128)
(fma.f64 %19 #s(literal 1/4 binary64) %130)
(fma.f64 %22 %22 %128)
(fma.f64 %22 %22 %130)
(fma.f64 %22 %9 %128)
(fma.f64 %22 %9 %130)
(fma.f64 %26 #s(literal 1/2 binary64) %128)
(fma.f64 %26 #s(literal 1/2 binary64) %130)
(fma.f64 %29 %29 %128)
(fma.f64 %29 %29 %130)
(fma.f64 %31 #s(literal 2 binary64) %128)
(fma.f64 %31 #s(literal 2 binary64) %130)
(fma.f64 %35 #s(literal -1/2 binary64) %128)
(fma.f64 %35 #s(literal -1/2 binary64) %130)
(fma.f64 %4 #s(literal 1/2 binary64) %128)
(fma.f64 %4 #s(literal 1/2 binary64) %130)
(fma.f64 %10 %11 %128)
(fma.f64 %10 %11 %130)
(fma.f64 %10 %10 %128)
(fma.f64 %10 %10 %130)
(fma.f64 #s(literal 1/2 binary64) %41 %128)
(fma.f64 #s(literal 1/2 binary64) %41 %130)
(fma.f64 #s(literal 1/2 binary64) %4 %128)
(fma.f64 #s(literal 1/2 binary64) %4 %130)
(fma.f64 #s(literal 1/2 binary64) %25 %162)
(fma.f64 %9 %13 %128)
(fma.f64 %9 %13 %130)
(fma.f64 %9 %22 %128)
(fma.f64 %9 %22 %130)
(fma.f64 %9 %9 %128)
(fma.f64 %9 %9 %130)
(fma.f64 %47 %3 %128)
(fma.f64 %47 %3 %130)
(fma.f64 %47 y %31)
(fma.f64 %123 #s(literal -1/2 binary64) %31)
(fma.f64 %28 %49 %128)
(fma.f64 %28 %49 %130)
(fma.f64 %28 %29 %128)
(fma.f64 %28 %29 %130)
(fma.f64 %28 %28 %128)
(fma.f64 %28 %28 %130)
(fma.f64 %3 %47 %128)
(fma.f64 %3 %47 %130)
(fma.f64 %25 #s(literal 1/2 binary64) %31)
(fma.f64 %25 #s(literal 1 binary64) %128)
(fma.f64 %25 #s(literal 1 binary64) %130)
(fma.f64 #s(literal 1 binary64) %31 %31)
(fma.f64 #s(literal 1 binary64) %25 %128)
(fma.f64 #s(literal 1 binary64) %25 %130)
(fma.f64 #s(literal 2 binary64) %56 %128)
(fma.f64 #s(literal 2 binary64) %56 %130)
(fma.f64 #s(literal 2 binary64) %31 %128)
(fma.f64 #s(literal 2 binary64) %31 %130)
(fma.f64 y %59 %128)
(fma.f64 y %59 %130)
(fma.f64 y %61 %128)
(fma.f64 y %61 %130)
(fma.f64 y %63 %128)
(fma.f64 y %63 %130)
(fma.f64 y %47 %31)
(fma.f64 y y %128)
(fma.f64 y y %130)
(-.f64 #s(literal 0 binary64) (+.f64 #s(literal 0 binary64) %123))
(-.f64 #s(literal 0 binary64) %123)
(sqrt.f64 %68)
(fabs.f64 %123)
(fabs.f64 %25)
(+.f64 %162 %162)
(+.f64 %31 %31)
(+.f64 #s(literal 0 binary64) %25)
(+.f64 %25 %128)
(+.f64 %25 %130)
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) %214)
(pow.f64 %214 #s(literal 1 binary64))
%214
(/.f64 #s(literal 1 binary64) (pow.f64 %214 #s(literal -1 binary64)))
(*.f64 %219 %10)
(*.f64 %223 %9)
(*.f64 %226 %28)
(*.f64 %222 %10)
(*.f64 %225 y)
(*.f64 %230 %9)
(*.f64 %232 %28)
(*.f64 %234 y)
(*.f64 %10 %236)
(*.f64 %221 %123)
(*.f64 %9 %230)
(*.f64 %123 %221)
(*.f64 %28 %232)
%242
(*.f64 #s(literal 1 binary64) %242)
(*.f64 y %234)
(*.f64 x %25)
(pow.f64 %242 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %242 #s(literal -1 binary64)))
(neg.f64 %249)
(*.f64 %251 x)
(*.f64 #s(literal 1 binary64) %253)
(*.f64 x %251)
(pow.f64 %253 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %253 #s(literal -1 binary64)))
(neg.f64 (-.f64 %221 %242))
(neg.f64 (neg.f64 %253))
(fma.f64 %219 %10 x)
(fma.f64 %223 %9 x)
(fma.f64 %226 %28 x)
(fma.f64 %222 %10 x)
(fma.f64 %225 y x)
(fma.f64 %230 %9 x)
(fma.f64 %232 %28 x)
(fma.f64 %234 y x)
(fma.f64 %10 %236 x)
(fma.f64 %221 %123 x)
(fma.f64 %9 %230 x)
(fma.f64 %123 %221 x)
(fma.f64 %28 %232 x)
%253
(fma.f64 #s(literal 1 binary64) %242 x)
(fma.f64 y %234 x)
(fma.f64 x %25 x)
(-.f64 %242 %221)
(-.f64 x %249)
(+.f64 %242 x)
(+.f64 x %242)
(*.f64 #s(literal 1 binary64) %284)
(pow.f64 %284 #s(literal 1 binary64))
%284
(/.f64 #s(literal 1 binary64) (pow.f64 %284 #s(literal -1 binary64)))
(*.f64 %289 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %291)
(*.f64 %47 #s(literal 4 binary64))
(*.f64 %3 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %3)
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 %289 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %302)
(neg.f64 %34)
(fma.f64 %289 #s(literal 1/2 binary64) %305)
(fma.f64 %289 #s(literal 1/2 binary64) %307)
(fma.f64 #s(literal 1/2 binary64) %291 %305)
(fma.f64 #s(literal 1/2 binary64) %291 %307)
(fma.f64 #s(literal 1/2 binary64) %3 %61)
(fma.f64 %47 #s(literal 4 binary64) %305)
(fma.f64 %47 #s(literal 4 binary64) %307)
(fma.f64 %3 #s(literal 1 binary64) %305)
(fma.f64 %3 #s(literal 1 binary64) %307)
(fma.f64 #s(literal 1 binary64) %3 %305)
(fma.f64 #s(literal 1 binary64) %3 %307)
(fma.f64 #s(literal 2 binary64) y %305)
(fma.f64 #s(literal 2 binary64) y %307)
(fma.f64 y #s(literal 2 binary64) %305)
(fma.f64 y #s(literal 2 binary64) %307)
(-.f64 y %28)
(+.f64 %61 %61)
(+.f64 %3 %305)
(+.f64 %3 %307)
%3
(*.f64 #s(literal 1 binary64) %28)
(pow.f64 %28 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %28 #s(literal -1 binary64)))
%28
(*.f64 %330 #s(literal 2 binary64))
(*.f64 %22 %10)
(*.f64 %333 #s(literal 1/2 binary64))
(*.f64 %10 %13)
(*.f64 %10 %22)
(*.f64 %10 %9)
(*.f64 %9 %11)
(*.f64 %9 %10)
(*.f64 %123 #s(literal 1 binary64))
%123
(*.f64 #s(literal 1 binary64) %123)
(*.f64 y %29)
(*.f64 y %28)
(pow.f64 %123 #s(literal 1 binary64))
(/.f64 %333 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %123 #s(literal -1 binary64)))
(neg.f64 %25)
(fma.f64 %330 #s(literal 2 binary64) %349)
(fma.f64 %330 #s(literal 2 binary64) %351)
(fma.f64 %22 %10 %349)
(fma.f64 %22 %10 %351)
(fma.f64 %333 #s(literal 1/2 binary64) %349)
(fma.f64 %333 #s(literal 1/2 binary64) %351)
(fma.f64 %10 %13 %349)
(fma.f64 %10 %13 %351)
(fma.f64 %10 %22 %349)
(fma.f64 %10 %22 %351)
(fma.f64 %10 %9 %349)
(fma.f64 %10 %9 %351)
(fma.f64 #s(literal 1/2 binary64) %123 %363)
(fma.f64 %9 %11 %349)
(fma.f64 %9 %11 %351)
(fma.f64 %9 %10 %349)
(fma.f64 %9 %10 %351)
(fma.f64 %123 #s(literal 1/2 binary64) %330)
(fma.f64 %123 #s(literal 1 binary64) %349)
(fma.f64 %123 #s(literal 1 binary64) %351)
(fma.f64 %28 y %349)
(fma.f64 %28 y %351)
(fma.f64 #s(literal 1 binary64) %123 %349)
(fma.f64 #s(literal 1 binary64) %123 %351)
(fma.f64 y %29 %349)
(fma.f64 y %29 %351)
(fma.f64 y %28 %349)
(fma.f64 y %28 %351)
(+.f64 %330 %330)
(+.f64 %363 %363)
(+.f64 %123 %349)
(+.f64 %123 %351)
(*.f64 %384 %384)
(*.f64 %387 %387)
(*.f64 #s(literal 1/4 binary64) %391)
(*.f64 #s(literal -1 binary64) %393)
(*.f64 #s(literal 1/2 binary64) %395)
(*.f64 #s(literal 1/2 binary64) %397)
(*.f64 #s(literal 1 binary64) %386)
(*.f64 #s(literal 2 binary64) %400)
(pow.f64 %402 %10)
(pow.f64 %384 #s(literal 2 binary64))
(pow.f64 %387 #s(literal 2 binary64))
(pow.f64 %406 %123)
(pow.f64 %409 %34)
(pow.f64 %411 %13)
(pow.f64 %411 %22)
(pow.f64 %411 %9)
(pow.f64 %415 #s(literal -1/2 binary64))
(pow.f64 %417 #s(literal 1/2 binary64))
(pow.f64 %420 (neg.f64 %421))
(pow.f64 %424 %11)
(pow.f64 %424 %10)
(pow.f64 %427 (neg.f64 %31))
(pow.f64 %430 y)
(pow.f64 %389 #s(literal -1 binary64))
(pow.f64 %408 %29)
(pow.f64 %408 %28)
(pow.f64 %435 %108)
(pow.f64 %386 #s(literal 1 binary64))
(/.f64 (fma.f64 %438 #s(literal 2 binary64) %440) #s(literal 2 binary64))
(/.f64 (fma.f64 %439 #s(literal 2 binary64) %443) #s(literal 2 binary64))
(/.f64 (-.f64 %446 %448) #s(literal 2 binary64))
(/.f64 (fma.f64 %443 #s(literal 2 binary64) (*.f64 %440 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %440 #s(literal 2 binary64) %454) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %438 %440) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %439 %443) #s(literal 2 binary64))
(/.f64 (-.f64 %443 %448) #s(literal 2 binary64))
(/.f64 (fma.f64 %443 #s(literal 2 binary64) %463) #s(literal 4 binary64))
(/.f64 (fma.f64 %440 #s(literal 2 binary64) %466) #s(literal 4 binary64))
(/.f64 (-.f64 %454 %469) #s(literal 4 binary64))
(/.f64 #s(literal -1 binary64) %472)
(/.f64 #s(literal 1/2 binary64) %390)
(/.f64 %393 #s(literal -1 binary64))
(/.f64 %386 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) %389)
(/.f64 #s(literal 2 binary64) %478)
(neg.f64 %393)
(fma.f64 %384 %384 %481)
(fma.f64 %387 %387 %481)
(fma.f64 #s(literal 1/4 binary64) %391 %481)
(fma.f64 #s(literal -1 binary64) %393 %481)
(fma.f64 %440 #s(literal 1/2 binary64) %438)
(fma.f64 %443 #s(literal 1/2 binary64) %439)
(fma.f64 #s(literal 1/2 binary64) %395 %481)
(fma.f64 #s(literal 1/2 binary64) %397 %481)
(fma.f64 #s(literal 1 binary64) %438 %439)
(fma.f64 #s(literal 1 binary64) %439 %438)
(fma.f64 #s(literal 1 binary64) %386 %481)
(fma.f64 #s(literal 2 binary64) %400 %481)
(-.f64 %438 %447)
(-.f64 %439 %495)
(sqrt.f64 %417)
(fabs.f64 %393)
(fabs.f64 %386)
(+.f64 (cosh.f64 %500) (sinh.f64 %500))
(+.f64 %400 %400)
(+.f64 %438 %439)
(+.f64 %439 %438)
(+.f64 %386 %481)
(exp.f64 (-.f64 %500 #s(literal 0 binary64)))
(exp.f64 (-.f64 #s(literal 0 binary64) %510))
(exp.f64 (/.f64 %513 #s(literal 2 binary64)))
(exp.f64 (*.f64 %513 #s(literal 1/2 binary64)))
(exp.f64 (*.f64 %518 y))
(exp.f64 (*.f64 %29 y))
(exp.f64 (*.f64 %510 #s(literal -1 binary64)))
(exp.f64 (*.f64 %25 #s(literal -1 binary64)))
(exp.f64 (*.f64 %500 #s(literal 1 binary64)))
(exp.f64 %117)
(exp.f64 %125)
(exp.f64 %500)
%386
(*.f64 (exp.f64 (-.f64 y #s(literal 0 binary64))) %408)
(*.f64 %535 %535)
(*.f64 %408 %408)
(*.f64 #s(literal 1 binary64) %435)
(pow.f64 %406 %3)
(pow.f64 %409 #s(literal 4 binary64))
(pow.f64 %541 %291)
(pow.f64 %420 #s(literal 1/2 binary64))
(pow.f64 %535 #s(literal 2 binary64))
(pow.f64 %427 y)
(pow.f64 %546 #s(literal -1 binary64))
(pow.f64 %408 #s(literal 2 binary64))
(pow.f64 %435 #s(literal 1 binary64))
(/.f64 (fma.f64 %550 #s(literal 2 binary64) %552) #s(literal 2 binary64))
(/.f64 (fma.f64 %551 #s(literal 2 binary64) %555) #s(literal 2 binary64))
(/.f64 (fma.f64 %555 #s(literal 2 binary64) (*.f64 %552 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %552 #s(literal 2 binary64) (*.f64 %555 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %550 %552) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %551 %555) #s(literal 2 binary64))
(/.f64 (fma.f64 %555 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %552)) #s(literal 4 binary64))
(/.f64 (fma.f64 %552 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %555)) #s(literal 4 binary64))
(/.f64 %535 (neg.f64 %430))
(/.f64 %408 %430)
(/.f64 #s(literal 1 binary64) (/.f64 %430 %408))
(/.f64 #s(literal 1 binary64) %546)
(neg.f64 %580)
(fma.f64 %583 %583 %587)
(fma.f64 %583 %583 %589)
(fma.f64 %591 %591 %592)
(fma.f64 %591 %591 %595)
(fma.f64 %597 %597 %587)
(fma.f64 %597 %597 %589)
(fma.f64 %600 %582 %551)
(fma.f64 %555 #s(literal 1/2 binary64) %551)
(fma.f64 %552 #s(literal 1/2 binary64) %550)
(fma.f64 %604 %604 %592)
(fma.f64 %604 %604 %595)
(fma.f64 %607 #s(literal 2 binary64) %551)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %607) %551)
(fma.f64 %584 %584 %592)
(fma.f64 %584 %584 %595)
(fma.f64 %584 %582 %613)
(fma.f64 %584 %408 %615)
(fma.f64 %582 %584 %613)
(fma.f64 %582 %582 %587)
(fma.f64 %582 %582 %589)
(fma.f64 %582 %408 %620)
(fma.f64 %408 %584 %615)
(fma.f64 %408 %582 %620)
(fma.f64 #s(literal 1 binary64) %620 %615)
(fma.f64 #s(literal 1 binary64) %615 %620)
(fma.f64 #s(literal 1 binary64) %594 %587)
(fma.f64 #s(literal 1 binary64) %594 %589)
(fma.f64 #s(literal 1 binary64) %585 %592)
(fma.f64 #s(literal 1 binary64) %585 %595)
(fma.f64 #s(literal 1 binary64) %607 %613)
(fma.f64 #s(literal 1 binary64) %550 %551)
(fma.f64 #s(literal 1 binary64) %551 %550)
(fma.f64 #s(literal 2 binary64) %607 %551)
(-.f64 %634 %635)
(-.f64 %637 %638)
(-.f64 %640 (/.f64 %604 %430))
(-.f64 %615 (*.f64 %535 %584))
(-.f64 %615 (*.f64 %604 %408))
(-.f64 %615 (neg.f64 %620))
(-.f64 %594 (-.f64 %635 %550))
(-.f64 %594 (fma.f64 %604 %584 %586))
(-.f64 %607 (-.f64 %638 %551))
(-.f64 %550 (neg.f64 %551))
(-.f64 %551 (sinh.f64 %302))
(-.f64 %551 %586)
(sqrt.f64 %420)
(fabs.f64 %580)
(fabs.f64 %435)
(+.f64 (+.f64 %550 %585) %594)
(+.f64 %592 %585)
(+.f64 %634 %585)
(+.f64 %637 %607)
(+.f64 %595 %585)
(+.f64 %589 %594)
(+.f64 %670 %640)
(+.f64 %640 %670)
(+.f64 %620 %615)
(+.f64 %615 %620)
(+.f64 %594 %587)
(+.f64 %594 %589)
(+.f64 %585 %592)
(+.f64 %585 %595)
(+.f64 %607 %613)
(+.f64 %550 %551)
(+.f64 %551 %550)
(exp.f64 (-.f64 y %518))
(exp.f64 (-.f64 y %29))
(exp.f64 (-.f64 #s(literal 0 binary64) %34))
(exp.f64 (/.f64 %688 #s(literal 2 binary64)))
(exp.f64 (*.f64 %688 #s(literal 1/2 binary64)))
%435
(*.f64 %693 #s(literal 1/4 binary64))
(*.f64 #s(literal -1/2 binary64) %28)
%47
(*.f64 %47 #s(literal 1 binary64))
(*.f64 %28 #s(literal -1/2 binary64))
(*.f64 %3 #s(literal 1/4 binary64))
(*.f64 #s(literal 1 binary64) %47)
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/4 binary64) y))
(*.f64 y #s(literal 1/2 binary64))
(pow.f64 %47 #s(literal 1 binary64))
(/.f64 (*.f64 y #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) y) #s(literal -2 binary64))
(/.f64 %693 #s(literal 4 binary64))
(/.f64 %29 #s(literal -2 binary64))
(/.f64 %47 #s(literal 1 binary64))
(/.f64 %28 #s(literal -2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %47 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %28))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) y))
(/.f64 y #s(literal 2 binary64))
(neg.f64 %108)
%721
%722
%723
%725
%726
%728
%730
%731
%732
%734
%735
%737
%739
%741
%742
%743
%745
%746
%747
%748
%749
%750
%751
%752
%753
%754
%755
%756
%757
%758
%759
%760
%761
%762
%763
%764
%765
%766
%767
%768
%769
%770
%771
%773
%775
%777
%779
%782
%784
%786
%788
%790
%792
%794
%795
%797
%798
%800
%803
%804
%806
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%820
%822
%823
%824
%825
%826
%827
%831
%833
%834
%838
%839
%840
%842
%844
%846
%848
%850
%852
%854
%856
%857
%858
%860
%861
%862
%863
%866
%867
%868
%869
%870
%871
%872
%874
%876
%878
%881
%883
%885
%887
%889
%891
%893
%895
%897
%899
%900
%389
(*.f64 %409 %409)
(*.f64 #s(literal 1 binary64) %408)
(pow.f64 %406 y)
(pow.f64 %409 #s(literal 2 binary64))
(pow.f64 %430 #s(literal -1 binary64))
(pow.f64 %408 #s(literal 1 binary64))
(pow.f64 %435 #s(literal 1/2 binary64))
(/.f64 (fma.f64 %584 #s(literal 2 binary64) %908) #s(literal 2 binary64))
(/.f64 (fma.f64 %582 #s(literal 2 binary64) %600) #s(literal 2 binary64))
(/.f64 (fma.f64 %600 #s(literal 2 binary64) (*.f64 %908 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %908 #s(literal 2 binary64) (*.f64 %600 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %584 %908) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %582 %600) #s(literal 2 binary64))
(/.f64 (fma.f64 %600 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %908)) #s(literal 4 binary64))
(/.f64 (fma.f64 %908 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %600)) #s(literal 4 binary64))
(/.f64 %409 (sqrt.f64 %430))
(/.f64 #s(literal 1 binary64) %430)
(neg.f64 %535)
(fma.f64 %600 #s(literal 1/2 binary64) %582)
(fma.f64 %908 #s(literal 1/2 binary64) %584)
(fma.f64 #s(literal 1 binary64) %584 %582)
(fma.f64 #s(literal 1 binary64) %582 %584)
(-.f64 %584 %597)
(-.f64 %582 %604)
(sqrt.f64 %435)
(fabs.f64 %535)
(fabs.f64 %408)
(+.f64 %584 %582)
(+.f64 %582 %584)
(exp.f64 (-.f64 #s(literal 0 binary64) %518))
(exp.f64 (-.f64 #s(literal 0 binary64) %29))
(exp.f64 (-.f64 #s(literal 0 binary64) %28))
%408
%721
%722
%723
%725
%726
%728
%730
%731
%732
%734
%735
%737
%739
%741
%742
%743
%745
%746
%747
%748
%749
%750
%751
%752
%753
%754
%755
%756
%757
%758
%759
%760
%761
%762
%763
%764
%765
%766
%767
%768
%769
%770
%771
%773
%775
%777
%779
%782
%784
%786
%788
%790
%792
%794
%795
%797
%798
%800
%803
%804
%806
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%820
%822
%823
%824
%825
%826
%827
%831
%833
%834
%838
%839
%840
%842
%844
%846
%848
%850
%852
%854
%856
%857
%858
%860
%861
%862
%863
%866
%867
%868
%869
%870
%871
%872
%874
%876
%878
%881
%883
%885
%887
%889
%891
%893
%895
%897
%899
%900
%389
%951
%953
%954
%955
%956
%957
%959
%960
%961
%963
%965
%967
%968
%970
%972
%974
%975
%977
%979
%981
%982
%983
%984
%985
%987
%989
%991
%992
%993
%951
%953
%954
%955
%956
%957
%959
%960
%961
%963
%965
%967
%968
%970
%972
%974
%975
%977
%979
%981
%982
%983
%984
%985
%987
%989
%991
%992
%993
%951
%953
%954
%955
%956
%957
%959
%960
%961
%963
%965
%967
%968
%970
%972
%974
%975
%977
%979
%981
%982
%983
%984
%985
%987
%989
%991
%992
%993
%994
(*.f64 #s(literal 1 binary64) %994)
(*.f64 x %214)
(pow.f64 %994 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %994 #s(literal -1 binary64)))

reconstruct81.0ms (5.1%)

Counts
897 → 140
Compiler

Compiled 897 to 1 081 computations (-20.5% saved)

eval10.0ms (0.6%)

Compiler

Compiled 109 to 388 computations (-256.0% saved)

prune3.0ms (0.2%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1045109
Fresh000
Picked325
Done011
Total1078115
Accuracy
100.0%
Counts
115 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (*.f64 #s(literal -2 binary64) y)))
100.0%
(/.f64 x (pow.f64 (exp.f64 (*.f64 y #s(literal 4 binary64))) (neg.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) y) #s(literal 2 binary64)))))
100.0%
(*.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (+.f64 y y)))
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
50.5%
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
79.5%
(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
88.5%
%5 = (*.f64 y y)
(approx (* x (exp (* y y))) (+.f64 x (*.f64 x (sqrt.f64 (*.f64 %5 %5)))))
Compiler

Compiled 8 to 33 computations (-312.5% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series33.0ms (2.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0207746
Stop Event
iter-limit
Counts
29 → 49
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%5 = (+.f64 y y)
%6 = (*.f64 %2 %2)
%8 = (sqrt.f64 %6)
%9 = (exp.f64 y)
%11 = (*.f64 #s(literal 1/2 binary64) y)
%12 = (*.f64 #s(literal -2 binary64) y)
%13 = (fma.f64 %2 x x)
%18 = (sqrt.f64 %9)
%19 = (pow.f64 %18 %12)
%20 = (*.f64 y #s(literal 4 binary64))
%21 = (exp.f64 %20)
%22 = (/.f64 %11 #s(literal 2 binary64))
%23 = (neg.f64 %22)
%24 = (pow.f64 %21 %23)
%25 = (pow.f64 %18 %5)
%28 = (*.f64 x %8)
%29 = (+.f64 x %28)
x
y
%2
#s(literal 2 binary64)
#s(literal 1/2 binary64)
%5
%6
#s(literal -2 binary64)
%8
%9
#s(literal 4 binary64)
%11
%12
%13
(approx (* (pow (exp y) y) x) %13)
%18
%19
%20
%21
%22
%23
%24
%25
(/.f64 x %24)
(/.f64 x %19)
%28
%29
(approx (* x (exp (* y y))) %29)
(*.f64 x %25)
Outputs
%5 = (* y y)
%7 = (+ (* %5 x) x)
%10 = (pow.f64 y #s(literal 2 binary64))
%11 = (+.f64 #s(literal 1 binary64) %10)
%14 = (exp y)
%16 = (* (pow %14 y) x)
%21 = (* y 4)
%22 = (exp %21)
%24 = (* 1/2 y)
%26 = (/ %24 2)
%27 = (neg %26)
%28 = (pow %22 %27)
%29 = (/ x %28)
%31 = (*.f64 #s(literal -1 binary64) %10)
%32 = (exp.f64 %31)
%35 = (sqrt %14)
%37 = (* -2 y)
%38 = (pow %35 %37)
%41 = (exp.f64 y)
%42 = (sqrt.f64 %41)
%44 = (*.f64 y (log.f64 %42))
%46 = (exp.f64 (*.f64 #s(literal -2 binary64) %44))
%49 = (* %5 %5)
%51 = (* x (sqrt %49))
%53 = (pow.f64 y #s(literal 4 binary64))
%54 = (sqrt.f64 %53)
%57 = (+ x %51)
%61 = (+ y y)
%62 = (pow %35 %61)
%65 = (exp.f64 (*.f64 #s(literal 2 binary64) %44))
%86 = (*.f64 #s(literal 1/2 binary64) y)
%87 = (+.f64 #s(literal 1 binary64) %86)
%102 = (*.f64 x %10)
%110 = (*.f64 #s(literal 1/2 binary64) x)
%134 = (*.f64 #s(literal 1/2 binary64) %10)
%147 = (*.f64 #s(literal 4 binary64) y)
%183 = (fma.f64 #s(literal -1 binary64) x %110)
%186 = (*.f64 #s(literal -1 binary64) x)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 (*.f64 x %11))
(approx %16 (*.f64 x (exp.f64 %10)))
(approx %29 (/.f64 x %32))
(approx (/ x %38) (/.f64 x %46))
(approx %51 (*.f64 x %54))
(approx %57 (*.f64 x (+.f64 #s(literal 1 binary64) %54)))
(approx (* x %62) (*.f64 x %65))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %31 #s(literal 1 binary64)))))
(approx %57 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %54) #s(literal 1 binary64)))))
(approx y y)
(approx %5 %10)
(approx %61 (*.f64 #s(literal 2 binary64) y))
(approx %49 %53)
(approx %14 #s(literal 1 binary64))
(approx %14 (+.f64 #s(literal 1 binary64) y))
(approx %14 (+.f64 #s(literal 1 binary64) (*.f64 y %87)))
(approx %14 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) y)))))))
(approx %24 %86)
(approx %37 (*.f64 #s(literal -2 binary64) y))
(approx %7 (+.f64 x %102))
(approx %16 (+.f64 x (*.f64 %10 (+.f64 x (*.f64 #s(literal 1/2 binary64) %102)))))
(approx %16 (+.f64 x (*.f64 %10 (+.f64 x (*.f64 %10 (fma.f64 #s(literal 1/6 binary64) %102 %110))))))
(approx %35 %87)
(approx %35 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/8 binary64) y)))))
(approx %35 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 1/2 binary64) (*.f64 y (+.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 1/48 binary64) y)))))))
(approx %38 (+.f64 #s(literal 1 binary64) %31))
(approx %38 (+.f64 #s(literal 1 binary64) (*.f64 %10 (-.f64 %134 #s(literal 1 binary64)))))
(approx %38 (+.f64 #s(literal 1 binary64) (*.f64 %10 (-.f64 (*.f64 %10 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) %10))) #s(literal 1 binary64)))))
(approx %21 %147)
(approx %22 (+.f64 #s(literal 1 binary64) %147))
(approx %22 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 #s(literal 8 binary64) y)))))
(approx %22 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 y (+.f64 #s(literal 8 binary64) (*.f64 #s(literal 32/3 binary64) y)))))))
(approx %26 (*.f64 #s(literal 1/4 binary64) y))
(approx %27 (*.f64 #s(literal -1/4 binary64) y))
(approx %62 %11)
(approx %62 (+.f64 #s(literal 1 binary64) (*.f64 %10 (+.f64 #s(literal 1 binary64) %134))))
(approx %62 (+.f64 #s(literal 1 binary64) (*.f64 %10 (+.f64 #s(literal 1 binary64) (*.f64 %10 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) %10)))))))
(approx %29 (+.f64 x (*.f64 %10 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %10 %183)) %186))))
(approx %29 (+.f64 x (*.f64 %10 (-.f64 (*.f64 %10 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %10 (+.f64 x (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1/6 binary64) x))))) %183)) %186))))
(approx %51 %102)
(approx %14 %41)
(approx %7 (*.f64 %10 (+.f64 x (/.f64 x %10))))
(approx %35 %42)
(approx %38 %46)
(approx %22 (exp.f64 %147))
(approx %28 %32)
(approx %62 %65)
Calls

6 calls:

TimeVariablePoint
7.0ms
y
inf
6.0ms
y
-inf
4.0ms
x
inf
4.0ms
y
0
4.0ms
x
0

rewrite84.0ms (5.3%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
035172
057149
1182134
2580117
32717117
04042117
04428117
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
29 → 709
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%5 = (+.f64 y y)
%6 = (*.f64 %2 %2)
%8 = (sqrt.f64 %6)
%9 = (exp.f64 y)
%11 = (*.f64 #s(literal 1/2 binary64) y)
%12 = (*.f64 #s(literal -2 binary64) y)
%13 = (fma.f64 %2 x x)
%18 = (sqrt.f64 %9)
%19 = (pow.f64 %18 %12)
%20 = (*.f64 y #s(literal 4 binary64))
%21 = (exp.f64 %20)
%22 = (/.f64 %11 #s(literal 2 binary64))
%23 = (neg.f64 %22)
%24 = (pow.f64 %21 %23)
%25 = (pow.f64 %18 %5)
%28 = (*.f64 x %8)
%29 = (+.f64 x %28)
x
y
%2
#s(literal 2 binary64)
#s(literal 1/2 binary64)
%5
%6
#s(literal -2 binary64)
%8
%9
#s(literal 4 binary64)
%11
%12
%13
(approx (* (pow (exp y) y) x) %13)
%18
%19
%20
%21
%22
%23
%24
%25
(/.f64 x %24)
(/.f64 x %19)
%28
%29
(approx (* x (exp (* y y))) %29)
(*.f64 x %25)
Outputs
%3 = (*.f64 #s(literal 4 binary64) y)
%4 = (*.f64 %3 y)
%6 = (*.f64 %4 #s(literal 1/4 binary64))
%7 = (+.f64 y y)
%8 = (*.f64 y %7)
%10 = (*.f64 %8 #s(literal 1/2 binary64))
%11 = (*.f64 %3 #s(literal 1/2 binary64))
%12 = (*.f64 #s(literal 1/2 binary64) y)
%13 = (*.f64 %11 %12)
%14 = (*.f64 %12 y)
%16 = (*.f64 %14 #s(literal 2 binary64))
%18 = (*.f64 y y)
%20 = (*.f64 %18 #s(literal -1/4 binary64))
%21 = (*.f64 #s(literal -4 binary64) %20)
%22 = (fabs.f64 y)
%23 = (neg.f64 %22)
%24 = (neg.f64 %23)
%25 = (*.f64 %24 %24)
%26 = (*.f64 %24 %22)
%28 = (*.f64 (*.f64 %18 #s(literal 2 binary64)) #s(literal 1/2 binary64))
%31 = (*.f64 (*.f64 %3 #s(literal -1/2 binary64)) y)
%32 = (*.f64 %31 #s(literal -1/2 binary64))
%33 = (*.f64 %12 %3)
%34 = (*.f64 %33 #s(literal 1/2 binary64))
%37 = (*.f64 %23 (*.f64 %23 #s(literal 1 binary64)))
%38 = (*.f64 %23 %23)
%39 = (sqrt.f64 %22)
%40 = (*.f64 %39 %22)
%42 = (*.f64 %40 (*.f64 %39 #s(literal 1 binary64)))
%43 = (*.f64 %40 %39)
%45 = (*.f64 %39 (*.f64 %40 #s(literal 1 binary64)))
%46 = (*.f64 %39 %40)
%47 = (*.f64 #s(literal -4 binary64) y)
%48 = (*.f64 #s(literal -1/4 binary64) y)
%49 = (*.f64 %47 %48)
%51 = (*.f64 %22 (*.f64 %22 #s(literal 1 binary64)))
%52 = (*.f64 %22 %24)
%53 = (*.f64 %22 %22)
%54 = (neg.f64 y)
%55 = (*.f64 %54 #s(literal 1 binary64))
%56 = (*.f64 %54 %55)
%57 = (*.f64 %54 %54)
%58 = (*.f64 %12 %7)
%59 = (*.f64 #s(literal 1 binary64) %18)
%60 = (*.f64 %48 %47)
%61 = (*.f64 #s(literal 1/4 binary64) y)
%62 = (*.f64 %61 %3)
%63 = (*.f64 %3 %61)
%64 = (neg.f64 %20)
%65 = (*.f64 #s(literal 4 binary64) %64)
%66 = (*.f64 y %61)
%67 = (*.f64 #s(literal 4 binary64) %66)
%68 = (*.f64 %7 %12)
%69 = (*.f64 #s(literal 1/2 binary64) %8)
%70 = (*.f64 %18 #s(literal 1 binary64))
%71 = (*.f64 #s(literal 4 binary64) %61)
%72 = (*.f64 y %71)
%73 = (pow.f64 %23 #s(literal 2 binary64))
%74 = (pow.f64 %39 #s(literal 4 binary64))
%76 = (pow.f64 y #s(literal 8 binary64))
%77 = (pow.f64 %76 #s(literal 1/4 binary64))
%78 = (pow.f64 %22 #s(literal 2 binary64))
%79 = (pow.f64 %54 #s(literal 2 binary64))
%80 = (*.f64 %18 %18)
%81 = (pow.f64 %80 #s(literal 1/2 binary64))
%82 = (pow.f64 %18 #s(literal 1 binary64))
%83 = (pow.f64 y #s(literal 2 binary64))
%84 = (/.f64 %4 #s(literal 4 binary64))
%87 = (/.f64 (*.f64 %54 %7) #s(literal -2 binary64))
%88 = (/.f64 %8 #s(literal 2 binary64))
%89 = (*.f64 #s(literal -2 binary64) y)
%91 = (/.f64 (*.f64 y %89) #s(literal -2 binary64))
%93 = (/.f64 (neg.f64 %31) #s(literal 2 binary64))
%94 = (/.f64 %31 #s(literal -2 binary64))
%95 = (/.f64 %33 #s(literal 2 binary64))
%97 = (/.f64 #s(literal 1 binary64) (pow.f64 %23 #s(literal -2 binary64)))
%99 = (/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1/4 binary64)))
%101 = (/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -1/2 binary64)))
%104 = (/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -1 binary64)))
%106 = (/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -2 binary64)))
%108 = (/.f64 #s(literal 1 binary64) (pow.f64 %54 #s(literal -2 binary64)))
%110 = (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
%111 = (*.f64 %54 y)
%112 = (neg.f64 %111)
%113 = (fma.f64 %12 y %14)
%114 = (*.f64 #s(literal 1/2 binary64) %18)
%115 = (fma.f64 #s(literal 1/2 binary64) %18 %114)
%116 = (*.f64 %18 #s(literal 1/2 binary64))
%117 = (fma.f64 %18 #s(literal 1/2 binary64) %116)
%118 = (*.f64 y %12)
%119 = (fma.f64 y %12 %118)
%120 = (sqrt.f64 %80)
%121 = (*.f64 %22 %54)
%122 = (fabs.f64 %121)
%123 = (*.f64 %22 y)
%124 = (fabs.f64 %123)
%125 = (fabs.f64 %111)
%126 = (fabs.f64 %18)
%127 = (+.f64 %116 %116)
%128 = (+.f64 %118 %118)
%129 = (+.f64 %14 %14)
%130 = (+.f64 %114 %114)
%141 = (*.f64 %23 %18)
%143 = (*.f64 %39 %18)
%145 = (*.f64 %123 y)
%146 = (*.f64 %145 %39)
%148 = (*.f64 %40 %18)
%150 = (*.f64 %23 %54)
%152 = (*.f64 %23 y)
%154 = (*.f64 %54 %23)
%156 = (*.f64 y %23)
%158 = (neg.f64 %121)
%163 = (*.f64 %111 y)
%173 = (*.f64 %18 y)
%214 = (*.f64 %173 %54)
%219 = (exp.f64 y)
%220 = (sqrt.f64 %219)
%221 = (neg.f64 %220)
%224 = (exp.f64 #s(literal 1/2 binary64))
%228 = (exp.f64 %7)
%231 = (exp.f64 %3)
%235 = (sinh.f64 y)
%236 = (cosh.f64 y)
%237 = (*.f64 #s(literal 2 binary64) %236)
%240 = (*.f64 #s(literal 2 binary64) %235)
%259 = (exp.f64 %54)
%261 = (neg.f64 %219)
%265 = (cosh.f64 %12)
%266 = (sinh.f64 %12)
%267 = (*.f64 %266 %220)
%269 = (*.f64 %220 %266)
%275 = (*.f64 #s(literal -1/2 binary64) y)
%276 = (-.f64 %275 %12)
%302 = (*.f64 #s(literal 1 binary64) %54)
%352 = (fma.f64 y y #s(literal 1 binary64))
%353 = (*.f64 %352 x)
%354 = (*.f64 x %352)
%355 = (fma.f64 %18 x x)
%356 = (pow.f64 %355 #s(literal 1 binary64))
%358 = (/.f64 #s(literal 1 binary64) (pow.f64 %355 #s(literal -1 binary64)))
%360 = (neg.f64 (neg.f64 %355))
%361 = (*.f64 %22 x)
%362 = (*.f64 %361 %39)
%363 = (fma.f64 %362 %39 x)
%364 = (*.f64 x %40)
%365 = (fma.f64 %364 %39 x)
%366 = (*.f64 x %39)
%367 = (fma.f64 %366 %40 x)
%368 = (*.f64 x %23)
%369 = (fma.f64 %368 %23 x)
%370 = (neg.f64 x)
%371 = (*.f64 %370 %22)
%372 = (neg.f64 %371)
%373 = (fma.f64 %372 %22 x)
%374 = (fma.f64 %371 %23 x)
%375 = (*.f64 %54 x)
%376 = (fma.f64 %375 %54 x)
%377 = (fma.f64 %361 %22 x)
%378 = (*.f64 %23 x)
%379 = (fma.f64 %23 %378 x)
%380 = (*.f64 %39 x)
%381 = (fma.f64 %40 %380 x)
%382 = (*.f64 %39 %361)
%383 = (fma.f64 %39 %382 x)
%384 = (*.f64 %40 x)
%385 = (fma.f64 %39 %384 x)
%386 = (*.f64 y x)
%387 = (fma.f64 %386 y x)
%388 = (fma.f64 %370 %111 x)
%389 = (fma.f64 %22 %361 x)
%390 = (fma.f64 %111 %370 x)
%391 = (fma.f64 %54 %375 x)
%392 = (fma.f64 y %386 x)
%393 = (fma.f64 x %18 x)
%394 = (*.f64 %18 x)
%395 = (-.f64 %394 %370)
%396 = (*.f64 %370 %18)
%397 = (-.f64 x %396)
%398 = (+.f64 %394 x)
%399 = (+.f64 x %394)
%403 = (approx (* (pow (exp y) y) x) %355)
%404 = (pow.f64 %403 #s(literal 1 binary64))
%406 = (/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -1 binary64)))
%407 = (sqrt.f64 %220)
%438 = (exp.f64 %48)
%439 = (pow.f64 %438 %3)
%440 = (exp.f64 %23)
%441 = (pow.f64 %440 %24)
%442 = (pow.f64 %440 %22)
%443 = (exp.f64 %40)
%445 = (pow.f64 %443 (neg.f64 %39))
%446 = (exp.f64 %39)
%448 = (pow.f64 %446 (neg.f64 %40))
%449 = (pow.f64 %228 %275)
%451 = (exp.f64 (*.f64 %7 y))
%452 = (pow.f64 %451 #s(literal -1/2 binary64))
%454 = (exp.f64 (*.f64 y #s(literal 8 binary64)))
%455 = (/.f64 %61 #s(literal 2 binary64))
%457 = (pow.f64 %454 (neg.f64 %455))
%458 = (/.f64 %48 #s(literal 2 binary64))
%459 = (pow.f64 %454 %458)
%460 = (exp.f64 %22)
%461 = (pow.f64 %460 %23)
%462 = (exp.f64 #s(literal 4 binary64))
%463 = (pow.f64 %462 %20)
%464 = (pow.f64 %259 y)
%465 = (exp.f64 %18)
%466 = (pow.f64 %465 #s(literal -1 binary64))
%467 = (exp.f64 %111)
%468 = (pow.f64 %467 #s(literal 1 binary64))
%469 = (pow.f64 %231 %48)
%470 = (pow.f64 %220 %89)
%471 = (pow.f64 %219 %54)
%473 = (/.f64 #s(literal 1 binary64) (pow.f64 %462 %66))
%475 = (/.f64 #s(literal 1 binary64) (pow.f64 %259 %276))
%477 = (/.f64 #s(literal 1 binary64) (pow.f64 %219 %71))
%478 = (/.f64 #s(literal 1 binary64) %465)
%479 = (neg.f64 %467)
%480 = (neg.f64 %479)
%481 = (cosh.f64 %18)
%482 = (*.f64 #s(literal 2 binary64) %481)
%483 = (sinh.f64 %111)
%484 = (fma.f64 %482 #s(literal 1/2 binary64) %483)
%485 = (*.f64 #s(literal 2 binary64) %20)
%489 = (fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %485) (cosh.f64 %485)) %481)
%490 = (sinh.f64 %18)
%491 = (-.f64 %481 %490)
%493 = (sqrt.f64 (pow.f64 %219 %89))
%495 = (sqrt.f64 (exp.f64 %31))
%496 = (fabs.f64 %479)
%497 = (fabs.f64 %467)
%498 = (+.f64 %483 %481)
%499 = (+.f64 %481 %483)
%501 = (exp.f64 (*.f64 %7 %275))
%502 = (fma.f64 #s(literal 4 binary64) y %3)
%504 = (exp.f64 (*.f64 %502 %458))
%505 = (*.f64 %3 #s(literal 2 binary64))
%507 = (exp.f64 (*.f64 %505 %458))
%521 = (*.f64 #s(literal 1/2 binary64) %3)
%537 = (sinh.f64 %3)
%538 = (cosh.f64 %3)
%539 = (*.f64 #s(literal 2 binary64) %538)
%542 = (*.f64 #s(literal 2 binary64) %537)
%565 = (neg.f64 %231)
%595 = (*.f64 %275 #s(literal 1 binary64))
%648 = (sqrt.f64 %465)
%650 = (neg.f64 %465)
%656 = (/.f64 #s(literal 1/2 binary64) %467)
%678 = (*.f64 #s(literal 2 binary64) %490)
%719 = (+.f64 #s(literal 0 binary64) %18)
%723 = (-.f64 #s(literal 0 binary64) %111)
%727 = (*.f64 %111 #s(literal -1 binary64))
%750 = (*.f64 %650 %370)
%751 = (*.f64 %465 x)
%752 = (*.f64 %370 %650)
%753 = (*.f64 #s(literal 1 binary64) %751)
%754 = (*.f64 x %465)
%755 = (pow.f64 %751 #s(literal 1 binary64))
%757 = (/.f64 (*.f64 %370 #s(literal 1 binary64)) %479)
%759 = (/.f64 (*.f64 x #s(literal -1 binary64)) %479)
%761 = (/.f64 (*.f64 #s(literal -1 binary64) x) %479)
%762 = (/.f64 %370 %479)
%764 = (/.f64 #s(literal 1 binary64) (pow.f64 %751 #s(literal -1 binary64)))
%766 = (/.f64 #s(literal 1 binary64) (/.f64 %479 %370))
%768 = (/.f64 #s(literal 1 binary64) (/.f64 %467 x))
%769 = (/.f64 x %467)
%771 = (neg.f64 (*.f64 %370 %465))
%772 = (*.f64 %481 x)
%773 = (fma.f64 %490 x %772)
%774 = (*.f64 %490 x)
%775 = (fma.f64 %481 x %774)
%776 = (fma.f64 x %490 %772)
%777 = (fma.f64 x %481 %774)
%779 = (-.f64 %772 (*.f64 %370 %490))
%781 = (-.f64 %772 (*.f64 %483 x))
%783 = (-.f64 %772 (neg.f64 %774))
%784 = (+.f64 %774 %772)
%785 = (+.f64 %772 %774)
x
y
%6
%10
%13
%16
%21
%25
%26
%28
%32
%34
%37
%38
%42
%43
%45
%46
%49
%51
%52
%53
%56
%57
%58
%59
%60
%62
%63
%65
%67
%68
%69
%70
%72
%18
%73
%74
%77
%78
%79
%81
%82
%83
%84
%87
%88
%91
%93
%94
%95
%97
%99
%101
%104
%106
%108
%110
%112
%113
%115
%117
%119
%120
%122
%124
%125
%126
%127
%128
%129
%130
#s(literal 2 binary64)
#s(literal 1/2 binary64)
(*.f64 %54 #s(literal -2 binary64))
(*.f64 #s(literal -2 binary64) %54)
(*.f64 %7 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) y)
(*.f64 y #s(literal 2 binary64))
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %89)
(-.f64 y %54)
%7
(*.f64 %141 %23)
(*.f64 %143 %40)
(*.f64 %146 %39)
(*.f64 %148 %39)
(*.f64 %150 %150)
(*.f64 %152 %152)
(*.f64 %154 %154)
(*.f64 %156 %156)
(*.f64 %158 %158)
(*.f64 (*.f64 %111 %22) %23)
(*.f64 %145 %22)
(*.f64 %163 %54)
(*.f64 %121 %121)
(*.f64 %123 %123)
(*.f64 %23 %141)
(*.f64 %23 (*.f64 %22 %111))
(*.f64 %40 %143)
(*.f64 %39 %146)
(*.f64 %39 %148)
(*.f64 %173 y)
(*.f64 %22 %145)
(*.f64 %111 %111)
(*.f64 %54 %163)
%80
(*.f64 y %173)
(pow.f64 %150 #s(literal 2 binary64))
(pow.f64 %152 #s(literal 2 binary64))
(pow.f64 %154 #s(literal 2 binary64))
(pow.f64 %156 #s(literal 2 binary64))
(pow.f64 (pow.f64 y #s(literal 16 binary64)) #s(literal 1/4 binary64))
(pow.f64 %121 #s(literal 2 binary64))
(pow.f64 %123 #s(literal 2 binary64))
(pow.f64 %23 #s(literal 4 binary64))
(pow.f64 %76 #s(literal 1/2 binary64))
(pow.f64 %22 #s(literal 4 binary64))
(pow.f64 %111 #s(literal 2 binary64))
(pow.f64 %54 #s(literal 4 binary64))
(pow.f64 %80 #s(literal 1 binary64))
(pow.f64 %18 #s(literal 2 binary64))
(pow.f64 y #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %121 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %123 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %76 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %54 #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %80 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %111 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -2 binary64)))
(neg.f64 %214)
(sqrt.f64 %76)
(fabs.f64 %214)
(fabs.f64 %80)
#s(literal -2 binary64)
%6
%10
%13
%16
%21
%25
%26
%28
%32
%34
%37
%38
%42
%43
%45
%46
%49
%51
%52
%53
%56
%57
%58
%59
%60
%62
%63
%65
%67
%68
%69
%70
%72
%18
%73
%74
%77
%78
%79
%81
%82
%83
%84
%87
%88
%91
%93
%94
%95
%97
%99
%101
%104
%106
%108
%110
%112
%113
%115
%117
%119
%120
%122
%124
%125
%126
%127
%128
%129
%130
(*.f64 %221 %221)
(*.f64 %220 %220)
(pow.f64 (*.f64 %224 %224) y)
(pow.f64 %224 %7)
(pow.f64 %228 #s(literal 1/2 binary64))
(pow.f64 %221 #s(literal 2 binary64))
(pow.f64 %231 #s(literal 1/4 binary64))
(pow.f64 %220 #s(literal 2 binary64))
(pow.f64 %219 #s(literal 1 binary64))
(/.f64 (fma.f64 %235 #s(literal 2 binary64) %237) #s(literal 2 binary64))
(/.f64 (fma.f64 %236 #s(literal 2 binary64) %240) #s(literal 2 binary64))
(/.f64 (fma.f64 %240 #s(literal 2 binary64) (*.f64 %237 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %237 #s(literal 2 binary64) (*.f64 %240 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %235 %237) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %236 %240) #s(literal 2 binary64))
(/.f64 (fma.f64 %240 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %237)) #s(literal 4 binary64))
(/.f64 (fma.f64 %237 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %240)) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) %259)
(neg.f64 %261)
(fma.f64 %240 #s(literal 1/2 binary64) %236)
(fma.f64 %237 #s(literal 1/2 binary64) %235)
(fma.f64 %265 %220 %267)
(fma.f64 %220 %265 %269)
(fma.f64 #s(literal 2 binary64) (*.f64 %266 %265) %236)
(-.f64 %235 (neg.f64 %236))
(-.f64 %236 (sinh.f64 %276))
(-.f64 %236 (sinh.f64 %54))
(sqrt.f64 %228)
(fabs.f64 (*.f64 %221 %220))
(fabs.f64 (*.f64 %220 %221))
(fabs.f64 %261)
(fabs.f64 %219)
(+.f64 (*.f64 %220 %265) %269)
(+.f64 (*.f64 %265 %220) %267)
(+.f64 %235 %236)
(+.f64 %236 %235)
%219
#s(literal 4 binary64)
(*.f64 #s(literal -1/2 binary64) %54)
(*.f64 %54 #s(literal -1/2 binary64))
(*.f64 %12 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %12)
%12
(*.f64 #s(literal 2 binary64) %61)
(*.f64 y #s(literal 1/2 binary64))
(pow.f64 %12 #s(literal 1 binary64))
(/.f64 %55 #s(literal -2 binary64))
(/.f64 %302 #s(literal -2 binary64))
(/.f64 %54 #s(literal -2 binary64))
(/.f64 %12 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %54))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) y))
(/.f64 y #s(literal 2 binary64))
(neg.f64 %275)
(fma.f64 #s(literal 1/4 binary64) y %61)
(fma.f64 #s(literal -1/2 binary64) %275 %61)
(fma.f64 %275 #s(literal -1/2 binary64) %61)
(fma.f64 %54 #s(literal -1/4 binary64) %61)
(fma.f64 %12 #s(literal 1/2 binary64) %61)
(fma.f64 #s(literal 1 binary64) %61 %61)
(fma.f64 %61 #s(literal 1 binary64) %61)
(fma.f64 #s(literal 1/2 binary64) %12 %61)
(fma.f64 y #s(literal 1/4 binary64) %61)
(+.f64 %61 %61)
(*.f64 %54 #s(literal 2 binary64))
%89
(*.f64 #s(literal 2 binary64) %54)
(*.f64 y #s(literal -2 binary64))
(pow.f64 %89 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %89 #s(literal -1 binary64)))
(neg.f64 %7)
(fma.f64 (*.f64 %89 #s(literal 1 binary64)) #s(literal 1/2 binary64) %54)
(fma.f64 (*.f64 #s(literal 4 binary64) %275) #s(literal 1/2 binary64) %54)
(fma.f64 (*.f64 #s(literal 4 binary64) %12) #s(literal -1/2 binary64) %54)
(fma.f64 #s(literal -1 binary64) y %54)
(fma.f64 %12 #s(literal -2 binary64) %54)
(fma.f64 %48 #s(literal 4 binary64) %54)
(fma.f64 %3 #s(literal -1/4 binary64) %54)
(fma.f64 %89 #s(literal 1/2 binary64) %54)
(fma.f64 #s(literal 4 binary64) %48 %54)
(fma.f64 #s(literal -2 binary64) %12 %54)
(fma.f64 %7 #s(literal -1/2 binary64) %54)
(fma.f64 #s(literal 1/2 binary64) %89 %54)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %48) %54)
(fma.f64 #s(literal 2 binary64) %275 %54)
(fma.f64 y #s(literal -1 binary64) %54)
(-.f64 %54 y)
(+.f64 %54 %54)
%353
%354
%356
%358
%360
%363
%365
%367
%369
%373
%374
%376
%377
%379
%381
%383
%385
%387
%388
%389
%390
%391
%355
%392
%393
%395
%397
%398
%399
%404
%403
%406
(*.f64 %407 %407)
(pow.f64 %224 y)
(pow.f64 %228 #s(literal 1/4 binary64))
(pow.f64 %220 #s(literal 1 binary64))
(pow.f64 %219 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %224 %276))
(/.f64 #s(literal 1 binary64) (pow.f64 %224 %54))
(/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1/4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %220 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %219 #s(literal -1/2 binary64)))
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %61) (cosh.f64 %61)) %265)
(-.f64 %265 (sinh.f64 %275))
%220
(fabs.f64 (neg.f64 %221))
(fabs.f64 %221)
(fabs.f64 %220)
(+.f64 %266 %265)
(+.f64 %265 %266)
(exp.f64 (*.f64 %7 #s(literal 1/4 binary64)))
(exp.f64 %12)
%439
%441
%442
%445
%448
%449
%452
%457
%459
%461
%463
%464
%466
%468
%469
%470
%471
%473
%475
%477
%478
%480
%484
%489
%491
%493
%495
%496
%497
%498
%499
%501
%504
%507
%467
(*.f64 %505 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %3)
(*.f64 %3 #s(literal 1 binary64))
%3
(*.f64 %7 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) %7)
(*.f64 y #s(literal 4 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(fma.f64 %54 #s(literal -2 binary64) %7)
(fma.f64 %3 #s(literal 1/2 binary64) %11)
(fma.f64 #s(literal -2 binary64) %54 %7)
(fma.f64 %7 #s(literal 1 binary64) %7)
(fma.f64 #s(literal 1/2 binary64) %3 %521)
(fma.f64 #s(literal 2 binary64) y %7)
(fma.f64 y #s(literal 2 binary64) %7)
(+.f64 %11 %11)
(+.f64 %521 %521)
(+.f64 %7 %7)
(*.f64 (pow.f64 %219 #s(literal 3 binary64)) %219)
(*.f64 %228 %228)
(pow.f64 %228 #s(literal 2 binary64))
(pow.f64 %454 #s(literal 1/2 binary64))
(pow.f64 %462 y)
(pow.f64 %231 #s(literal 1 binary64))
(pow.f64 %219 #s(literal 4 binary64))
(/.f64 (fma.f64 %537 #s(literal 2 binary64) %539) #s(literal 2 binary64))
(/.f64 (fma.f64 %538 #s(literal 2 binary64) %542) #s(literal 2 binary64))
(/.f64 (fma.f64 %542 #s(literal 2 binary64) (*.f64 %539 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %539 #s(literal 2 binary64) (*.f64 %542 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %537 %539) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %538 %542) #s(literal 2 binary64))
(/.f64 (fma.f64 %542 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %539)) #s(literal 4 binary64))
(/.f64 (fma.f64 %539 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %542)) #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %462 %276))
(/.f64 #s(literal 1 binary64) (exp.f64 %47))
(neg.f64 %565)
(fma.f64 %542 #s(literal 1/2 binary64) %538)
(fma.f64 %539 #s(literal 1/2 binary64) %537)
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %7) (cosh.f64 %7)) %538)
(-.f64 %537 (neg.f64 %538))
(-.f64 %538 (sinh.f64 %47))
(sqrt.f64 %454)
(fabs.f64 %565)
(fabs.f64 %231)
(+.f64 %537 %538)
(+.f64 %538 %537)
(exp.f64 (*.f64 %502 #s(literal 1/2 binary64)))
(exp.f64 (neg.f64 %47))
%231
%61
(*.f64 #s(literal -1/2 binary64) %275)
(*.f64 %275 #s(literal -1/2 binary64))
(*.f64 %54 #s(literal -1/4 binary64))
(*.f64 %12 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %61)
(*.f64 %61 #s(literal 1 binary64))
(*.f64 #s(literal 1/2 binary64) %12)
(*.f64 y #s(literal 1/4 binary64))
(pow.f64 %61 #s(literal 1 binary64))
(/.f64 %595 #s(literal -2 binary64))
(/.f64 (*.f64 %12 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %12) #s(literal -2 binary64))
(/.f64 %55 #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %54) #s(literal 4 binary64))
(/.f64 %302 #s(literal -4 binary64))
(/.f64 %275 #s(literal -2 binary64))
(/.f64 %54 #s(literal -4 binary64))
(/.f64 %12 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %61 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 4 binary64) y))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %275))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %12))
(/.f64 %61 #s(literal 1 binary64))
(/.f64 y #s(literal 4 binary64))
(neg.f64 %48)
(*.f64 %595 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/4 binary64) %54)
%48
(*.f64 #s(literal -1/2 binary64) %12)
(*.f64 %275 #s(literal 1/2 binary64))
(*.f64 %54 #s(literal 1/4 binary64))
(*.f64 %12 #s(literal -1/2 binary64))
(*.f64 #s(literal 1 binary64) %48)
(*.f64 #s(literal 1/2 binary64) %275)
(*.f64 y #s(literal -1/4 binary64))
(pow.f64 %48 #s(literal 1 binary64))
(/.f64 (*.f64 %275 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 %595 #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %275) #s(literal -2 binary64))
(/.f64 %55 #s(literal 4 binary64))
(/.f64 %302 #s(literal 4 binary64))
(/.f64 %275 #s(literal 2 binary64))
(/.f64 %54 #s(literal 4 binary64))
(/.f64 %12 #s(literal -2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %48 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %275))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %12))
(/.f64 %48 #s(literal 1 binary64))
(/.f64 y #s(literal -4 binary64))
(neg.f64 %61)
%439
%441
%442
%445
%448
%449
%452
%457
%459
%461
%463
%464
%466
%468
%469
%470
%471
%473
%475
%477
%478
%480
%484
%489
%491
%493
%495
%496
%497
%498
%499
%501
%504
%507
%467
(*.f64 %648 %648)
(*.f64 #s(literal -1 binary64) %650)
(*.f64 %465 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %465)
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) %465))
(*.f64 #s(literal 2 binary64) %656)
(pow.f64 %438 %47)
(pow.f64 %440 %23)
(pow.f64 %443 %39)
(pow.f64 %446 %40)
(pow.f64 %228 %12)
(pow.f64 %451 #s(literal 1/2 binary64))
(pow.f64 %454 (neg.f64 %458))
(pow.f64 %454 %455)
(pow.f64 %460 %24)
(pow.f64 %460 %22)
(pow.f64 %462 %64)
(pow.f64 %259 %54)
(pow.f64 %465 #s(literal 1 binary64))
(pow.f64 %467 #s(literal -1 binary64))
(pow.f64 %231 %61)
(pow.f64 %220 %7)
(pow.f64 %219 y)
(/.f64 (fma.f64 %490 #s(literal 2 binary64) %482) #s(literal 2 binary64))
(/.f64 (fma.f64 %481 #s(literal 2 binary64) %678) #s(literal 2 binary64))
(/.f64 (fma.f64 %678 #s(literal 2 binary64) (*.f64 %482 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %482 #s(literal 2 binary64) (*.f64 %678 #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %490 %482) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %481 %678) #s(literal 2 binary64))
(/.f64 (fma.f64 %678 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %482)) #s(literal 4 binary64))
(/.f64 (fma.f64 %482 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %678)) #s(literal 4 binary64))
(/.f64 #s(literal -1 binary64) %479)
(/.f64 #s(literal 1 binary64) (pow.f64 %259 %71))
(/.f64 #s(literal 1 binary64) (pow.f64 %219 %276))
(/.f64 #s(literal 1 binary64) (/.f64 %479 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %467 #s(literal 1 binary64)))
(/.f64 #s(literal 1 binary64) %467)
(/.f64 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) %479))
(neg.f64 %650)
(fma.f64 %678 #s(literal 1/2 binary64) %481)
(fma.f64 %482 #s(literal 1/2 binary64) %490)
(-.f64 %490 (neg.f64 %481))
(-.f64 %481 %483)
(sqrt.f64 %451)
(fabs.f64 %650)
(fabs.f64 %465)
(+.f64 (cosh.f64 %719) (sinh.f64 %719))
(+.f64 (cosh.f64 %723) (sinh.f64 %723))
(+.f64 (cosh.f64 %727) (sinh.f64 %727))
(+.f64 %656 %656)
(+.f64 %490 %481)
(+.f64 %481 %490)
(exp.f64 (*.f64 (fma.f64 y y %18) #s(literal 1/2 binary64)))
(exp.f64 (*.f64 %502 %455))
(exp.f64 (*.f64 %505 %455))
(exp.f64 (*.f64 %719 #s(literal 1 binary64)))
(exp.f64 (*.f64 %723 #s(literal 1 binary64)))
(exp.f64 (*.f64 %727 #s(literal 1 binary64)))
(exp.f64 %719)
(exp.f64 %723)
(exp.f64 %727)
%465
%750
%751
%752
%753
%754
%755
%757
%759
%761
%762
%764
%766
%768
%769
%771
%773
%775
%776
%777
%779
%781
%783
%784
%785
%750
%751
%752
%753
%754
%755
%757
%759
%761
%762
%764
%766
%768
%769
%771
%773
%775
%776
%777
%779
%781
%783
%784
%785
(*.f64 %362 %39)
(*.f64 %364 %39)
(*.f64 %366 %40)
(*.f64 %368 %23)
(*.f64 %372 %22)
(*.f64 %371 %23)
(*.f64 %375 %54)
(*.f64 %361 %22)
(*.f64 %23 %378)
(*.f64 %40 %380)
(*.f64 %39 %382)
(*.f64 %39 %384)
(*.f64 %386 y)
(*.f64 %370 %111)
(*.f64 %22 %361)
(*.f64 %111 %370)
(*.f64 %54 %375)
%394
(*.f64 y %386)
(*.f64 x %18)
(pow.f64 %394 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %394 #s(literal -1 binary64)))
(neg.f64 %396)
%353
%354
%356
%358
%360
%363
%365
%367
%369
%373
%374
%376
%377
%379
%381
%383
%385
%387
%388
%389
%390
%391
%355
%392
%393
%395
%397
%398
%399
%404
%403
%406
%750
%751
%752
%753
%754
%755
%757
%759
%761
%762
%764
%766
%768
%769
%771
%773
%775
%776
%777
%779
%781
%783
%784
%785

reconstruct83.0ms (5.3%)

Counts
758 → 193
Compiler

Compiled 758 to 918 computations (-21.1% saved)

eval30.0ms (1.9%)

Compiler

Compiled 189 to 638 computations (-237.6% saved)

prune6.0ms (0.4%)

Pruning

8 alts after pruning (2 fresh and 6 done)

PrunedKeptTotal
New1872189
Fresh000
Picked235
Done033
Total1898197
Accuracy
100.0%
Counts
197 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (*.f64 #s(literal -2 binary64) y)))
100.0%
(/.f64 x (pow.f64 (exp.f64 (*.f64 y #s(literal 4 binary64))) (approx (neg (/ (* 1/2 y) 2)) (*.f64 #s(literal -1/4 binary64) y))))
100.0%
(*.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (+.f64 y y)))
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
50.5%
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
79.5%
(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
88.5%
%5 = (*.f64 y y)
(approx (* (pow (exp y) y) x) (fma.f64 (sqrt.f64 (*.f64 %5 %5)) x x))
Compiler

Compiled 8 to 29 computations (-262.5% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series9.0ms (0.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0127465
Stop Event
iter-limit
Counts
15 → 27
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%3 = (*.f64 %2 %2)
%4 = (sqrt.f64 %3)
%6 = (*.f64 y #s(literal 4 binary64))
%7 = (exp.f64 %6)
%9 = (*.f64 #s(literal -1/4 binary64) y)
%15 = (approx (neg (/ (* 1/2 y) 2)) %9)
%16 = (fma.f64 %4 x x)
%21 = (pow.f64 %7 %15)
x
y
%2
%3
%4
#s(literal 4 binary64)
%6
%7
#s(literal -1/4 binary64)
%9
%15
%16
(approx (* (pow (exp y) y) x) %16)
%21
(/.f64 x %21)
Outputs
%5 = (* y y)
%6 = (* %5 %5)
%9 = (+ (* (sqrt %6) x) x)
%12 = (pow.f64 y #s(literal 4 binary64))
%13 = (sqrt.f64 %12)
%19 = (* (pow (exp y) y) x)
%21 = (pow.f64 y #s(literal 2 binary64))
%26 = (* y 4)
%27 = (exp %26)
%33 = (pow %27 (neg (/ (* 1/2 y) 2)))
%34 = (/ x %33)
%36 = (*.f64 #s(literal -1 binary64) %21)
%37 = (exp.f64 %36)
%48 = (*.f64 #s(literal 4 binary64) y)
%72 = (*.f64 x %21)
%82 = (*.f64 #s(literal 1/2 binary64) x)
%104 = (fma.f64 #s(literal -1 binary64) x %82)
%107 = (*.f64 #s(literal -1 binary64) x)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %9 (*.f64 x (+.f64 #s(literal 1 binary64) %13)))
(approx %19 (*.f64 x (exp.f64 %21)))
(approx %34 (/.f64 x %37))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %13) #s(literal 1 binary64)))))
(approx y y)
(approx %5 %21)
(approx %6 %12)
(approx %26 %48)
(approx %27 #s(literal 1 binary64))
(approx %27 (+.f64 #s(literal 1 binary64) %48))
(approx %27 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 #s(literal 8 binary64) y)))))
(approx %27 (+.f64 #s(literal 1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 y (+.f64 #s(literal 8 binary64) (*.f64 #s(literal 32/3 binary64) y)))))))
(approx (* -1/4 y) (*.f64 #s(literal -1/4 binary64) y))
(approx %9 (+.f64 x %72))
(approx %19 (+.f64 x (*.f64 %21 (+.f64 x (*.f64 #s(literal 1/2 binary64) %72)))))
(approx %19 (+.f64 x (*.f64 %21 (+.f64 x (*.f64 %21 (fma.f64 #s(literal 1/6 binary64) %72 %82))))))
(approx %33 (+.f64 #s(literal 1 binary64) %36))
(approx %33 (+.f64 #s(literal 1 binary64) (*.f64 %21 (-.f64 (*.f64 #s(literal 1/2 binary64) %21) #s(literal 1 binary64)))))
(approx %33 (+.f64 #s(literal 1 binary64) (*.f64 %21 (-.f64 (*.f64 %21 (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) %21))) #s(literal 1 binary64)))))
(approx %34 (+.f64 x (*.f64 %21 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %21 %104)) %107))))
(approx %34 (+.f64 x (*.f64 %21 (-.f64 (*.f64 %21 (-.f64 (*.f64 #s(literal -1 binary64) (*.f64 %21 (+.f64 x (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1/6 binary64) x))))) %104)) %107))))
(approx %27 (exp.f64 %48))
(approx %9 %72)
(approx %9 (*.f64 %21 (+.f64 x (/.f64 x %21))))
(approx %33 %37)
Calls

6 calls:

TimeVariablePoint
66.0ms
y
-inf
10.0ms
x
0
5.0ms
y
inf
3.0ms
x
inf
2.0ms
y
0

rewrite119.0ms (7.5%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023103
03385
112075
239775
3179275
0402675
0432975
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
15 → 407
Calls
Call 1
Inputs
%2 = (*.f64 y y)
%3 = (*.f64 %2 %2)
%4 = (sqrt.f64 %3)
%6 = (*.f64 y #s(literal 4 binary64))
%7 = (exp.f64 %6)
%9 = (*.f64 #s(literal -1/4 binary64) y)
%15 = (approx (neg (/ (* 1/2 y) 2)) %9)
%16 = (fma.f64 %4 x x)
%21 = (pow.f64 %7 %15)
x
y
%2
%3
%4
#s(literal 4 binary64)
%6
%7
#s(literal -1/4 binary64)
%9
%15
%16
(approx (* (pow (exp y) y) x) %16)
%21
(/.f64 x %21)
Outputs
%2 = (fabs.f64 y)
%3 = (neg.f64 %2)
%4 = (neg.f64 %3)
%5 = (neg.f64 %4)
%6 = (*.f64 %5 %5)
%7 = (sqrt.f64 %2)
%8 = (*.f64 y y)
%9 = (*.f64 %7 %8)
%10 = (sqrt.f64 %9)
%11 = (*.f64 %7 %2)
%12 = (sqrt.f64 %11)
%13 = (*.f64 %10 %12)
%14 = (*.f64 %2 y)
%15 = (*.f64 %14 y)
%16 = (*.f64 %15 %7)
%17 = (sqrt.f64 %16)
%18 = (sqrt.f64 %7)
%19 = (*.f64 %17 %18)
%20 = (*.f64 %11 %8)
%21 = (sqrt.f64 %20)
%22 = (*.f64 %21 %18)
%26 = (*.f64 (*.f64 %8 #s(literal 2 binary64)) #s(literal 1/2 binary64))
%27 = (*.f64 %4 %4)
%28 = (*.f64 %4 %2)
%29 = (*.f64 %12 %10)
%30 = (*.f64 %18 %17)
%31 = (*.f64 %18 %21)
%34 = (*.f64 %3 (*.f64 %3 #s(literal 1 binary64)))
%35 = (*.f64 %3 %3)
%37 = (*.f64 %11 (*.f64 %7 #s(literal 1 binary64)))
%38 = (*.f64 %11 %7)
%40 = (*.f64 %7 (*.f64 %11 #s(literal 1 binary64)))
%41 = (*.f64 %7 %11)
%42 = (*.f64 %2 %4)
%43 = (*.f64 %2 %2)
%44 = (neg.f64 y)
%45 = (*.f64 %44 #s(literal 1 binary64))
%46 = (*.f64 %44 %45)
%47 = (*.f64 %44 %44)
%48 = (*.f64 #s(literal 1 binary64) %8)
%49 = (*.f64 %8 #s(literal 1 binary64))
%50 = (pow.f64 %4 #s(literal 2 binary64))
%52 = (pow.f64 y #s(literal 16 binary64))
%54 = (pow.f64 %52 #s(literal 1/8 binary64))
%55 = (pow.f64 %3 #s(literal 2 binary64))
%57 = (pow.f64 %7 #s(literal 4 binary64))
%59 = (pow.f64 y #s(literal 8 binary64))
%61 = (pow.f64 %59 #s(literal 1/4 binary64))
%62 = (pow.f64 %2 #s(literal 2 binary64))
%63 = (pow.f64 %44 #s(literal 2 binary64))
%64 = (*.f64 %8 %8)
%65 = (pow.f64 %64 #s(literal 1/2 binary64))
%66 = (pow.f64 %8 #s(literal 1 binary64))
%67 = (pow.f64 y #s(literal 2 binary64))
%70 = (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -2 binary64)))
%73 = (/.f64 #s(literal 1 binary64) (pow.f64 %59 #s(literal -1/4 binary64)))
%76 = (/.f64 #s(literal 1 binary64) (pow.f64 %64 #s(literal -1/2 binary64)))
%79 = (/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64)))
%81 = (/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64)))
%83 = (/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -2 binary64)))
%85 = (/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
%86 = (neg.f64 %8)
%87 = (*.f64 %86 #s(literal 1 binary64))
%88 = (neg.f64 %87)
%89 = (neg.f64 %86)
%90 = (*.f64 #s(literal 1/2 binary64) %8)
%91 = (fma.f64 #s(literal 1/2 binary64) %8 %90)
%92 = (*.f64 %8 #s(literal 1/2 binary64))
%93 = (fma.f64 %8 #s(literal 1/2 binary64) %92)
%94 = (sqrt.f64 %64)
%95 = (*.f64 %2 %44)
%97 = (fabs.f64 (*.f64 #s(literal 1 binary64) %95))
%99 = (fabs.f64 (*.f64 #s(literal 1 binary64) %14))
%101 = (fabs.f64 (*.f64 #s(literal 1 binary64) %86))
%103 = (fabs.f64 (*.f64 %95 #s(literal 1 binary64)))
%105 = (fabs.f64 (*.f64 %14 #s(literal 1 binary64)))
%106 = (fabs.f64 %87)
%107 = (*.f64 %3 %44)
%108 = (fabs.f64 %107)
%109 = (*.f64 %3 y)
%110 = (fabs.f64 %109)
%111 = (*.f64 %44 %3)
%112 = (fabs.f64 %111)
%113 = (*.f64 y %3)
%114 = (fabs.f64 %113)
%115 = (neg.f64 %95)
%116 = (fabs.f64 %115)
%117 = (fabs.f64 %95)
%118 = (fabs.f64 %14)
%119 = (fabs.f64 %86)
%120 = (fabs.f64 %8)
%121 = (+.f64 %92 %92)
%122 = (+.f64 %90 %90)
%123 = (neg.f64 %107)
%125 = (neg.f64 %109)
%127 = (neg.f64 %111)
%129 = (neg.f64 %113)
%131 = (neg.f64 %115)
%135 = (*.f64 %3 %8)
%144 = (*.f64 %86 %2)
%147 = (*.f64 %44 %8)
%152 = (*.f64 %2 %86)
%157 = (*.f64 %8 y)
%198 = (*.f64 %157 %44)
%271 = (*.f64 #s(literal 4 binary64) y)
%272 = (*.f64 %271 #s(literal 2 binary64))
%274 = (*.f64 y #s(literal 2 binary64))
%277 = (*.f64 #s(literal 2 binary64) y)
%285 = (*.f64 #s(literal 1/2 binary64) %271)
%287 = (*.f64 %271 #s(literal 1/2 binary64))
%294 = (+.f64 y y)
%295 = (exp.f64 %294)
%296 = (neg.f64 %295)
%298 = (exp.f64 %287)
%300 = (exp.f64 %285)
%302 = (exp.f64 %277)
%304 = (exp.f64 y)
%308 = (neg.f64 %304)
%309 = (*.f64 %308 %304)
%311 = (*.f64 %304 %308)
%314 = (exp.f64 #s(literal 1 binary64))
%317 = (exp.f64 (*.f64 %272 #s(literal 2 binary64)))
%319 = (exp.f64 #s(literal 2 binary64))
%323 = (exp.f64 (*.f64 y #s(literal 8 binary64)))
%325 = (exp.f64 #s(literal 4 binary64))
%328 = (exp.f64 %271)
%330 = (sinh.f64 %271)
%331 = (cosh.f64 %271)
%332 = (*.f64 #s(literal 2 binary64) %331)
%333 = (fma.f64 %330 #s(literal 2 binary64) %332)
%336 = (*.f64 #s(literal 2 binary64) %330)
%337 = (fma.f64 %331 #s(literal 2 binary64) %336)
%341 = (fma.f64 %336 #s(literal 2 binary64) (*.f64 %332 #s(literal 2 binary64)))
%345 = (fma.f64 %332 #s(literal 2 binary64) (*.f64 %336 #s(literal 2 binary64)))
%348 = (fma.f64 #s(literal 2 binary64) %330 %332)
%351 = (fma.f64 #s(literal 2 binary64) %331 %336)
%355 = (fma.f64 %336 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %332))
%359 = (fma.f64 %332 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) %336))
%370 = (*.f64 #s(literal -4 binary64) y)
%373 = (neg.f64 %328)
%381 = (neg.f64 %331)
%408 = (fma.f64 #s(literal 4 binary64) y %271)
%421 = (*.f64 #s(literal -1/2 binary64) y)
%422 = (*.f64 %421 #s(literal 1 binary64))
%427 = (*.f64 #s(literal 1/2 binary64) y)
%431 = (*.f64 #s(literal -1/4 binary64) y)
%458 = (*.f64 #s(literal 1/4 binary64) y)
%465 = (approx (* -1/4 y) %431)
%469 = (fma.f64 y y #s(literal 1 binary64))
%472 = (fma.f64 %8 x x)
%476 = (neg.f64 x)
%477 = (*.f64 %476 %8)
%482 = (*.f64 %2 x)
%510 = (*.f64 %8 x)
%518 = (approx (* (exp (* y y)) x) %472)
%522 = (*.f64 %465 %271)
%523 = (exp.f64 %522)
%524 = (sqrt.f64 %523)
%527 = (exp.f64 (*.f64 %522 #s(literal 1/2 binary64)))
%530 = (exp.f64 (*.f64 #s(literal 1/2 binary64) %522))
%532 = (*.f64 %465 y)
%535 = (*.f64 %465 #s(literal 4 binary64))
%540 = (exp.f64 (*.f64 %522 #s(literal 2 binary64)))
%542 = (/.f64 %465 #s(literal 2 binary64))
%547 = (*.f64 #s(literal 2 binary64) %532)
%562 = (*.f64 #s(literal -4 binary64) %532)
%563 = (exp.f64 %562)
%565 = (neg.f64 %523)
%570 = (cosh.f64 %522)
%572 = (sinh.f64 %562)
%579 = (sinh.f64 %522)
%586 = (neg.f64 %563)
%588 = (*.f64 %563 x)
x
y
%6
%13
%19
%22
%26
%27
%28
%29
%30
%31
%34
%35
%37
%38
%40
%41
%42
%43
%46
%47
%48
%49
%8
%50
%54
%55
%57
%61
%62
%63
%65
%66
%67
%70
%73
%76
%79
%81
%83
%85
%88
%89
%91
%93
%94
%97
%99
%101
%103
%105
%106
%108
%110
%112
%114
%116
%117
%118
%119
%120
%121
%122
(*.f64 %123 %123)
(*.f64 %125 %125)
(*.f64 %127 %127)
(*.f64 %129 %129)
(*.f64 %131 %131)
(*.f64 %16 %7)
(*.f64 %20 %7)
(*.f64 %135 %3)
(*.f64 %9 %11)
(*.f64 %87 %87)
(*.f64 %107 %107)
(*.f64 %109 %109)
(*.f64 %111 %111)
(*.f64 %113 %113)
(*.f64 %115 %115)
(*.f64 %144 %3)
(*.f64 %15 %2)
(*.f64 %147 %44)
(*.f64 %95 %95)
(*.f64 %14 %14)
(*.f64 %3 %135)
(*.f64 %3 %152)
(*.f64 %11 %9)
(*.f64 %7 %16)
(*.f64 %7 %20)
(*.f64 %157 y)
(*.f64 %2 %15)
(*.f64 %44 %147)
(*.f64 %86 %86)
%64
(*.f64 y %157)
(pow.f64 %107 #s(literal 2 binary64))
(pow.f64 %109 #s(literal 2 binary64))
(pow.f64 %111 #s(literal 2 binary64))
(pow.f64 %113 #s(literal 2 binary64))
(pow.f64 %115 #s(literal 2 binary64))
(pow.f64 %52 #s(literal 1/4 binary64))
(pow.f64 %95 #s(literal 2 binary64))
(pow.f64 %14 #s(literal 2 binary64))
(pow.f64 %3 #s(literal 4 binary64))
(pow.f64 %59 #s(literal 1/2 binary64))
(pow.f64 %2 #s(literal 4 binary64))
(pow.f64 %44 #s(literal 4 binary64))
(pow.f64 %86 #s(literal 2 binary64))
(pow.f64 %64 #s(literal 1 binary64))
(pow.f64 %8 #s(literal 2 binary64))
(pow.f64 y #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %95 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %59 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %64 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %86 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -2 binary64)))
(neg.f64 %198)
(sqrt.f64 %59)
(fabs.f64 (*.f64 %144 %44))
(fabs.f64 (*.f64 %144 y))
(fabs.f64 (*.f64 %152 %3))
(fabs.f64 (*.f64 %152 %2))
(fabs.f64 (*.f64 %152 %44))
(fabs.f64 (*.f64 %152 y))
(fabs.f64 (*.f64 %15 %44))
(fabs.f64 (*.f64 %15 y))
(fabs.f64 (*.f64 %147 %3))
(fabs.f64 (*.f64 %147 %2))
(fabs.f64 (*.f64 %157 %3))
(fabs.f64 (*.f64 %157 %2))
(fabs.f64 (*.f64 %3 %144))
(fabs.f64 (*.f64 %3 %147))
(fabs.f64 (*.f64 %3 %157))
(fabs.f64 (*.f64 %2 %144))
(fabs.f64 (*.f64 %2 %147))
(fabs.f64 (*.f64 %2 %157))
(fabs.f64 (*.f64 %44 %144))
(fabs.f64 (*.f64 %44 %152))
(fabs.f64 (*.f64 %44 %15))
(fabs.f64 (*.f64 y %144))
(fabs.f64 (*.f64 y %152))
(fabs.f64 (*.f64 y %15))
(fabs.f64 (*.f64 %95 %14))
(fabs.f64 (*.f64 %95 %86))
(fabs.f64 (*.f64 %95 %8))
(fabs.f64 (*.f64 %14 %95))
(fabs.f64 (*.f64 %14 %86))
(fabs.f64 (*.f64 %14 %8))
(fabs.f64 (*.f64 %86 %95))
(fabs.f64 (*.f64 %86 %14))
(fabs.f64 (*.f64 %8 %95))
(fabs.f64 (*.f64 %8 %14))
(fabs.f64 %198)
(fabs.f64 %64)
%6
%13
%19
%22
%26
%27
%28
%29
%30
%31
%34
%35
%37
%38
%40
%41
%42
%43
%46
%47
%48
%49
%8
%50
%54
%55
%57
%61
%62
%63
%65
%66
%67
%70
%73
%76
%79
%81
%83
%85
%88
%89
%91
%93
%94
%97
%99
%101
%103
%105
%106
%108
%110
%112
%114
%116
%117
%118
%119
%120
%121
%122
#s(literal 4 binary64)
(*.f64 %272 #s(literal 1/2 binary64))
(*.f64 %274 #s(literal 2 binary64))
(*.f64 #s(literal 1 binary64) %271)
(*.f64 #s(literal 2 binary64) %277)
(*.f64 %271 #s(literal 1 binary64))
%271
(*.f64 y #s(literal 4 binary64))
(pow.f64 %271 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %271 #s(literal -1 binary64)))
(fma.f64 #s(literal 2 binary64) y %277)
(fma.f64 #s(literal 1/2 binary64) %271 %285)
(fma.f64 %271 #s(literal 1/2 binary64) %287)
(fma.f64 y #s(literal 2 binary64) %274)
(+.f64 %287 %287)
(+.f64 %285 %285)
(+.f64 %277 %277)
(+.f64 %274 %274)
(*.f64 %296 %296)
(*.f64 %298 %298)
(*.f64 %300 %300)
(*.f64 %302 %302)
(*.f64 (pow.f64 %304 #s(literal 3 binary64)) %304)
(*.f64 %309 %309)
(*.f64 %311 %311)
(*.f64 %295 %295)
(pow.f64 %314 %271)
(pow.f64 %317 #s(literal 1/4 binary64))
(pow.f64 %319 %277)
(pow.f64 %295 #s(literal 2 binary64))
(pow.f64 %323 #s(literal 1/2 binary64))
(pow.f64 %325 y)
(pow.f64 %304 #s(literal 4 binary64))
(pow.f64 %328 #s(literal 1 binary64))
(/.f64 (fabs.f64 %333) #s(literal 2 binary64))
(/.f64 (fabs.f64 %337) #s(literal 2 binary64))
(/.f64 (fabs.f64 %341) #s(literal 4 binary64))
(/.f64 (fabs.f64 %345) #s(literal 4 binary64))
(/.f64 (fabs.f64 %348) #s(literal 2 binary64))
(/.f64 (fabs.f64 %351) #s(literal 2 binary64))
(/.f64 (fabs.f64 %355) #s(literal 4 binary64))
(/.f64 (fabs.f64 %359) #s(literal 4 binary64))
(/.f64 %333 #s(literal 2 binary64))
(/.f64 %337 #s(literal 2 binary64))
(/.f64 %341 #s(literal 4 binary64))
(/.f64 %345 #s(literal 4 binary64))
(/.f64 %348 #s(literal 2 binary64))
(/.f64 %351 #s(literal 2 binary64))
(/.f64 %355 #s(literal 4 binary64))
(/.f64 %359 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (exp.f64 %370))
(neg.f64 %373)
(fma.f64 %336 #s(literal 1/2 binary64) %331)
(fma.f64 %332 #s(literal 1/2 binary64) %330)
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %277) (cosh.f64 %277)) %331)
(-.f64 %330 %381)
(-.f64 %331 (sinh.f64 %370))
(sqrt.f64 %323)
(fabs.f64 (-.f64 %381 %330))
(fabs.f64 (*.f64 %309 %311))
(fabs.f64 (*.f64 %309 %295))
(fabs.f64 (*.f64 %311 %309))
(fabs.f64 (*.f64 %311 %295))
(fabs.f64 (*.f64 %295 %309))
(fabs.f64 (*.f64 %295 %311))
(fabs.f64 %373)
(fabs.f64 %328)
(+.f64 %330 %331)
(+.f64 %331 %330)
(exp.f64 (fma.f64 y #s(literal 2 binary64) %294))
(exp.f64 (+.f64 %294 %274))
(exp.f64 (/.f64 %408 #s(literal 2 binary64)))
(exp.f64 (/.f64 %272 #s(literal 2 binary64)))
(exp.f64 (*.f64 %294 #s(literal 2 binary64)))
(exp.f64 (*.f64 %408 #s(literal 1/2 binary64)))
(exp.f64 (+.f64 %294 %294))
(exp.f64 (neg.f64 %370))
%328
#s(literal -1/4 binary64)
(*.f64 %422 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/4 binary64) (/.f64 y #s(literal -1 binary64)))
(*.f64 #s(literal 1/4 binary64) %44)
(*.f64 #s(literal -1/2 binary64) %427)
(*.f64 %421 #s(literal 1/2 binary64))
(*.f64 %44 #s(literal 1/4 binary64))
(*.f64 #s(literal 1 binary64) %431)
(*.f64 %427 #s(literal -1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %421)
(*.f64 #s(literal -1/4 binary64) (/.f64 y #s(literal 1 binary64)))
%431
(*.f64 y #s(literal -1/4 binary64))
(pow.f64 %431 #s(literal 1 binary64))
(/.f64 (*.f64 %421 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 %422 #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %421) #s(literal -2 binary64))
(/.f64 %45 #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) y) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %44) #s(literal 4 binary64))
(/.f64 %421 #s(literal 2 binary64))
(/.f64 %44 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %431 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %421))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %427))
(/.f64 %431 #s(literal 1 binary64))
(/.f64 %458 #s(literal -1 binary64))
(/.f64 %427 #s(literal -2 binary64))
(/.f64 y #s(literal -4 binary64))
(neg.f64 %458)
(pow.f64 %465 #s(literal 1 binary64))
%465
(/.f64 #s(literal 1 binary64) (pow.f64 %465 #s(literal -1 binary64)))
(*.f64 %469 x)
(*.f64 x %469)
(pow.f64 %472 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %472 #s(literal -1 binary64)))
(neg.f64 (-.f64 %477 x))
(neg.f64 (neg.f64 %472))
(fma.f64 (*.f64 %482 %7) %7 x)
(fma.f64 (*.f64 x %3) %3 x)
(fma.f64 (*.f64 x %11) %7 x)
(fma.f64 (*.f64 x %44) %44 x)
(fma.f64 (*.f64 x y) y x)
(fma.f64 (*.f64 x %7) %11 x)
(fma.f64 %482 %2 x)
(fma.f64 %3 (*.f64 %3 x) x)
(fma.f64 %11 (*.f64 %7 x) x)
(fma.f64 %7 (*.f64 %7 %482) x)
(fma.f64 %7 (*.f64 %11 x) x)
(fma.f64 %2 %482 x)
(fma.f64 %44 (*.f64 %44 x) x)
%472
(fma.f64 y (*.f64 y x) x)
(fma.f64 x %8 x)
(-.f64 %510 %476)
(-.f64 x %477)
(+.f64 %510 x)
(+.f64 x %510)
(pow.f64 %518 #s(literal 1 binary64))
%518
(/.f64 #s(literal 1 binary64) (pow.f64 %518 #s(literal -1 binary64)))
(*.f64 %524 %524)
(*.f64 %527 %527)
(*.f64 %530 %530)
(pow.f64 (exp.f64 %532) #s(literal 4 binary64))
(pow.f64 (exp.f64 %535) y)
(pow.f64 %314 %522)
(pow.f64 %540 #s(literal 1/2 binary64))
(pow.f64 %317 (/.f64 %542 #s(literal 2 binary64)))
(pow.f64 (exp.f64 %465) %271)
(pow.f64 %319 %547)
(pow.f64 %295 (/.f64 %535 #s(literal 2 binary64)))
(pow.f64 %323 %542)
(pow.f64 %325 (*.f64 %532 #s(literal 1 binary64)))
(pow.f64 %325 %532)
(pow.f64 %523 #s(literal 1 binary64))
(pow.f64 %304 (*.f64 %535 #s(literal 1 binary64)))
(pow.f64 %304 %535)
(pow.f64 %328 (*.f64 %465 #s(literal 1 binary64)))
(pow.f64 %328 %465)
(/.f64 #s(literal 1 binary64) %563)
(neg.f64 %565)
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %547) (cosh.f64 %547)) %570)
(-.f64 %570 %572)
(sqrt.f64 %540)
(fabs.f64 (-.f64 %572 %570))
(fabs.f64 %565)
(fabs.f64 %523)
(+.f64 %579 %570)
(+.f64 %570 %579)
(exp.f64 (*.f64 %408 %542))
(exp.f64 (*.f64 %272 %542))
%523
(*.f64 %586 %476)
%588
(*.f64 %476 %586)
(*.f64 #s(literal 1 binary64) %588)
(*.f64 x %563)
(pow.f64 %588 #s(literal 1 binary64))
(/.f64 (*.f64 %476 #s(literal 1 binary64)) %565)
(/.f64 (*.f64 x #s(literal -1 binary64)) %565)
(/.f64 (*.f64 #s(literal -1 binary64) x) %565)
(/.f64 %476 %565)
(/.f64 #s(literal 1 binary64) (pow.f64 %588 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %565 %476))
(/.f64 #s(literal 1 binary64) (/.f64 %523 x))
(/.f64 x %523)
(neg.f64 (*.f64 %476 %563))

reconstruct45.0ms (2.9%)

Counts
434 → 108
Compiler

Compiled 434 to 671 computations (-54.6% saved)

eval10.0ms (0.6%)

Compiler

Compiled 103 to 374 computations (-263.1% saved)

prune3.0ms (0.2%)

Pruning

8 alts after pruning (0 fresh and 8 done)

PrunedKeptTotal
New1030103
Fresh000
Picked022
Done066
Total1038111
Accuracy
100.0%
Counts
111 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (*.f64 #s(literal -2 binary64) y)))
100.0%
(/.f64 x (pow.f64 (exp.f64 (*.f64 y #s(literal 4 binary64))) (approx (neg (/ (* 1/2 y) 2)) (*.f64 #s(literal -1/4 binary64) y))))
100.0%
(*.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (+.f64 y y)))
100.0%
(*.f64 x (pow.f64 (exp.f64 y) y))
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
50.5%
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
79.5%
(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
88.5%
%5 = (*.f64 y y)
(approx (* (pow (exp y) y) x) (fma.f64 (sqrt.f64 (*.f64 %5 %5)) x x))
Compiler

Compiled 8 to 29 computations (-262.5% saved)

regimes32.0ms (2.0%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

0.0b-0.0%
0.0b0.0%
0.0b0.0%
0.0b0.0%
-0.0b-100.0%

Counts
1 → 1
2 → 1
3 → 1
5 → 1
8 → 1
9 → 1
Calls
Call 1
Inputs
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
Outputs
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
Call 2
Inputs
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
Outputs
(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
Call 3
Inputs
%9 = (* (pow (exp y) y) x)
%10 = (*.f64 y y)
(*.f64 x (approx (exp (* y y)) #s(literal 1 binary64)))
(approx %9 (fma.f64 %10 x x))
(approx %9 (fma.f64 (sqrt.f64 (*.f64 %10 %10)) x x))
Outputs
%5 = (*.f64 y y)
(approx (* (pow (exp y) y) x) (fma.f64 (sqrt.f64 (*.f64 %5 %5)) x x))
Call 4
Inputs
%3 = (exp (* y y))
%9 = (* (pow (exp y) y) x)
%10 = (*.f64 y y)
%14 = (sqrt.f64 (*.f64 %10 %10))
(*.f64 x (approx %3 #s(literal 1 binary64)))
(approx %9 (fma.f64 %10 x x))
(approx %9 (fma.f64 %14 x x))
(approx (* x %3) (+.f64 x (*.f64 x %14)))
(*.f64 x (exp.f64 %10))
Outputs
(*.f64 x (exp.f64 (*.f64 y y)))
Call 5
Inputs
%3 = (exp (* y y))
%9 = (* (pow (exp y) y) x)
%10 = (*.f64 y y)
%14 = (sqrt.f64 (*.f64 %10 %10))
%17 = (* x %3)
(*.f64 x (approx %3 #s(literal 1 binary64)))
(approx %9 (fma.f64 %10 x x))
(approx %9 (fma.f64 %14 x x))
(approx %17 (+.f64 x (*.f64 x %14)))
(*.f64 x (exp.f64 %10))
(/.f64 x (exp.f64 (*.f64 (neg.f64 y) y)))
(approx %17 (+.f64 x (*.f64 x (pow.f64 y #s(literal 2 binary64)))))
(*.f64 x (pow.f64 (exp.f64 y) y))
Outputs
(*.f64 x (pow.f64 (exp.f64 y) y))
Call 6
Inputs
%3 = (exp (* y y))
%9 = (* (pow (exp y) y) x)
%10 = (*.f64 y y)
%14 = (sqrt.f64 (*.f64 %10 %10))
%17 = (* x %3)
%32 = (exp.f64 y)
(*.f64 x (approx %3 #s(literal 1 binary64)))
(approx %9 (fma.f64 %10 x x))
(approx %9 (fma.f64 %14 x x))
(approx %17 (+.f64 x (*.f64 x %14)))
(*.f64 x (exp.f64 %10))
(/.f64 x (exp.f64 (*.f64 (neg.f64 y) y)))
(approx %17 (+.f64 x (*.f64 x (pow.f64 y #s(literal 2 binary64)))))
(*.f64 x (pow.f64 %32 y))
(*.f64 x (pow.f64 (sqrt.f64 %32) (+.f64 y y)))
Outputs
(*.f64 x (pow.f64 (sqrt.f64 (exp.f64 y)) (+.f64 y y)))
Calls

5 calls:

8.0ms
x
7.0ms
y
6.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
6.0ms
(*.f64 y y)
4.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
50.5%1
y
50.5%1
x
50.5%1
(*.f64 x (exp.f64 (*.f64 y y)))
50.5%1
(exp.f64 (*.f64 y y))
50.5%1
(*.f64 y y)
Compiler

Compiled 18 to 54 computations (-200.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations76.0ms (4.8%)

Stop Event
done
Compiler

Compiled 6 to 18 computations (-200.0% saved)

preprocess31.0ms (2.0%)

Compiler

Compiled 33 to 159 computations (-381.8% saved)

end0.0ms (0.0%)

gc382ms (24.2%)

Allocations
AllocatedPercentPhase
812.8 MiB32.7%rewrite
571.2 MiB23.0%reconstruct
410.6 MiB16.5%sample
355.1 MiB14.3%series
123.6 MiB5.0%eval
84.4 MiB3.4%preprocess
49.5 MiB2.0%regimes
43.1 MiB1.7%derivations
33.0 MiB1.3%prune
0.4 MiB0.0%bsearch
0.1 MiB0.0%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
2 483.9 MiB100.0%total

Profiling

Loading profile data...