Data.Colour.RGB:hslsv from colour-2.3.3, D

Time bar (total: 1.7s)

start0.0ms (0.0%)

analyze10.0ms (0.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
25.0%25.0%74.9%0.1%0.0%0.0%0.0%3
37.5%37.5%62.4%0.1%0.0%0.0%0.0%4
56.3%56.2%43.7%0.1%0.0%0.0%0.0%5
65.6%65.6%34.3%0.1%0.0%0.0%0.0%6
76.6%76.5%23.4%0.1%0.0%0.0%0.0%7
82.0%82.0%18.0%0.1%0.0%0.0%0.0%8
87.9%87.8%12.1%0.1%0.0%0.0%0.0%9
90.8%90.7%9.2%0.1%0.0%0.0%0.0%10
93.8%93.8%6.1%0.1%0.0%0.0%0.0%11
95.4%95.3%4.6%0.1%0.0%0.0%0.0%12
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample165.0ms (10.0%)

Samples
744.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Div: 5.0ms (48.5% of total, 0.0 MiB)
Sub: 3.0ms (29.1% of total, 0.0 MiB)
Add: 2.0ms (19.4% of total, 0.0 MiB)
Bogosity

preprocess23.0ms (1.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01842
111342
231942
3121042
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 x y) (+.f64 x y))
Compiler

Compiled 2 to 10 computations (-400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series15.0ms (0.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0178670
Stop Event
iter-limit
Counts
5 → 34
Calls
Call 1
Inputs
%2 = (-.f64 x y)
%3 = (+.f64 x y)
x
y
%2
%3
(/.f64 %2 %3)
Outputs
%5 = (- x y)
%7 = (*.f64 #s(literal -1 binary64) y)
%11 = (+ x y)
%15 = (/ %5 %11)
%18 = (/.f64 x y)
%24 = (pow.f64 y #s(literal 2 binary64))
%27 = (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) y))
%33 = (pow.f64 y #s(literal 3 binary64))
%43 = (/.f64 y x)
%44 = (*.f64 #s(literal -1 binary64) %43)
%45 = (+.f64 #s(literal 1 binary64) %44)
%54 = (-.f64 %7 y)
%55 = (*.f64 y %54)
%56 = (pow.f64 x #s(literal 2 binary64))
%57 = (/.f64 %55 %56)
%63 = (*.f64 %24 %54)
%64 = (pow.f64 x #s(literal 3 binary64))
%102 = (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) x))
%122 = (*.f64 #s(literal -1 binary64) %18)
%123 = (+.f64 #s(literal 1 binary64) %122)
%126 = (*.f64 #s(literal -1 binary64) x)
%127 = (-.f64 x %126)
%129 = (/.f64 (*.f64 x %127) %24)
%147 = (-.f64 %126 x)
%152 = (*.f64 x %147)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %7)
(approx %5 (-.f64 x y))
(approx %11 y)
(approx %11 (+.f64 x y))
(approx %15 #s(literal -1 binary64))
(approx %15 (-.f64 (*.f64 #s(literal 2 binary64) %18) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 x (fma.f64 #s(literal -2 binary64) (/.f64 x %24) %27)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 x (fma.f64 x (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 x %33)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %24))) %27)) #s(literal 1 binary64)))
(approx %5 (*.f64 x %45))
(approx %11 (*.f64 x (+.f64 #s(literal 1 binary64) %43)))
(approx %15 #s(literal 1 binary64))
(approx %15 (-.f64 %45 %43))
(approx %15 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %43 (*.f64 #s(literal -1 binary64) %57))) %43))
(approx %15 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %43 (/.f64 %63 %64))) (+.f64 %43 %57)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %43 #s(literal 1 binary64)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %44 #s(literal 1 binary64)))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %54 (/.f64 %55 x)) x))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %54 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %55 (/.f64 %63 x)) x))) x))))
(approx %5 (+.f64 x %7))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) %43)))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 y %56)) %102))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 y (fma.f64 #s(literal -2 binary64) (/.f64 y %64) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %56)))) %102))))
(approx %5 (*.f64 y (-.f64 %18 #s(literal 1 binary64))))
(approx %11 (*.f64 y (+.f64 #s(literal 1 binary64) %18)))
(approx %15 (-.f64 %18 %123))
(approx %15 (-.f64 (fma.f64 #s(literal -1 binary64) %129 %18) %123))
(approx %15 (-.f64 (+.f64 %18 (/.f64 (*.f64 %56 %127) %33)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %18 %129))))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y %123)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %122 #s(literal 1 binary64)))))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %147 y)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %152 y))) x) y)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 %56 %147) y)) (*.f64 #s(literal -1 binary64) %152)) y))) x) y)) #s(literal 1 binary64)))
Calls

6 calls:

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

rewrite79.0ms (4.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0515
0815
13115
210715
340315
4232415
0450215
0496015
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 280
Calls
Call 1
Inputs
%2 = (-.f64 x y)
%3 = (+.f64 x y)
x
y
%2
%3
(/.f64 %2 %3)
Outputs
%2 = (-.f64 y x)
%4 = (*.f64 %2 #s(literal -2 binary64))
%7 = (-.f64 x y)
%8 = (*.f64 %7 #s(literal 1/2 binary64))
%11 = (*.f64 %2 #s(literal 2 binary64))
%14 = (*.f64 #s(literal 2 binary64) %7)
%17 = (*.f64 #s(literal 1/2 binary64) %7)
%19 = (+.f64 y x)
%20 = (*.f64 %19 %7)
%22 = (/.f64 #s(literal 1 binary64) %19)
%30 = (neg.f64 y)
%31 = (*.f64 %30 %19)
%32 = (*.f64 %31 %19)
%33 = (neg.f64 x)
%34 = (*.f64 %33 %19)
%35 = (*.f64 %19 %34)
%37 = (*.f64 %19 %19)
%39 = (neg.f64 %19)
%40 = (*.f64 %31 %39)
%41 = (*.f64 %19 x)
%42 = (*.f64 %19 %41)
%44 = (*.f64 %39 %19)
%46 = (*.f64 %19 y)
%47 = (*.f64 %46 %19)
%48 = (*.f64 %39 %34)
%51 = (*.f64 %46 %39)
%52 = (*.f64 %39 %41)
%55 = (*.f64 x #s(literal 2 binary64))
%57 = (*.f64 y #s(literal 2 binary64))
%62 = (*.f64 %55 %39)
%63 = (*.f64 #s(literal 2 binary64) %31)
%65 = (*.f64 #s(literal 2 binary64) %39)
%67 = (*.f64 %55 %19)
%68 = (*.f64 #s(literal 2 binary64) %46)
%70 = (*.f64 #s(literal 2 binary64) %19)
%77 = (*.f64 %34 %39)
%78 = (*.f64 %39 %31)
%81 = (*.f64 %34 %19)
%82 = (*.f64 %39 %46)
%90 = (*.f64 %41 %39)
%91 = (*.f64 %19 %31)
%94 = (*.f64 %41 %19)
%95 = (*.f64 %19 %46)
%98 = (neg.f64 %14)
%102 = (*.f64 %19 %2)
%105 = (/.f64 #s(literal -1 binary64) %19)
%106 = (*.f64 %105 %19)
%109 = (*.f64 %22 %39)
%118 = (*.f64 %7 #s(literal 0 binary64))
%120 = (*.f64 #s(literal 0 binary64) %7)
%127 = (*.f64 x %33)
%128 = (/.f64 y %19)
%129 = (fma.f64 %128 x %30)
%131 = (*.f64 %128 x)
%132 = (-.f64 %131 y)
%136 = (*.f64 y %33)
%137 = (/.f64 x %19)
%138 = (fma.f64 %137 x %30)
%140 = (*.f64 %137 x)
%141 = (-.f64 %140 y)
%145 = (*.f64 y x)
%148 = (*.f64 x x)
%158 = (/.f64 %33 %19)
%161 = (/.f64 %30 %19)
%253 = (/.f64 #s(literal -1/2 binary64) %19)
%255 = (/.f64 #s(literal 1/2 binary64) %19)
%259 = (/.f64 #s(literal 1 binary64) %37)
%261 = (/.f64 %7 %19)
%262 = (*.f64 #s(literal 2 binary64) %261)
%272 = (/.f64 %2 %19)
%280 = (*.f64 #s(literal -1 binary64) %30)
%281 = (*.f64 %280 %39)
%282 = (*.f64 %33 #s(literal -1 binary64))
%283 = (*.f64 %39 %282)
%291 = (*.f64 %30 #s(literal -1 binary64))
%292 = (*.f64 %291 %39)
%305 = (fabs.f64 %19)
%307 = (/.f64 %46 %305)
%308 = (*.f64 %19 %307)
%310 = (*.f64 %19 %305)
%312 = (*.f64 %282 %19)
%313 = (*.f64 %19 %291)
%318 = (*.f64 %19 %44)
%322 = (*.f64 %19 %37)
%329 = (/.f64 %41 %305)
%334 = (*.f64 %329 %19)
%337 = (*.f64 %305 %19)
%364 = (*.f64 %44 %19)
%369 = (*.f64 %37 %37)
%390 = (*.f64 %37 %19)
%431 = (*.f64 %20 #s(literal 1 binary64))
%436 = (/.f64 %20 %305)
%440 = (fma.f64 %161 %39 %33)
%443 = (fma.f64 %161 %19 x)
%447 = (-.f64 (*.f64 %137 %37) %46)
%451 = (-.f64 (*.f64 %161 %39) x)
%456 = (-.f64 (*.f64 %41 %37) (*.f64 %37 %46))
%460 = (*.f64 #s(literal 2 binary64) %102)
%462 = (*.f64 #s(literal 2 binary64) %44)
%465 = (*.f64 #s(literal 2 binary64) %20)
%467 = (*.f64 #s(literal 2 binary64) %37)
%470 = (*.f64 #s(literal 2 binary64) %2)
%508 = (*.f64 %33 #s(literal 2 binary64))
%509 = (/.f64 %31 %37)
%516 = (/.f64 x %305)
%517 = (copysign.f64 #s(literal 1 binary64) %19)
%522 = (/.f64 %39 %19)
%527 = (*.f64 %255 x)
%552 = (/.f64 x %37)
%555 = (/.f64 %137 %19)
x
y
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %8 #s(literal 2 binary64))
(*.f64 %11 #s(literal -1/2 binary64))
(*.f64 %14 #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) %14)
(*.f64 #s(literal 2 binary64) %17)
(*.f64 %20 %22)
(*.f64 #s(literal -1 binary64) %2)
(*.f64 %2 #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) %7)
(*.f64 %7 #s(literal 1 binary64))
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 (-.f64 %32 %35) %37)
(/.f64 (-.f64 %40 %42) %44)
(/.f64 (-.f64 %47 %48) %44)
(/.f64 (-.f64 %51 %52) %37)
(/.f64 (-.f64 (*.f64 %55 #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) %57)) #s(literal 4 binary64))
(/.f64 (-.f64 %62 %63) %65)
(/.f64 (-.f64 %67 %68) %70)
(/.f64 (-.f64 (*.f64 %34 #s(literal 2 binary64)) (*.f64 %39 %57)) (*.f64 %39 #s(literal 2 binary64)))
(/.f64 (-.f64 %77 %78) %37)
(/.f64 (-.f64 %81 %82) %44)
(/.f64 (-.f64 (*.f64 %41 #s(literal 2 binary64)) (*.f64 %19 %57)) (*.f64 %19 #s(literal 2 binary64)))
(/.f64 (-.f64 %90 %91) %44)
(/.f64 (-.f64 %94 %95) %37)
(/.f64 %98 #s(literal -2 binary64))
(/.f64 %11 #s(literal -2 binary64))
(/.f64 %14 #s(literal 2 binary64))
(/.f64 %102 %39)
(/.f64 %20 %19)
(/.f64 #s(literal 1 binary64) (pow.f64 %7 %106))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 %109))
(/.f64 #s(literal 1 binary64) (/.f64 %19 %20))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %2)
(fma.f64 %4 #s(literal 1/2 binary64) %118)
(fma.f64 %4 #s(literal 1/2 binary64) %120)
(fma.f64 (*.f64 y #s(literal -2 binary64)) #s(literal 1/2 binary64) x)
(fma.f64 %57 #s(literal -1/2 binary64) x)
(fma.f64 %8 #s(literal 2 binary64) %118)
(fma.f64 %8 #s(literal 2 binary64) %120)
(fma.f64 %127 %105 %129)
(fma.f64 %127 %105 %132)
(fma.f64 %11 #s(literal -1/2 binary64) %118)
(fma.f64 %11 #s(literal -1/2 binary64) %120)
(fma.f64 %136 %105 %138)
(fma.f64 %136 %105 %141)
(fma.f64 %14 #s(literal 1/2 binary64) %118)
(fma.f64 %14 #s(literal 1/2 binary64) %120)
(fma.f64 %145 %22 %138)
(fma.f64 %145 %22 %141)
(fma.f64 %148 %22 %129)
(fma.f64 %148 %22 %132)
(fma.f64 #s(literal 1/2 binary64) %14 %118)
(fma.f64 #s(literal 1/2 binary64) %14 %120)
(fma.f64 #s(literal 1/2 binary64) %7 %17)
(fma.f64 #s(literal 2 binary64) %17 %118)
(fma.f64 #s(literal 2 binary64) %17 %120)
(fma.f64 %20 %22 %118)
(fma.f64 %20 %22 %120)
(fma.f64 %33 %158 %129)
(fma.f64 %33 %158 %132)
(fma.f64 %33 %161 %138)
(fma.f64 %33 %161 %141)
(fma.f64 #s(literal -1 binary64) %2 %118)
(fma.f64 #s(literal -1 binary64) %2 %120)
(fma.f64 #s(literal -1 binary64) y x)
(fma.f64 %30 #s(literal 1 binary64) x)
(fma.f64 %22 %145 %138)
(fma.f64 %22 %145 %141)
(fma.f64 %22 %148 %129)
(fma.f64 %22 %148 %132)
(fma.f64 %22 %31 x)
(fma.f64 %128 %39 x)
(fma.f64 %128 x %138)
(fma.f64 %128 x %141)
(fma.f64 %137 y %138)
(fma.f64 %137 y %141)
(fma.f64 %137 x %129)
(fma.f64 %137 x %132)
(fma.f64 %39 %128 x)
(fma.f64 %2 #s(literal -1 binary64) %118)
(fma.f64 %2 #s(literal -1 binary64) %120)
(fma.f64 #s(literal 1 binary64) %140 %129)
(fma.f64 #s(literal 1 binary64) %140 %132)
(fma.f64 #s(literal 1 binary64) %131 %138)
(fma.f64 #s(literal 1 binary64) %131 %141)
(fma.f64 #s(literal 1 binary64) %30 x)
(fma.f64 #s(literal 1 binary64) %7 %118)
(fma.f64 #s(literal 1 binary64) %7 %120)
(fma.f64 %7 #s(literal 1/2 binary64) %8)
(fma.f64 %7 #s(literal 1 binary64) %118)
(fma.f64 %7 #s(literal 1 binary64) %120)
(fma.f64 y %109 x)
(fma.f64 y #s(literal -1 binary64) x)
(fma.f64 y %137 %138)
(fma.f64 y %137 %141)
(fma.f64 x %128 %138)
(fma.f64 x %128 %141)
(fma.f64 x %137 %129)
(fma.f64 x %137 %132)
(-.f64 %30 %33)
%7
(+.f64 %8 %8)
(+.f64 %17 %17)
(+.f64 %140 %129)
(+.f64 %140 %132)
(+.f64 %131 %138)
(+.f64 %131 %141)
(+.f64 %30 x)
(+.f64 %7 %118)
(+.f64 %7 %120)
(+.f64 x %30)
(*.f64 #s(literal 1 binary64) %19)
(pow.f64 %19 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %57 %19) (*.f64 #s(literal 2 binary64) %34)) %70)
(/.f64 (-.f64 (*.f64 %57 %39) (*.f64 #s(literal 2 binary64) %41)) %65)
(/.f64 (-.f64 %32 %48) %44)
(/.f64 (-.f64 %40 %52) %37)
(/.f64 (-.f64 %47 %35) %37)
(/.f64 (-.f64 %51 %42) %44)
(/.f64 (-.f64 %67 %63) %70)
(/.f64 (-.f64 %62 %68) %65)
(/.f64 (-.f64 %81 %78) %44)
(/.f64 (-.f64 %77 %82) %37)
(/.f64 (-.f64 %94 %91) %37)
(/.f64 (-.f64 %90 %95) %44)
(/.f64 #s(literal 1 binary64) (pow.f64 %19 %106))
(/.f64 #s(literal 1 binary64) (pow.f64 %19 %109))
(/.f64 #s(literal 1 binary64) %22)
(neg.f64 %39)
(-.f64 y %33)
(-.f64 x %30)
%19
(+.f64 x y)
(*.f64 (*.f64 %22 %14) #s(literal 1/2 binary64))
(*.f64 %11 %253)
(*.f64 %14 %255)
(*.f64 %102 (/.f64 #s(literal -1 binary64) %37))
(*.f64 %259 %20)
(*.f64 #s(literal 1/2 binary64) %262)
(*.f64 #s(literal 2 binary64) (*.f64 %253 %2))
(*.f64 #s(literal 2 binary64) (*.f64 %255 %7))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) %261))
(*.f64 %105 %2)
(*.f64 %20 %259)
(*.f64 #s(literal -1 binary64) %272)
(*.f64 %22 %7)
(*.f64 %2 %105)
(*.f64 #s(literal 1 binary64) %261)
(*.f64 %261 #s(literal 1 binary64))
(*.f64 %7 %22)
(pow.f64 %261 #s(literal 1 binary64))
(/.f64 (-.f64 %281 %283) %37)
(/.f64 (-.f64 (*.f64 %280 %19) %41) %44)
(/.f64 (-.f64 %281 %34) %37)
(/.f64 (-.f64 %292 %283) %37)
(/.f64 (-.f64 (*.f64 %291 %19) %41) %44)
(/.f64 (-.f64 %292 %34) %37)
(/.f64 (-.f64 %46 (*.f64 %19 %282)) %44)
(/.f64 (-.f64 %31 %283) %37)
(/.f64 (-.f64 (*.f64 %282 %305) %308) %310)
(/.f64 (-.f64 %312 %313) %37)
(/.f64 (-.f64 (*.f64 %282 %44) %91) %318)
(/.f64 (-.f64 (*.f64 %282 %37) %95) %322)
(/.f64 (-.f64 (*.f64 %282 %39) %31) %44)
(/.f64 (-.f64 %312 %46) %37)
(/.f64 (-.f64 (*.f64 %329 %305) (*.f64 %305 %307)) %37)
(/.f64 (-.f64 %334 (*.f64 %305 %291)) %337)
(/.f64 (-.f64 (*.f64 %329 %44) (*.f64 %305 %31)) (*.f64 %305 %44))
(/.f64 (-.f64 (*.f64 %329 %37) (*.f64 %305 %46)) (*.f64 %305 %37))
(/.f64 (-.f64 (*.f64 %329 %39) (*.f64 %305 %30)) (*.f64 %305 %39))
(/.f64 (-.f64 %334 (*.f64 %305 y)) %337)
(/.f64 (-.f64 (*.f64 %34 %305) (*.f64 %44 %307)) (*.f64 %44 %305))
(/.f64 (-.f64 %81 (*.f64 %44 %291)) %364)
(/.f64 (-.f64 (*.f64 %34 %44) (*.f64 %44 %31)) %369)
(/.f64 (-.f64 (*.f64 %34 %37) (*.f64 %44 %46)) (*.f64 %44 %37))
(/.f64 (-.f64 %77 (*.f64 %44 %30)) (*.f64 %44 %39))
(/.f64 (-.f64 %81 (*.f64 %44 y)) %364)
(/.f64 (-.f64 (*.f64 %41 %305) (*.f64 %37 %307)) (*.f64 %37 %305))
(/.f64 (-.f64 %94 (*.f64 %37 %291)) %390)
(/.f64 (-.f64 (*.f64 %41 %44) (*.f64 %37 %31)) (*.f64 %37 %44))
(/.f64 (-.f64 %90 (*.f64 %37 %30)) (*.f64 %37 %39))
(/.f64 (-.f64 %94 (*.f64 %37 y)) %390)
(/.f64 (-.f64 (*.f64 %33 %305) (*.f64 %39 %307)) (*.f64 %39 %305))
(/.f64 (-.f64 %34 (*.f64 %39 %291)) %44)
(/.f64 (-.f64 (*.f64 %33 %44) %78) (*.f64 %39 %44))
(/.f64 (-.f64 (*.f64 %33 %37) %82) (*.f64 %39 %37))
(/.f64 (-.f64 (*.f64 x %305) %308) %310)
(/.f64 (-.f64 %41 %313) %37)
(/.f64 (-.f64 (*.f64 x %44) %91) %318)
(/.f64 (-.f64 (*.f64 x %37) %95) %322)
(/.f64 (neg.f64 %431) %44)
(/.f64 (neg.f64 %262) #s(literal -2 binary64))
(/.f64 (neg.f64 %436) (neg.f64 %305))
(/.f64 (neg.f64 %440) %19)
(/.f64 (neg.f64 %443) %39)
(/.f64 (neg.f64 %447) %44)
(/.f64 (neg.f64 %451) %19)
(/.f64 (neg.f64 %456) (neg.f64 %369))
(/.f64 (neg.f64 %460) (neg.f64 %462))
(/.f64 (neg.f64 %465) (neg.f64 %467))
(/.f64 (neg.f64 %470) (neg.f64 %65))
(/.f64 %431 %37)
(/.f64 %262 #s(literal 2 binary64))
(/.f64 %436 %305)
(/.f64 %98 (neg.f64 %70))
(/.f64 %440 %39)
(/.f64 %443 %19)
(/.f64 %447 %37)
(/.f64 %451 %39)
(/.f64 %456 %369)
(/.f64 %460 %462)
(/.f64 %465 %467)
(/.f64 %470 %65)
(/.f64 %14 %70)
(/.f64 %102 %44)
(/.f64 %20 %37)
(/.f64 %2 %39)
(/.f64 #s(literal 1 binary64) (pow.f64 %261 %106))
(/.f64 #s(literal 1 binary64) (pow.f64 %261 %109))
(/.f64 #s(literal 1 binary64) (/.f64 %44 %102))
(/.f64 #s(literal 1 binary64) (pow.f64 %261 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %37 %20))
(/.f64 #s(literal 1 binary64) (/.f64 %39 %2))
(/.f64 #s(literal 1 binary64) (/.f64 %19 %7))
%261
(neg.f64 %272)
(fma.f64 (*.f64 %30 #s(literal 2 binary64)) %255 %137)
(fma.f64 %508 %253 %509)
(fma.f64 %508 %253 %161)
(fma.f64 %55 %255 %509)
(fma.f64 %55 %255 %161)
(fma.f64 %57 %253 %137)
(fma.f64 %291 %105 %137)
(fma.f64 %516 %517 %509)
(fma.f64 %516 %517 %161)
(fma.f64 %517 %516 %509)
(fma.f64 %517 %516 %161)
(fma.f64 %522 %158 %509)
(fma.f64 %522 %158 %161)
(fma.f64 %158 %522 %509)
(fma.f64 %158 %522 %161)
(fma.f64 #s(literal 2 binary64) %527 %509)
(fma.f64 #s(literal 2 binary64) %527 %161)
(fma.f64 #s(literal 2 binary64) (*.f64 %255 %30) %137)
(fma.f64 %105 %33 %509)
(fma.f64 %105 %33 %161)
(fma.f64 %105 y %137)
(fma.f64 %161 #s(literal 1 binary64) %137)
(fma.f64 %41 %259 %509)
(fma.f64 %41 %259 %161)
(fma.f64 %33 %105 %509)
(fma.f64 %33 %105 %161)
(fma.f64 #s(literal -1 binary64) %158 %509)
(fma.f64 #s(literal -1 binary64) %158 %161)
(fma.f64 #s(literal -1 binary64) %128 %137)
(fma.f64 %30 %22 %137)
(fma.f64 %22 %30 %137)
(fma.f64 %22 x %509)
(fma.f64 %22 x %161)
(fma.f64 %137 #s(literal 1 binary64) %509)
(fma.f64 %137 #s(literal 1 binary64) %161)
(fma.f64 #s(literal 1 binary64) %161 %137)
(fma.f64 #s(literal 1 binary64) %137 %509)
(fma.f64 #s(literal 1 binary64) %137 %161)
(fma.f64 %19 %552 %509)
(fma.f64 %19 %552 %161)
(fma.f64 %19 %555 %509)
(fma.f64 %19 %555 %161)
(fma.f64 y %105 %137)
(fma.f64 x %22 %509)
(fma.f64 x %22 %161)
(-.f64 %161 %158)
(-.f64 %137 %128)
(+.f64 %161 %137)
(+.f64 %137 %509)
(+.f64 %137 %161)

reconstruct27.0ms (1.6%)

Counts
314 → 89
Compiler

Compiled 314 to 694 computations (-121.0% saved)

eval7.0ms (0.4%)

Compiler

Compiled 88 to 337 computations (-283.0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New83588
Fresh000
Picked011
Done000
Total83689
Accuracy
100.0%
Counts
89 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 x y) (+.f64 x y))
52.0%
(/.f64 (-.f64 x y) (approx (+ x y) y))
52.2%
(approx (/ (- x y) (+ x y)) (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 x y)) #s(literal 1 binary64)))
50.4%
(approx (/ (- x y) (+ x y)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -2 binary64) (/.f64 y x))))
49.4%
(approx (/ (- x y) (+ x y)) #s(literal 1 binary64))
51.2%
(approx (/ (- x y) (+ x y)) #s(literal -1 binary64))
Compiler

Compiled 6 to 16 computations (-166.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series21.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0204817
Stop Event
iter-limit
Counts
19 → 44
Calls
Call 1
Inputs
%2 = (-.f64 x y)
%4 = (+ x y)
%5 = (approx %4 y)
%7 = (/ (- x y) %4)
%10 = (/.f64 x y)
%11 = (*.f64 #s(literal 2 binary64) %10)
%13 = (-.f64 %11 #s(literal 1 binary64))
%16 = (/.f64 y x)
%18 = (*.f64 #s(literal -2 binary64) %16)
%19 = (+.f64 #s(literal 1 binary64) %18)
x
y
%2
#s(literal -1 binary64)
%5
(approx %7 #s(literal -1 binary64))
#s(literal 2 binary64)
%10
%11
#s(literal 1 binary64)
%13
(approx %7 %13)
#s(literal -2 binary64)
%16
(approx %7 #s(literal 1 binary64))
%18
%19
(approx %7 %19)
(/.f64 %2 %5)
Outputs
%5 = (- x y)
%7 = (*.f64 #s(literal -1 binary64) y)
%11 = (+ x y)
%15 = (/ %5 %11)
%18 = (/.f64 x y)
%19 = (*.f64 #s(literal 2 binary64) %18)
%24 = (pow.f64 y #s(literal 2 binary64))
%26 = (/.f64 #s(literal 1 binary64) y)
%27 = (*.f64 #s(literal 2 binary64) %26)
%33 = (pow.f64 y #s(literal 3 binary64))
%43 = (/ x y)
%46 = (* 2 %43)
%48 = (/ y x)
%49 = (/.f64 y x)
%52 = (* -2 %48)
%53 = (*.f64 #s(literal -2 binary64) %49)
%56 = (+ 1 %52)
%61 = (*.f64 #s(literal -1 binary64) %49)
%62 = (+.f64 #s(literal 1 binary64) %61)
%71 = (-.f64 %7 y)
%72 = (*.f64 y %71)
%73 = (pow.f64 x #s(literal 2 binary64))
%74 = (/.f64 %72 %73)
%80 = (*.f64 %24 %71)
%81 = (pow.f64 x #s(literal 3 binary64))
%88 = (- %46 1)
%89 = (/.f64 #s(literal 1 binary64) x)
%126 = (*.f64 #s(literal 2 binary64) %89)
%150 = (*.f64 #s(literal -1 binary64) %18)
%151 = (+.f64 #s(literal 1 binary64) %150)
%154 = (*.f64 #s(literal -1 binary64) x)
%155 = (-.f64 x %154)
%157 = (/.f64 (*.f64 x %155) %24)
%178 = (-.f64 %154 x)
%183 = (*.f64 x %178)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %7)
(approx %5 (-.f64 x y))
(approx %11 y)
(approx %11 (+.f64 x y))
(approx %15 #s(literal -1 binary64))
(approx %15 (-.f64 %19 #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 x (fma.f64 #s(literal -2 binary64) (/.f64 x %24) %27)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 x (fma.f64 x (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 x %33)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %24))) %27)) #s(literal 1 binary64)))
(approx %43 %18)
(approx %46 %19)
(approx %48 %49)
(approx %52 %53)
(approx %56 (/.f64 (+.f64 x (*.f64 #s(literal -2 binary64) y)) x))
(approx %5 (*.f64 x %62))
(approx %11 (*.f64 x (+.f64 #s(literal 1 binary64) %49)))
(approx %15 #s(literal 1 binary64))
(approx %15 (-.f64 %62 %49))
(approx %15 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %49 (*.f64 #s(literal -1 binary64) %74))) %49))
(approx %15 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %49 (/.f64 %80 %81))) (+.f64 %49 %74)))
(approx %88 (*.f64 x (-.f64 %27 %89)))
(approx %56 (+.f64 #s(literal 1 binary64) %53))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %49 #s(literal 1 binary64)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %61 #s(literal 1 binary64)))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %71 (/.f64 %72 x)) x))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %71 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %72 (/.f64 %80 x)) x))) x))))
(approx %88 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %89 %27))))
(approx %5 (+.f64 x %7))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 y %73)) %126))))
(approx %15 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 y (fma.f64 #s(literal -2 binary64) (/.f64 y %81) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %73)))) %126))))
(approx %88 (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal 2 binary64) x)) y))
(approx %5 (*.f64 y (-.f64 %18 #s(literal 1 binary64))))
(approx %11 (*.f64 y (+.f64 #s(literal 1 binary64) %18)))
(approx %15 (-.f64 %18 %151))
(approx %15 (-.f64 (fma.f64 #s(literal -1 binary64) %157 %18) %151))
(approx %15 (-.f64 (+.f64 %18 (/.f64 (*.f64 %73 %155) %33)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %18 %157))))
(approx %56 (*.f64 y (-.f64 %26 %126)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 y %151)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %150 #s(literal 1 binary64)))))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %178 y)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %183 y))) x) y)) #s(literal 1 binary64)))
(approx %15 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 %73 %178) y)) (*.f64 #s(literal -1 binary64) %183)) y))) x) y)) #s(literal 1 binary64)))
(approx %56 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %126 %26))))
Calls

6 calls:

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

rewrite75.0ms (4.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
022101
030101
1110101
2431101
32825101
04036101
0452897
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
19 → 432
Calls
Call 1
Inputs
%2 = (-.f64 x y)
%4 = (+ x y)
%5 = (approx %4 y)
%7 = (/ (- x y) %4)
%10 = (/.f64 x y)
%11 = (*.f64 #s(literal 2 binary64) %10)
%13 = (-.f64 %11 #s(literal 1 binary64))
%16 = (/.f64 y x)
%18 = (*.f64 #s(literal -2 binary64) %16)
%19 = (+.f64 #s(literal 1 binary64) %18)
x
y
%2
#s(literal -1 binary64)
%5
(approx %7 #s(literal -1 binary64))
#s(literal 2 binary64)
%10
%11
#s(literal 1 binary64)
%13
(approx %7 %13)
#s(literal -2 binary64)
%16
(approx %7 #s(literal 1 binary64))
%18
%19
(approx %7 %19)
(/.f64 %2 %5)
Outputs
%2 = (-.f64 x y)
%4 = (*.f64 %2 #s(literal 2 binary64))
%7 = (*.f64 %2 #s(literal 1/2 binary64))
%17 = (-.f64 y x)
%18 = (*.f64 %17 #s(literal 1 binary64))
%20 = (*.f64 %2 #s(literal -1 binary64))
%24 = (*.f64 %2 #s(literal 0 binary64))
%26 = (*.f64 #s(literal 0 binary64) %2)
%30 = (*.f64 #s(literal 1/2 binary64) %2)
%32 = (neg.f64 y)
%39 = (neg.f64 x)
%47 = (+ y x)
%48 = (approx %47 y)
%51 = (/.f64 #s(literal 1 binary64) %48)
%53 = (neg.f64 %48)
%56 = (/ (- x y) %47)
%57 = (approx %56 #s(literal -1 binary64))
%62 = (/.f64 x y)
%63 = (*.f64 %62 #s(literal 1/2 binary64))
%65 = (/.f64 #s(literal -1 binary64) y)
%67 = (+.f64 x x)
%68 = (/.f64 #s(literal 1/2 binary64) y)
%70 = (/.f64 %67 y)
%72 = (/.f64 #s(literal 1 binary64) y)
%74 = (*.f64 %65 #s(literal 1 binary64))
%80 = (*.f64 %68 x)
%82 = (*.f64 #s(literal 1/2 binary64) %62)
%86 = (/.f64 %39 y)
%87 = (*.f64 %86 y)
%88 = (*.f64 y #s(literal -1 binary64))
%90 = (*.f64 #s(literal -1 binary64) y)
%95 = (*.f64 #s(literal -1 binary64) x)
%99 = (*.f64 x #s(literal -1 binary64))
%104 = (*.f64 %39 #s(literal -2 binary64))
%105 = (+.f64 y y)
%107 = (*.f64 #s(literal -2 binary64) x)
%108 = (*.f64 #s(literal -2 binary64) y)
%110 = (*.f64 #s(literal -2 binary64) %62)
%118 = (/.f64 y x)
%123 = (*.f64 %86 #s(literal 1 binary64))
%125 = (*.f64 #s(literal -1 binary64) %62)
%128 = (*.f64 %62 #s(literal 0 binary64))
%130 = (*.f64 #s(literal 0 binary64) %62)
%164 = (*.f64 %67 #s(literal 2 binary64))
%167 = (/.f64 #s(literal 2 binary64) y)
%171 = (*.f64 %39 %108)
%172 = (*.f64 y y)
%173 = (/.f64 #s(literal 1 binary64) %172)
%175 = (*.f64 y %67)
%178 = (*.f64 y x)
%179 = (-.f64 (*.f64 %39 y) %178)
%180 = (/.f64 #s(literal -1 binary64) %172)
%183 = (*.f64 #s(literal 4 binary64) %62)
%186 = (*.f64 %65 #s(literal 2 binary64))
%188 = (/.f64 #s(literal -2 binary64) y)
%190 = (+.f64 %65 %65)
%192 = (-.f64 %65 %72)
%198 = (*.f64 %68 %67)
%217 = (*.f64 %32 y)
%258 = (/.f64 %178 %172)
%261 = (-.f64 %62 #s(literal 1/2 binary64))
%267 = (fma.f64 %62 #s(literal 2 binary64) #s(literal -1 binary64))
%293 = (*.f64 %172 #s(literal 2 binary64))
%300 = (*.f64 %217 #s(literal 2 binary64))
%305 = (-.f64 %17 x)
%316 = (-.f64 %62 #s(literal 1 binary64))
%370 = (approx %56 %267)
%375 = (/.f64 #s(literal -1 binary64) x)
%377 = (/.f64 #s(literal 1/2 binary64) x)
%379 = (/.f64 #s(literal 1 binary64) x)
%401 = (/.f64 %32 x)
%403 = (approx %56 #s(literal 1 binary64))
%408 = (*.f64 %108 #s(literal 1 binary64))
%410 = (*.f64 %108 #s(literal 2 binary64))
%412 = (/.f64 #s(literal -2 binary64) x)
%418 = (*.f64 %375 #s(literal -2 binary64))
%420 = (/.f64 #s(literal 2 binary64) x)
%422 = (*.f64 %118 #s(literal -2 binary64))
%441 = (/.f64 %105 x)
%449 = (-.f64 #s(literal 1/2 binary64) %118)
%451 = (fma.f64 #s(literal -2 binary64) y x)
%453 = (*.f64 #s(literal 4 binary64) %449)
%455 = (-.f64 %118 #s(literal 1/2 binary64))
%457 = (fma.f64 %118 #s(literal -2 binary64) #s(literal 1 binary64))
%476 = (*.f64 #s(literal 2 binary64) %105)
%479 = (*.f64 #s(literal 2 binary64) %108)
%539 = (approx %56 %457)
%544 = (/.f64 #s(literal 1/2 binary64) %48)
%546 = (/.f64 #s(literal -1 binary64) %48)
%548 = (*.f64 %48 x)
%549 = (*.f64 %48 y)
%550 = (-.f64 %548 %549)
%551 = (*.f64 %48 %48)
%556 = (/.f64 %2 %48)
%568 = (/.f64 x %48)
%574 = (*.f64 %53 %48)
%579 = (*.f64 %53 %32)
%582 = (*.f64 %48 %32)
%611 = (*.f64 %51 %32)
%613 = (/.f64 %32 %48)
x
y
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %7 #s(literal 2 binary64))
(*.f64 #s(literal 1 binary64) %2)
(*.f64 %2 #s(literal 1 binary64))
(pow.f64 %2 #s(literal 1 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64)))
(neg.f64 %18)
(neg.f64 %20)
(neg.f64 %17)
(fma.f64 %4 #s(literal 1/2 binary64) %24)
(fma.f64 %4 #s(literal 1/2 binary64) %26)
(fma.f64 %7 #s(literal 2 binary64) %24)
(fma.f64 %7 #s(literal 2 binary64) %26)
(fma.f64 #s(literal 1/2 binary64) %2 %30)
(fma.f64 #s(literal 1 binary64) %32 x)
(fma.f64 #s(literal 1 binary64) %2 %24)
(fma.f64 #s(literal 1 binary64) %2 %26)
(fma.f64 %2 #s(literal 1/2 binary64) %7)
(fma.f64 %2 #s(literal 1 binary64) %24)
(fma.f64 %2 #s(literal 1 binary64) %26)
(-.f64 %32 %39)
%2
(+.f64 %7 %7)
(+.f64 %30 %30)
(+.f64 %32 x)
(+.f64 %2 %24)
(+.f64 %2 %26)
(+.f64 x %32)
#s(literal -1 binary64)
(*.f64 #s(literal 1 binary64) %48)
(pow.f64 %48 #s(literal 1 binary64))
%48
(/.f64 #s(literal 1 binary64) %51)
(neg.f64 %53)
(*.f64 #s(literal 1 binary64) %57)
(pow.f64 %57 #s(literal 1 binary64))
%57
(/.f64 #s(literal 1 binary64) (pow.f64 %57 #s(literal -1 binary64)))
#s(literal 2 binary64)
(*.f64 %63 #s(literal 2 binary64))
(*.f64 %65 %39)
(*.f64 %67 %68)
(*.f64 #s(literal 1/2 binary64) %70)
(*.f64 %72 x)
(*.f64 %39 %74)
(*.f64 %39 %65)
(*.f64 #s(literal 1 binary64) %62)
(*.f64 %70 #s(literal 1/2 binary64))
(*.f64 %62 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %80)
(*.f64 #s(literal 2 binary64) %82)
(*.f64 x %72)
(pow.f64 %62 #s(literal 1 binary64))
(/.f64 %87 %88)
(/.f64 %87 %90)
(/.f64 %87 %32)
(/.f64 (*.f64 %86 %32) y)
(/.f64 %95 %88)
(/.f64 %95 %90)
(/.f64 %95 %32)
(/.f64 %99 %88)
(/.f64 %99 %90)
(/.f64 %99 %32)
(/.f64 %104 %105)
(/.f64 %107 %108)
(/.f64 %110 #s(literal -2 binary64))
(/.f64 %67 %105)
(/.f64 %39 %88)
(/.f64 %39 %90)
(/.f64 %39 %32)
(/.f64 #s(literal 1 binary64) (pow.f64 %62 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %118)
(/.f64 %70 #s(literal 2 binary64))
%62
(neg.f64 (*.f64 %62 #s(literal -1 binary64)))
(neg.f64 %123)
(neg.f64 %125)
(neg.f64 %86)
(fma.f64 %63 #s(literal 2 binary64) %128)
(fma.f64 %63 #s(literal 2 binary64) %130)
(fma.f64 %65 %39 %128)
(fma.f64 %65 %39 %130)
(fma.f64 %67 %68 %128)
(fma.f64 %67 %68 %130)
(fma.f64 #s(literal 1/2 binary64) %70 %128)
(fma.f64 #s(literal 1/2 binary64) %70 %130)
(fma.f64 #s(literal 1/2 binary64) %62 %82)
(fma.f64 %72 x %128)
(fma.f64 %72 x %130)
(fma.f64 %39 %74 %128)
(fma.f64 %39 %74 %130)
(fma.f64 %39 %65 %128)
(fma.f64 %39 %65 %130)
(fma.f64 #s(literal 1 binary64) %62 %128)
(fma.f64 #s(literal 1 binary64) %62 %130)
(fma.f64 %70 #s(literal 1/2 binary64) %128)
(fma.f64 %70 #s(literal 1/2 binary64) %130)
(fma.f64 %62 #s(literal 1/2 binary64) %63)
(fma.f64 %62 #s(literal 1 binary64) %128)
(fma.f64 %62 #s(literal 1 binary64) %130)
(fma.f64 #s(literal 2 binary64) %80 %128)
(fma.f64 #s(literal 2 binary64) %80 %130)
(fma.f64 #s(literal 2 binary64) %82 %128)
(fma.f64 #s(literal 2 binary64) %82 %130)
(fma.f64 x %72 %128)
(fma.f64 x %72 %130)
(+.f64 %63 %63)
(+.f64 %82 %82)
(+.f64 %62 %128)
(+.f64 %62 %130)
(*.f64 %63 #s(literal 4 binary64))
(*.f64 %164 %68)
(*.f64 %107 %65)
(*.f64 %167 x)
(*.f64 %86 #s(literal -2 binary64))
(*.f64 %65 %107)
(*.f64 %171 %173)
(*.f64 %175 %173)
(*.f64 %179 %180)
(*.f64 %67 %72)
(*.f64 #s(literal 1/2 binary64) %183)
(*.f64 %72 %67)
(*.f64 %39 %186)
(*.f64 %39 %188)
(*.f64 %39 %190)
(*.f64 %39 %192)
(*.f64 #s(literal -2 binary64) %86)
(*.f64 #s(literal 1 binary64) %70)
(*.f64 %70 #s(literal 1 binary64))
(*.f64 %62 #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) %198)
(*.f64 #s(literal 2 binary64) %62)
(*.f64 x %167)
(pow.f64 %70 #s(literal 1 binary64))
(/.f64 (*.f64 %67 #s(literal -1 binary64)) %32)
(/.f64 (*.f64 #s(literal -1 binary64) %67) %32)
(/.f64 (/.f64 %171 %32) %32)
(/.f64 (/.f64 %175 y) y)
(/.f64 (/.f64 %179 %32) y)
(/.f64 (/.f64 %179 y) %32)
(/.f64 %104 y)
(/.f64 (neg.f64 %171) %217)
(/.f64 (neg.f64 %175) %217)
(/.f64 (neg.f64 %179) %172)
(/.f64 %107 %88)
(/.f64 %107 %90)
(/.f64 %107 %32)
(/.f64 %171 %172)
(/.f64 %175 %172)
(/.f64 %179 %217)
%70
(/.f64 #s(literal 1 binary64) (/.f64 %32 %107))
(/.f64 #s(literal 1 binary64) (/.f64 %172 %171))
(/.f64 #s(literal 1 binary64) (/.f64 %172 %175))
(/.f64 #s(literal 1 binary64) (/.f64 %217 %179))
(/.f64 #s(literal 1 binary64) (pow.f64 %70 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 y %67))
(neg.f64 %110)
(fma.f64 %63 #s(literal 2 binary64) %62)
(fma.f64 %65 %39 %62)
(fma.f64 %67 %68 %62)
(fma.f64 #s(literal 1/2 binary64) %70 %62)
(fma.f64 %72 x %62)
(fma.f64 %39 %74 %62)
(fma.f64 %39 %65 %62)
(fma.f64 #s(literal 1 binary64) %62 %62)
(fma.f64 %70 #s(literal 1/2 binary64) %62)
(fma.f64 %62 #s(literal 1 binary64) %62)
(fma.f64 #s(literal 2 binary64) %80 %62)
(fma.f64 #s(literal 2 binary64) %82 %62)
(fma.f64 x %72 %62)
(-.f64 %62 %123)
(-.f64 %62 %125)
(-.f64 %62 %86)
(+.f64 %258 %258)
(+.f64 %62 %62)
#s(literal 1 binary64)
(*.f64 %261 #s(literal 2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %261))
(*.f64 #s(literal -2 binary64) (-.f64 #s(literal 1/2 binary64) %62))
(*.f64 #s(literal 1 binary64) %267)
(*.f64 #s(literal 2 binary64) (+.f64 #s(literal -1/2 binary64) %62))
(*.f64 #s(literal 2 binary64) %261)
(pow.f64 %267 #s(literal 1 binary64))
(/.f64 (-.f64 %67 y) y)
(/.f64 (fma.f64 #s(literal -1 binary64) %32 %107) %32)
(/.f64 (fma.f64 #s(literal -1 binary64) %172 %171) %172)
(/.f64 (fma.f64 #s(literal -1 binary64) %172 %175) %172)
(/.f64 (fma.f64 #s(literal -1 binary64) %217 %179) %217)
(/.f64 (fma.f64 #s(literal -1 binary64) y %67) y)
(/.f64 (-.f64 (*.f64 %70 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %107 #s(literal 2 binary64)) %108) %108)
(/.f64 (-.f64 (*.f64 %171 #s(literal 2 binary64)) %293) %293)
(/.f64 (-.f64 (*.f64 %175 #s(literal 2 binary64)) %293) %293)
(/.f64 (-.f64 (*.f64 %179 #s(literal 2 binary64)) %300) %300)
(/.f64 (-.f64 %164 %105) %105)
(/.f64 (neg.f64 %305) y)
(/.f64 %305 %88)
(/.f64 %305 %90)
(/.f64 %305 %32)
(/.f64 #s(literal 1 binary64) (pow.f64 %267 #s(literal -1 binary64)))
(neg.f64 (fma.f64 #s(literal -2 binary64) %62 #s(literal 1 binary64)))
(fma.f64 %63 #s(literal 4 binary64) #s(literal -1 binary64))
(fma.f64 %63 #s(literal 2 binary64) %316)
(fma.f64 %164 %68 #s(literal -1 binary64))
(fma.f64 %107 %65 #s(literal -1 binary64))
(fma.f64 %167 x #s(literal -1 binary64))
(fma.f64 %86 #s(literal -2 binary64) #s(literal -1 binary64))
(fma.f64 %65 %107 #s(literal -1 binary64))
(fma.f64 %65 %39 %316)
(fma.f64 %171 %173 #s(literal -1 binary64))
(fma.f64 %175 %173 #s(literal -1 binary64))
(fma.f64 %179 %180 #s(literal -1 binary64))
(fma.f64 %67 %68 %316)
(fma.f64 %67 %72 #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) %183 #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) %70 %316)
(fma.f64 %72 %67 #s(literal -1 binary64))
(fma.f64 %72 x %316)
(fma.f64 %39 %186 #s(literal -1 binary64))
(fma.f64 %39 %74 %316)
(fma.f64 %39 %188 #s(literal -1 binary64))
(fma.f64 %39 %190 #s(literal -1 binary64))
(fma.f64 %39 %192 #s(literal -1 binary64))
(fma.f64 %39 %65 %316)
(fma.f64 #s(literal -2 binary64) %86 #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) %316 %62)
(fma.f64 #s(literal 1 binary64) %261 %261)
(fma.f64 #s(literal 1 binary64) %70 #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) %62 %316)
(fma.f64 %70 #s(literal 1/2 binary64) %316)
(fma.f64 %70 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 %62 #s(literal 1 binary64) %316)
%267
(fma.f64 #s(literal 2 binary64) %198 #s(literal -1 binary64))
(fma.f64 #s(literal 2 binary64) %80 %316)
(fma.f64 #s(literal 2 binary64) %82 %316)
(fma.f64 #s(literal 2 binary64) %62 #s(literal -1 binary64))
(fma.f64 x %167 #s(literal -1 binary64))
(fma.f64 x %72 %316)
(-.f64 (-.f64 %70 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(-.f64 %316 %86)
(-.f64 %267 #s(literal 0 binary64))
(-.f64 %70 #s(literal 1 binary64))
(-.f64 %62 (-.f64 %86 #s(literal -1 binary64)))
(-.f64 %62 (+.f64 %86 #s(literal 1 binary64)))
(-.f64 %62 (/.f64 %17 y))
(-.f64 #s(literal -1 binary64) %110)
(+.f64 %316 %62)
(+.f64 %261 %261)
(+.f64 %70 #s(literal -1 binary64))
(+.f64 %62 %316)
(+.f64 #s(literal -1 binary64) %70)
(*.f64 #s(literal 1 binary64) %370)
(pow.f64 %370 #s(literal 1 binary64))
%370
(/.f64 #s(literal 1 binary64) (pow.f64 %370 #s(literal -1 binary64)))
#s(literal -2 binary64)
(*.f64 %375 %32)
(*.f64 %105 %377)
(*.f64 %379 y)
(*.f64 %32 %375)
(*.f64 #s(literal 1 binary64) %118)
(*.f64 #s(literal 2 binary64) (*.f64 %377 y))
(*.f64 y %379)
(pow.f64 %118 #s(literal 1 binary64))
(/.f64 %88 %95)
(/.f64 %88 %99)
(/.f64 %88 %39)
(/.f64 (*.f64 %32 #s(literal 1 binary64)) %39)
(/.f64 %90 %95)
(/.f64 %90 %99)
(/.f64 %90 %39)
(/.f64 %32 %95)
(/.f64 %32 %99)
(/.f64 %32 %39)
(/.f64 #s(literal 1 binary64) (pow.f64 %118 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %62)
%118
(neg.f64 %401)
(*.f64 #s(literal 1 binary64) %403)
(pow.f64 %403 #s(literal 1 binary64))
%403
(/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -1 binary64)))
(*.f64 %408 %379)
(*.f64 %410 %377)
(*.f64 %412 y)
(*.f64 %108 %379)
(*.f64 %401 #s(literal 2 binary64))
(*.f64 %105 %375)
(*.f64 %379 %108)
(*.f64 %32 %418)
(*.f64 %32 %420)
%422
(*.f64 #s(literal -2 binary64) %118)
(*.f64 #s(literal 1 binary64) %422)
(*.f64 #s(literal 2 binary64) %401)
(*.f64 y %412)
(pow.f64 %422 #s(literal 1 binary64))
(/.f64 %408 x)
(/.f64 (*.f64 %108 #s(literal -1 binary64)) %39)
(/.f64 %108 x)
(/.f64 %105 %95)
(/.f64 %105 %99)
(/.f64 %105 %39)
(/.f64 #s(literal 1 binary64) (/.f64 %39 %105))
(/.f64 #s(literal 1 binary64) (pow.f64 %422 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 x %108))
(neg.f64 %441)
(fma.f64 %375 y %401)
(fma.f64 %379 %32 %401)
(fma.f64 %32 %379 %401)
(fma.f64 #s(literal 1 binary64) %401 %401)
(fma.f64 y %375 %401)
(+.f64 %401 %401)
(*.f64 %449 #s(literal 2 binary64))
(*.f64 %451 %379)
(*.f64 #s(literal 1/2 binary64) %453)
(*.f64 #s(literal -2 binary64) %455)
(*.f64 #s(literal 1 binary64) %457)
(*.f64 #s(literal 2 binary64) %449)
(pow.f64 %457 #s(literal 1 binary64))
(/.f64 (fma.f64 %422 #s(literal 2 binary64) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %39 %105) %39)
(/.f64 (-.f64 %39 %108) %39)
(/.f64 (fma.f64 %105 #s(literal 2 binary64) %107) %107)
(/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 %105 #s(literal 2 binary64))) %107)
(/.f64 (fma.f64 #s(literal 2 binary64) x %410) %67)
(/.f64 (fma.f64 %108 #s(literal 2 binary64) %67) %67)
(/.f64 (fma.f64 #s(literal -2 binary64) x %476) %107)
(/.f64 (fma.f64 #s(literal 2 binary64) x %479) %67)
(/.f64 (-.f64 %67 %476) %67)
(/.f64 (-.f64 %107 %479) %107)
(/.f64 (neg.f64 %451) %39)
(/.f64 %451 x)
(/.f64 #s(literal 1 binary64) (/.f64 x %451))
(/.f64 #s(literal 1 binary64) (pow.f64 %457 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal -2 binary64) %449))
(neg.f64 (+.f64 #s(literal -1 binary64) %441))
(neg.f64 (-.f64 #s(literal -1 binary64) %422))
(neg.f64 (fma.f64 %118 #s(literal 2 binary64) #s(literal -1 binary64)))
(fma.f64 %408 %379 #s(literal 1 binary64))
(fma.f64 %410 %377 #s(literal 1 binary64))
(fma.f64 %412 y #s(literal 1 binary64))
(fma.f64 %108 %379 #s(literal 1 binary64))
(fma.f64 %449 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %401 #s(literal 2 binary64) #s(literal 1 binary64))
(fma.f64 %451 %379 #s(literal 0 binary64))
(fma.f64 %105 %375 #s(literal 1 binary64))
(fma.f64 #s(literal 1/2 binary64) %453 #s(literal 0 binary64))
(fma.f64 %379 %108 #s(literal 1 binary64))
(fma.f64 %32 %418 #s(literal 1 binary64))
(fma.f64 %32 %420 #s(literal 1 binary64))
%457
(fma.f64 #s(literal -2 binary64) %455 #s(literal 0 binary64))
(fma.f64 #s(literal -2 binary64) %118 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %449 %449)
(fma.f64 #s(literal 1 binary64) %457 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %422 #s(literal 1 binary64))
(fma.f64 #s(literal 2 binary64) %449 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %401 #s(literal 1 binary64))
(fma.f64 y %412 #s(literal 1 binary64))
(-.f64 (-.f64 #s(literal 1 binary64) %118) %118)
(-.f64 %422 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) %441)
(+.f64 (fma.f64 %412 y #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(+.f64 %449 %449)
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) %422))
(+.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) %441))
(+.f64 %457 #s(literal 0 binary64))
(+.f64 %422 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) %422))
(+.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %441))
(+.f64 #s(literal 1 binary64) %422)
(*.f64 #s(literal 1 binary64) %539)
(pow.f64 %539 #s(literal 1 binary64))
%539
(/.f64 #s(literal 1 binary64) (pow.f64 %539 #s(literal -1 binary64)))
(*.f64 %4 %544)
(*.f64 %546 %17)
(*.f64 %550 (/.f64 #s(literal 1 binary64) %551))
(*.f64 %51 %2)
(*.f64 %17 %546)
(*.f64 #s(literal 1 binary64) %556)
(*.f64 #s(literal 2 binary64) (*.f64 %544 %2))
(*.f64 %2 %51)
(pow.f64 %556 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %2) %53)
(/.f64 (/.f64 %550 %48) %48)
(/.f64 %18 %53)
(/.f64 %20 %53)
(/.f64 (-.f64 (*.f64 %568 %53) %32) %53)
(/.f64 (fma.f64 %39 %48 (*.f64 %32 %53)) %574)
(/.f64 (fma.f64 %48 x (*.f64 %32 %48)) %551)
(/.f64 (fma.f64 %39 %48 %579) %574)
(/.f64 (fma.f64 %48 x %582) %551)
(/.f64 (-.f64 (*.f64 %39 %53) %579) %551)
(/.f64 (-.f64 (*.f64 %39 %48) (*.f64 %53 y)) %574)
(/.f64 (-.f64 (*.f64 x %53) %582) (*.f64 %48 %53))
(/.f64 (neg.f64 %550) (neg.f64 %551))
(/.f64 %550 %551)
(/.f64 %17 %53)
(/.f64 #s(literal 1 binary64) (/.f64 %551 %550))
(/.f64 #s(literal 1 binary64) (pow.f64 %556 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %53 %17))
(/.f64 #s(literal 1 binary64) (/.f64 %48 %2))
%556
(neg.f64 (/.f64 %17 %48))
(fma.f64 %67 %544 %611)
(fma.f64 %67 %544 %613)
(fma.f64 %51 %32 %568)
(fma.f64 %51 x %611)
(fma.f64 %51 x %613)
(fma.f64 %39 %546 %611)
(fma.f64 %39 %546 %613)
(fma.f64 %32 %51 %568)
(fma.f64 #s(literal 1 binary64) %613 %568)
(fma.f64 #s(literal 1 binary64) %568 %611)
(fma.f64 #s(literal 1 binary64) %568 %613)
(fma.f64 y %546 %568)
(fma.f64 x %51 %611)
(fma.f64 x %51 %613)
(-.f64 (/.f64 %548 %551) (/.f64 %549 %551))
(-.f64 %613 (/.f64 %39 %48))
(-.f64 %568 (/.f64 y %48))
(+.f64 %611 %568)
(+.f64 %613 %568)
(+.f64 %568 %611)
(+.f64 %568 %613)

reconstruct39.0ms (2.3%)

Counts
476 → 114
Compiler

Compiled 476 to 764 computations (-60.5% saved)

eval10.0ms (0.6%)

Compiler

Compiled 111 to 349 computations (-214.4% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1092111
Fresh000
Picked235
Done011
Total1116117
Accuracy
100.0%
Counts
117 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 x y) (+.f64 x y))
52.0%
(/.f64 (-.f64 x y) (approx (+ x y) y))
50.4%
(approx (/ (- x y) (+ y x)) (fma.f64 (/.f64 y x) #s(literal -2 binary64) #s(literal 1 binary64)))
52.2%
(approx (/ (- x y) (+ y x)) (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
49.4%
(approx (/ (- x y) (+ x y)) #s(literal 1 binary64))
51.2%
(approx (/ (- x y) (+ x y)) #s(literal -1 binary64))
Compiler

Compiled 6 to 14 computations (-133.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0177674
Stop Event
iter-limit
Counts
12 → 32
Calls
Call 1
Inputs
%4 = (/.f64 x y)
%7 = (/.f64 y x)
%8 = (fma.f64 %4 #s(literal 2 binary64) #s(literal -1 binary64))
%11 = (/ (- x y) (+ y x))
%13 = (fma.f64 %7 #s(literal -2 binary64) #s(literal 1 binary64))
x
y
#s(literal -1 binary64)
#s(literal 2 binary64)
%4
#s(literal 1 binary64)
#s(literal -2 binary64)
%7
%8
(approx %11 %8)
%13
(approx %11 %13)
Outputs
%5 = (/ x y)
%6 = (/.f64 x y)
%8 = (/ y x)
%9 = (/.f64 y x)
%14 = (+ (* %5 2) -1)
%18 = (*.f64 #s(literal 2 binary64) %6)
%24 = (/ (- x y) (+ y x))
%26 = (pow.f64 y #s(literal 2 binary64))
%28 = (/.f64 #s(literal 1 binary64) y)
%29 = (*.f64 #s(literal 2 binary64) %28)
%35 = (pow.f64 y #s(literal 3 binary64))
%48 = (+ (* %8 -2) 1)
%49 = (*.f64 #s(literal -2 binary64) %9)
%56 = (/.f64 #s(literal 1 binary64) x)
%66 = (-.f64 (*.f64 #s(literal -1 binary64) y) y)
%67 = (*.f64 y %66)
%68 = (pow.f64 x #s(literal 2 binary64))
%69 = (/.f64 %67 %68)
%75 = (*.f64 %26 %66)
%76 = (pow.f64 x #s(literal 3 binary64))
%111 = (*.f64 #s(literal 2 binary64) %56)
%126 = (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %6))
%129 = (*.f64 #s(literal -1 binary64) x)
%130 = (-.f64 x %129)
%132 = (/.f64 (*.f64 x %130) %26)
%146 = (-.f64 %129 x)
%151 = (*.f64 x %146)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %8 %9)
(approx %14 #s(literal -1 binary64))
(approx %14 (-.f64 %18 #s(literal 1 binary64)))
(approx %24 (-.f64 (*.f64 x (fma.f64 #s(literal -2 binary64) (/.f64 x %26) %29)) #s(literal 1 binary64)))
(approx %24 (-.f64 (*.f64 x (fma.f64 x (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 x %35)) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %26))) %29)) #s(literal 1 binary64)))
(approx %48 %49)
(approx %48 (/.f64 (+.f64 x (*.f64 #s(literal -2 binary64) y)) x))
(approx %14 %18)
(approx %14 (*.f64 x (-.f64 %29 %56)))
(approx %24 #s(literal 1 binary64))
(approx %24 (-.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) %9)) %9))
(approx %24 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %9 (*.f64 #s(literal -1 binary64) %69))) %9))
(approx %24 (-.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %9 (/.f64 %75 %76))) (+.f64 %9 %69)))
(approx %48 (+.f64 #s(literal 1 binary64) %49))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 %56 %29))))
(approx %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %66 (/.f64 %67 x)) x))))
(approx %24 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %66 (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) %67 (/.f64 %75 x)) x))) x))))
(approx y y)
(approx %14 (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal 2 binary64) x)) y))
(approx %24 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal 2 binary64) (/.f64 y %68)) %111))))
(approx %24 (+.f64 #s(literal 1 binary64) (*.f64 y (-.f64 (*.f64 y (fma.f64 #s(literal -2 binary64) (/.f64 y %76) (*.f64 #s(literal 2 binary64) (/.f64 #s(literal 1 binary64) %68)))) %111))))
(approx %24 (-.f64 %6 %126))
(approx %24 (-.f64 (fma.f64 #s(literal -1 binary64) %132 %6) %126))
(approx %24 (-.f64 (+.f64 %6 (/.f64 (*.f64 %68 %130) %35)) (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1 binary64) %6 %132))))
(approx %48 (*.f64 y (-.f64 %28 %111)))
(approx %24 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %146 y)) #s(literal 1 binary64)))
(approx %24 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %151 y))) x) y)) #s(literal 1 binary64)))
(approx %24 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 %68 %146) y)) (*.f64 #s(literal -1 binary64) %151)) y))) x) y)) #s(literal 1 binary64)))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %111 %28))))
Calls

6 calls:

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

rewrite82.0ms (5.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01552
02152
18352
232752
3175552
0414652
0457452
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
12 → 348
Calls
Call 1
Inputs
%4 = (/.f64 x y)
%7 = (/.f64 y x)
%8 = (fma.f64 %4 #s(literal 2 binary64) #s(literal -1 binary64))
%11 = (/ (- x y) (+ y x))
%13 = (fma.f64 %7 #s(literal -2 binary64) #s(literal 1 binary64))
x
y
#s(literal -1 binary64)
#s(literal 2 binary64)
%4
#s(literal 1 binary64)
#s(literal -2 binary64)
%7
%8
(approx %11 %8)
%13
(approx %11 %13)
Outputs
%4 = (/.f64 x y)
%6 = (*.f64 %4 #s(literal 1/2 binary64))
%8 = (/.f64 #s(literal -1 binary64) y)
%9 = (neg.f64 x)
%11 = (+.f64 x x)
%12 = (/.f64 #s(literal 1/2 binary64) y)
%14 = (/.f64 %11 y)
%17 = (/.f64 #s(literal 1 binary64) y)
%19 = (*.f64 %8 #s(literal 1 binary64))
%25 = (*.f64 %12 x)
%27 = (*.f64 #s(literal 1/2 binary64) %4)
%31 = (*.f64 %9 #s(literal 1 binary64))
%34 = (*.f64 x #s(literal -1 binary64))
%35 = (neg.f64 y)
%38 = (*.f64 #s(literal -1 binary64) x)
%41 = (*.f64 #s(literal -2 binary64) x)
%42 = (*.f64 %35 #s(literal 2 binary64))
%44 = (*.f64 #s(literal 2 binary64) %35)
%46 = (*.f64 #s(literal -2 binary64) y)
%48 = (*.f64 #s(literal -2 binary64) %4)
%50 = (*.f64 #s(literal 2 binary64) y)
%56 = (/.f64 y x)
%60 = (/.f64 %9 y)
%67 = (*.f64 %4 #s(literal 0 binary64))
%69 = (*.f64 #s(literal 0 binary64) %4)
%101 = (/.f64 #s(literal -1 binary64) x)
%103 = (/.f64 #s(literal 1/2 binary64) x)
%105 = (/.f64 #s(literal 1 binary64) x)
%113 = (*.f64 %35 #s(literal 1 binary64))
%125 = (-.f64 %4 #s(literal 1/2 binary64))
%127 = (-.f64 x y)
%128 = (+.f64 %127 x)
%135 = (fma.f64 %4 #s(literal 2 binary64) #s(literal -1 binary64))
%142 = (*.f64 %11 #s(literal -1 binary64))
%144 = (*.f64 %35 #s(literal 4 binary64))
%148 = (*.f64 %35 #s(literal 1/2 binary64))
%160 = (fma.f64 %4 %35 %9)
%176 = (fma.f64 %4 y x)
%178 = (*.f64 y #s(literal 4 binary64))
%182 = (*.f64 y #s(literal 1/2 binary64))
%195 = (fma.f64 %9 %35 (*.f64 %9 %35))
%197 = (*.f64 y y)
%198 = (*.f64 %197 #s(literal 4 binary64))
%202 = (*.f64 %197 #s(literal 1/2 binary64))
%206 = (*.f64 %197 #s(literal -2 binary64))
%210 = (*.f64 %197 #s(literal 1 binary64))
%214 = (*.f64 %197 #s(literal 2 binary64))
%218 = (fma.f64 %9 y (*.f64 x %35))
%220 = (*.f64 %35 y)
%221 = (*.f64 %220 #s(literal 4 binary64))
%225 = (*.f64 %220 #s(literal 1/2 binary64))
%229 = (*.f64 %220 #s(literal -2 binary64))
%233 = (*.f64 %220 #s(literal 1 binary64))
%237 = (*.f64 %220 #s(literal 2 binary64))
%241 = (fma.f64 x %35 (*.f64 %9 y))
%243 = (*.f64 y %35)
%244 = (*.f64 %243 #s(literal 4 binary64))
%248 = (*.f64 %243 #s(literal 1/2 binary64))
%252 = (*.f64 %243 #s(literal -2 binary64))
%256 = (*.f64 %243 #s(literal 1 binary64))
%260 = (*.f64 %243 #s(literal 2 binary64))
%264 = (fma.f64 x y (*.f64 x y))
%281 = (fma.f64 %9 %35 (*.f64 %35 %9))
%298 = (fma.f64 %9 y (*.f64 %35 x))
%315 = (fma.f64 x %35 (*.f64 y %9))
%332 = (fma.f64 x y (*.f64 y x))
%369 = (fma.f64 #s(literal -1 binary64) %35 %41)
%371 = (*.f64 %35 #s(literal 0 binary64))
%387 = (-.f64 (*.f64 %14 #s(literal 2 binary64)) #s(literal 2 binary64))
%406 = (-.f64 (*.f64 %41 #s(literal 2 binary64)) %42)
%408 = (*.f64 %42 #s(literal 0 binary64))
%428 = (*.f64 %11 #s(literal 2 binary64))
%429 = (-.f64 %428 %50)
%431 = (*.f64 %50 #s(literal 0 binary64))
%440 = (*.f64 %50 #s(literal -2 binary64))
%448 = (*.f64 %50 #s(literal 2 binary64))
%450 = (neg.f64 %128)
%467 = (*.f64 y #s(literal 0 binary64))
%482 = (*.f64 #s(literal -2 binary64) %9)
%528 = (+.f64 %4 #s(literal -1 binary64))
%530 = (/.f64 %127 y)
%534 = (/.f64 #s(literal 2 binary64) y)
%592 = (/ (- x y) (+ y x))
%593 = (approx %592 %135)
%598 = (fma.f64 #s(literal -2 binary64) y x)
%600 = (-.f64 %56 #s(literal 1/2 binary64))
%602 = (fma.f64 %56 #s(literal -2 binary64) #s(literal 1 binary64))
%604 = (-.f64 #s(literal 1/2 binary64) %56)
%607 = (*.f64 %46 #s(literal 1 binary64))
%614 = (*.f64 %46 #s(literal -1 binary64))
%616 = (*.f64 %9 #s(literal -2 binary64))
%626 = (*.f64 %46 #s(literal 2 binary64))
%632 = (*.f64 #s(literal 4 binary64) %9)
%636 = (*.f64 #s(literal 4 binary64) x)
%643 = (*.f64 #s(literal 1/2 binary64) %9)
%647 = (*.f64 #s(literal 1/2 binary64) x)
%671 = (*.f64 #s(literal 2 binary64) %50)
%674 = (*.f64 #s(literal 2 binary64) %46)
%677 = (*.f64 %56 #s(literal -2 binary64))
%678 = (fma.f64 %677 #s(literal 2 binary64) #s(literal 2 binary64))
%681 = (+.f64 %9 %50)
%684 = (fma.f64 %50 #s(literal 2 binary64) %41)
%687 = (fma.f64 #s(literal -2 binary64) x %448)
%690 = (fma.f64 #s(literal 2 binary64) x %626)
%693 = (fma.f64 %46 #s(literal 2 binary64) %11)
%696 = (fma.f64 #s(literal -2 binary64) x %671)
%699 = (fma.f64 #s(literal 2 binary64) x %674)
%702 = (neg.f64 %598)
%719 = (*.f64 %56 #s(literal 2 binary64))
%726 = (/.f64 #s(literal -2 binary64) x)
%757 = (approx %592 %602)
x
y
#s(literal -1 binary64)
#s(literal 2 binary64)
(*.f64 %6 #s(literal 2 binary64))
(*.f64 %8 %9)
(*.f64 %11 %12)
(*.f64 #s(literal 1/2 binary64) %14)
(*.f64 %17 x)
(*.f64 %9 %19)
(*.f64 %9 %8)
(*.f64 %14 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %4)
(*.f64 %4 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) %25)
(*.f64 #s(literal 2 binary64) %27)
(*.f64 x %17)
(pow.f64 %4 #s(literal 1 binary64))
(/.f64 (neg.f64 %31) y)
(/.f64 %34 %35)
(/.f64 %31 %35)
(/.f64 %38 %35)
(/.f64 %41 %42)
(/.f64 %41 %44)
(/.f64 %41 %46)
(/.f64 %48 #s(literal -2 binary64))
(/.f64 %11 %50)
(/.f64 %9 %35)
(/.f64 %14 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %56)
%4
(neg.f64 (*.f64 %4 #s(literal -1 binary64)))
(neg.f64 (*.f64 %60 #s(literal 1 binary64)))
(neg.f64 (*.f64 #s(literal -1 binary64) %4))
(neg.f64 %60)
(fma.f64 %6 #s(literal 2 binary64) %67)
(fma.f64 %6 #s(literal 2 binary64) %69)
(fma.f64 %8 %9 %67)
(fma.f64 %8 %9 %69)
(fma.f64 %11 %12 %67)
(fma.f64 %11 %12 %69)
(fma.f64 #s(literal 1/2 binary64) %14 %67)
(fma.f64 #s(literal 1/2 binary64) %14 %69)
(fma.f64 #s(literal 1/2 binary64) %4 %27)
(fma.f64 %17 x %67)
(fma.f64 %17 x %69)
(fma.f64 %9 %19 %67)
(fma.f64 %9 %19 %69)
(fma.f64 %9 %8 %67)
(fma.f64 %9 %8 %69)
(fma.f64 %14 #s(literal 1/2 binary64) %67)
(fma.f64 %14 #s(literal 1/2 binary64) %69)
(fma.f64 #s(literal 1 binary64) %4 %67)
(fma.f64 #s(literal 1 binary64) %4 %69)
(fma.f64 %4 #s(literal 1/2 binary64) %6)
(fma.f64 %4 #s(literal 1 binary64) %67)
(fma.f64 %4 #s(literal 1 binary64) %69)
(fma.f64 #s(literal 2 binary64) %25 %67)
(fma.f64 #s(literal 2 binary64) %25 %69)
(fma.f64 #s(literal 2 binary64) %27 %67)
(fma.f64 #s(literal 2 binary64) %27 %69)
(fma.f64 x %17 %67)
(fma.f64 x %17 %69)
(+.f64 %6 %6)
(+.f64 %27 %27)
(+.f64 %4 %67)
(+.f64 %4 %69)
#s(literal 1 binary64)
#s(literal -2 binary64)
(*.f64 %101 %35)
(*.f64 %50 %103)
(*.f64 %105 y)
(*.f64 %35 %101)
(*.f64 #s(literal 1 binary64) %56)
(*.f64 #s(literal 2 binary64) (*.f64 %103 y))
(*.f64 y %105)
(pow.f64 %56 #s(literal 1 binary64))
(/.f64 (neg.f64 %113) x)
(/.f64 %113 %9)
(/.f64 %35 %34)
(/.f64 %35 %38)
(/.f64 %35 %9)
(/.f64 #s(literal 1 binary64) (pow.f64 %56 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) %4)
%56
(neg.f64 (/.f64 %35 x))
(*.f64 %125 #s(literal 2 binary64))
(*.f64 %128 %17)
(*.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %125))
(*.f64 #s(literal -2 binary64) (-.f64 #s(literal 1/2 binary64) %4))
(*.f64 #s(literal 1 binary64) %135)
(*.f64 #s(literal 2 binary64) (+.f64 #s(literal -1/2 binary64) %4))
(*.f64 #s(literal 2 binary64) %125)
(pow.f64 %135 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %142 #s(literal 4 binary64)) %144) %144)
(/.f64 (-.f64 (*.f64 %142 #s(literal 1/2 binary64)) %148) %148)
(/.f64 (-.f64 (*.f64 %142 #s(literal -2 binary64)) %50) %50)
(/.f64 (-.f64 (*.f64 %142 #s(literal 1 binary64)) %113) %113)
(/.f64 (-.f64 (*.f64 %142 #s(literal 2 binary64)) %42) %42)
(/.f64 (-.f64 (*.f64 %160 #s(literal 4 binary64)) %144) %144)
(/.f64 (-.f64 (*.f64 %160 #s(literal 1/2 binary64)) %148) %148)
(/.f64 (-.f64 (*.f64 %160 #s(literal -2 binary64)) %50) %50)
(/.f64 (-.f64 (*.f64 %160 #s(literal 1 binary64)) %113) %113)
(/.f64 (-.f64 (*.f64 %160 #s(literal 2 binary64)) %42) %42)
(/.f64 (-.f64 (*.f64 %176 #s(literal 4 binary64)) %178) %178)
(/.f64 (-.f64 (*.f64 %176 #s(literal 1/2 binary64)) %182) %182)
(/.f64 (-.f64 (*.f64 %176 #s(literal -2 binary64)) %46) %46)
(/.f64 (-.f64 (*.f64 %176 #s(literal 1 binary64)) y) y)
(/.f64 (-.f64 (*.f64 %176 #s(literal 2 binary64)) %50) %50)
(/.f64 (-.f64 (*.f64 %195 #s(literal 4 binary64)) %198) %198)
(/.f64 (-.f64 (*.f64 %195 #s(literal 1/2 binary64)) %202) %202)
(/.f64 (-.f64 (*.f64 %195 #s(literal -2 binary64)) %206) %206)
(/.f64 (-.f64 (*.f64 %195 #s(literal 1 binary64)) %210) %210)
(/.f64 (-.f64 (*.f64 %195 #s(literal 2 binary64)) %214) %214)
(/.f64 (-.f64 (*.f64 %218 #s(literal 4 binary64)) %221) %221)
(/.f64 (-.f64 (*.f64 %218 #s(literal 1/2 binary64)) %225) %225)
(/.f64 (-.f64 (*.f64 %218 #s(literal -2 binary64)) %229) %229)
(/.f64 (-.f64 (*.f64 %218 #s(literal 1 binary64)) %233) %233)
(/.f64 (-.f64 (*.f64 %218 #s(literal 2 binary64)) %237) %237)
(/.f64 (-.f64 (*.f64 %241 #s(literal 4 binary64)) %244) %244)
(/.f64 (-.f64 (*.f64 %241 #s(literal 1/2 binary64)) %248) %248)
(/.f64 (-.f64 (*.f64 %241 #s(literal -2 binary64)) %252) %252)
(/.f64 (-.f64 (*.f64 %241 #s(literal 1 binary64)) %256) %256)
(/.f64 (-.f64 (*.f64 %241 #s(literal 2 binary64)) %260) %260)
(/.f64 (-.f64 (*.f64 %264 #s(literal 4 binary64)) %198) %198)
(/.f64 (-.f64 (*.f64 %264 #s(literal 1/2 binary64)) %202) %202)
(/.f64 (-.f64 (*.f64 %264 #s(literal -2 binary64)) %206) %206)
(/.f64 (-.f64 (*.f64 %264 #s(literal 1 binary64)) %210) %210)
(/.f64 (-.f64 (*.f64 %264 #s(literal 2 binary64)) %214) %214)
(/.f64 (-.f64 (*.f64 %281 #s(literal 4 binary64)) %198) %198)
(/.f64 (-.f64 (*.f64 %281 #s(literal 1/2 binary64)) %202) %202)
(/.f64 (-.f64 (*.f64 %281 #s(literal -2 binary64)) %206) %206)
(/.f64 (-.f64 (*.f64 %281 #s(literal 1 binary64)) %210) %210)
(/.f64 (-.f64 (*.f64 %281 #s(literal 2 binary64)) %214) %214)
(/.f64 (-.f64 (*.f64 %298 #s(literal 4 binary64)) %221) %221)
(/.f64 (-.f64 (*.f64 %298 #s(literal 1/2 binary64)) %225) %225)
(/.f64 (-.f64 (*.f64 %298 #s(literal -2 binary64)) %229) %229)
(/.f64 (-.f64 (*.f64 %298 #s(literal 1 binary64)) %233) %233)
(/.f64 (-.f64 (*.f64 %298 #s(literal 2 binary64)) %237) %237)
(/.f64 (-.f64 (*.f64 %315 #s(literal 4 binary64)) %244) %244)
(/.f64 (-.f64 (*.f64 %315 #s(literal 1/2 binary64)) %248) %248)
(/.f64 (-.f64 (*.f64 %315 #s(literal -2 binary64)) %252) %252)
(/.f64 (-.f64 (*.f64 %315 #s(literal 1 binary64)) %256) %256)
(/.f64 (-.f64 (*.f64 %315 #s(literal 2 binary64)) %260) %260)
(/.f64 (-.f64 (*.f64 %332 #s(literal 4 binary64)) %198) %198)
(/.f64 (-.f64 (*.f64 %332 #s(literal 1/2 binary64)) %202) %202)
(/.f64 (-.f64 (*.f64 %332 #s(literal -2 binary64)) %206) %206)
(/.f64 (-.f64 (*.f64 %332 #s(literal 1 binary64)) %210) %210)
(/.f64 (-.f64 (*.f64 %332 #s(literal 2 binary64)) %214) %214)
(/.f64 (-.f64 (*.f64 %41 #s(literal 4 binary64)) %144) %144)
(/.f64 (-.f64 (*.f64 %41 #s(literal 1/2 binary64)) %148) %148)
(/.f64 (-.f64 (*.f64 %41 #s(literal -2 binary64)) %50) %50)
(/.f64 (-.f64 %41 %113) %113)
(/.f64 (-.f64 (*.f64 %11 #s(literal 4 binary64)) %178) %178)
(/.f64 (-.f64 x %182) %182)
(/.f64 (-.f64 (*.f64 %11 #s(literal -2 binary64)) %46) %46)
(/.f64 (-.f64 %11 y) y)
(/.f64 (-.f64 (*.f64 %369 #s(literal 4 binary64)) %371) %144)
(/.f64 (-.f64 (*.f64 %369 #s(literal 1/2 binary64)) %371) %148)
(/.f64 (-.f64 (*.f64 %369 #s(literal -2 binary64)) %371) %50)
(/.f64 (-.f64 (*.f64 %369 #s(literal 1 binary64)) %371) %113)
(/.f64 (-.f64 (*.f64 %369 #s(literal 2 binary64)) %371) %42)
(/.f64 (-.f64 (*.f64 %387 #s(literal 4 binary64)) #s(literal 0 binary64)) #s(literal 8 binary64))
(/.f64 (-.f64 (*.f64 %387 #s(literal 1/2 binary64)) #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %387 #s(literal -2 binary64)) #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (-.f64 (*.f64 %387 #s(literal 1 binary64)) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %387 #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 %406 #s(literal 4 binary64)) %408) (*.f64 %42 #s(literal 4 binary64)))
(/.f64 (-.f64 (*.f64 %406 #s(literal 1/2 binary64)) %408) (*.f64 %42 #s(literal 1/2 binary64)))
(/.f64 (-.f64 (*.f64 %406 #s(literal -2 binary64)) %408) (*.f64 %42 #s(literal -2 binary64)))
(/.f64 (-.f64 (*.f64 %406 #s(literal 1 binary64)) %408) (*.f64 %42 #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 %406 #s(literal 2 binary64)) %408) (*.f64 %42 #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 %429 #s(literal 4 binary64)) %431) (*.f64 %50 #s(literal 4 binary64)))
(/.f64 (-.f64 (*.f64 %429 #s(literal 1/2 binary64)) %431) y)
(/.f64 (-.f64 (*.f64 %429 #s(literal -2 binary64)) %431) %440)
(/.f64 (-.f64 (*.f64 %429 #s(literal 1 binary64)) %431) (*.f64 %50 #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 %429 #s(literal 2 binary64)) %431) %448)
(/.f64 (-.f64 (*.f64 %450 #s(literal 4 binary64)) %371) %144)
(/.f64 (-.f64 (*.f64 %450 #s(literal 1/2 binary64)) %371) %148)
(/.f64 (-.f64 (*.f64 %450 #s(literal -2 binary64)) %371) %50)
(/.f64 (-.f64 (*.f64 %450 #s(literal 1 binary64)) %371) %113)
(/.f64 (-.f64 (*.f64 %450 #s(literal 2 binary64)) %371) %42)
(/.f64 (-.f64 (*.f64 %128 #s(literal 4 binary64)) %467) %178)
(/.f64 (-.f64 (*.f64 %128 #s(literal 1/2 binary64)) %467) %182)
(/.f64 (-.f64 (*.f64 %128 #s(literal -2 binary64)) %467) %46)
(/.f64 (-.f64 (*.f64 %128 #s(literal 1 binary64)) %467) y)
(/.f64 (-.f64 (*.f64 %128 #s(literal 2 binary64)) %467) %50)
(/.f64 (-.f64 %50 (*.f64 #s(literal 2 binary64) %482)) %44)
(/.f64 (-.f64 %46 (*.f64 #s(literal 2 binary64) %41)) %50)
(/.f64 (-.f64 %44 (*.f64 #s(literal -2 binary64) %482)) %50)
(/.f64 (-.f64 %50 (*.f64 #s(literal -2 binary64) %41)) %46)
(/.f64 (-.f64 %44 (*.f64 #s(literal -2 binary64) %11)) %50)
(/.f64 (neg.f64 %369) y)
(/.f64 (neg.f64 %387) #s(literal -2 binary64))
(/.f64 (neg.f64 %406) %50)
(/.f64 (neg.f64 %429) %46)
(/.f64 (neg.f64 %450) y)
(/.f64 %369 %35)
(/.f64 %387 #s(literal 2 binary64))
(/.f64 %406 %42)
(/.f64 %429 %50)
(/.f64 (-.f64 %50 (*.f64 #s(literal 2 binary64) %11)) %44)
(/.f64 %450 %35)
(/.f64 %128 y)
(/.f64 #s(literal 1 binary64) (/.f64 y %128))
(/.f64 #s(literal 1 binary64) (pow.f64 %135 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal -2 binary64) %125))
(neg.f64 (-.f64 %48 #s(literal -1 binary64)))
(neg.f64 (-.f64 #s(literal 1 binary64) %14))
(fma.f64 %6 #s(literal 4 binary64) #s(literal -1 binary64))
(fma.f64 %6 #s(literal 2 binary64) %528)
(fma.f64 %6 #s(literal 2 binary64) %530)
(fma.f64 %428 %12 #s(literal -1 binary64))
(fma.f64 %41 %8 #s(literal -1 binary64))
(fma.f64 %534 x #s(literal -1 binary64))
(fma.f64 %8 %41 #s(literal -1 binary64))
(fma.f64 %8 %9 %528)
(fma.f64 %8 %9 %530)
(fma.f64 %11 %12 %528)
(fma.f64 %11 %12 %530)
(fma.f64 %11 %17 #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %4) #s(literal -1 binary64))
(fma.f64 #s(literal 1/2 binary64) %14 %528)
(fma.f64 #s(literal 1/2 binary64) %14 %530)
(fma.f64 %17 %11 #s(literal -1 binary64))
(fma.f64 %17 x %528)
(fma.f64 %17 x %530)
(fma.f64 %9 %19 %528)
(fma.f64 %9 %19 %530)
(fma.f64 %9 (/.f64 #s(literal -2 binary64) y) #s(literal -1 binary64))
(fma.f64 %9 (+.f64 %8 %8) #s(literal -1 binary64))
(fma.f64 %9 (*.f64 %8 #s(literal 2 binary64)) #s(literal -1 binary64))
(fma.f64 %9 %8 %528)
(fma.f64 %9 %8 %530)
(fma.f64 %14 #s(literal 1/2 binary64) %528)
(fma.f64 %14 #s(literal 1/2 binary64) %530)
(fma.f64 %14 #s(literal 1 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) %125 %125)
(fma.f64 #s(literal 1 binary64) %14 #s(literal -1 binary64))
(fma.f64 #s(literal 1 binary64) %4 %528)
(fma.f64 #s(literal 1 binary64) %4 %530)
(fma.f64 %4 #s(literal 1 binary64) %528)
(fma.f64 %4 #s(literal 1 binary64) %530)
%135
(fma.f64 #s(literal 2 binary64) %25 %528)
(fma.f64 #s(literal 2 binary64) %25 %530)
(fma.f64 #s(literal 2 binary64) %27 %528)
(fma.f64 #s(literal 2 binary64) %27 %530)
(fma.f64 #s(literal 2 binary64) %4 #s(literal -1 binary64))
(fma.f64 x %534 #s(literal -1 binary64))
(fma.f64 x %17 %528)
(fma.f64 x %17 %530)
(-.f64 (-.f64 %14 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(-.f64 %14 #s(literal 1 binary64))
(-.f64 %135 #s(literal 0 binary64))
(-.f64 #s(literal -1 binary64) %48)
(+.f64 (+.f64 #s(literal -1 binary64) %4) %4)
(+.f64 (/.f64 %35 y) %14)
(+.f64 %125 %125)
(+.f64 %14 #s(literal -1 binary64))
(+.f64 %4 %528)
(+.f64 %4 %530)
(+.f64 #s(literal -1 binary64) %14)
(*.f64 #s(literal 1 binary64) %593)
(pow.f64 %593 #s(literal 1 binary64))
%593
(/.f64 #s(literal 1 binary64) (pow.f64 %593 #s(literal -1 binary64)))
(*.f64 %598 %105)
(*.f64 #s(literal -2 binary64) %600)
(*.f64 #s(literal 1 binary64) %602)
(*.f64 #s(literal 2 binary64) %604)
(pow.f64 %602 #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 %607 #s(literal 2 binary64)) %41) %11)
(/.f64 (-.f64 (*.f64 %607 #s(literal -2 binary64)) %11) %41)
(/.f64 (-.f64 (*.f64 %614 #s(literal 2 binary64)) %616) %41)
(/.f64 (-.f64 (*.f64 %614 #s(literal -2 binary64)) %41) %616)
(/.f64 (-.f64 %448 %616) %41)
(/.f64 (-.f64 %440 %41) %616)
(/.f64 (-.f64 %626 %41) %11)
(/.f64 (-.f64 (*.f64 %46 #s(literal -2 binary64)) %11) %41)
(/.f64 (-.f64 %632 (*.f64 #s(literal 4 binary64) %44)) %632)
(/.f64 (-.f64 %636 (*.f64 #s(literal 4 binary64) %50)) %636)
(/.f64 (-.f64 %632 (*.f64 #s(literal 4 binary64) %46)) %632)
(/.f64 (-.f64 %643 (*.f64 #s(literal 1/2 binary64) %44)) %643)
(/.f64 (-.f64 %647 (*.f64 #s(literal 1/2 binary64) %50)) %647)
(/.f64 (-.f64 %643 (*.f64 #s(literal 1/2 binary64) %46)) %643)
(/.f64 (-.f64 %482 (*.f64 #s(literal -2 binary64) %44)) %482)
(/.f64 (-.f64 %41 (*.f64 #s(literal -2 binary64) %50)) %41)
(/.f64 (-.f64 %482 (*.f64 #s(literal -2 binary64) %46)) %482)
(/.f64 (-.f64 %9 (*.f64 #s(literal 1 binary64) %44)) %9)
(/.f64 (-.f64 %9 %46) %9)
(/.f64 (-.f64 %41 (*.f64 #s(literal 2 binary64) %44)) %41)
(/.f64 (-.f64 %11 %671) %11)
(/.f64 (-.f64 %41 %674) %41)
(/.f64 (neg.f64 %678) #s(literal -2 binary64))
(/.f64 (neg.f64 %681) x)
(/.f64 (neg.f64 %684) %11)
(/.f64 (neg.f64 %687) %11)
(/.f64 (neg.f64 %690) %41)
(/.f64 (neg.f64 %693) %41)
(/.f64 (neg.f64 %696) %11)
(/.f64 (neg.f64 %699) %41)
(/.f64 (neg.f64 %702) x)
(/.f64 %678 #s(literal 2 binary64))
(/.f64 %681 %9)
(/.f64 %684 %41)
(/.f64 %687 %41)
(/.f64 %690 %11)
(/.f64 %693 %11)
(/.f64 %696 %41)
(/.f64 %699 %11)
(/.f64 %702 %9)
(/.f64 %598 x)
(/.f64 #s(literal 1 binary64) (/.f64 x %598))
(/.f64 #s(literal 1 binary64) (pow.f64 %602 #s(literal -1 binary64)))
(neg.f64 (-.f64 %719 #s(literal 1 binary64)))
(neg.f64 (-.f64 #s(literal -1 binary64) %677))
(fma.f64 %607 %105 #s(literal 1 binary64))
(fma.f64 %626 %103 #s(literal 1 binary64))
(fma.f64 %726 y #s(literal 1 binary64))
(fma.f64 %598 %105 #s(literal 0 binary64))
(fma.f64 %50 %101 #s(literal 1 binary64))
(fma.f64 %46 %105 #s(literal 1 binary64))
(fma.f64 %105 %46 #s(literal 1 binary64))
(fma.f64 %35 (*.f64 %101 #s(literal -2 binary64)) #s(literal 1 binary64))
(fma.f64 %35 (/.f64 #s(literal 2 binary64) x) #s(literal 1 binary64))
%602
(fma.f64 #s(literal -2 binary64) %600 #s(literal 0 binary64))
(fma.f64 #s(literal -2 binary64) %56 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %677 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %602 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %604 #s(literal 0 binary64))
(fma.f64 y %726 #s(literal 1 binary64))
(-.f64 %677 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) %719)
(+.f64 (fma.f64 %726 y #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) %677))
(+.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) %719))
(+.f64 %677 #s(literal 1 binary64))
(+.f64 %602 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) %677))
(+.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %719))
(+.f64 #s(literal 1 binary64) %677)
(*.f64 #s(literal 1 binary64) %757)
(pow.f64 %757 #s(literal 1 binary64))
%757
(/.f64 #s(literal 1 binary64) (pow.f64 %757 #s(literal -1 binary64)))

reconstruct20.0ms (1.2%)

Counts
380 → 66
Compiler

Compiled 380 to 875 computations (-130.3% saved)

eval6.0ms (0.4%)

Compiler

Compiled 61 to 211 computations (-245.9% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (0 fresh and 6 done)

PrunedKeptTotal
New61061
Fresh000
Picked022
Done044
Total61667
Accuracy
100.0%
Counts
67 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(/.f64 (-.f64 x y) (+.f64 x y))
52.0%
(/.f64 (-.f64 x y) (approx (+ x y) y))
50.4%
(approx (/ (- x y) (+ y x)) (fma.f64 (/.f64 y x) #s(literal -2 binary64) #s(literal 1 binary64)))
52.2%
(approx (/ (- x y) (+ y x)) (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
49.4%
(approx (/ (- x y) (+ x y)) #s(literal 1 binary64))
51.2%
(approx (/ (- x y) (+ x y)) #s(literal -1 binary64))
Compiler

Compiled 6 to 14 computations (-133.3% saved)

regimes14.0ms (0.8%)

Accuracy

Total 0.0b remaining (0.1%)

Threshold costs 0.0b (0.1%)

0.0b0.0%
0.0b100.0%
-0.0b100.0%
-0.0b100.0%
-0.0b100.0%

Counts
1 → 1
2 → 2
3 → 2
4 → 2
5 → 2
6 → 1
Calls
Call 1
Inputs
(approx (/ (- x y) (+ x y)) #s(literal -1 binary64))
Outputs
(approx (/ (- x y) (+ x y)) #s(literal -1 binary64))
Call 2
Inputs
%4 = (/ (- x y) (+ x y))
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
Outputs
%4 = (/ (- x y) (+ x y))
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
Call 3
Inputs
%3 = (+ x y)
%4 = (/ (- x y) %3)
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
(/.f64 (-.f64 x y) (approx %3 y))
Outputs
%3 = (+ x y)
(/.f64 (-.f64 x y) (approx %3 y))
(approx (/ (- x y) %3) #s(literal 1 binary64))
Call 4
Inputs
%2 = (- x y)
%3 = (+ x y)
%4 = (/ %2 %3)
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
(/.f64 (-.f64 x y) (approx %3 y))
(approx (/ %2 (+ y x)) (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
Outputs
%2 = (- x y)
(approx (/ %2 (+ y x)) (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
(approx (/ %2 (+ x y)) #s(literal 1 binary64))
Call 5
Inputs
%2 = (- x y)
%3 = (+ x y)
%4 = (/ %2 %3)
%13 = (/ %2 (+ y x))
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
(/.f64 (-.f64 x y) (approx %3 y))
(approx %13 (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
(approx %13 (fma.f64 (/.f64 y x) #s(literal -2 binary64) #s(literal 1 binary64)))
Outputs
%4 = (/ (- x y) (+ y x))
(approx %4 (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
(approx %4 (fma.f64 (/.f64 y x) #s(literal -2 binary64) #s(literal 1 binary64)))
Call 6
Inputs
%2 = (- x y)
%3 = (+ x y)
%4 = (/ %2 %3)
%9 = (-.f64 x y)
%13 = (/ %2 (+ y x))
(approx %4 #s(literal -1 binary64))
(approx %4 #s(literal 1 binary64))
(/.f64 %9 (approx %3 y))
(approx %13 (fma.f64 (/.f64 x y) #s(literal 2 binary64) #s(literal -1 binary64)))
(approx %13 (fma.f64 (/.f64 y x) #s(literal -2 binary64) #s(literal 1 binary64)))
(/.f64 %9 (+.f64 x y))
Outputs
(/.f64 (-.f64 x y) (+.f64 x y))
Calls

3 calls:

5.0ms
y
5.0ms
x
3.0ms
(/.f64 (-.f64 x y) (+.f64 x y))
Results
AccuracySegmentsBranch
51.2%1
y
51.2%1
x
51.2%1
(/.f64 (-.f64 x y) (+.f64 x y))
Compiler

Compiled 11 to 23 computations (-109.1% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0
0.9989901724405672
Compiler

Compiled 1 to 5 computations (-400.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0
0.9989901724405672
Compiler

Compiled 1 to 5 computations (-400.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-1.0
0.9989901724405672
Compiler

Compiled 1 to 5 computations (-400.0% saved)

bsearch10.0ms (0.6%)

Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
8.0ms
-1.0
0.9989901724405672
Samples
3.0ms192×0valid
Compiler

Compiled 12 to 15 computations (-25.0% 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)
Add: 0.0ms (0.0% of total, 0.0 MiB)

bsearch0.0ms (0.0%)

derivations29.0ms (1.7%)

Stop Event
done
Compiler

Compiled 6 to 21 computations (-250.0% saved)

preprocess24.0ms (1.5%)

Compiler

Compiled 7 to 26 computations (-271.4% saved)

end0.0ms (0.0%)

gc977ms (59.1%)

Allocations
AllocatedPercentPhase
659.4 MiB49.3%sample
222.5 MiB16.6%rewrite
140.9 MiB10.5%reconstruct
93.0 MiB7.0%preprocess
75.6 MiB5.7%series
38.3 MiB2.9%analyze
35.6 MiB2.7%eval
23.1 MiB1.7%regimes
22.3 MiB1.7%derivations
12.9 MiB1.0%prune
12.5 MiB0.9%bsearch
0.2 MiB0.0%start
0.0 MiB0.0%end
1 336.5 MiB100.0%total

Profiling

Loading profile data...