Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, B

Time bar (total: 1.5s)

start0.0ms (0.0%)

analyze39.0ms (2.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
0.0%0.0%99.9%0.1%0.0%0.0%0.0%1
0.0%0.0%99.9%0.1%0.0%0.0%0.0%2
0.0%0.0%99.9%0.1%0.0%0.0%0.0%3
50.0%49.9%49.9%0.1%0.0%0.0%0.0%4
50.0%49.9%49.9%0.1%0.0%0.0%0.0%5
50.0%49.9%49.9%0.1%0.0%0.0%0.0%6
75.0%74.9%25.0%0.1%0.0%0.0%0.0%7
75.0%74.9%25.0%0.1%0.0%0.0%0.0%8
75.0%74.9%25.0%0.1%0.0%0.0%0.0%9
87.5%87.4%12.5%0.1%0.0%0.0%0.0%10
87.5%87.4%12.5%0.1%0.0%0.0%0.0%11
87.5%87.4%12.5%0.1%0.0%0.0%0.0%12
Compiler

Compiled 13 to 12 computations (7.7% saved)

sample517.0ms (35.1%)

Samples
374.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Sub: 7.0ms (35.0% of total, 0.0 MiB)
Mul: 7.0ms (35.0% of total, 0.0 MiB)
Div: 6.0ms (30.0% of total, 0.0 MiB)
Bogosity

preprocess33.0ms (2.2%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
042118
1226111
286690
3298990
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (*.f64 #s(literal 4 binary64) (-.f64 (-.f64 x y) (*.f64 z #s(literal 1/2 binary64)))) z)
Compiler

Compiled 2 to 20 computations (-900.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series19.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0185916
Stop Event
iter-limit
Counts
10 → 53
Calls
Call 1
Inputs
%3 = (-.f64 x y)
%6 = (*.f64 z #s(literal 1/2 binary64))
%7 = (-.f64 %3 %6)
%8 = (*.f64 #s(literal 4 binary64) %7)
#s(literal 4 binary64)
x
y
%3
z
#s(literal 1/2 binary64)
%6
%7
%8
(/.f64 %8 z)
Outputs
%6 = (- x y)
%8 = (*.f64 #s(literal -1 binary64) y)
%10 = (-.f64 x y)
%14 = (* z 1/2)
%15 = (- %6 %14)
%17 = (*.f64 #s(literal 1/2 binary64) z)
%18 = (+.f64 y %17)
%23 = (* 4 %15)
%28 = (*.f64 #s(literal 4 binary64) x)
%31 = (/ %23 z)
%32 = (/.f64 %18 z)
%35 = (/.f64 x z)
%36 = (*.f64 #s(literal 4 binary64) %35)
%40 = (/.f64 y x)
%45 = (/.f64 %18 x)
%59 = (*.f64 #s(literal 4 binary64) (/.f64 #s(literal 1 binary64) z))
%78 = (/.f64 y z)
%79 = (+.f64 #s(literal 1/2 binary64) %78)
%87 = (+.f64 x %8)
%89 = (-.f64 x %17)
%93 = (*.f64 #s(literal 4 binary64) %89)
%98 = (*.f64 #s(literal 4 binary64) (/.f64 %89 z))
%102 = (/.f64 x y)
%114 = (/.f64 %89 y)
%122 = (/.f64 (-.f64 %35 #s(literal 1/2 binary64)) y)
%149 = (*.f64 #s(literal -1/2 binary64) z)
%153 = (*.f64 #s(literal 4 binary64) %10)
%156 = (fma.f64 #s(literal -2 binary64) z %153)
%158 = (/.f64 %10 z)
%159 = (*.f64 #s(literal 4 binary64) %158)
%170 = (-.f64 %159 #s(literal 2 binary64))
(approx 4 #s(literal 0 binary64))
(approx x x)
(approx %6 %8)
(approx %6 %10)
(approx %15 (*.f64 #s(literal -1 binary64) %18))
(approx %15 (-.f64 x %18))
(approx %23 (*.f64 #s(literal -4 binary64) %18))
(approx %23 (fma.f64 #s(literal -4 binary64) %18 %28))
(approx %31 (*.f64 #s(literal -4 binary64) %32))
(approx %31 (fma.f64 #s(literal -4 binary64) %32 %36))
(approx %6 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %40))))
(approx %15 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %45))))
(approx %23 %28)
(approx %23 (*.f64 x (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %45))))
(approx %31 %36)
(approx %31 (*.f64 x (fma.f64 #s(literal -4 binary64) (/.f64 %18 (*.f64 x z)) %59)))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %40 #s(literal 1 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 z x) %40) #s(literal 1 binary64)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) %45) #s(literal 4 binary64)))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 %79 x)) %59))))
(approx y y)
(approx %6 %87)
(approx %15 %89)
(approx %15 (-.f64 %87 %17))
(approx %23 %93)
(approx %23 (fma.f64 #s(literal -4 binary64) y %93))
(approx %31 %98)
(approx %31 (fma.f64 #s(literal -4 binary64) %78 %98))
(approx %6 (*.f64 y (-.f64 %102 #s(literal 1 binary64))))
(approx %15 (*.f64 y (-.f64 %102 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (/.f64 z y))))))
(approx %23 (*.f64 #s(literal -4 binary64) y))
(approx %23 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %114) #s(literal 4 binary64))))
(approx %31 (*.f64 #s(literal -4 binary64) %78))
(approx %31 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %122) %59)))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %102)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %114)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %114)))))
(approx %31 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -4 binary64) %122 %59))))
(approx z z)
(approx %14 %17)
(approx %15 (-.f64 (+.f64 x %149) y))
(approx %23 %153)
(approx %23 %156)
(approx %31 %159)
(approx %31 (/.f64 %156 z))
(approx %15 %149)
(approx %15 (*.f64 z (-.f64 %35 %79)))
(approx %23 (*.f64 #s(literal -2 binary64) z))
(approx %23 (*.f64 z %170))
(approx %31 #s(literal -2 binary64))
(approx %31 %170)
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1 binary64) %158)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -4 binary64) %158)))))
Calls

9 calls:

TimeVariablePoint
9.0ms
x
0
2.0ms
x
-inf
2.0ms
z
-inf
2.0ms
x
inf
1.0ms
y
inf

rewrite83.0ms (5.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01038
01538
15038
216436
362436
4285536
0410636
0451233
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
10 → 310
Calls
Call 1
Inputs
%3 = (-.f64 x y)
%6 = (*.f64 z #s(literal 1/2 binary64))
%7 = (-.f64 %3 %6)
%8 = (*.f64 #s(literal 4 binary64) %7)
#s(literal 4 binary64)
x
y
%3
z
#s(literal 1/2 binary64)
%6
%7
%8
(/.f64 %8 z)
Outputs
%4 = (-.f64 x y)
%10 = (-.f64 y x)
%12 = (neg.f64 y)
%14 = (neg.f64 x)
%21 = (neg.f64 z)
%24 = (*.f64 #s(literal 1/2 binary64) z)
%30 = (*.f64 #s(literal -1/2 binary64) z)
%32 = (fma.f64 #s(literal -1/2 binary64) z %4)
%34 = (*.f64 %32 #s(literal 2 binary64))
%36 = (*.f64 %32 #s(literal 1/2 binary64))
%44 = (fma.f64 #s(literal 1/2 binary64) z %10)
%45 = (*.f64 %44 #s(literal 1 binary64))
%49 = (*.f64 %32 #s(literal 0 binary64))
%51 = (*.f64 #s(literal 0 binary64) %32)
%56 = (fma.f64 #s(literal -1/2 binary64) z x)
%58 = (-.f64 %30 y)
%69 = (*.f64 #s(literal 1/2 binary64) %32)
%75 = (-.f64 %24 x)
%78 = (fma.f64 #s(literal 1/2 binary64) z y)
%91 = (*.f64 #s(literal -4 binary64) %44)
%92 = (*.f64 %91 #s(literal 1/2 binary64))
%95 = (*.f64 %44 #s(literal -8 binary64))
%97 = (*.f64 #s(literal 1/2 binary64) %91)
%101 = (*.f64 #s(literal -4 binary64) %32)
%107 = (*.f64 #s(literal -1 binary64) %44)
%111 = (*.f64 %101 #s(literal 2 binary64))
%118 = (*.f64 %91 #s(literal 0 binary64))
%120 = (*.f64 #s(literal 0 binary64) %91)
%124 = (*.f64 z #s(literal 4 binary64))
%125 = (*.f64 #s(literal -4 binary64) %10)
%127 = (*.f64 %21 #s(literal 4 binary64))
%129 = (*.f64 %58 #s(literal 4 binary64))
%130 = (*.f64 x #s(literal 4 binary64))
%132 = (*.f64 %12 #s(literal 4 binary64))
%133 = (*.f64 #s(literal -2 binary64) z)
%134 = (fma.f64 x #s(literal 4 binary64) %133)
%136 = (*.f64 #s(literal 2 binary64) z)
%137 = (-.f64 %130 %136)
%139 = (*.f64 %56 #s(literal 4 binary64))
%141 = (*.f64 #s(literal 4 binary64) %56)
%143 = (-.f64 %132 %136)
%148 = (*.f64 y #s(literal -4 binary64))
%157 = (*.f64 #s(literal -4 binary64) y)
%159 = (*.f64 #s(literal -4 binary64) %78)
%161 = (*.f64 #s(literal -4 binary64) %14)
%167 = (*.f64 #s(literal -4 binary64) %75)
%171 = (*.f64 %78 #s(literal -4 binary64))
%173 = (*.f64 %14 #s(literal -4 binary64))
%209 = (*.f64 %75 #s(literal -4 binary64))
%229 = (*.f64 #s(literal -4 binary64) %58)
%231 = (*.f64 #s(literal -4 binary64) %4)
%246 = (*.f64 %75 #s(literal 4 binary64))
%262 = (/.f64 #s(literal 1 binary64) z)
%265 = (/.f64 #s(literal -1/2 binary64) z)
%269 = (/.f64 #s(literal 1/2 binary64) z)
%271 = (/.f64 #s(literal -4 binary64) z)
%273 = (/.f64 #s(literal 4 binary64) z)
%279 = (/.f64 %4 z)
%280 = (fma.f64 %279 #s(literal 4 binary64) #s(literal -2 binary64))
%283 = (-.f64 #s(literal 1/2 binary64) %279)
%286 = (/.f64 #s(literal -1 binary64) z)
%288 = (fma.f64 #s(literal -4 binary64) %279 #s(literal 2 binary64))
%290 = (/.f64 %10 z)
%291 = (-.f64 #s(literal -1/2 binary64) %290)
%300 = (*.f64 #s(literal 2 binary64) %280)
%305 = (-.f64 (*.f64 x #s(literal 1 binary64)) %78)
%309 = (fma.f64 #s(literal -1/2 binary64) z (*.f64 %4 #s(literal 1 binary64)))
%312 = (*.f64 z %32)
%314 = (*.f64 z z)
%318 = (-.f64 (*.f64 z x) (*.f64 %78 z))
%333 = (*.f64 %279 #s(literal 4 binary64))
%356 = (*.f64 #s(literal -4 binary64) x)
%357 = (*.f64 %229 %286)
%359 = (*.f64 %129 %262)
%361 = (*.f64 y #s(literal 4 binary64))
%362 = (*.f64 %361 %286)
%365 = (*.f64 %12 %273)
%367 = (/.f64 x z)
%368 = (-.f64 #s(literal 1/2 binary64) %367)
%369 = (/.f64 y z)
%370 = (*.f64 %369 #s(literal -4 binary64))
%373 = (+.f64 #s(literal -1/2 binary64) %367)
%374 = (/.f64 %12 z)
%375 = (*.f64 %374 #s(literal 4 binary64))
%377 = (*.f64 %273 %12)
%379 = (*.f64 %273 x)
%381 = (*.f64 %273 %56)
%384 = (*.f64 %273 %58)
%389 = (*.f64 #s(literal -4 binary64) %369)
%391 = (*.f64 x %273)
%393 = (*.f64 %286 %229)
%395 = (*.f64 %286 %361)
%397 = (*.f64 %286 %136)
%399 = (*.f64 %286 %231)
%401 = (-.f64 #s(literal -1/2 binary64) %369)
%402 = (*.f64 %401 #s(literal 4 binary64))
%406 = (*.f64 %56 %273)
%408 = (*.f64 %262 %129)
%413 = (*.f64 %58 %273)
%415 = (*.f64 #s(literal 4 binary64) %374)
%417 = (*.f64 #s(literal 4 binary64) %401)
#s(literal 4 binary64)
x
y
(*.f64 #s(literal 1 binary64) %4)
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(neg.f64 %10)
(fma.f64 #s(literal 1 binary64) %12 x)
(-.f64 %12 %14)
%4
(+.f64 %12 x)
(+.f64 x %12)
z
#s(literal 1/2 binary64)
(*.f64 #s(literal -1/2 binary64) %21)
(*.f64 %21 #s(literal -1/2 binary64))
(*.f64 #s(literal 1 binary64) %24)
%24
(*.f64 z #s(literal 1/2 binary64))
(pow.f64 %24 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %24 #s(literal -1 binary64)))
(neg.f64 %30)
(*.f64 %34 #s(literal 1/2 binary64))
(*.f64 %36 #s(literal 2 binary64))
(*.f64 #s(literal 1 binary64) %32)
(*.f64 %32 #s(literal 1 binary64))
(pow.f64 %32 #s(literal 1 binary64))
(/.f64 %34 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1 binary64)))
(neg.f64 %45)
(neg.f64 %44)
(fma.f64 %34 #s(literal 1/2 binary64) %49)
(fma.f64 %34 #s(literal 1/2 binary64) %51)
(fma.f64 %36 #s(literal 2 binary64) %49)
(fma.f64 %36 #s(literal 2 binary64) %51)
%32
(fma.f64 %21 #s(literal 1/2 binary64) %4)
(fma.f64 #s(literal 1 binary64) %56 %12)
(fma.f64 #s(literal 1 binary64) %58 x)
(fma.f64 #s(literal 1 binary64) %30 %4)
(fma.f64 #s(literal 1 binary64) %12 %56)
(fma.f64 #s(literal 1 binary64) %32 %49)
(fma.f64 #s(literal 1 binary64) %32 %51)
(fma.f64 #s(literal 1 binary64) %4 %30)
(fma.f64 %32 #s(literal 1 binary64) %49)
(fma.f64 %32 #s(literal 1 binary64) %51)
(fma.f64 %32 #s(literal 1/2 binary64) %36)
(fma.f64 #s(literal 1/2 binary64) %21 %4)
(fma.f64 #s(literal 1/2 binary64) %32 %69)
(fma.f64 z #s(literal -1/2 binary64) %4)
(-.f64 %56 y)
(-.f64 %58 %14)
(-.f64 %30 %10)
(-.f64 %12 %75)
(-.f64 %4 %24)
(-.f64 x %78)
(+.f64 %36 %36)
(+.f64 %69 %69)
(+.f64 %56 %12)
(+.f64 %58 x)
(+.f64 %30 %4)
(+.f64 %12 %56)
(+.f64 %32 %49)
(+.f64 %32 %51)
(+.f64 %4 %30)
(+.f64 x %58)
(*.f64 %92 #s(literal 2 binary64))
(*.f64 %95 #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) %97)
(*.f64 #s(literal -4 binary64) %45)
%91
(*.f64 %44 #s(literal -4 binary64))
(*.f64 %101 #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) %91)
(*.f64 %91 #s(literal 1 binary64))
(*.f64 %32 #s(literal 4 binary64))
(*.f64 #s(literal 1/2 binary64) %95)
(*.f64 #s(literal 4 binary64) %107)
(*.f64 #s(literal 4 binary64) %32)
(pow.f64 %91 #s(literal 1 binary64))
(/.f64 %111 #s(literal -2 binary64))
(/.f64 %95 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %91 #s(literal -1 binary64)))
(neg.f64 %101)
(fma.f64 %92 #s(literal 2 binary64) %118)
(fma.f64 %92 #s(literal 2 binary64) %120)
(fma.f64 %95 #s(literal 1/2 binary64) %118)
(fma.f64 %95 #s(literal 1/2 binary64) %120)
(fma.f64 %124 #s(literal -1/2 binary64) %125)
(fma.f64 %127 #s(literal 1/2 binary64) %125)
(fma.f64 %129 #s(literal 1 binary64) %130)
(fma.f64 %132 #s(literal 1 binary64) %134)
(fma.f64 %132 #s(literal 1 binary64) %137)
(fma.f64 %132 #s(literal 1 binary64) %139)
(fma.f64 %132 #s(literal 1 binary64) %141)
(fma.f64 %130 #s(literal 1 binary64) %143)
(fma.f64 %130 #s(literal 1 binary64) %129)
(fma.f64 #s(literal -2 binary64) z %125)
(fma.f64 %56 #s(literal 4 binary64) %132)
(fma.f64 %75 #s(literal -4 binary64) %148)
(fma.f64 #s(literal 2 binary64) %97 %118)
(fma.f64 #s(literal 2 binary64) %97 %120)
(fma.f64 #s(literal 2 binary64) %21 %125)
(fma.f64 %133 #s(literal 1 binary64) %125)
(fma.f64 %125 #s(literal 1 binary64) %133)
(fma.f64 #s(literal -4 binary64) %45 %118)
(fma.f64 #s(literal -4 binary64) %45 %120)
(fma.f64 #s(literal -4 binary64) %75 %157)
(fma.f64 #s(literal -4 binary64) %14 %159)
(fma.f64 #s(literal -4 binary64) %78 %161)
(fma.f64 #s(literal -4 binary64) %44 %118)
(fma.f64 #s(literal -4 binary64) %44 %120)
(fma.f64 #s(literal -4 binary64) %10 %133)
(fma.f64 #s(literal -4 binary64) %24 %125)
(fma.f64 #s(literal -4 binary64) y %167)
(fma.f64 #s(literal -1/2 binary64) %124 %125)
(fma.f64 %58 #s(literal 4 binary64) %130)
(fma.f64 %14 #s(literal -4 binary64) %171)
(fma.f64 %78 #s(literal -4 binary64) %173)
(fma.f64 %30 #s(literal 4 binary64) %125)
(fma.f64 %12 #s(literal 4 binary64) %134)
(fma.f64 %12 #s(literal 4 binary64) %137)
(fma.f64 %12 #s(literal 4 binary64) %139)
(fma.f64 %12 #s(literal 4 binary64) %141)
(fma.f64 %44 #s(literal -4 binary64) %118)
(fma.f64 %44 #s(literal -4 binary64) %120)
(fma.f64 %10 #s(literal -4 binary64) %133)
(fma.f64 %21 #s(literal 2 binary64) %125)
(fma.f64 %101 #s(literal -1 binary64) %118)
(fma.f64 %101 #s(literal -1 binary64) %120)
(fma.f64 #s(literal 1 binary64) %129 %130)
(fma.f64 #s(literal 1 binary64) %132 %134)
(fma.f64 #s(literal 1 binary64) %132 %137)
(fma.f64 #s(literal 1 binary64) %132 %139)
(fma.f64 #s(literal 1 binary64) %132 %141)
(fma.f64 #s(literal 1 binary64) %130 %143)
(fma.f64 #s(literal 1 binary64) %130 %129)
(fma.f64 #s(literal 1 binary64) %133 %125)
(fma.f64 #s(literal 1 binary64) %125 %133)
(fma.f64 #s(literal 1 binary64) %91 %118)
(fma.f64 #s(literal 1 binary64) %91 %120)
(fma.f64 %91 #s(literal 1 binary64) %118)
(fma.f64 %91 #s(literal 1 binary64) %120)
(fma.f64 %91 #s(literal 1/2 binary64) %92)
(fma.f64 %32 #s(literal 4 binary64) %118)
(fma.f64 %32 #s(literal 4 binary64) %120)
(fma.f64 %24 #s(literal -4 binary64) %125)
(fma.f64 #s(literal 1/2 binary64) %95 %118)
(fma.f64 #s(literal 1/2 binary64) %95 %120)
(fma.f64 #s(literal 1/2 binary64) %127 %125)
(fma.f64 #s(literal 1/2 binary64) %91 %97)
(fma.f64 z #s(literal -2 binary64) %125)
(fma.f64 %4 #s(literal 4 binary64) %133)
(fma.f64 y #s(literal -4 binary64) %209)
(fma.f64 x #s(literal 4 binary64) %143)
(fma.f64 x #s(literal 4 binary64) %129)
(fma.f64 #s(literal 4 binary64) %107 %118)
(fma.f64 #s(literal 4 binary64) %107 %120)
(fma.f64 #s(literal 4 binary64) %56 %132)
(fma.f64 #s(literal 4 binary64) %58 %130)
(fma.f64 #s(literal 4 binary64) %30 %125)
(fma.f64 #s(literal 4 binary64) %12 %134)
(fma.f64 #s(literal 4 binary64) %12 %137)
(fma.f64 #s(literal 4 binary64) %12 %139)
(fma.f64 #s(literal 4 binary64) %12 %141)
(fma.f64 #s(literal 4 binary64) %32 %118)
(fma.f64 #s(literal 4 binary64) %32 %120)
(fma.f64 #s(literal 4 binary64) %4 %133)
(fma.f64 #s(literal 4 binary64) x %143)
(fma.f64 #s(literal 4 binary64) x %129)
(-.f64 %130 (*.f64 %78 #s(literal 4 binary64)))
(-.f64 %130 %229)
(-.f64 %133 %231)
(-.f64 %125 %136)
(+.f64 (fma.f64 #s(literal -2 binary64) z %130) %132)
(+.f64 %161 %159)
(+.f64 %92 %92)
(+.f64 %173 %171)
(+.f64 %97 %97)
(+.f64 %167 %157)
(+.f64 %139 %132)
(+.f64 %159 %161)
(+.f64 %148 %209)
(+.f64 %141 %132)
(+.f64 %209 %148)
(+.f64 (neg.f64 %246) %132)
(+.f64 %157 %167)
(+.f64 %171 %173)
(+.f64 %129 %130)
(+.f64 %132 %134)
(+.f64 %132 %137)
(+.f64 %132 %139)
(+.f64 %132 %141)
(+.f64 %130 %143)
(+.f64 %130 %129)
(+.f64 %133 %125)
(+.f64 %125 %133)
(+.f64 %91 %118)
(+.f64 %91 %120)
(*.f64 (*.f64 %262 %95) #s(literal 1/2 binary64))
(*.f64 %111 %265)
(*.f64 (*.f64 %262 #s(literal -4 binary64)) %44)
(*.f64 %95 %269)
(*.f64 %271 %44)
(*.f64 %273 %32)
(*.f64 #s(literal 2 binary64) (*.f64 %265 %101))
(*.f64 #s(literal 2 binary64) (*.f64 %269 %91))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) %280))
(*.f64 #s(literal -4 binary64) %283)
(*.f64 %283 #s(literal -4 binary64))
(*.f64 %286 %101)
(*.f64 #s(literal -1 binary64) %288)
(*.f64 %291 #s(literal 4 binary64))
(*.f64 %44 %271)
(*.f64 %262 %91)
(*.f64 %101 %286)
(*.f64 #s(literal 1 binary64) %280)
(*.f64 %280 #s(literal 1 binary64))
(*.f64 %91 %262)
(*.f64 %32 %273)
(*.f64 #s(literal 1/2 binary64) %300)
(*.f64 #s(literal 4 binary64) %291)
(pow.f64 %280 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %305) z)
(/.f64 (*.f64 #s(literal 4 binary64) %309) z)
(/.f64 (*.f64 #s(literal 4 binary64) %312) %314)
(/.f64 (*.f64 #s(literal 4 binary64) %318) %314)
(/.f64 (*.f64 %305 #s(literal 4 binary64)) z)
(/.f64 (*.f64 %309 #s(literal 4 binary64)) z)
(/.f64 (*.f64 %312 #s(literal 4 binary64)) %314)
(/.f64 (*.f64 %318 #s(literal 4 binary64)) %314)
(/.f64 %300 #s(literal 2 binary64))
(/.f64 %111 %133)
(/.f64 (*.f64 #s(literal -1 binary64) %101) z)
(/.f64 (fma.f64 %333 z %133) z)
(/.f64 (fma.f64 %125 z (*.f64 %133 z)) %314)
(/.f64 (fma.f64 %125 z (*.f64 z %133)) %314)
(/.f64 (*.f64 #s(literal 2 binary64) %101) %133)
(/.f64 %95 %136)
(/.f64 %101 %21)
(/.f64 #s(literal 1 binary64) (pow.f64 %280 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %21 %101))
(/.f64 #s(literal 1 binary64) (/.f64 z %91))
(/.f64 %91 z)
(neg.f64 %288)
(fma.f64 (*.f64 %125 #s(literal 2 binary64)) %269 #s(literal -2 binary64))
(fma.f64 %356 %286 %357)
(fma.f64 %130 %262 %359)
(fma.f64 %246 %286 %362)
(fma.f64 %231 %286 #s(literal -2 binary64))
(fma.f64 %56 %273 %365)
(fma.f64 %368 #s(literal -4 binary64) %370)
(fma.f64 %333 #s(literal 1 binary64) #s(literal -2 binary64))
(fma.f64 %373 #s(literal 4 binary64) %375)
(fma.f64 %273 %56 %377)
(fma.f64 %273 %58 %379)
(fma.f64 %273 %12 %381)
(fma.f64 %273 %4 #s(literal -2 binary64))
(fma.f64 %273 x %384)
(fma.f64 #s(literal 2 binary64) (*.f64 %269 %125) #s(literal -2 binary64))
(fma.f64 %125 %262 #s(literal -2 binary64))
(fma.f64 #s(literal -4 binary64) %368 %389)
(fma.f64 %58 %273 %391)
(fma.f64 %286 %356 %393)
(fma.f64 %286 %246 %395)
(fma.f64 %286 %231 %397)
(fma.f64 %286 %136 %399)
(fma.f64 %367 #s(literal 4 binary64) %402)
%280
(fma.f64 #s(literal -1 binary64) (*.f64 %286 %125) #s(literal -2 binary64))
(fma.f64 %12 %273 %406)
(fma.f64 %262 %130 %408)
(fma.f64 %262 %125 #s(literal -2 binary64))
(fma.f64 #s(literal 1 binary64) %333 #s(literal -2 binary64))
(fma.f64 %4 %273 #s(literal -2 binary64))
(fma.f64 x %273 %413)
(fma.f64 #s(literal 4 binary64) %373 %415)
(fma.f64 #s(literal 4 binary64) %367 %417)
(fma.f64 #s(literal 4 binary64) %279 #s(literal -2 binary64))
(-.f64 %333 (*.f64 %286 %133))
(-.f64 %333 (*.f64 %136 %262))
(-.f64 %333 #s(literal 2 binary64))
(+.f64 %381 %377)
(+.f64 %377 %381)
(+.f64 %384 %379)
(+.f64 %379 %384)
(+.f64 (*.f64 #s(literal -4 binary64) %368) %389)
(+.f64 (*.f64 %286 %356) %393)
(+.f64 (*.f64 %286 %246) %395)
(+.f64 %399 %397)
(+.f64 %397 %399)
(+.f64 (*.f64 #s(literal 4 binary64) %373) %415)
(+.f64 (*.f64 #s(literal 4 binary64) %367) %417)
(+.f64 (*.f64 %262 %130) %408)
(+.f64 %406 %365)
(+.f64 %365 %406)
(+.f64 %413 %391)
(+.f64 %391 %413)
(+.f64 (*.f64 %368 #s(literal -4 binary64)) %370)
(+.f64 (*.f64 %356 %286) %357)
(+.f64 (*.f64 %246 %286) %362)
(+.f64 (*.f64 %373 #s(literal 4 binary64)) %375)
(+.f64 (*.f64 %367 #s(literal 4 binary64)) %402)
(+.f64 (*.f64 %130 %262) %359)
(+.f64 (/.f64 %139 z) (/.f64 %148 z))
(+.f64 (/.f64 %130 z) (/.f64 %159 z))
(+.f64 #s(literal -2 binary64) (*.f64 #s(literal -4 binary64) %290))
(+.f64 #s(literal -2 binary64) (*.f64 %290 #s(literal -4 binary64)))
(+.f64 #s(literal -2 binary64) %333)
(+.f64 %333 #s(literal -2 binary64))

reconstruct26.0ms (1.8%)

Counts
363 → 68
Compiler

Compiled 363 to 573 computations (-57.9% saved)

eval6.0ms (0.4%)

Compiler

Compiled 64 to 232 computations (-262.5% saved)

prune2.0ms (0.1%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New59564
Fresh000
Picked101
Done000
Total60565
Accuracy
100.0%
Counts
65 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 #s(literal 4 binary64) (/.f64 (-.f64 x y) z) #s(literal -2 binary64))
66.3%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
35.1%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) x)) z)
37.7%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal -4 binary64) y)) z)
36.0%
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
Compiler

Compiled 5 to 15 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series24.0ms (1.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02201051
Stop Event
iter-limit
Counts
19 → 60
Calls
Call 1
Inputs
%3 = (-.f64 x y)
%6 = (*.f64 #s(literal 4 binary64) x)
%12 = (* 4 (- (- x y) (* z 1/2)))
%13 = (approx %12 %6)
%14 = (*.f64 #s(literal -4 binary64) y)
%15 = (approx %12 %14)
%16 = (*.f64 #s(literal 4 binary64) %3)
%17 = (approx %12 %16)
%19 = (/.f64 %3 z)
#s(literal 4 binary64)
x
y
%3
z
#s(literal -4 binary64)
%6
%13
%14
%15
%16
%17
#s(literal -2 binary64)
%19
(approx (/ %12 z) #s(literal -2 binary64))
(fma.f64 #s(literal 4 binary64) %19 #s(literal -2 binary64))
(/.f64 %13 z)
(/.f64 %17 z)
(/.f64 %15 z)
Outputs
%6 = (- x y)
%8 = (*.f64 #s(literal -1 binary64) y)
%10 = (-.f64 x y)
%14 = (*.f64 #s(literal 4 binary64) x)
%20 = (* 4 (- %6 (* z 1/2)))
%23 = (*.f64 #s(literal 1/2 binary64) z)
%24 = (+.f64 y %23)
%29 = (* 4 %6)
%34 = (/ %6 z)
%35 = (/.f64 y z)
%38 = (/.f64 x z)
%41 = (/ %20 z)
%42 = (/.f64 %24 z)
%45 = (*.f64 #s(literal 4 binary64) %38)
%50 = (+ (* 4 %34) -2)
%51 = (*.f64 #s(literal -4 binary64) %35)
%53 = (-.f64 %51 #s(literal 2 binary64))
%59 = (/.f64 y x)
%64 = (/.f64 %24 x)
%74 = (*.f64 x z)
%75 = (/.f64 y %74)
%76 = (/.f64 #s(literal 1 binary64) z)
%82 = (*.f64 #s(literal 4 binary64) %76)
%126 = (-.f64 x %23)
%127 = (*.f64 #s(literal 4 binary64) %126)
%132 = (*.f64 #s(literal 4 binary64) (/.f64 %126 z))
%136 = (-.f64 %45 #s(literal 2 binary64))
%138 = (/.f64 x y)
%142 = (/.f64 %126 y)
%152 = (/.f64 x (*.f64 y z))
%158 = (/.f64 (-.f64 %38 #s(literal 1/2 binary64)) y)
%199 = (*.f64 #s(literal 4 binary64) %10)
%202 = (fma.f64 #s(literal -2 binary64) z %199)
%204 = (/.f64 %10 z)
%206 = (*.f64 #s(literal 4 binary64) %204)
%212 = (-.f64 %206 #s(literal 2 binary64))
(approx 4 #s(literal 0 binary64))
(approx x x)
(approx %6 %8)
(approx %6 %10)
(approx (* 4 x) %14)
(approx %20 (*.f64 #s(literal -4 binary64) %24))
(approx %20 (fma.f64 #s(literal -4 binary64) %24 %14))
(approx %29 (*.f64 #s(literal -4 binary64) y))
(approx %29 (fma.f64 #s(literal -4 binary64) y %14))
(approx %34 (*.f64 #s(literal -1 binary64) %35))
(approx %34 (fma.f64 #s(literal -1 binary64) %35 %38))
(approx %41 (*.f64 #s(literal -4 binary64) %42))
(approx %41 (fma.f64 #s(literal -4 binary64) %42 %45))
(approx %50 %53)
(approx %50 (-.f64 (fma.f64 #s(literal -4 binary64) %35 %45) #s(literal 2 binary64)))
(approx %6 (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %59))))
(approx %20 (*.f64 x (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %64))))
(approx %29 (*.f64 x (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %59))))
(approx %34 %38)
(approx %34 (*.f64 x (fma.f64 #s(literal -1 binary64) %75 %76)))
(approx %41 %45)
(approx %41 (*.f64 x (fma.f64 #s(literal -4 binary64) (/.f64 %24 %74) %82)))
(approx %50 (*.f64 x (-.f64 (fma.f64 #s(literal -4 binary64) %75 %82) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x)))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %59 #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) %64) #s(literal 4 binary64)))))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) %59) #s(literal 4 binary64)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %75 %76))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 (+.f64 #s(literal 1/2 binary64) %35) x)) %82))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %53 x)) %82))))
(approx y y)
(approx %6 (+.f64 x %8))
(approx %20 %127)
(approx %20 (fma.f64 #s(literal -4 binary64) y %127))
(approx %41 %132)
(approx %41 (fma.f64 #s(literal -4 binary64) %35 %132))
(approx %50 %136)
(approx %6 (*.f64 y (-.f64 %138 #s(literal 1 binary64))))
(approx %20 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %142) #s(literal 4 binary64))))
(approx %29 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %138) #s(literal 4 binary64))))
(approx %34 (*.f64 y (-.f64 %152 %76)))
(approx %41 %51)
(approx %41 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %158) %82)))
(approx %50 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %152) (fma.f64 #s(literal 4 binary64) %76 (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) y))))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %138)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %142)))))
(approx %29 (*.f64 #s(literal -1 binary64) (*.f64 y (+.f64 #s(literal 4 binary64) (*.f64 #s(literal -4 binary64) %138)))))
(approx %34 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %152 %76))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -4 binary64) %158 %82))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 %136 y) %82))))
(approx z z)
(approx %20 %199)
(approx %20 %202)
(approx %34 %204)
(approx %41 %206)
(approx %41 (/.f64 %202 z))
(approx %20 (*.f64 #s(literal -2 binary64) z))
(approx %20 (*.f64 z %212))
(approx %41 #s(literal -2 binary64))
(approx %41 %212)
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 z (+.f64 #s(literal 2 binary64) (*.f64 #s(literal -4 binary64) %204)))))
Calls

9 calls:

TimeVariablePoint
8.0ms
z
-inf
3.0ms
x
inf
2.0ms
x
-inf
2.0ms
y
-inf
2.0ms
y
inf

rewrite91.0ms (6.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025134
035134
1117134
2348131
31349131
04053131
04292125
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
19 → 522
Calls
Call 1
Inputs
%3 = (-.f64 x y)
%6 = (*.f64 #s(literal 4 binary64) x)
%12 = (* 4 (- (- x y) (* z 1/2)))
%13 = (approx %12 %6)
%14 = (*.f64 #s(literal -4 binary64) y)
%15 = (approx %12 %14)
%16 = (*.f64 #s(literal 4 binary64) %3)
%17 = (approx %12 %16)
%19 = (/.f64 %3 z)
#s(literal 4 binary64)
x
y
%3
z
#s(literal -4 binary64)
%6
%13
%14
%15
%16
%17
#s(literal -2 binary64)
%19
(approx (/ %12 z) #s(literal -2 binary64))
(fma.f64 #s(literal 4 binary64) %19 #s(literal -2 binary64))
(/.f64 %13 z)
(/.f64 %17 z)
(/.f64 %15 z)
Outputs
%3 = (-.f64 x y)
%15 = (-.f64 y x)
%16 = (*.f64 %15 #s(literal 1 binary64))
%19 = (neg.f64 y)
%20 = (neg.f64 x)
%22 = (neg.f64 %20)
%29 = (*.f64 x #s(literal 4 binary64))
%34 = (- x y)
%39 = (* (- %34 (* 1/2 z)) 4)
%40 = (approx %39 %29)
%48 = (neg.f64 %40)
%51 = (*.f64 #s(literal -4 binary64) y)
%59 = (*.f64 y #s(literal 4 binary64))
%61 = (approx %39 %51)
%69 = (neg.f64 %61)
%73 = (*.f64 %3 #s(literal 4 binary64))
%78 = (*.f64 %15 #s(literal 4 binary64))
%93 = (approx %39 %73)
%101 = (neg.f64 %93)
%104 = (/.f64 #s(literal -1 binary64) z)
%106 = (*.f64 x #s(literal 1 binary64))
%107 = (-.f64 %106 y)
%108 = (/.f64 #s(literal 1 binary64) z)
%110 = (*.f64 z x)
%111 = (*.f64 z y)
%112 = (-.f64 %110 %111)
%113 = (*.f64 z z)
%118 = (/.f64 %3 z)
%122 = (/.f64 x z)
%123 = (*.f64 %122 #s(literal 1 binary64))
%127 = (/.f64 %19 z)
%128 = (neg.f64 z)
%132 = (*.f64 %122 %128)
%133 = (*.f64 y #s(literal -1 binary64))
%136 = (*.f64 x #s(literal -1 binary64))
%137 = (*.f64 %136 z)
%139 = (*.f64 z %128)
%141 = (*.f64 %106 z)
%144 = (*.f64 %22 z)
%147 = (*.f64 %20 z)
%150 = (*.f64 %136 %128)
%153 = (*.f64 %106 %128)
%155 = (*.f64 %128 z)
%157 = (*.f64 %22 %128)
%160 = (*.f64 %20 %128)
%163 = (*.f64 x %128)
%166 = (*.f64 %19 %128)
%169 = (*.f64 y %128)
%172 = (*.f64 %19 z)
%189 = (*.f64 y #s(literal 1 binary64))
%226 = (*.f64 %128 x)
%229 = (*.f64 %128 %19)
%232 = (*.f64 %128 y)
%235 = (*.f64 z %19)
%257 = (*.f64 %128 %133)
%260 = (*.f64 %128 %189)
%267 = (*.f64 z %133)
%270 = (*.f64 z %189)
%293 = (*.f64 %3 #s(literal -1 binary64))
%295 = (*.f64 #s(literal -2 binary64) z)
%297 = (*.f64 #s(literal -1 binary64) %3)
%301 = (-.f64 x (/.f64 %111 z))
%303 = (*.f64 #s(literal 2 binary64) z)
%307 = (-.f64 %132 %19)
%310 = (fma.f64 %20 z %166)
%312 = (*.f64 #s(literal 2 binary64) %155)
%314 = (fma.f64 z x %172)
%316 = (*.f64 #s(literal 2 binary64) %113)
%318 = (fma.f64 %20 z %229)
%321 = (fma.f64 z x %235)
%324 = (-.f64 %160 %229)
%327 = (-.f64 %147 %232)
%330 = (-.f64 %163 %235)
%334 = (neg.f64 %107)
%337 = (neg.f64 %112)
%339 = (neg.f64 %113)
%359 = (neg.f64 %155)
%410 = (fabs.f64 z)
%411 = (/.f64 x %410)
%412 = (/.f64 z %410)
%413 = (/.f64 %172 %113)
%415 = (/.f64 %235 %113)
%418 = (/.f64 (neg.f64 %111) %113)
%420 = (/.f64 %232 %113)
%426 = (*.f64 %108 %19)
%429 = (/.f64 %128 z)
%430 = (/.f64 %20 z)
%457 = (/.f64 y z)
%465 = (/.f64 %147 %155)
%487 = (approx (* (- (/ %34 z) 1/2) 4) #s(literal -2 binary64))
%491 = (/.f64 #s(literal 4 binary64) z)
%493 = (fma.f64 #s(literal -1/2 binary64) z %3)
%495 = (fma.f64 #s(literal 1/2 binary64) z %15)
%496 = (*.f64 %495 #s(literal 4 binary64))
%498 = (-.f64 %118 #s(literal 1/2 binary64))
%502 = (/.f64 #s(literal -4 binary64) z)
%504 = (*.f64 %495 #s(literal -4 binary64))
%507 = (fma.f64 %118 #s(literal 4 binary64) #s(literal -2 binary64))
%515 = (-.f64 #s(literal 1/2 binary64) %118)
%519 = (*.f64 %118 #s(literal 4 binary64))
%520 = (-.f64 %519 #s(literal 1 binary64))
%531 = (*.f64 #s(literal -2 binary64) %128)
%534 = (*.f64 %73 #s(literal -1 binary64))
%538 = (*.f64 %73 #s(literal 1 binary64))
%542 = (*.f64 #s(literal 4 binary64) %107)
%546 = (*.f64 #s(literal 4 binary64) %112)
%549 = (*.f64 z %113)
%551 = (*.f64 %107 #s(literal 4 binary64))
%555 = (*.f64 %112 #s(literal 4 binary64))
%565 = (*.f64 %295 %128)
%568 = (*.f64 %295 z)
%573 = (*.f64 %295 %113)
%575 = (*.f64 %113 z)
%621 = (*.f64 %128 %295)
%624 = (*.f64 z %295)
%629 = (*.f64 %113 %295)
%640 = (*.f64 %504 #s(literal -1 binary64))
%643 = (*.f64 #s(literal -1 binary64) %504)
%646 = (*.f64 %496 #s(literal 1 binary64))
%649 = (fma.f64 #s(literal -2 binary64) %128 %78)
%678 = (*.f64 %118 #s(literal -4 binary64))
%683 = (/.f64 #s(literal 4 binary64) %410)
%684 = (/.f64 %112 %410)
%685 = (*.f64 #s(literal -1/2 binary64) z)
%687 = (/.f64 (*.f64 %685 #s(literal -4 binary64)) %128)
%689 = (*.f64 #s(literal -4 binary64) %685)
%690 = (/.f64 %689 %128)
%692 = (*.f64 %108 %295)
%694 = (*.f64 %295 %108)
%696 = (/.f64 %295 z)
%705 = (/.f64 %112 %128)
%754 = (*.f64 %104 #s(literal 4 binary64))
%802 = (-.f64 %685 y)
%807 = (-.f64 (*.f64 #s(literal 1/2 binary64) z) x)
%810 = (/.f64 %51 z)
%825 = (/.f64 %29 z)
%846 = (/.f64 %40 z)
%850 = (*.f64 %48 #s(literal 1 binary64))
%853 = (*.f64 %40 #s(literal -1 binary64))
%856 = (*.f64 #s(literal -1 binary64) %40)
%884 = (/.f64 %93 z)
%888 = (*.f64 %101 #s(literal 1 binary64))
%891 = (*.f64 %93 #s(literal -1 binary64))
%894 = (*.f64 #s(literal -1 binary64) %93)
%922 = (/.f64 %61 z)
%926 = (*.f64 %69 #s(literal 1 binary64))
%929 = (*.f64 %61 #s(literal -1 binary64))
%932 = (*.f64 #s(literal -1 binary64) %61)
#s(literal 4 binary64)
x
y
(*.f64 (*.f64 %3 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %3)
(*.f64 %3 #s(literal 1 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %16)
(neg.f64 %15)
(-.f64 %19 %20)
%3
(+.f64 %22 %19)
(+.f64 %19 %22)
(+.f64 %19 x)
(+.f64 x %19)
z
#s(literal -4 binary64)
%29
(*.f64 #s(literal 4 binary64) x)
(pow.f64 %29 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %29 #s(literal -1 binary64)))
(*.f64 (*.f64 %40 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %40)
(*.f64 %40 #s(literal 1 binary64))
(pow.f64 %40 #s(literal 1 binary64))
%40
(/.f64 #s(literal 1 binary64) (pow.f64 %40 #s(literal -1 binary64)))
(neg.f64 %48)
(*.f64 %19 #s(literal 4 binary64))
%51
(*.f64 y #s(literal -4 binary64))
(*.f64 #s(literal 4 binary64) %19)
(pow.f64 %51 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %51 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal 4 binary64) y))
(neg.f64 %59)
(*.f64 (*.f64 %61 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %61)
(*.f64 %61 #s(literal 1 binary64))
(pow.f64 %61 #s(literal 1 binary64))
%61
(/.f64 #s(literal 1 binary64) (pow.f64 %61 #s(literal -1 binary64)))
(neg.f64 %69)
(*.f64 %15 #s(literal -4 binary64))
(*.f64 #s(literal -4 binary64) %15)
%73
(*.f64 #s(literal 4 binary64) %3)
(pow.f64 %73 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %73 #s(literal -1 binary64)))
(neg.f64 %78)
(fma.f64 %19 #s(literal 4 binary64) %29)
(fma.f64 #s(literal -4 binary64) y %29)
(fma.f64 y #s(literal -4 binary64) %29)
(fma.f64 x #s(literal 4 binary64) %51)
(fma.f64 #s(literal 4 binary64) %19 %29)
(fma.f64 #s(literal 4 binary64) x %51)
(-.f64 %29 %59)
(-.f64 %29 (*.f64 #s(literal -4 binary64) %19))
(-.f64 %29 (neg.f64 %51))
(+.f64 %51 %29)
(+.f64 %29 %51)
(*.f64 (*.f64 %93 #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %93)
(*.f64 %93 #s(literal 1 binary64))
(pow.f64 %93 #s(literal 1 binary64))
%93
(/.f64 #s(literal 1 binary64) (pow.f64 %93 #s(literal -1 binary64)))
(neg.f64 %101)
#s(literal -2 binary64)
(*.f64 %104 %15)
(*.f64 %107 %108)
(*.f64 %112 (/.f64 #s(literal 1 binary64) %113))
(*.f64 %108 %3)
(*.f64 %15 %104)
(*.f64 #s(literal 1 binary64) %118)
(*.f64 %3 %108)
(pow.f64 %118 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %123 %113) %111) %113)
(/.f64 (-.f64 (*.f64 %127 %128) x) %128)
(/.f64 (-.f64 %132 %133) %128)
(/.f64 (fma.f64 %19 %128 %137) %139)
(/.f64 (fma.f64 %19 z %141) %113)
(/.f64 (fma.f64 %19 z %144) %113)
(/.f64 (fma.f64 %19 %128 %147) %139)
(/.f64 (fma.f64 y %128 %150) %113)
(/.f64 (fma.f64 z y %153) %155)
(/.f64 (fma.f64 z y %157) %155)
(/.f64 (fma.f64 y %128 %160) %113)
(/.f64 (fma.f64 z y %163) %155)
(/.f64 (fma.f64 %136 z %166) %155)
(/.f64 (fma.f64 %136 %128 %169) %113)
(/.f64 (fma.f64 %106 z %172) %113)
(/.f64 (fma.f64 %22 z %172) %113)
(/.f64 (fma.f64 %20 %128 %169) %113)
(/.f64 (+.f64 y %136) %128)
(/.f64 (+.f64 %19 %106) z)
(/.f64 (fma.f64 x #s(literal -1 binary64) y) %128)
(/.f64 (-.f64 %136 %133) %128)
(/.f64 (-.f64 %20 %133) %128)
(/.f64 (-.f64 %106 %189) z)
(/.f64 (-.f64 %22 %189) z)
(/.f64 (-.f64 x %189) z)
(/.f64 (-.f64 %136 %19) %128)
(/.f64 (-.f64 %22 y) z)
(/.f64 (fma.f64 %19 %128 (*.f64 z %136)) %139)
(/.f64 (fma.f64 %19 z (*.f64 z %106)) %113)
(/.f64 (fma.f64 %19 z (*.f64 z %22)) %113)
(/.f64 (fma.f64 %19 %128 (*.f64 z %20)) %139)
(/.f64 (fma.f64 %19 z %110) %113)
(/.f64 (fma.f64 y %128 (*.f64 %128 %136)) %113)
(/.f64 (fma.f64 z y (*.f64 %128 %106)) %155)
(/.f64 (fma.f64 z y (*.f64 %128 %22)) %155)
(/.f64 (fma.f64 y %128 (*.f64 %128 %20)) %113)
(/.f64 (fma.f64 z y %226) %155)
(/.f64 (fma.f64 %136 z %229) %155)
(/.f64 (fma.f64 %136 %128 %232) %113)
(/.f64 (fma.f64 %106 z %235) %113)
(/.f64 (fma.f64 %106 %128 %111) %139)
(/.f64 (fma.f64 %22 z %235) %113)
(/.f64 (fma.f64 %22 %128 %111) %139)
(/.f64 (fma.f64 %20 %128 %232) %113)
(/.f64 (fma.f64 x %128 %111) %139)
(/.f64 (-.f64 (*.f64 %110 %113) (*.f64 %113 %111)) (*.f64 %113 %113))
(/.f64 (-.f64 %166 %110) %139)
(/.f64 (-.f64 %169 %226) %113)
(/.f64 (-.f64 %150 %257) %113)
(/.f64 (-.f64 %137 %260) %155)
(/.f64 (-.f64 %150 %229) %113)
(/.f64 (-.f64 %137 %232) %155)
(/.f64 (-.f64 %153 %267) %139)
(/.f64 (-.f64 %141 %270) %113)
(/.f64 (-.f64 %153 %235) %139)
(/.f64 (-.f64 %141 %111) %113)
(/.f64 (-.f64 %157 %267) %139)
(/.f64 (-.f64 %144 %270) %113)
(/.f64 (-.f64 %157 %235) %139)
(/.f64 (-.f64 %144 %111) %113)
(/.f64 (-.f64 %160 %257) %113)
(/.f64 (-.f64 %147 %260) %155)
(/.f64 (-.f64 %163 %267) %139)
(/.f64 (-.f64 %110 %270) %113)
(/.f64 (*.f64 #s(literal 2 binary64) %293) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %297) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %301) %303)
(/.f64 (*.f64 #s(literal 2 binary64) %16) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %307) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %310) %312)
(/.f64 (*.f64 #s(literal 2 binary64) %314) %316)
(/.f64 (*.f64 #s(literal 2 binary64) %318) %312)
(/.f64 (*.f64 #s(literal 2 binary64) %321) %316)
(/.f64 (*.f64 #s(literal 2 binary64) %324) %316)
(/.f64 (*.f64 #s(literal 2 binary64) %327) %312)
(/.f64 (*.f64 #s(literal 2 binary64) %330) (*.f64 #s(literal 2 binary64) %139))
(/.f64 (*.f64 #s(literal 2 binary64) %334) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %337) (*.f64 #s(literal 2 binary64) %339))
(/.f64 (*.f64 #s(literal 2 binary64) %107) %303)
(/.f64 (*.f64 #s(literal 2 binary64) %112) %316)
(/.f64 (*.f64 #s(literal 2 binary64) %15) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %3) %303)
(/.f64 (neg.f64 %293) z)
(/.f64 (neg.f64 %297) z)
(/.f64 (neg.f64 %301) %128)
(/.f64 (neg.f64 %307) z)
(/.f64 (neg.f64 %310) %359)
(/.f64 (neg.f64 %314) %339)
(/.f64 (neg.f64 %318) %359)
(/.f64 (neg.f64 %321) %339)
(/.f64 (neg.f64 %324) %339)
(/.f64 (neg.f64 %327) %359)
(/.f64 (neg.f64 %330) (neg.f64 %139))
(/.f64 (neg.f64 %334) z)
(/.f64 (neg.f64 %337) (neg.f64 %339))
(/.f64 %293 %128)
(/.f64 %297 %128)
(/.f64 %301 z)
(/.f64 %16 %128)
(/.f64 (-.f64 y %106) %128)
(/.f64 %307 %128)
(/.f64 %310 %155)
(/.f64 %314 %113)
(/.f64 %318 %155)
(/.f64 %321 %113)
(/.f64 %324 %113)
(/.f64 %327 %155)
(/.f64 %330 %139)
(/.f64 %334 %128)
(/.f64 %337 %339)
(/.f64 %107 z)
(/.f64 %112 %113)
(/.f64 %15 %128)
(/.f64 #s(literal 1 binary64) (pow.f64 %118 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 z %107))
(/.f64 #s(literal 1 binary64) (/.f64 %113 %112))
(/.f64 #s(literal 1 binary64) (/.f64 %128 %15))
(/.f64 #s(literal 1 binary64) (/.f64 z %3))
%118
(neg.f64 (/.f64 %15 z))
(fma.f64 %411 %412 %413)
(fma.f64 %411 %412 %415)
(fma.f64 %411 %412 %418)
(fma.f64 %411 %412 %420)
(fma.f64 %412 %411 %413)
(fma.f64 %412 %411 %415)
(fma.f64 %412 %411 %418)
(fma.f64 %412 %411 %420)
(fma.f64 %106 %108 %426)
(fma.f64 %106 %108 %127)
(fma.f64 %429 %430 %413)
(fma.f64 %429 %430 %415)
(fma.f64 %429 %430 %418)
(fma.f64 %429 %430 %420)
(fma.f64 %430 %429 %413)
(fma.f64 %430 %429 %415)
(fma.f64 %430 %429 %418)
(fma.f64 %430 %429 %420)
(fma.f64 %20 %104 %426)
(fma.f64 %20 %104 %127)
(fma.f64 %19 %108 %122)
(fma.f64 %108 %19 %122)
(fma.f64 %108 x %426)
(fma.f64 %108 x %127)
(fma.f64 %122 #s(literal 1 binary64) %413)
(fma.f64 %122 #s(literal 1 binary64) %415)
(fma.f64 %122 #s(literal 1 binary64) %418)
(fma.f64 %122 #s(literal 1 binary64) %420)
(fma.f64 #s(literal 1 binary64) %122 %413)
(fma.f64 #s(literal 1 binary64) %122 %415)
(fma.f64 #s(literal 1 binary64) %122 %418)
(fma.f64 #s(literal 1 binary64) %122 %420)
(fma.f64 y %104 %122)
(fma.f64 x %108 %426)
(fma.f64 x %108 %127)
(-.f64 (/.f64 %132 %128) %457)
(-.f64 (/.f64 %160 %113) (/.f64 %229 %113))
(-.f64 (/.f64 %163 %139) (/.f64 %235 %139))
(-.f64 %465 (/.f64 %232 %155))
(-.f64 %123 (*.f64 %457 #s(literal 1 binary64)))
(-.f64 %127 %430)
(-.f64 %122 %457)
(+.f64 %465 (/.f64 %166 %155))
(+.f64 %465 (/.f64 %229 %155))
(+.f64 %426 %122)
(+.f64 %123 %413)
(+.f64 %123 %415)
(+.f64 %123 %418)
(+.f64 %123 %420)
(+.f64 %127 %122)
(+.f64 %122 %426)
(+.f64 %122 %127)
(pow.f64 %487 #s(literal 1 binary64))
%487
(/.f64 #s(literal 1 binary64) (pow.f64 %487 #s(literal -1 binary64)))
(*.f64 %491 %493)
(*.f64 %104 %496)
(*.f64 %498 #s(literal 4 binary64))
(*.f64 %495 (*.f64 #s(literal 4 binary64) %104))
(*.f64 %495 %502)
(*.f64 %108 %504)
(*.f64 %496 %104)
(*.f64 #s(literal 1 binary64) %507)
(*.f64 %504 %108)
(*.f64 %493 (*.f64 #s(literal -4 binary64) %104))
(*.f64 %493 %491)
(*.f64 #s(literal -4 binary64) (*.f64 %493 %104))
(*.f64 #s(literal -4 binary64) %515)
(*.f64 #s(literal 4 binary64) %498)
(pow.f64 %507 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %520 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %295 (*.f64 #s(literal -4 binary64) %107)) z)
(/.f64 (-.f64 (*.f64 #s(literal -2 binary64) %113) (*.f64 #s(literal -4 binary64) %112)) %113)
(/.f64 (-.f64 %531 %73) %128)
(/.f64 (fma.f64 %295 %128 (*.f64 %534 z)) %139)
(/.f64 (fma.f64 %295 z (*.f64 %538 z)) %113)
(/.f64 (fma.f64 %295 z (*.f64 %542 z)) %113)
(/.f64 (fma.f64 %295 %113 (*.f64 %546 z)) %549)
(/.f64 (fma.f64 %295 z (*.f64 %551 z)) %113)
(/.f64 (fma.f64 %295 %113 (*.f64 %555 z)) %549)
(/.f64 (fma.f64 %295 %128 (*.f64 %78 z)) %139)
(/.f64 (fma.f64 %295 z (*.f64 %73 z)) %113)
(/.f64 (fma.f64 %534 z %565) %155)
(/.f64 (fma.f64 %538 z %568) %113)
(/.f64 (fma.f64 %542 z %568) %113)
(/.f64 (fma.f64 %546 z %573) %575)
(/.f64 (fma.f64 %551 z %568) %113)
(/.f64 (fma.f64 %555 z %573) %575)
(/.f64 (fma.f64 %78 z %565) %155)
(/.f64 (fma.f64 %73 z %568) %113)
(/.f64 (fma.f64 #s(literal -2 binary64) z %538) z)
(/.f64 (fma.f64 #s(literal -2 binary64) z %542) z)
(/.f64 (fma.f64 #s(literal -2 binary64) z %551) z)
(/.f64 (fma.f64 %73 #s(literal 1 binary64) %295) z)
(/.f64 (fma.f64 #s(literal 4 binary64) %107 %295) z)
(/.f64 (fma.f64 %107 #s(literal 4 binary64) %295) z)
(/.f64 (fma.f64 %295 %128 (*.f64 z %534)) %139)
(/.f64 (fma.f64 %295 z (*.f64 z %538)) %113)
(/.f64 (fma.f64 %295 z (*.f64 z %542)) %113)
(/.f64 (fma.f64 %295 %113 (*.f64 z %546)) %549)
(/.f64 (fma.f64 %295 z (*.f64 z %551)) %113)
(/.f64 (fma.f64 %295 %113 (*.f64 z %555)) %549)
(/.f64 (fma.f64 %295 %128 (*.f64 z %78)) %139)
(/.f64 (fma.f64 %295 z (*.f64 z %73)) %113)
(/.f64 (fma.f64 %534 z %621) %155)
(/.f64 (fma.f64 %538 z %624) %113)
(/.f64 (fma.f64 %542 z %624) %113)
(/.f64 (fma.f64 %546 z %629) %575)
(/.f64 (fma.f64 %551 z %624) %113)
(/.f64 (fma.f64 %555 z %629) %575)
(/.f64 (fma.f64 %78 z %621) %155)
(/.f64 (fma.f64 %73 z %624) %113)
(/.f64 (*.f64 #s(literal 2 binary64) %640) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %643) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %646) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %649) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %496) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %504) %303)
(/.f64 (neg.f64 %640) z)
(/.f64 (neg.f64 %643) z)
(/.f64 (neg.f64 %649) z)
(/.f64 %640 %128)
(/.f64 %643 %128)
(/.f64 %646 %128)
(/.f64 %649 %128)
(/.f64 %496 %128)
(/.f64 #s(literal 1 binary64) (pow.f64 %507 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %128 %496))
(/.f64 #s(literal 1 binary64) (/.f64 z %504))
(/.f64 %504 z)
(neg.f64 (*.f64 %515 #s(literal 4 binary64)))
(neg.f64 (*.f64 %108 %496))
(neg.f64 (-.f64 %678 #s(literal -2 binary64)))
(neg.f64 (*.f64 #s(literal -4 binary64) %498))
(fma.f64 %683 %684 %687)
(fma.f64 %683 %684 %690)
(fma.f64 %683 %684 %692)
(fma.f64 %683 %684 %694)
(fma.f64 %683 %684 %696)
(fma.f64 %683 %684 #s(literal -2 binary64))
(fma.f64 %684 %683 %687)
(fma.f64 %684 %683 %690)
(fma.f64 %684 %683 %692)
(fma.f64 %684 %683 %694)
(fma.f64 %684 %683 %696)
(fma.f64 %684 %683 #s(literal -2 binary64))
(fma.f64 %705 %502 %687)
(fma.f64 %705 %502 %690)
(fma.f64 %705 %502 %692)
(fma.f64 %705 %502 %694)
(fma.f64 %705 %502 %696)
(fma.f64 %705 %502 #s(literal -2 binary64))
(fma.f64 %538 %108 %687)
(fma.f64 %538 %108 %690)
(fma.f64 %538 %108 %692)
(fma.f64 %538 %108 %694)
(fma.f64 %538 %108 %696)
(fma.f64 %538 %108 #s(literal -2 binary64))
(fma.f64 %301 %491 %687)
(fma.f64 %301 %491 %690)
(fma.f64 %301 %491 %692)
(fma.f64 %301 %491 %694)
(fma.f64 %301 %491 %696)
(fma.f64 %301 %491 #s(literal -2 binary64))
(fma.f64 %502 %705 %687)
(fma.f64 %502 %705 %690)
(fma.f64 %502 %705 %692)
(fma.f64 %502 %705 %694)
(fma.f64 %502 %705 %696)
(fma.f64 %502 %705 #s(literal -2 binary64))
(fma.f64 %491 %301 %687)
(fma.f64 %491 %301 %690)
(fma.f64 %491 %301 %692)
(fma.f64 %491 %301 %694)
(fma.f64 %491 %301 %696)
(fma.f64 %491 %301 #s(literal -2 binary64))
(fma.f64 %491 %3 %687)
(fma.f64 %491 %3 %690)
(fma.f64 %491 %3 %692)
(fma.f64 %491 %3 %694)
(fma.f64 %491 %3 %696)
(fma.f64 %491 %3 #s(literal -2 binary64))
(fma.f64 %78 %104 %687)
(fma.f64 %78 %104 %690)
(fma.f64 %78 %104 %692)
(fma.f64 %78 %104 %694)
(fma.f64 %78 %104 %696)
(fma.f64 %78 %104 #s(literal -2 binary64))
(fma.f64 %108 %73 %687)
(fma.f64 %108 %73 %690)
(fma.f64 %108 %73 %692)
(fma.f64 %108 %73 %694)
(fma.f64 %108 %73 %696)
(fma.f64 %108 %73 #s(literal -2 binary64))
(fma.f64 %15 %754 %687)
(fma.f64 %15 %754 %690)
(fma.f64 %15 %754 %692)
(fma.f64 %15 %754 %694)
(fma.f64 %15 %754 %696)
(fma.f64 %15 %754 #s(literal -2 binary64))
(fma.f64 %15 %502 %687)
(fma.f64 %15 %502 %690)
(fma.f64 %15 %502 %692)
(fma.f64 %15 %502 %694)
(fma.f64 %15 %502 %696)
(fma.f64 %15 %502 #s(literal -2 binary64))
(fma.f64 %118 #s(literal 4 binary64) %687)
(fma.f64 %118 #s(literal 4 binary64) %690)
(fma.f64 %118 #s(literal 4 binary64) %692)
(fma.f64 %118 #s(literal 4 binary64) %694)
(fma.f64 %118 #s(literal 4 binary64) %696)
%507
(fma.f64 %73 %108 %687)
(fma.f64 %73 %108 %690)
(fma.f64 %73 %108 %692)
(fma.f64 %73 %108 %694)
(fma.f64 %73 %108 %696)
(fma.f64 %73 %108 #s(literal -2 binary64))
(fma.f64 %3 %491 %687)
(fma.f64 %3 %491 %690)
(fma.f64 %3 %491 %692)
(fma.f64 %3 %491 %694)
(fma.f64 %3 %491 %696)
(fma.f64 %3 %491 #s(literal -2 binary64))
(fma.f64 #s(literal 4 binary64) %118 %687)
(fma.f64 #s(literal 4 binary64) %118 %690)
(fma.f64 #s(literal 4 binary64) %118 %692)
(fma.f64 #s(literal 4 binary64) %118 %694)
(fma.f64 #s(literal 4 binary64) %118 %696)
(fma.f64 #s(literal 4 binary64) %118 #s(literal -2 binary64))
(-.f64 %520 #s(literal 1 binary64))
(-.f64 %696 %678)
(-.f64 %519 (/.f64 %689 z))
(-.f64 %519 (/.f64 %303 z))
(-.f64 %519 #s(literal 2 binary64))
(-.f64 #s(literal -2 binary64) %678)
(+.f64 (/.f64 %531 %128) %519)
(+.f64 (/.f64 (*.f64 #s(literal -4 binary64) x) %128) (/.f64 (*.f64 #s(literal -4 binary64) %802) %128))
(+.f64 (/.f64 (*.f64 #s(literal 4 binary64) %807) %128) %810)
(+.f64 (/.f64 (*.f64 x #s(literal -4 binary64)) %128) (/.f64 (*.f64 %802 #s(literal -4 binary64)) %128))
(+.f64 (/.f64 (*.f64 %807 #s(literal 4 binary64)) %128) %810)
(+.f64 %687 %519)
(+.f64 %690 %519)
(+.f64 (/.f64 (fma.f64 #s(literal -2 binary64) z %29) z) %810)
(+.f64 %825 (/.f64 (fma.f64 #s(literal -4 binary64) y %295) z))
(+.f64 %825 (/.f64 (*.f64 #s(literal 4 binary64) %802) z))
(+.f64 %825 (/.f64 (*.f64 %802 #s(literal 4 binary64)) z))
(+.f64 %696 %519)
(+.f64 %519 %687)
(+.f64 %519 %690)
(+.f64 %519 %692)
(+.f64 %519 %694)
(+.f64 %519 %696)
(+.f64 %519 #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) %519)
(*.f64 %104 %48)
(*.f64 %108 %40)
(*.f64 %48 %104)
(*.f64 #s(literal 1 binary64) %846)
(*.f64 %40 %108)
(pow.f64 %846 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %850) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %853) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %856) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %48) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %40) %303)
(/.f64 (neg.f64 %850) z)
(/.f64 (neg.f64 %853) z)
(/.f64 (neg.f64 %856) z)
(/.f64 %850 %128)
(/.f64 %853 %128)
(/.f64 %856 %128)
(/.f64 %48 %128)
(/.f64 #s(literal 1 binary64) (pow.f64 %846 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %128 %48))
(/.f64 #s(literal 1 binary64) (/.f64 z %40))
%846
(neg.f64 (/.f64 %48 z))
(*.f64 %104 %101)
(*.f64 %108 %93)
(*.f64 %101 %104)
(*.f64 #s(literal 1 binary64) %884)
(*.f64 %93 %108)
(pow.f64 %884 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %888) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %891) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %894) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %101) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %93) %303)
(/.f64 (neg.f64 %888) z)
(/.f64 (neg.f64 %891) z)
(/.f64 (neg.f64 %894) z)
(/.f64 %888 %128)
(/.f64 %891 %128)
(/.f64 %894 %128)
(/.f64 %101 %128)
(/.f64 #s(literal 1 binary64) (pow.f64 %884 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %128 %101))
(/.f64 #s(literal 1 binary64) (/.f64 z %93))
%884
(neg.f64 (/.f64 %101 z))
(*.f64 %104 %69)
(*.f64 %108 %61)
(*.f64 %69 %104)
(*.f64 #s(literal 1 binary64) %922)
(*.f64 %61 %108)
(pow.f64 %922 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %926) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %929) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %932) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %69) %295)
(/.f64 (*.f64 #s(literal 2 binary64) %61) %303)
(/.f64 (neg.f64 %926) z)
(/.f64 (neg.f64 %929) z)
(/.f64 (neg.f64 %932) z)
(/.f64 %926 %128)
(/.f64 %929 %128)
(/.f64 %932 %128)
(/.f64 %69 %128)
(/.f64 #s(literal 1 binary64) (pow.f64 %922 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %128 %69))
(/.f64 #s(literal 1 binary64) (/.f64 z %61))
%922
(neg.f64 (/.f64 %69 z))

reconstruct49.0ms (3.3%)

Counts
582 → 111
Compiler

Compiled 582 to 1 073 computations (-84.4% saved)

eval9.0ms (0.6%)

Compiler

Compiled 112 to 323 computations (-188.4% saved)

prune3.0ms (0.2%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1102112
Fresh000
Picked145
Done000
Total1116117
Accuracy
100.0%
Counts
117 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.6%
(fma.f64 #s(literal 4 binary64) (approx (/ (- x y) z) (/.f64 x z)) #s(literal -2 binary64))
66.3%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
35.1%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) x)) z)
37.7%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal -4 binary64) y)) z)
36.0%
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
71.3%
(approx (+ (* 4 (/ (- x y) z)) -2) (-.f64 (*.f64 #s(literal -4 binary64) (/.f64 y z)) #s(literal 2 binary64)))
Compiler

Compiled 6 to 19 computations (-216.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series18.0ms (1.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0106453
Stop Event
iter-limit
Counts
14 → 29
Calls
Call 1
Inputs
%5 = (/.f64 x z)
%6 = (/.f64 y z)
%7 = (*.f64 #s(literal -4 binary64) %6)
%10 = (-.f64 %7 #s(literal 2 binary64))
%13 = (/ (- x y) z)
%18 = (approx %13 %5)
#s(literal 4 binary64)
x
y
z
#s(literal -4 binary64)
%5
%6
%7
#s(literal -2 binary64)
#s(literal 2 binary64)
%10
(approx (+ (* 4 %13) -2) %10)
%18
(fma.f64 #s(literal 4 binary64) %18 #s(literal -2 binary64))
Outputs
%7 = (/.f64 x z)
%11 = (/ (- x y) z)
%14 = (+ (* 4 %11) -2)
%16 = (/.f64 y z)
%17 = (*.f64 #s(literal -4 binary64) %16)
%19 = (-.f64 %17 #s(literal 2 binary64))
%22 = (*.f64 #s(literal 4 binary64) %7)
%33 = (/.f64 y (*.f64 x z))
%35 = (/.f64 #s(literal 1 binary64) z)
%36 = (*.f64 #s(literal 4 binary64) %35)
%57 = (/ y z)
%60 = (* -4 %57)
%63 = (- %60 2)
%66 = (-.f64 %22 #s(literal 2 binary64))
%68 = (/.f64 #s(literal 1 binary64) y)
%70 = (fma.f64 #s(literal 4 binary64) %35 (*.f64 #s(literal 2 binary64) %68))
%75 = (/.f64 x (*.f64 y z))
%101 = (-.f64 x y)
%102 = (/.f64 %101 z)
%103 = (*.f64 #s(literal 4 binary64) %102)
(approx 4 #s(literal 0 binary64))
(approx x x)
(approx (/ x z) %7)
(approx %14 %19)
(approx %14 (-.f64 (fma.f64 #s(literal -4 binary64) %16 %22) #s(literal 2 binary64)))
(approx %11 (*.f64 #s(literal -1 binary64) %16))
(approx %11 (fma.f64 #s(literal -1 binary64) %16 %7))
(approx %14 %22)
(approx %14 (*.f64 x (-.f64 (fma.f64 #s(literal -4 binary64) %33 %36) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x)))))
(approx %11 (*.f64 x (fma.f64 #s(literal -1 binary64) %33 %35)))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %19 x)) %36))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %33 %35))))
(approx y y)
(approx %57 %16)
(approx %60 %17)
(approx %63 #s(literal -2 binary64))
(approx %14 %66)
(approx %63 (*.f64 #s(literal -1 binary64) (*.f64 y %70)))
(approx %14 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) %75) %70)))
(approx %11 (*.f64 y (-.f64 %75 %35)))
(approx %63 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal 2 binary64) %68 %36))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 %66 y) %36))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %75 %35))))
(approx z z)
(approx %63 (/.f64 (fma.f64 #s(literal -4 binary64) y (*.f64 #s(literal -2 binary64) z)) z))
(approx %14 %103)
(approx %14 (/.f64 (fma.f64 #s(literal -2 binary64) z (*.f64 #s(literal 4 binary64) %101)) z))
(approx %11 %102)
(approx %14 (-.f64 %103 #s(literal 2 binary64)))
Calls

9 calls:

TimeVariablePoint
4.0ms
z
0
2.0ms
y
-inf
2.0ms
y
inf
1.0ms
x
-inf
1.0ms
x
inf

rewrite62.0ms (4.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01863
02463
18363
227163
3132463
0410763
0441260
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
14 → 145
Calls
Call 1
Inputs
%5 = (/.f64 x z)
%6 = (/.f64 y z)
%7 = (*.f64 #s(literal -4 binary64) %6)
%10 = (-.f64 %7 #s(literal 2 binary64))
%13 = (/ (- x y) z)
%18 = (approx %13 %5)
#s(literal 4 binary64)
x
y
z
#s(literal -4 binary64)
%5
%6
%7
#s(literal -2 binary64)
#s(literal 2 binary64)
%10
(approx (+ (* 4 %13) -2) %10)
%18
(fma.f64 #s(literal 4 binary64) %18 #s(literal -2 binary64))
Outputs
%6 = (*.f64 #s(literal -1 binary64) x)
%7 = (/.f64 #s(literal -1 binary64) z)
%9 = (neg.f64 x)
%12 = (/.f64 #s(literal 1 binary64) z)
%15 = (/.f64 x z)
%22 = (*.f64 #s(literal -2 binary64) z)
%27 = (+.f64 z z)
%31 = (neg.f64 z)
%42 = (/.f64 %9 z)
%48 = (neg.f64 y)
%49 = (*.f64 %48 #s(literal 1 binary64))
%51 = (*.f64 #s(literal -1 binary64) y)
%56 = (/.f64 y z)
%85 = (/.f64 %48 z)
%89 = (*.f64 #s(literal -4 binary64) y)
%90 = (*.f64 %89 #s(literal -1 binary64))
%92 = (*.f64 %89 #s(literal 1 binary64))
%94 = (/.f64 #s(literal -4 binary64) z)
%97 = (*.f64 y #s(literal 4 binary64))
%101 = (*.f64 %7 #s(literal -4 binary64))
%103 = (/.f64 #s(literal 4 binary64) z)
%105 = (*.f64 %56 #s(literal -4 binary64))
%130 = (*.f64 %56 #s(literal 4 binary64))
%132 = (fma.f64 #s(literal -2 binary64) z %89)
%134 = (fma.f64 #s(literal 2 binary64) z %97)
%136 = (fma.f64 %56 #s(literal -4 binary64) #s(literal -2 binary64))
%142 = (fma.f64 %94 y #s(literal -1 binary64))
%169 = (/.f64 %22 z)
%190 = (/ (- x y) z)
%195 = (approx (- (* %190 4) 2) %136)
%199 = (approx %190 %15)
%203 = (fma.f64 %199 #s(literal 4 binary64) #s(literal -2 binary64))
%205 = (fma.f64 %199 #s(literal 4 binary64) #s(literal -1 binary64))
%213 = (neg.f64 %199)
%217 = (*.f64 %199 #s(literal 4 binary64))
%221 = (neg.f64 %213)
%225 = (*.f64 %221 #s(literal 4 binary64))
#s(literal 4 binary64)
x
y
z
#s(literal -4 binary64)
(*.f64 %6 %7)
(*.f64 %7 %9)
(*.f64 %12 x)
(*.f64 %9 %7)
(*.f64 #s(literal 1 binary64) %15)
(*.f64 x %12)
(pow.f64 %15 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %6) %22)
(/.f64 (*.f64 #s(literal 2 binary64) %9) %22)
(/.f64 (*.f64 #s(literal 2 binary64) x) %27)
(/.f64 (neg.f64 %6) z)
(/.f64 %6 %31)
(/.f64 %9 %31)
(/.f64 #s(literal 1 binary64) (/.f64 %31 %6))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %31 %9))
(/.f64 #s(literal 1 binary64) (/.f64 z x))
%15
(neg.f64 (*.f64 #s(literal 1 binary64) %42))
(neg.f64 (*.f64 %12 %9))
(neg.f64 %42)
(*.f64 %49 %7)
(*.f64 %51 %7)
(*.f64 %7 %48)
(*.f64 %12 y)
(*.f64 %48 %7)
(*.f64 #s(literal 1 binary64) %56)
(*.f64 y %12)
(pow.f64 %56 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %49) %22)
(/.f64 (*.f64 #s(literal 2 binary64) %51) %22)
(/.f64 (*.f64 #s(literal 2 binary64) %48) %22)
(/.f64 (*.f64 #s(literal 2 binary64) y) %27)
(/.f64 (neg.f64 %51) z)
(/.f64 (*.f64 %48 #s(literal -1 binary64)) z)
(/.f64 %49 %31)
(/.f64 %51 %31)
(/.f64 %48 %31)
(/.f64 #s(literal 1 binary64) (/.f64 %31 %49))
(/.f64 #s(literal 1 binary64) (/.f64 %31 %51))
(/.f64 #s(literal 1 binary64) (pow.f64 %56 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %31 %48))
(/.f64 #s(literal 1 binary64) (/.f64 z y))
%56
(neg.f64 (*.f64 #s(literal 1 binary64) %85))
(neg.f64 %85)
(*.f64 %90 %7)
(*.f64 %92 %12)
(*.f64 %94 y)
(*.f64 %85 #s(literal 4 binary64))
(*.f64 %97 %7)
(*.f64 %89 %12)
(*.f64 %12 %89)
(*.f64 %48 %101)
(*.f64 %48 %103)
%105
(*.f64 #s(literal -4 binary64) %56)
(*.f64 y %94)
(*.f64 #s(literal 4 binary64) %85)
(pow.f64 %105 #s(literal 1 binary64))
(/.f64 %90 %31)
(/.f64 %92 z)
(/.f64 %97 %31)
(/.f64 %89 z)
(/.f64 #s(literal 1 binary64) (/.f64 %31 %90))
(/.f64 #s(literal 1 binary64) (/.f64 z %92))
(/.f64 #s(literal 1 binary64) (pow.f64 %105 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %31 %97))
(/.f64 #s(literal 1 binary64) (/.f64 z %89))
(neg.f64 (*.f64 %92 %7))
(neg.f64 (*.f64 %94 %48))
(neg.f64 (*.f64 %12 %97))
(neg.f64 %130)
#s(literal -2 binary64)
#s(literal 2 binary64)
(*.f64 %132 %12)
(*.f64 %134 %7)
(pow.f64 %136 #s(literal 1 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %90) %31)
(/.f64 (fma.f64 #s(literal -2 binary64) z %92) z)
(/.f64 (-.f64 (*.f64 %142 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 %132 z)
(/.f64 %134 %31)
(/.f64 #s(literal 1 binary64) (/.f64 z %132))
(/.f64 #s(literal 1 binary64) (/.f64 %31 %134))
(/.f64 #s(literal 1 binary64) (pow.f64 %136 #s(literal -1 binary64)))
(neg.f64 (fma.f64 %56 #s(literal 4 binary64) #s(literal 2 binary64)))
(fma.f64 %90 %7 #s(literal -2 binary64))
(fma.f64 %92 %12 #s(literal -2 binary64))
(fma.f64 %22 %12 %105)
(fma.f64 %94 y #s(literal -2 binary64))
(fma.f64 %85 #s(literal 4 binary64) #s(literal -2 binary64))
(fma.f64 %97 %7 #s(literal -2 binary64))
(fma.f64 %89 %12 #s(literal -2 binary64))
(fma.f64 %12 %89 #s(literal -2 binary64))
(fma.f64 %48 %101 #s(literal -2 binary64))
(fma.f64 %48 %103 #s(literal -2 binary64))
%136
(fma.f64 #s(literal -4 binary64) %56 #s(literal -2 binary64))
(fma.f64 y %94 #s(literal -2 binary64))
(fma.f64 #s(literal 4 binary64) %85 #s(literal -2 binary64))
(-.f64 %169 %130)
(-.f64 %142 #s(literal 1 binary64))
(-.f64 #s(literal -1 binary64) (fma.f64 %103 y #s(literal 1 binary64)))
(-.f64 #s(literal -2 binary64) (*.f64 %90 %12))
(-.f64 #s(literal -2 binary64) (*.f64 %7 %89))
(-.f64 #s(literal -2 binary64) (*.f64 y %101))
(-.f64 #s(literal -2 binary64) %130)
(-.f64 %105 (/.f64 %27 z))
(-.f64 %105 #s(literal 2 binary64))
(+.f64 %169 %105)
(+.f64 %142 #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) %142)
(+.f64 #s(literal -2 binary64) %105)
(+.f64 %105 #s(literal -2 binary64))
(pow.f64 %195 #s(literal 1 binary64))
%195
(/.f64 #s(literal 1 binary64) (pow.f64 %195 #s(literal -1 binary64)))
(pow.f64 %199 #s(literal 1 binary64))
%199
(/.f64 #s(literal 1 binary64) (pow.f64 %199 #s(literal -1 binary64)))
(pow.f64 %203 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %205 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %203 #s(literal -1 binary64)))
(neg.f64 (fma.f64 %199 #s(literal -4 binary64) #s(literal 2 binary64)))
(fma.f64 %213 #s(literal -4 binary64) #s(literal -2 binary64))
%203
(fma.f64 #s(literal 4 binary64) %199 #s(literal -2 binary64))
(-.f64 %205 #s(literal 1 binary64))
(-.f64 #s(literal -1 binary64) (-.f64 #s(literal 1 binary64) %217))
(-.f64 %217 #s(literal 2 binary64))
(-.f64 #s(literal -2 binary64) (*.f64 (neg.f64 %221) #s(literal 4 binary64)))
(-.f64 #s(literal -2 binary64) (neg.f64 %225))
(-.f64 #s(literal -2 binary64) (*.f64 %199 #s(literal -4 binary64)))
(+.f64 %205 #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) %205)
(+.f64 %217 #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) (*.f64 #s(literal -4 binary64) %213))
(+.f64 #s(literal -2 binary64) %225)
(+.f64 #s(literal -2 binary64) %217)

reconstruct14.0ms (0.9%)

Counts
174 → 53
Compiler

Compiled 174 to 286 computations (-64.4% saved)

eval5.0ms (0.3%)

Compiler

Compiled 46 to 128 computations (-178.3% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (1 fresh and 5 done)

PrunedKeptTotal
New45146
Fresh000
Picked112
Done044
Total46652
Accuracy
100.0%
Counts
52 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.6%
(fma.f64 #s(literal 4 binary64) (approx (/ (- x y) z) (/.f64 x z)) #s(literal -2 binary64))
66.3%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
35.1%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) x)) z)
37.7%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal -4 binary64) y)) z)
36.0%
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
71.3%
(approx (- (* (/ (- x y) z) 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
Compiler

Compiled 6 to 17 computations (-183.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series12.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086341
Stop Event
iter-limit
Counts
7 → 20
Calls
Call 1
Inputs
%3 = (/.f64 y z)
%5 = (fma.f64 %3 #s(literal -4 binary64) #s(literal -2 binary64))
y
z
#s(literal -4 binary64)
%3
#s(literal -2 binary64)
%5
(approx (- (* (/ (- x y) z) 4) 2) %5)
Outputs
%10 = (- (* (/ (- x y) z) 4) 2)
%12 = (/.f64 y z)
%13 = (*.f64 #s(literal -4 binary64) %12)
%15 = (-.f64 %13 #s(literal 2 binary64))
%19 = (*.f64 #s(literal 4 binary64) (/.f64 x z))
%27 = (/.f64 #s(literal 1 binary64) z)
%28 = (*.f64 #s(literal 4 binary64) %27)
%43 = (/ y z)
%48 = (+ (* %43 -4) -2)
%51 = (-.f64 %19 #s(literal 2 binary64))
%54 = (/.f64 #s(literal 1 binary64) y)
%56 = (fma.f64 #s(literal 4 binary64) %27 (*.f64 #s(literal 2 binary64) %54))
%80 = (-.f64 x y)
%82 = (*.f64 #s(literal 4 binary64) (/.f64 %80 z))
(approx y #s(literal 0 binary64))
(approx %10 %15)
(approx %10 (-.f64 (fma.f64 #s(literal -4 binary64) %12 %19) #s(literal 2 binary64)))
(approx %10 %19)
(approx %10 (*.f64 x (-.f64 (fma.f64 #s(literal -4 binary64) (/.f64 y (*.f64 x z)) %28) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %15 x)) %28))))
(approx y y)
(approx %43 %12)
(approx %48 #s(literal -2 binary64))
(approx %10 %51)
(approx %48 %13)
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 y %56)))
(approx %10 (*.f64 y (-.f64 (*.f64 #s(literal 4 binary64) (/.f64 x (*.f64 y z))) %56)))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal 2 binary64) %54 %28))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) (/.f64 %51 y) %28))))
(approx z z)
(approx %48 (/.f64 (fma.f64 #s(literal -4 binary64) y (*.f64 #s(literal -2 binary64) z)) z))
(approx %10 %82)
(approx %10 (/.f64 (fma.f64 #s(literal -2 binary64) z (*.f64 #s(literal 4 binary64) %80)) z))
(approx %10 (-.f64 %82 #s(literal 2 binary64)))
Calls

9 calls:

TimeVariablePoint
1.0ms
y
-inf
1.0ms
y
inf
1.0ms
y
0
1.0ms
z
0
1.0ms
z
-inf

rewrite60.0ms (4.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01429
01729
16529
222229
3101529
0418629
0444428
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 75
Calls
Call 1
Inputs
%3 = (/.f64 y z)
%5 = (fma.f64 %3 #s(literal -4 binary64) #s(literal -2 binary64))
y
z
#s(literal -4 binary64)
%3
#s(literal -2 binary64)
%5
(approx (- (* (/ (- x y) z) 4) 2) %5)
Outputs
%8 = (/.f64 #s(literal -1 binary64) z)
%9 = (neg.f64 y)
%11 = (/.f64 %9 z)
%14 = (/.f64 #s(literal 1 binary64) z)
%17 = (/.f64 y z)
%24 = (*.f64 #s(literal -2 binary64) z)
%27 = (+.f64 z z)
%29 = (neg.f64 z)
%38 = (*.f64 #s(literal -4 binary64) y)
%39 = (fma.f64 #s(literal -2 binary64) z %38)
%42 = (fma.f64 #s(literal 4 binary64) y %27)
%44 = (fma.f64 %17 #s(literal -4 binary64) #s(literal -2 binary64))
%46 = (/.f64 z z)
%47 = (*.f64 #s(literal -2 binary64) %46)
%48 = (*.f64 #s(literal 4 binary64) y)
%53 = (/.f64 #s(literal -4 binary64) z)
%54 = (fma.f64 %53 y #s(literal -1 binary64))
%60 = (*.f64 %29 z)
%64 = (*.f64 z z)
%82 = (*.f64 %17 #s(literal -4 binary64))
%86 = (/.f64 #s(literal 4 binary64) z)
%110 = (*.f64 #s(literal 4 binary64) %17)
%130 = (approx (- (* 4 (/ (- x y) z)) 2) %44)
y
z
#s(literal -4 binary64)
(*.f64 (+.f64 y y) (/.f64 #s(literal 1/2 binary64) z))
(*.f64 %8 %9)
(*.f64 #s(literal -1 binary64) %11)
(*.f64 %14 y)
(*.f64 %9 %8)
(*.f64 #s(literal 1 binary64) %17)
(*.f64 y %14)
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %9) %24)
(/.f64 (*.f64 #s(literal 2 binary64) y) %27)
(/.f64 %9 %29)
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %29 %9))
(/.f64 #s(literal 1 binary64) (/.f64 z y))
%17
(neg.f64 %11)
#s(literal -2 binary64)
(*.f64 %39 %14)
(*.f64 %42 %8)
(pow.f64 %44 #s(literal 1 binary64))
(/.f64 (fma.f64 %47 %29 %48) %29)
(/.f64 (fma.f64 %47 z %38) z)
(/.f64 (-.f64 (*.f64 %54 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %24 %29 (*.f64 %48 z)) %60)
(/.f64 (fma.f64 %24 z (*.f64 %38 z)) %64)
(/.f64 (fma.f64 %24 %29 (*.f64 z %48)) %60)
(/.f64 (fma.f64 %24 z (*.f64 z %38)) %64)
(/.f64 %39 z)
(/.f64 %42 %29)
(/.f64 #s(literal 1 binary64) (/.f64 %29 %42))
(/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 z %39))
(neg.f64 (fma.f64 #s(literal 4 binary64) %17 #s(literal 2 binary64)))
(fma.f64 %24 %14 %82)
(fma.f64 %53 y %47)
(fma.f64 %53 y #s(literal -2 binary64))
(fma.f64 %86 %9 %47)
(fma.f64 %86 %9 #s(literal -2 binary64))
(fma.f64 %11 #s(literal 4 binary64) %47)
(fma.f64 %11 #s(literal 4 binary64) #s(literal -2 binary64))
(fma.f64 %48 %8 %47)
(fma.f64 %48 %8 #s(literal -2 binary64))
(fma.f64 %38 %14 %47)
(fma.f64 %38 %14 #s(literal -2 binary64))
(fma.f64 %14 %38 %47)
(fma.f64 %14 %38 #s(literal -2 binary64))
(fma.f64 %9 %86 %47)
(fma.f64 %9 %86 #s(literal -2 binary64))
(fma.f64 #s(literal 4 binary64) %11 %47)
(fma.f64 #s(literal 4 binary64) %11 #s(literal -2 binary64))
(fma.f64 #s(literal -2 binary64) %46 %82)
(fma.f64 %17 #s(literal -4 binary64) %47)
%44
(fma.f64 #s(literal -4 binary64) %17 %47)
(fma.f64 #s(literal -4 binary64) %17 #s(literal -2 binary64))
(fma.f64 z (/.f64 #s(literal -2 binary64) z) %82)
(fma.f64 y %53 %47)
(fma.f64 y %53 #s(literal -2 binary64))
(-.f64 %54 #s(literal 1 binary64))
(-.f64 %47 %110)
(-.f64 #s(literal -1 binary64) (/.f64 (-.f64 z %38) z))
(-.f64 %82 #s(literal 2 binary64))
(-.f64 #s(literal -2 binary64) %110)
(+.f64 %54 #s(literal -1 binary64))
(+.f64 %47 %82)
(+.f64 #s(literal -1 binary64) %54)
(+.f64 %82 %47)
(+.f64 %82 #s(literal -2 binary64))
(+.f64 #s(literal -2 binary64) %82)
(pow.f64 %130 #s(literal 1 binary64))
%130
(/.f64 #s(literal 1 binary64) (pow.f64 %130 #s(literal -1 binary64)))

reconstruct8.0ms (0.5%)

Counts
95 → 34
Compiler

Compiled 95 to 174 computations (-83.2% saved)

eval3.0ms (0.2%)

Compiler

Compiled 31 to 96 computations (-209.7% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New31031
Fresh000
Picked011
Done055
Total31637
Accuracy
100.0%
Counts
37 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
68.6%
(fma.f64 #s(literal 4 binary64) (approx (/ (- x y) z) (/.f64 x z)) #s(literal -2 binary64))
66.3%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
35.1%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal 4 binary64) x)) z)
37.7%
(/.f64 (approx (* 4 (- (- x y) (* z 1/2))) (*.f64 #s(literal -4 binary64) y)) z)
36.0%
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
71.3%
(approx (- (* (/ (- x y) z) 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
Compiler

Compiled 6 to 17 computations (-183.3% saved)

regimes25.0ms (1.7%)

Accuracy

Total 28.6b remaining (31.8%)

Threshold costs 0.4b (0.5%)

14.7b62.4%
8.2b53.7%
5.3b70.5%
0.2b98.8%
0.2b99.1%

Counts
1 → 1
2 → 3
3 → 4
4 → 3
5 → 3
6 → 3
8 → 1
Calls
Call 1
Inputs
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
Outputs
(approx (/ (* 4 (- (- x y) (* z 1/2))) z) #s(literal -2 binary64))
Call 2
Inputs
%8 = (* 4 (- (- x y) (* z 1/2)))
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
Outputs
%8 = (* 4 (- (- x y) (* z 1/2)))
%12 = (/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
%12
(approx (/ %8 z) #s(literal -2 binary64))
%12
Call 3
Inputs
%8 = (* 4 (- (- x y) (* z 1/2)))
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
Outputs
%8 = (* 4 (- (- x y) (* z 1/2)))
%16 = (/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
%16
(approx (/ %8 z) #s(literal -2 binary64))
%16
Call 4
Inputs
%3 = (- x y)
%8 = (* 4 (- %3 (* z 1/2)))
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
(approx (- (* (/ %3 z) 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
Outputs
%3 = (- x y)
%12 = (/.f64 (approx (* 4 (- %3 (* z 1/2))) (*.f64 #s(literal 4 binary64) x)) z)
%12
(approx (- (* (/ %3 z) 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
%12
Call 5
Inputs
%3 = (- x y)
%8 = (* 4 (- %3 (* z 1/2)))
%20 = (/ %3 z)
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
(approx (- (* %20 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
(fma.f64 #s(literal 4 binary64) (approx %20 (/.f64 x z)) #s(literal -2 binary64))
Outputs
%5 = (/ (- x y) z)
%9 = (fma.f64 #s(literal 4 binary64) (approx %5 (/.f64 x z)) #s(literal -2 binary64))
%9
(approx (- (* %5 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
%9
Call 6
Inputs
%3 = (- x y)
%8 = (* 4 (- %3 (* z 1/2)))
%20 = (/ %3 z)
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
(approx (- (* %20 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
(fma.f64 #s(literal 4 binary64) (approx %20 (/.f64 x z)) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
Outputs
%3 = (- x y)
%13 = (/.f64 (approx (* 4 (- %3 (* z 1/2))) (*.f64 #s(literal 4 binary64) (-.f64 x y))) z)
%13
(approx (- (* (/ %3 z) 4) 2) (fma.f64 (/.f64 y z) #s(literal -4 binary64) #s(literal -2 binary64)))
%13
Call 7
Inputs
%3 = (- x y)
%8 = (* 4 (- %3 (* z 1/2)))
%20 = (/ %3 z)
%24 = (/.f64 y z)
%30 = (-.f64 x y)
(approx (/ %8 z) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal -4 binary64) y)) z)
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) x)) z)
(approx (- (* %20 4) 2) (fma.f64 %24 #s(literal -4 binary64) #s(literal -2 binary64)))
(fma.f64 #s(literal 4 binary64) (approx %20 (/.f64 x z)) #s(literal -2 binary64))
(/.f64 (approx %8 (*.f64 #s(literal 4 binary64) %30)) z)
(approx (+ (* 4 %20) -2) (-.f64 (*.f64 #s(literal -4 binary64) %24) #s(literal 2 binary64)))
(fma.f64 #s(literal 4 binary64) (/.f64 %30 z) #s(literal -2 binary64))
Outputs
(fma.f64 #s(literal 4 binary64) (/.f64 (-.f64 x y) z) #s(literal -2 binary64))
Calls

5 calls:

6.0ms
x
5.0ms
z
5.0ms
y
5.0ms
(-.f64 x y)
4.0ms
(/.f64 (*.f64 #s(literal 4 binary64) (-.f64 (-.f64 x y) (*.f64 z #s(literal 1/2 binary64)))) z)
Results
AccuracySegmentsBranch
36.0%1
z
36.0%1
y
36.0%1
x
36.0%1
(/.f64 (*.f64 #s(literal 4 binary64) (-.f64 (-.f64 x y) (*.f64 z #s(literal 1/2 binary64)))) z)
36.0%1
(-.f64 x y)
Compiler

Compiled 14 to 37 computations (-164.3% saved)

bsearch0.0ms (0.0%)

bsearch1.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
4737.334597067973
11545968030767324.0
0.0ms
-4626544592280276000.0
-7967238880397409.0
Compiler

Compiled 1 to 10 computations (-900.0% saved)

bsearch13.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
62260.204266303816
486111.75615553296
8.0ms
-0.003879612161427806
-9.294176476855927e-9
Samples
5.0ms240×0valid
Compiler

Compiled 18 to 34 computations (-88.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Div: 0.0ms (0.0% of total, 0.0 MiB)
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)

bsearch14.0ms (1.0%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
2.8979534340792528e+137
1.3315237834376074e+147
5.0ms
-1.5154749511009043e+102
-1.0545579327612945e+100
Samples
6.0ms272×0valid
Compiler

Compiled 18 to 34 computations (-88.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Div: 0.0ms (0.0% of total, 0.0 MiB)
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)

bsearch1.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.99999438946199
4737.334597067973
0.0ms
-7967238880397409.0
-2.0000000002749183
0.0ms
-2.588410933241958e+173
-1.2084514669692573e+168
Compiler

Compiled 1 to 10 computations (-900.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.99999438946199
4737.334597067973
0.0ms
-7967238880397409.0
-2.0000000002749183
Compiler

Compiled 1 to 10 computations (-900.0% saved)

bsearch0.0ms (0.0%)

derivations39.0ms (2.7%)

Stop Event
done
Compiler

Compiled 7 to 51 computations (-628.6% saved)

preprocess36.0ms (2.5%)

Compiler

Compiled 8 to 61 computations (-662.5% saved)

end0.0ms (0.0%)

gc257ms (17.4%)

Allocations
AllocatedPercentPhase
786.3 MiB48.8%sample
279.1 MiB17.3%rewrite
105.8 MiB6.6%series
105.5 MiB6.6%reconstruct
104.0 MiB6.5%preprocess
64.2 MiB4.0%analyze
60.1 MiB3.7%regimes
39.8 MiB2.5%bsearch
36.8 MiB2.3%eval
18.5 MiB1.1%prune
9.6 MiB0.6%derivations
0.4 MiB0.0%start
0.0 MiB0.0%end
1 610.0 MiB100.0%total

Profiling

Loading profile data...