Logistic function

Time bar (total: 16.3s)

start0.0ms (0.0%)

analyze182.0ms (1.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%24.7%75.3%0.0%0.0%0.0%0
0.0%0.0%24.7%75.3%0.0%0.0%0.0%1
0.0%0.0%24.7%75.3%0.0%0.0%0.0%2
0.0%0.0%24.7%75.3%0.0%0.0%0.0%3
0.0%0.0%24.7%75.3%0.0%0.0%0.0%4
50.0%12.4%12.4%75.3%0.0%0.0%0.0%5
50.0%12.4%12.4%75.3%0.0%0.0%0.0%6
75.0%18.5%6.2%75.3%0.0%0.0%0.0%7
75.0%18.5%6.2%75.3%0.0%0.0%0.0%8
87.5%21.6%3.1%75.3%0.0%0.0%0.0%9
87.5%21.6%3.1%75.3%0.0%0.0%0.0%10
93.7%23.2%1.5%75.3%0.0%0.0%0.0%11
93.7%23.2%1.5%75.3%0.0%0.0%0.0%12
Compiler

Compiled 17 to 14 computations (17.6% saved)

sample3.8s (23.6%)

Samples
3.0s8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 1.2s
ival-div!: 515.0ms (43.4% of total, 112.3 MiB)
ival-exp!: 249.0ms (21.0% of total, 60.6 MiB)
adjust: 170.0ms (14.3% of total, 9.4 MiB)
ival-neg!: 165.0ms (13.9% of total, 28.6 MiB)
ival-add!: 81.0ms (6.8% of total, 32.1 MiB)
ival-and: 5.0ms (0.4% of total, 0.3 MiB)
ival-<=: 1.0ms (0.1% of total, 0.4 MiB)
ival-assert: 0.0ms (0.0% of total, 0.2 MiB)
Bogosity

preprocess250.0ms (1.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02450
114650
240150
3185950
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
Compiler

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series585.0ms (3.6%)

Counts
8 → 32
Calls
Call 1
Inputs
%2 = (neg.f32 x)
%4 = (/.f32 %2 s)
%5 = (exp.f32 %4)
%6 = (+.f32 #s(literal 1 binary32) %5)
#s(literal 1 binary32)
x
%2
s
%4
%5
%6
(/.f32 #s(literal 1 binary32) %6)
Outputs
%5 = (neg x)
%10 = (/ %5 s)
%11 = (/.f32 x s)
%12 = (*.f32 #s(literal -1 binary32) %11)
%14 = (exp %10)
%21 = (pow.f32 s #s(literal 2 binary32))
%24 = (/.f32 #s(literal 1 binary32) s)
%26 = (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) (/.f32 x %21)) %24))
%31 = (pow.f32 s #s(literal 3 binary32))
%38 = (*.f32 x (-.f32 (*.f32 x (fma.f32 #s(literal -1/6 binary32) (/.f32 x %31) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %21)))) %24))
%41 = (+ 1 %14)
%49 = (/ 1 %41)
%56 = (pow.f32 x #s(literal 2 binary32))
%58 = (*.f32 #s(literal 1/4 binary32) %24)
%76 = (exp.f32 %12)
%78 = (+.f32 #s(literal 1 binary32) %76)
%83 = (/.f32 %56 %21)
%84 = (*.f32 #s(literal 1/2 binary32) %83)
%85 = (fma.f32 #s(literal -1 binary32) %11 %84)
%88 = (pow.f32 x #s(literal 3 binary32))
%91 = (fma.f32 #s(literal -1 binary32) %11 (fma.f32 #s(literal -1/6 binary32) (/.f32 %88 %31) %84))
%101 = (fma.f32 #s(literal -1/8 binary32) %56 (*.f32 #s(literal 1/8 binary32) %56))
%111 = (*.f32 x %101)
%124 = (/.f32 %56 s)
%128 = (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x (*.f32 #s(literal -1/2 binary32) %124)) s))
%131 = (/.f32 %88 s)
%138 = (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %131 (*.f32 #s(literal 1/2 binary32) %56)) s))) s))
%147 = (*.f32 #s(literal 1/4 binary32) x)
(approx 1 #s(literal 0 binary32))
(approx x x)
(approx %5 (*.f32 #s(literal -1 binary32) x))
(approx %10 %12)
(approx %14 #s(literal 1 binary32))
(approx %14 (+.f32 #s(literal 1 binary32) %12))
(approx %14 (+.f32 #s(literal 1 binary32) %26))
(approx %14 (+.f32 #s(literal 1 binary32) %38))
(approx %41 #s(literal 2 binary32))
(approx %41 (+.f32 #s(literal 2 binary32) %12))
(approx %41 (+.f32 #s(literal 2 binary32) %26))
(approx %41 (+.f32 #s(literal 2 binary32) %38))
(approx %49 #s(literal 1/2 binary32))
(approx %49 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) %11)))
(approx %49 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 #s(literal -1/48 binary32) (/.f32 %56 %31) %58))))
(approx %49 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 %56 (-.f32 (*.f32 #s(literal 1/480 binary32) (/.f32 %56 (pow.f32 s #s(literal 5 binary32)))) (*.f32 #s(literal 1/48 binary32) (/.f32 #s(literal 1 binary32) %31))) %58))))
(approx %14 %76)
(approx %41 %78)
(approx %49 (/.f32 #s(literal 1 binary32) %78))
(approx s s)
(approx %14 (+.f32 #s(literal 1 binary32) %85))
(approx %14 (+.f32 #s(literal 1 binary32) %91))
(approx %41 (+.f32 #s(literal 2 binary32) %85))
(approx %41 (+.f32 #s(literal 2 binary32) %91))
(approx %49 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %101 %21))) (*.f32 #s(literal -1/4 binary32) %11)))
(approx %49 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/24 binary32) %88 (fma.f32 #s(literal 1/16 binary32) %88 (*.f32 #s(literal 1/2 binary32) %111))) %31))) (fma.f32 #s(literal -1/4 binary32) %11 (fma.f32 #s(literal -1/8 binary32) %83 (*.f32 #s(literal 1/8 binary32) %83)))))
(approx %14 (+.f32 #s(literal 1 binary32) %128))
(approx %14 (+.f32 #s(literal 1 binary32) %138))
(approx %41 (+.f32 #s(literal 2 binary32) %128))
(approx %41 (+.f32 #s(literal 2 binary32) %138))
(approx %49 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/8 binary32) %124 (*.f32 #s(literal 1/8 binary32) %124)) %147) s))))
(approx %49 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %111 s) (fma.f32 #s(literal -1/16 binary32) %131 (*.f32 #s(literal 1/24 binary32) %131))) %101) s)) %147) s))))
Calls

6 calls:

TimeVariablePoint
11.0ms
x
0
11.0ms
s
-inf
10.0ms
x
-inf
1.0ms
s
inf
1.0ms
x
inf

rewrite1.7s (10.2%)

Counts
8 → 250
Calls
Call 1
Inputs
%2 = (neg.f32 x)
%4 = (/.f32 %2 s)
%5 = (exp.f32 %4)
%6 = (+.f32 #s(literal 1 binary32) %5)
#s(literal 1 binary32)
x
%2
s
%4
%5
%6
(/.f32 #s(literal 1 binary32) %6)
Outputs
%47 = (neg.f32 x)
%51 = (*.f32 x #s(literal 1 binary32))
%53 = (*.f32 %47 #s(literal -1 binary32))
%55 = (*.f32 %47 #s(literal 1/2 binary32))
%57 = (*.f32 %47 #s(literal 2 binary32))
%59 = (*.f32 %47 #s(literal 0 binary32))
%61 = (*.f32 #s(literal 0 binary32) %47)
%69 = (*.f32 #s(literal 1/2 binary32) %47)
%78 = (neg.f32 s)
%81 = (/.f32 %47 s)
%82 = (/.f32 x s)
%84 = (/.f32 #s(literal -1 binary32) s)
%89 = (/.f32 #s(literal 1 binary32) s)
%99 = (/.f32 #s(literal 1/2 binary32) s)
%103 = (exp.f32 %81)
%105 = (-.f32 #s(literal 0 binary32) %82)
%107 = (neg.f32 %103)
%110 = (exp.f32 %82)
%116 = (exp.f32 (*.f32 %81 #s(literal 2 binary32)))
%118 = (*.f32 #s(literal 2 binary32) %110)
%120 = (/.f32 #s(literal 1/2 binary32) %110)
%122 = (/.f32 #s(literal 2 binary32) %110)
%133 = (cosh.f32 %82)
%134 = (sinh.f32 %82)
%136 = (sinh.f32 %81)
%140 = (neg.f32 %133)
%142 = (/.f32 #s(literal 0 binary32) %110)
%146 = (sqrt.f32 %103)
%150 = (*.f32 #s(literal 2 binary32) %133)
%152 = (*.f32 #s(literal 2 binary32) %136)
%179 = (-.f32 %103 #s(literal -1 binary32))
%180 = (-.f32 #s(literal -1 binary32) %103)
%191 = (+.f32 #s(literal 0 binary32) %103)
%194 = (+.f32 #s(literal 1/2 binary32) %103)
%198 = (-.f32 #s(literal 0 binary32) %107)
%200 = (-.f32 #s(literal 1/2 binary32) %107)
%228 = (+.f32 %133 #s(literal 1 binary32))
%230 = (-.f32 %136 #s(literal -1 binary32))
%232 = (-.f32 %133 #s(literal -1 binary32))
%244 = (*.f32 %110 #s(literal 2 binary32))
%269 = (/.f32 #s(literal 1 binary32) %179)
%271 = (/.f32 #s(literal -1 binary32) %179)
%284 = (/.f32 #s(literal 1/2 binary32) %179)
%286 = (/.f32 #s(literal 2 binary32) %179)
%288 = (/.f32 #s(literal 1/2 binary32) %180)
%298 = (*.f32 %271 #s(literal 1 binary32))
%301 = (*.f32 #s(literal 2 binary32) %269)
%303 = (*.f32 #s(literal 1/2 binary32) %271)
%305 = (*.f32 %269 #s(literal 2 binary32))
%312 = (/.f32 #s(literal 0 binary32) %179)
%328 = (*.f32 %269 #s(literal 0 binary32))
%330 = (*.f32 #s(literal 0 binary32) %269)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(sqrt.f32 #s(literal 1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) #s(literal 1 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(-.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(-.f32 #s(literal 1/2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal -1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal 4 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 4 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(/.f32 #s(literal -2 binary32) #s(literal -2 binary32))
(/.f32 #s(literal 4 binary32) #s(literal 4 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 0 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 0 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 0 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) #s(literal -1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal -2 binary32) #s(literal -1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 4 binary32) #s(literal 1/4 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 4 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
(pow.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(pow.f32 #s(literal 1 binary32) #s(literal 3 binary32))
x
(neg.f32 %47)
%47
(*.f32 #s(literal 1 binary32) %47)
(*.f32 %47 #s(literal 1 binary32))
(neg.f32 %51)
(neg.f32 %53)
(*.f32 %55 #s(literal 2 binary32))
(*.f32 %57 #s(literal 1/2 binary32))
(+.f32 %47 %59)
(+.f32 %47 %61)
(/.f32 %57 #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) %47 %59)
(fma.f32 #s(literal 1 binary32) %47 %61)
(fma.f32 %47 #s(literal 1 binary32) %59)
(fma.f32 %47 #s(literal 1 binary32) %61)
(fma.f32 %47 #s(literal 1/2 binary32) %55)
(fma.f32 #s(literal 1/2 binary32) %47 %69)
(+.f32 %55 %55)
(+.f32 %69 %69)
(fma.f32 %55 #s(literal 2 binary32) %59)
(fma.f32 %55 #s(literal 2 binary32) %61)
(fma.f32 %57 #s(literal 1/2 binary32) %59)
(fma.f32 %57 #s(literal 1/2 binary32) %61)
s
(neg.f32 %78)
(/.f32 x %78)
%81
(neg.f32 %82)
(*.f32 x %84)
(*.f32 %84 x)
(/.f32 %51 %78)
(*.f32 #s(literal 1 binary32) %81)
(*.f32 %47 %89)
(*.f32 %89 %47)
(/.f32 #s(literal 1 binary32) (/.f32 %78 x))
(/.f32 #s(literal 1 binary32) (/.f32 s %47))
(/.f32 %53 %78)
(/.f32 (*.f32 #s(literal -1 binary32) %47) %78)
(*.f32 #s(literal 2 binary32) (*.f32 %99 %47))
(*.f32 %57 %99)
%103
(fabs.f32 %103)
(exp.f32 %105)
(fabs.f32 %107)
(neg.f32 %107)
(/.f32 #s(literal 1 binary32) %110)
(*.f32 #s(literal 1 binary32) %103)
(/.f32 #s(literal -1 binary32) (neg.f32 %110))
(sqrt.f32 %116)
(/.f32 #s(literal 2 binary32) %118)
(*.f32 #s(literal 2 binary32) %120)
(*.f32 #s(literal 1/2 binary32) %122)
(/.f32 #s(literal 1 binary32) (/.f32 %110 #s(literal 1 binary32)))
(pow.f32 (exp.f32 x) %84)
(pow.f32 %110 #s(literal -1 binary32))
(pow.f32 (exp.f32 %47) %89)
(pow.f32 (exp.f32 %89) %47)
(-.f32 %133 %134)
(+.f32 %133 %136)
(+.f32 %136 %133)
(pow.f32 %116 #s(literal 1/2 binary32))
(-.f32 %136 %140)
(+.f32 %103 %142)
(+.f32 (neg.f32 %140) %136)
(*.f32 %146 %146)
(fma.f32 #s(literal 1 binary32) %103 %142)
(+.f32 %120 %120)
(fma.f32 %150 #s(literal 1/2 binary32) %136)
(fma.f32 %152 #s(literal 1/2 binary32) %133)
(fma.f32 #s(literal 2 binary32) %120 %142)
(fma.f32 #s(literal 1/2 binary32) %122 %142)
(/.f32 (fma.f32 %136 #s(literal 2 binary32) %150) #s(literal 2 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %136 %150) #s(literal 2 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %133 %152) #s(literal 2 binary32))
(/.f32 (fma.f32 %133 #s(literal 2 binary32) %152) #s(literal 2 binary32))
(/.f32 (fma.f32 %152 #s(literal 2 binary32) (*.f32 %150 #s(literal 2 binary32))) #s(literal 4 binary32))
(/.f32 (fma.f32 %150 #s(literal 2 binary32) (*.f32 %152 #s(literal 2 binary32))) #s(literal 4 binary32))
(/.f32 (fma.f32 %152 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %150)) #s(literal 4 binary32))
(/.f32 (fma.f32 %150 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %152)) #s(literal 4 binary32))
(fma.f32 %146 %146 %142)
(+.f32 #s(literal 1 binary32) %103)
(+.f32 %103 #s(literal 1 binary32))
%179
(neg.f32 %180)
(-.f32 #s(literal 1 binary32) %107)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %103)
(fma.f32 #s(literal 1 binary32) %103 #s(literal 1 binary32))
(fma.f32 #s(literal -1 binary32) #s(literal -1 binary32) %103)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %103)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %103)
(fma.f32 #s(literal -2 binary32) #s(literal -1/2 binary32) %103)
(fma.f32 #s(literal 4 binary32) #s(literal 1/4 binary32) %103)
(fma.f32 #s(literal 1/4 binary32) #s(literal 4 binary32) %103)
(+.f32 #s(literal 1 binary32) %191)
(+.f32 %179 #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) %194)
(+.f32 (+.f32 %103 #s(literal 1/2 binary32)) #s(literal 1/2 binary32))
(+.f32 #s(literal 1 binary32) %198)
(+.f32 #s(literal 1/2 binary32) %200)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %191)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %194)
(fma.f32 #s(literal -1 binary32) #s(literal -1 binary32) %191)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %191)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %194)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %191)
(fma.f32 #s(literal -2 binary32) #s(literal -1/2 binary32) %191)
(fma.f32 #s(literal 4 binary32) #s(literal 1/4 binary32) %191)
(fma.f32 #s(literal 1/4 binary32) #s(literal 4 binary32) %191)
(fma.f32 #s(literal 2 binary32) %120 #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) %122 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %198)
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %200)
(fma.f32 #s(literal -1 binary32) #s(literal -1 binary32) %198)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %198)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %200)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %198)
(fma.f32 #s(literal -2 binary32) #s(literal -1/2 binary32) %198)
(fma.f32 #s(literal 4 binary32) #s(literal 1/4 binary32) %198)
(fma.f32 #s(literal 1/4 binary32) #s(literal 4 binary32) %198)
(/.f32 (fma.f32 %103 #s(literal 2 binary32) #s(literal 2 binary32)) #s(literal 2 binary32))
(-.f32 %133 (-.f32 %134 #s(literal 1 binary32)))
(-.f32 %133 (+.f32 %134 #s(literal -1 binary32)))
(-.f32 %228 %134)
(+.f32 %133 %230)
(+.f32 %136 %232)
(+.f32 %136 %228)
(+.f32 %228 %136)
(+.f32 %230 %133)
(/.f32 (fma.f32 #s(literal 1 binary32) %110 #s(literal 1 binary32)) %110)
(-.f32 %133 (neg.f32 %230))
(fma.f32 %146 %146 #s(literal 1 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %110 #s(literal 2 binary32)) %118)
(/.f32 (+.f32 #s(literal 2 binary32) %244) %244)
(/.f32 (+.f32 #s(literal 2 binary32) %118) %244)
(fma.f32 %150 #s(literal 1/2 binary32) %230)
(fma.f32 %152 #s(literal 1/2 binary32) %232)
(fma.f32 %152 #s(literal 1/2 binary32) %228)
(/.f32 (fma.f32 %228 #s(literal 2 binary32) %152) #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) (*.f32 (cosh.f32 (/.f32 (+.f32 #s(literal 0 binary32) %82) #s(literal 2 binary32))) (cosh.f32 (/.f32 %105 #s(literal 2 binary32)))) %136)
(fma.f32 #s(literal 2 binary32) (*.f32 (cosh.f32 (/.f32 (+.f32 #s(literal 0 binary32) %81) #s(literal 2 binary32))) (cosh.f32 (/.f32 (-.f32 #s(literal 0 binary32) %81) #s(literal 2 binary32)))) %136)
%269
(/.f32 #s(literal -1 binary32) %180)
(neg.f32 %271)
(/.f32 #s(literal 2 binary32) (*.f32 %179 #s(literal 2 binary32)))
(/.f32 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %179))
(/.f32 #s(literal -2 binary32) (*.f32 %180 #s(literal 2 binary32)))
(/.f32 #s(literal -2 binary32) (*.f32 #s(literal 2 binary32) %180))
(*.f32 #s(literal 1 binary32) %269)
(*.f32 %269 #s(literal 1 binary32))
(*.f32 #s(literal -1 binary32) %271)
(*.f32 #s(literal 2 binary32) %284)
(*.f32 #s(literal 1/2 binary32) %286)
(*.f32 #s(literal -2 binary32) %288)
(*.f32 %271 #s(literal -1 binary32))
(*.f32 %284 #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %180 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %179 #s(literal 1 binary32)))
(neg.f32 (*.f32 %269 #s(literal -1 binary32)))
(neg.f32 %298)
(*.f32 #s(literal -1 binary32) %298)
(*.f32 #s(literal 1/2 binary32) %301)
(*.f32 #s(literal -2 binary32) %303)
(*.f32 %305 #s(literal 1/2 binary32))
(/.f32 %305 #s(literal 2 binary32))
(/.f32 %301 #s(literal 2 binary32))
(pow.f32 %179 #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 %179 #s(literal 1 binary32)))
(+.f32 %269 %312)
(+.f32 %284 %284)
(fma.f32 #s(literal 1 binary32) %269 %312)
(fma.f32 #s(literal 1 binary32) %284 %284)
(fma.f32 %269 #s(literal 1 binary32) %312)
(fma.f32 %269 #s(literal 1/2 binary32) %284)
(fma.f32 #s(literal -1 binary32) %271 %312)
(fma.f32 #s(literal 2 binary32) %284 %312)
(fma.f32 #s(literal 1/2 binary32) %269 %284)
(fma.f32 #s(literal 1/2 binary32) %286 %312)
(fma.f32 #s(literal -2 binary32) %288 %312)
(fma.f32 #s(literal -1/2 binary32) %271 %284)
(fma.f32 %271 #s(literal -1 binary32) %312)
(fma.f32 %284 #s(literal 1 binary32) %284)
(fma.f32 %284 #s(literal 2 binary32) %312)
(+.f32 %269 %328)
(+.f32 %269 %330)
(fma.f32 #s(literal 1 binary32) %269 %328)
(fma.f32 #s(literal 1 binary32) %269 %330)
(fma.f32 %269 #s(literal 1 binary32) %328)
(fma.f32 %269 #s(literal 1 binary32) %330)
(fma.f32 #s(literal -1 binary32) %271 %328)
(fma.f32 #s(literal -1 binary32) %271 %330)
(fma.f32 #s(literal -1 binary32) %298 %312)
(fma.f32 #s(literal 2 binary32) %284 %328)
(fma.f32 #s(literal 2 binary32) %284 %330)
(fma.f32 #s(literal 1/2 binary32) %286 %328)
(fma.f32 #s(literal 1/2 binary32) %286 %330)
(fma.f32 #s(literal 1/2 binary32) %301 %312)
(fma.f32 #s(literal -2 binary32) %288 %328)
(fma.f32 #s(literal -2 binary32) %288 %330)
(fma.f32 #s(literal -2 binary32) %303 %312)
(fma.f32 %271 #s(literal -1 binary32) %328)
(fma.f32 %271 #s(literal -1 binary32) %330)
(fma.f32 %284 #s(literal 2 binary32) %328)
(fma.f32 %284 #s(literal 2 binary32) %330)
(fma.f32 %305 #s(literal 1/2 binary32) %312)
(fma.f32 #s(literal -1 binary32) %298 %328)
(fma.f32 #s(literal -1 binary32) %298 %330)
(fma.f32 #s(literal 1/2 binary32) %301 %328)
(fma.f32 #s(literal 1/2 binary32) %301 %330)
(fma.f32 #s(literal -2 binary32) %303 %328)
(fma.f32 #s(literal -2 binary32) %303 %330)
(fma.f32 %305 #s(literal 1/2 binary32) %328)
(fma.f32 %305 #s(literal 1/2 binary32) %330)

reconstruct138.0ms (0.8%)

Counts
282 → 53
Compiler

Compiled 282 to 477 computations (-69.1% saved)

eval19.0ms (0.1%)

Compiler

Compiled 48 to 248 computations (-416.7% saved)

prune8.0ms (0.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New42648
Fresh000
Picked011
Done000
Total42749
Accuracy
100.0%
Counts
49 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.0%
%11 = (/.f32 x s)
(/.f32 #s(literal 1 binary32) (-.f32 (+.f32 (cosh.f32 %11) #s(literal 1 binary32)) (sinh.f32 %11)))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
45.4%
(/.f32 #s(literal 1 binary32) (approx (+ 1 (exp (/ (neg x) s))) (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 x s)))))
18.5%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 #s(literal -1/48 binary32) (/.f32 (pow.f32 x #s(literal 2 binary32)) (pow.f32 s #s(literal 3 binary32))) (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) s))))))
29.3%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) (/.f32 x s))))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Compiler

Compiled 7 to 37 computations (-428.6% saved)

sample7.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series1.2s (7.2%)

Counts
36 → 121
Calls
Call 1
Inputs
%4 = (/.f32 x s)
%5 = (*.f32 #s(literal -1 binary32) %4)
%8 = (/.f32 #s(literal 1 binary32) s)
%10 = (pow.f32 s #s(literal 3 binary32))
%11 = (+.f32 #s(literal 2 binary32) %5)
%16 = (+ 1 (exp (/ (neg x) s)))
%17 = (approx %16 %11)
%18 = (/ 1 %16)
%21 = (*.f32 #s(literal 1/4 binary32) %4)
%22 = (+.f32 #s(literal 1/2 binary32) %21)
%25 = (pow.f32 x #s(literal 2 binary32))
%26 = (/.f32 %25 %10)
%27 = (*.f32 #s(literal 1/4 binary32) %8)
%28 = (fma.f32 #s(literal -1/48 binary32) %26 %27)
%29 = (*.f32 x %28)
%30 = (+.f32 #s(literal 1/2 binary32) %29)
%32 = (exp.f32 %4)
%33 = (/.f32 #s(literal 1 binary32) %32)
%34 = (cosh.f32 %4)
%35 = (sinh.f32 %4)
%36 = (+.f32 %34 #s(literal 1 binary32))
%37 = (-.f32 %36 %35)
%40 = (+.f32 #s(literal 1 binary32) %33)
#s(literal 1 binary32)
x
s
#s(literal -1 binary32)
%4
%5
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%8
#s(literal 3 binary32)
%10
%11
%17
(approx %18 #s(literal 1/2 binary32))
#s(literal 1/4 binary32)
%21
%22
(approx %18 %22)
#s(literal -1/48 binary32)
%25
%26
%27
%28
%29
%30
(approx %18 %30)
%32
%33
%34
%35
%36
%37
(/.f32 #s(literal 1 binary32) %17)
(/.f32 #s(literal 1 binary32) %37)
%40
(/.f32 #s(literal 1 binary32) %40)
Outputs
%6 = (/ x s)
%7 = (/.f32 x s)
%10 = (* -1 %6)
%12 = (*.f32 #s(literal -1 binary32) %7)
%15 = (+ 2 %10)
%23 = (+ 1 (exp (/ (neg x) s)))
%25 = (pow.f32 s #s(literal 2 binary32))
%26 = (/.f32 x %25)
%29 = (/.f32 #s(literal 1 binary32) s)
%31 = (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) %26) %29))
%36 = (pow.f32 s #s(literal 3 binary32))
%37 = (/.f32 x %36)
%39 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %25))
%43 = (*.f32 x (-.f32 (*.f32 x (fma.f32 #s(literal -1/6 binary32) %37 %39)) %29))
%46 = (/ 1 %23)
%49 = (*.f32 #s(literal 1/4 binary32) %7)
%53 = (pow.f32 x #s(literal 2 binary32))
%54 = (/.f32 %53 %36)
%55 = (*.f32 #s(literal 1/4 binary32) %29)
%56 = (fma.f32 #s(literal -1/48 binary32) %54 %55)
%57 = (*.f32 x %56)
%62 = (pow.f32 s #s(literal 5 binary32))
%63 = (/.f32 %53 %62)
%66 = (/.f32 #s(literal 1 binary32) %36)
%67 = (*.f32 #s(literal 1/48 binary32) %66)
%74 = (* 1/4 %6)
%76 = (pow x 2)
%79 = (pow s 3)
%80 = (/ %76 %79)
%84 = (/ 1 s)
%86 = (+ (* -1/48 %80) (* 1/4 %84))
%90 = (* x %86)
%92 = (exp %6)
%106 = (/ 1 %92)
%113 = (cosh %6)
%114 = (/.f32 %53 %25)
%115 = (*.f32 #s(literal 1/2 binary32) %114)
%120 = (pow.f32 s #s(literal 4 binary32))
%123 = (*.f32 %53 (fma.f32 #s(literal 1/24 binary32) (/.f32 %53 %120) %39))
%134 = (*.f32 %53 (fma.f32 %53 (fma.f32 #s(literal 1/720 binary32) (/.f32 %53 (pow.f32 s #s(literal 6 binary32))) (*.f32 #s(literal 1/24 binary32) (/.f32 #s(literal 1 binary32) %120))) %39))
%137 = (sinh %6)
%142 = (*.f32 #s(literal 1/6 binary32) %66)
%158 = (+ %113 1)
%159 = (+.f32 #s(literal 2 binary32) %115)
%165 = (/.f32 #s(literal 1 binary32) x)
%166 = (*.f32 #s(literal 2 binary32) %165)
%171 = (+.f32 #s(literal 1 binary32) (exp.f32 %12))
%176 = (+ 1/2 %74)
%178 = (fma.f32 #s(literal 1/4 binary32) %29 (*.f32 #s(literal 1/2 binary32) %165))
%183 = (*.f32 s %53)
%185 = (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %183))
%186 = (-.f32 %185 %67)
%189 = (pow.f32 x #s(literal 3 binary32))
%190 = (/.f32 %189 %36)
%195 = (+ 1/2 %90)
%202 = (exp.f32 %7)
%204 = (/.f32 #s(literal 1 binary32) %202)
%207 = (*.f32 #s(literal 1/2 binary32) (+.f32 %202 %204))
%210 = (*.f32 #s(literal 1/2 binary32) (-.f32 %202 %204))
%212 = (+.f32 #s(literal 1 binary32) %207)
%214 = (- %158 %137)
%215 = (-.f32 %212 %210)
%217 = (/ 1 %214)
%220 = (+ 1 %106)
%221 = (+.f32 #s(literal 1 binary32) %204)
%223 = (/ 1 %220)
%247 = (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s))
%273 = (fma.f32 #s(literal -1/8 binary32) %53 (*.f32 #s(literal 1/8 binary32) %53))
%278 = (*.f32 #s(literal -1/4 binary32) %7)
%283 = (*.f32 x %273)
%299 = (/.f32 %189 %25)
%300 = (*.f32 #s(literal 1/4 binary32) x)
%307 = (fma.f32 #s(literal 1/2 binary32) %114 %7)
%313 = (*.f32 #s(literal 1/2 binary32) %53)
%314 = (fma.f32 #s(literal -1 binary32) %53 %313)
%315 = (/.f32 %314 %25)
%316 = (*.f32 #s(literal -1 binary32) %315)
%320 = (*.f32 x %314)
%322 = (*.f32 #s(literal 1/6 binary32) %189)
%324 = (fma.f32 #s(literal -1 binary32) %320 (fma.f32 #s(literal -1/2 binary32) %189 %322))
%326 = (*.f32 #s(literal -1 binary32) (/.f32 %324 %36))
%328 = (fma.f32 #s(literal -1 binary32) %114 %307)
%332 = (fma.f32 #s(literal -1 binary32) %320 (*.f32 #s(literal -1/2 binary32) %189))
%334 = (fma.f32 #s(literal -1/2 binary32) (/.f32 %332 %36) %115)
%338 = (*.f32 %53 %314)
%339 = (pow.f32 x #s(literal 4 binary32))
%344 = (fma.f32 #s(literal -1/2 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (*.f32 x %324) (fma.f32 #s(literal -1/2 binary32) %338 (*.f32 #s(literal -1/6 binary32) %339))) %120) %334)
%347 = (*.f32 #s(literal -1 binary32) x)
%348 = (-.f32 x %347)
%349 = (/.f32 %348 s)
%352 = (fma.f32 #s(literal -1/2 binary32) %53 %53)
%353 = (-.f32 %313 %352)
%354 = (/.f32 %353 s)
%355 = (*.f32 #s(literal 1/2 binary32) %354)
%359 = (*.f32 x %352)
%362 = (fma.f32 #s(literal -1 binary32) %359 (fma.f32 #s(literal -1/6 binary32) %189 (*.f32 #s(literal 1/2 binary32) %189)))
%363 = (-.f32 %322 %362)
%365 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %363 %25) %355)
%369 = (*.f32 #s(literal 1/24 binary32) %339)
%371 = (*.f32 %53 %352)
%382 = (+.f32 #s(literal 2 binary32) %334)
%390 = (*.f32 #s(literal 1/2 binary32) (/.f32 %353 %25))
%403 = (pow.f32 %348 #s(literal 2 binary32))
%404 = (*.f32 #s(literal 1/2 binary32) %353)
%405 = (-.f32 %313 %404)
%406 = (*.f32 #s(literal 1/4 binary32) %405)
%407 = (fma.f32 #s(literal -1/32 binary32) %403 %406)
%439 = (fma.f32 #s(literal -1/4 binary32) %314 (*.f32 #s(literal -1/8 binary32) %53))
%445 = (*.f32 x %439)
%457 = (/.f32 %53 s)
%458 = (*.f32 #s(literal -1/2 binary32) %457)
%464 = (/.f32 %189 s)
%501 = (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (*.f32 #s(literal 1/48 binary32) %299)) s))
%522 = (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) %457 (*.f32 #s(literal 1/2 binary32) %457)) %347) s))
%525 = (/.f32 %320 s)
%533 = (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/6 binary32) %464 (fma.f32 #s(literal 1/2 binary32) %464 %525)) %314) s)) %347) s))
%536 = (fma.f32 #s(literal 1/2 binary32) %189 %320)
%538 = (fma.f32 #s(literal 1/2 binary32) (/.f32 %536 %36) %115)
%541 = (fma.f32 #s(literal -1/6 binary32) %189 %536)
%549 = (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %536 (*.f32 #s(literal 1/2 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %338 (fma.f32 #s(literal -1/6 binary32) %339 (*.f32 x %541))) s))) %36) %115)
%552 = (-.f32 %347 x)
%553 = (/.f32 %552 s)
%556 = (*.f32 #s(literal 1/2 binary32) %552)
%563 = (fma.f32 #s(literal -1/2 binary32) %189 (fma.f32 #s(literal 1/6 binary32) %189 %359))
%564 = (-.f32 (*.f32 #s(literal -1/6 binary32) %189) %563)
%578 = (*.f32 #s(literal 1/2 binary32) %564)
%594 = (/.f32 %405 s)
%603 = (/.f32 (-.f32 (*.f32 #s(literal -1/2 binary32) %536) %578) s)
%616 = (pow.f32 %552 #s(literal 2 binary32))
%620 = (*.f32 #s(literal -1/8 binary32) %552)
%628 = (fma.f32 #s(literal -1/32 binary32) %616 %406)
(approx 1 #s(literal 0 binary32))
(approx x x)
(approx %6 %7)
(approx %10 %12)
(approx %15 #s(literal 2 binary32))
(approx %15 (+.f32 #s(literal 2 binary32) %12))
(approx %23 (+.f32 #s(literal 2 binary32) %31))
(approx %23 (+.f32 #s(literal 2 binary32) %43))
(approx %46 #s(literal 1/2 binary32))
(approx %46 (+.f32 #s(literal 1/2 binary32) %49))
(approx %46 (+.f32 #s(literal 1/2 binary32) %57))
(approx %46 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 %53 (-.f32 (*.f32 #s(literal 1/480 binary32) %63) %67) %55))))
(approx %74 %49)
(approx %76 %53)
(approx %80 %54)
(approx %86 (/.f32 #s(literal 1/4 binary32) s))
(approx %86 %56)
(approx %90 %57)
(approx %92 #s(literal 1 binary32))
(approx %92 (+.f32 #s(literal 1 binary32) %7))
(approx %92 (+.f32 #s(literal 1 binary32) (*.f32 x (fma.f32 #s(literal 1/2 binary32) %26 %29))))
(approx %92 (+.f32 #s(literal 1 binary32) (*.f32 x (fma.f32 x (fma.f32 #s(literal 1/6 binary32) %37 %39) %29))))
(approx %106 (+.f32 #s(literal 1 binary32) %12))
(approx %106 (+.f32 #s(literal 1 binary32) %31))
(approx %106 (+.f32 #s(literal 1 binary32) %43))
(approx %113 (+.f32 #s(literal 1 binary32) %115))
(approx %113 (+.f32 #s(literal 1 binary32) %123))
(approx %113 (+.f32 #s(literal 1 binary32) %134))
(approx %137 (*.f32 x (fma.f32 #s(literal 1/6 binary32) %54 %29)))
(approx %137 (*.f32 x (fma.f32 %53 (fma.f32 #s(literal 1/120 binary32) %63 %142) %29)))
(approx %137 (*.f32 x (fma.f32 %53 (fma.f32 %53 (fma.f32 #s(literal 1/5040 binary32) (/.f32 %53 (pow.f32 s #s(literal 7 binary32))) (*.f32 #s(literal 1/120 binary32) (/.f32 #s(literal 1 binary32) %62))) %142) %29)))
(approx %158 %159)
(approx %158 (+.f32 #s(literal 2 binary32) %123))
(approx %158 (+.f32 #s(literal 2 binary32) %134))
(approx %15 (*.f32 x (-.f32 %166 %29)))
(approx %23 %171)
(approx %46 (/.f32 #s(literal 1 binary32) %171))
(approx %176 (*.f32 x %178))
(approx %86 (*.f32 #s(literal -1/48 binary32) %54))
(approx %86 (*.f32 %53 %186))
(approx %90 (*.f32 #s(literal -1/48 binary32) %190))
(approx %90 (*.f32 %189 %186))
(approx %195 (*.f32 %189 (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %183) (/.f32 #s(literal 1/2 binary32) %189)) %67)))
(approx %92 %202)
(approx %106 %204)
(approx %113 %207)
(approx %137 %210)
(approx %158 %212)
(approx %214 %215)
(approx %217 (/.f32 #s(literal 1 binary32) %215))
(approx %220 %221)
(approx %223 (/.f32 #s(literal 1 binary32) %221))
(approx %15 (*.f32 #s(literal -1 binary32) (*.f32 x (-.f32 %29 %166))))
(approx %90 (*.f32 #s(literal -1 binary32) (*.f32 %189 (-.f32 %67 %185))))
(approx %195 (*.f32 #s(literal -1 binary32) (*.f32 %189 (fma.f32 #s(literal -1 binary32) (/.f32 %178 %53) %67))))
(approx s s)
(approx %84 %29)
(approx %79 %36)
(approx %15 (/.f32 (fma.f32 #s(literal -1 binary32) x (*.f32 #s(literal 2 binary32) s)) s))
(approx %176 (/.f32 %247 s))
(approx %86 (/.f32 (fma.f32 #s(literal -1/48 binary32) %53 (*.f32 #s(literal 1/4 binary32) %25)) %36))
(approx %90 (/.f32 (fma.f32 #s(literal -1/48 binary32) %189 (*.f32 #s(literal 1/4 binary32) (*.f32 %25 x))) %36))
(approx %195 (/.f32 (fma.f32 #s(literal -1/48 binary32) %189 (*.f32 %25 %247)) %36))
(approx %23 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 %115)))
(approx %23 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 (fma.f32 #s(literal -1/6 binary32) %190 %115))))
(approx %46 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %273 %25))) %278))
(approx %46 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/24 binary32) %189 (fma.f32 #s(literal 1/16 binary32) %189 (*.f32 #s(literal 1/2 binary32) %283))) %36))) (fma.f32 #s(literal -1/4 binary32) %7 (fma.f32 #s(literal -1/8 binary32) %114 (*.f32 #s(literal 1/8 binary32) %114)))))
(approx %86 (/.f32 (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal -1/48 binary32) %114)) s))
(approx %90 (/.f32 (fma.f32 #s(literal -1/48 binary32) %299 %300) s))
(approx %195 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/48 binary32) %190 %49)))
(approx %92 (+.f32 #s(literal 1 binary32) %307))
(approx %92 (+.f32 #s(literal 1 binary32) (fma.f32 #s(literal 1/6 binary32) %190 %307)))
(approx %106 (-.f32 (+.f32 #s(literal 1 binary32) %316) %7))
(approx %106 (-.f32 (+.f32 #s(literal 1 binary32) %326) %328))
(approx %113 (+.f32 #s(literal 1 binary32) %334))
(approx %113 (+.f32 #s(literal 1 binary32) %344))
(approx %137 (*.f32 #s(literal 1/2 binary32) %349))
(approx %137 (/.f32 (fma.f32 #s(literal 1/2 binary32) %348 %355) s))
(approx %137 (/.f32 (fma.f32 #s(literal 1/2 binary32) %348 %365) s))
(approx %137 (/.f32 (fma.f32 #s(literal 1/2 binary32) %348 (fma.f32 #s(literal 1/2 binary32) (/.f32 (-.f32 %369 (fma.f32 #s(literal -1 binary32) (*.f32 x %362) (fma.f32 #s(literal -1/2 binary32) %371 (fma.f32 #s(literal -1/24 binary32) %339 (*.f32 #s(literal 1/6 binary32) %339))))) %36) %365)) s))
(approx %158 %382)
(approx %158 (+.f32 #s(literal 2 binary32) %344))
(approx %214 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1/2 binary32) %349)))
(approx %214 (-.f32 %159 (fma.f32 #s(literal 1/2 binary32) %349 %390)))
(approx %214 (-.f32 %382 (fma.f32 #s(literal 1/2 binary32) %349 (fma.f32 #s(literal 1/2 binary32) (/.f32 %363 %36) %390))))
(approx %217 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/8 binary32) %349)))
(approx %217 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %407 %25))) (*.f32 #s(literal -1/8 binary32) %349)))
(approx %217 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/16 binary32) (*.f32 %348 %405) (fma.f32 #s(literal 1/4 binary32) (*.f32 %407 %348) (*.f32 #s(literal 1/4 binary32) (-.f32 (*.f32 #s(literal -1/2 binary32) %332) (*.f32 #s(literal 1/2 binary32) %363))))) %36))) (fma.f32 #s(literal -1/8 binary32) %349 (fma.f32 #s(literal -1/32 binary32) (/.f32 %403 %25) (*.f32 #s(literal 1/4 binary32) (/.f32 %405 %25))))))
(approx %220 (-.f32 (+.f32 #s(literal 2 binary32) %316) %7))
(approx %220 (-.f32 (+.f32 #s(literal 2 binary32) %326) %328))
(approx %223 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %439 %25))) %278))
(approx %223 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %324 (fma.f32 #s(literal -1/8 binary32) %320 (*.f32 #s(literal 1/2 binary32) %445))) %36))) (fma.f32 #s(literal -1/4 binary32) %7 (fma.f32 #s(literal -1/4 binary32) %315 (*.f32 #s(literal -1/8 binary32) %114)))))
(approx %23 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x %458) s))))
(approx %23 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %464 %313) s))) s))))
(approx %46 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/8 binary32) %457 (*.f32 #s(literal 1/8 binary32) %457)) %300) s))))
(approx %46 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %283 s) (fma.f32 #s(literal -1/16 binary32) %464 (*.f32 #s(literal 1/24 binary32) %464))) %273) s)) %300) s))))
(approx %86 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/48 binary32) %114) #s(literal 1/4 binary32)) s)))
(approx %90 %501)
(approx %195 (+.f32 #s(literal 1/2 binary32) %501))
(approx %92 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x %458) s))))
(approx %92 (+.f32 #s(literal 1 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %464 %313) s))) s))))
(approx %106 (+.f32 #s(literal 1 binary32) %522))
(approx %106 (+.f32 #s(literal 1 binary32) %533))
(approx %113 (+.f32 #s(literal 1 binary32) %538))
(approx %113 (+.f32 #s(literal 1 binary32) %549))
(approx %137 (*.f32 #s(literal -1/2 binary32) %553))
(approx %137 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) %354 %556) s)))
(approx %137 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %564 s) %404) s) %556) s)))
(approx %137 (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 (-.f32 %369 (fma.f32 #s(literal -1/2 binary32) %371 (fma.f32 #s(literal -1/24 binary32) %339 (fma.f32 #s(literal 1/6 binary32) %339 (*.f32 x %563))))) s) %578) s) %404) s) %556) s)))
(approx %158 (+.f32 #s(literal 2 binary32) %538))
(approx %158 (+.f32 #s(literal 2 binary32) %549))
(approx %214 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %553)))
(approx %214 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) %594) %556) s))))
(approx %214 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) %603 %313) %404) s)) %556) s))))
(approx %217 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1/8 binary32) %553)))
(approx %217 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/32 binary32) (/.f32 %616 s) (*.f32 #s(literal 1/4 binary32) %594)) %620) s))))
(approx %217 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal 1/16 binary32) (/.f32 (*.f32 %552 %405) s) (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %628 %552) s) (*.f32 #s(literal 1/4 binary32) %603))) %628) s)) %620) s))))
(approx %220 (+.f32 #s(literal 2 binary32) %522))
(approx %220 (+.f32 #s(literal 2 binary32) %533))
(approx %223 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) (/.f32 %314 s) (*.f32 #s(literal -1/8 binary32) %457)) %300) s))))
(approx %223 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %445 s) (fma.f32 #s(literal -1/4 binary32) (/.f32 %541 s) (*.f32 #s(literal 1/8 binary32) %525))) %439) s)) %300) s))))
Calls

6 calls:

TimeVariablePoint
23.0ms
x
inf
22.0ms
s
inf
15.0ms
x
-inf
13.0ms
s
-inf
13.0ms
x
0

rewrite1.4s (8.8%)

Counts
36 → 443
Calls
Call 1
Inputs
%4 = (/.f32 x s)
%5 = (*.f32 #s(literal -1 binary32) %4)
%8 = (/.f32 #s(literal 1 binary32) s)
%10 = (pow.f32 s #s(literal 3 binary32))
%11 = (+.f32 #s(literal 2 binary32) %5)
%16 = (+ 1 (exp (/ (neg x) s)))
%17 = (approx %16 %11)
%18 = (/ 1 %16)
%21 = (*.f32 #s(literal 1/4 binary32) %4)
%22 = (+.f32 #s(literal 1/2 binary32) %21)
%25 = (pow.f32 x #s(literal 2 binary32))
%26 = (/.f32 %25 %10)
%27 = (*.f32 #s(literal 1/4 binary32) %8)
%28 = (fma.f32 #s(literal -1/48 binary32) %26 %27)
%29 = (*.f32 x %28)
%30 = (+.f32 #s(literal 1/2 binary32) %29)
%32 = (exp.f32 %4)
%33 = (/.f32 #s(literal 1 binary32) %32)
%34 = (cosh.f32 %4)
%35 = (sinh.f32 %4)
%36 = (+.f32 %34 #s(literal 1 binary32))
%37 = (-.f32 %36 %35)
%40 = (+.f32 #s(literal 1 binary32) %33)
#s(literal 1 binary32)
x
s
#s(literal -1 binary32)
%4
%5
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%8
#s(literal 3 binary32)
%10
%11
%17
(approx %18 #s(literal 1/2 binary32))
#s(literal 1/4 binary32)
%21
%22
(approx %18 %22)
#s(literal -1/48 binary32)
%25
%26
%27
%28
%29
%30
(approx %18 %30)
%32
%33
%34
%35
%36
%37
(/.f32 #s(literal 1 binary32) %17)
(/.f32 #s(literal 1 binary32) %37)
%40
(/.f32 #s(literal 1 binary32) %40)
Outputs
%22 = (neg.f32 x)
%31 = (/.f32 x s)
%32 = (neg.f32 s)
%33 = (neg.f32 %32)
%36 = (neg.f32 %31)
%38 = (*.f32 x #s(literal 1 binary32))
%40 = (*.f32 #s(literal 1 binary32) x)
%42 = (/.f32 #s(literal 1 binary32) s)
%53 = (neg.f32 %42)
%55 = (/.f32 #s(literal 1 binary32) %32)
%68 = (*.f32 %22 #s(literal 1 binary32))
%82 = (*.f32 %42 #s(literal -1 binary32))
%98 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%99 = (*.f32 %98 %98)
%123 = (*.f32 s s)
%125 = (*.f32 %123 s)
%127 = (-.f32 #s(literal 2 binary32) %31)
%135 = (-.f32 #s(literal 1 binary32) %31)
%146 = (+.f32 #s(literal 1 binary32) %36)
%165 = (+ 1 (exp (/ (neg x) s)))
%166 = (approx %165 %127)
%167 = (/ 1 %165)
%175 = (*.f32 x #s(literal 1/4 binary32))
%177 = (/.f32 #s(literal 1/4 binary32) s)
%180 = (*.f32 #s(literal 1/4 binary32) %31)
%196 = (fma.f32 %177 x #s(literal 1/2 binary32))
%199 = (*.f32 %31 #s(literal -1/4 binary32))
%202 = (neg.f32 %199)
%215 = (*.f32 x x)
%217 = (fabs.f32 x)
%222 = (/.f32 %215 %125)
%225 = (/.f32 %215 s)
%227 = (/.f32 %215 %123)
%229 = (/.f32 x %123)
%232 = (*.f32 %22 x)
%233 = (*.f32 %123 %32)
%241 = (/.f32 #s(literal 1 binary32) %125)
%262 = (fma.f32 #s(literal -1/48 binary32) %222 %177)
%264 = (*.f32 %222 #s(literal -1/48 binary32))
%270 = (/.f32 #s(literal -1/4 binary32) s)
%272 = (/.f32 #s(literal -1/48 binary32) s)
%274 = (/.f32 #s(literal -1/48 binary32) %123)
%276 = (neg.f32 %270)
%294 = (*.f32 %241 #s(literal -1/48 binary32))
%297 = (*.f32 #s(literal -1/48 binary32) x)
%298 = (*.f32 %297 x)
%306 = (*.f32 %125 s)
%313 = (*.f32 s %125)
%318 = (*.f32 x %262)
%320 = (*.f32 %222 %297)
%325 = (*.f32 %222 x)
%329 = (*.f32 x #s(literal -1/48 binary32))
%332 = (*.f32 x %222)
%345 = (fma.f32 %262 x #s(literal 1/2 binary32))
%349 = (*.f32 %262 %22)
%351 = (neg.f32 %349)
%367 = (exp.f32 %31)
%369 = (neg.f32 %367)
%371 = (+.f32 #s(literal 0 binary32) %31)
%381 = (cosh.f32 %31)
%382 = (sinh.f32 %31)
%387 = (sinh.f32 %36)
%389 = (*.f32 #s(literal 1 binary32) %382)
%391 = (*.f32 %382 #s(literal 1 binary32))
%393 = (*.f32 #s(literal 2 binary32) %381)
%395 = (*.f32 #s(literal 2 binary32) %382)
%397 = (*.f32 %381 #s(literal 1 binary32))
%399 = (*.f32 #s(literal 1 binary32) %381)
%411 = (exp.f32 %36)
%413 = (-.f32 #s(literal 0 binary32) %31)
%415 = (neg.f32 %411)
%418 = (+.f32 #s(literal 0 binary32) %36)
%427 = (/.f32 #s(literal 1/2 binary32) %367)
%429 = (*.f32 #s(literal 1/2 binary32) %411)
%445 = (neg.f32 %387)
%449 = (*.f32 #s(literal 1 binary32) %387)
%451 = (*.f32 %387 #s(literal 1 binary32))
%463 = (/.f32 %367 #s(literal 2 binary32))
%464 = (/.f32 %411 #s(literal 2 binary32))
%475 = (-.f32 %381 #s(literal -1 binary32))
%490 = (*.f32 (cosh.f32 (/.f32 %371 #s(literal 2 binary32))) (cosh.f32 (/.f32 %413 #s(literal 2 binary32))))
%498 = (*.f32 (cosh.f32 (/.f32 (+.f32 %31 #s(literal 0 binary32)) #s(literal 2 binary32))) (cosh.f32 (/.f32 (-.f32 %31 #s(literal 0 binary32)) #s(literal 2 binary32))))
%505 = (*.f32 (cosh.f32 (/.f32 %418 #s(literal 2 binary32))) (cosh.f32 (/.f32 (-.f32 #s(literal 0 binary32) %36) #s(literal 2 binary32))))
%513 = (*.f32 (cosh.f32 (/.f32 (+.f32 %36 #s(literal 0 binary32)) #s(literal 2 binary32))) (cosh.f32 (/.f32 (-.f32 %36 #s(literal 0 binary32)) #s(literal 2 binary32))))
%515 = (+.f32 #s(literal 1 binary32) %411)
%516 = (+.f32 %411 #s(literal 1 binary32))
%517 = (-.f32 %411 #s(literal -1 binary32))
%518 = (-.f32 #s(literal 1 binary32) %415)
%519 = (neg.f32 %517)
%520 = (neg.f32 %519)
%521 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %411)
%522 = (fma.f32 #s(literal 1 binary32) %411 #s(literal 1 binary32))
%523 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %411)
%524 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %411)
%525 = (fma.f32 %411 #s(literal 1 binary32) #s(literal 1 binary32))
%526 = (fma.f32 #s(literal -1 binary32) %415 #s(literal 1 binary32))
%527 = (fma.f32 #s(literal 2 binary32) %427 #s(literal 1 binary32))
%528 = (fma.f32 #s(literal 2 binary32) %429 #s(literal 1 binary32))
%529 = (/.f32 #s(literal 1 binary32) %517)
%530 = (/.f32 #s(literal 1 binary32) %529)
%531 = (-.f32 %367 #s(literal -1 binary32))
%532 = (/.f32 %531 %367)
%533 = (*.f32 %531 %411)
%534 = (-.f32 #s(literal 1 binary32) %382)
%535 = (+.f32 %381 %534)
%536 = (+.f32 %534 %381)
%538 = (-.f32 %381 (+.f32 #s(literal -1 binary32) %382))
%539 = (-.f32 %475 %382)
%540 = (+.f32 %387 #s(literal 1 binary32))
%541 = (+.f32 %381 %540)
%542 = (+.f32 %475 %387)
%543 = (+.f32 %387 %475)
%545 = (-.f32 %381 (neg.f32 %534))
%547 = (-.f32 %381 (-.f32 #s(literal -1 binary32) %387))
%549 = (/.f32 (neg.f32 %531) %369)
%550 = (-.f32 %475 %445)
%552 = (/.f32 (fma.f32 #s(literal 1 binary32) %369 #s(literal -1 binary32)) %369)
%553 = (fma.f32 %393 #s(literal 1/2 binary32) %534)
%554 = (fma.f32 %393 #s(literal 1/2 binary32) %540)
%557 = (/.f32 (-.f32 (*.f32 %475 #s(literal 2 binary32)) %395) #s(literal 2 binary32))
%559 = (+.f32 (/.f32 %367 %367) %411)
%560 = (fma.f32 #s(literal 2 binary32) %490 %387)
%561 = (fma.f32 #s(literal 2 binary32) %498 %387)
%562 = (fma.f32 #s(literal 2 binary32) %505 %387)
%563 = (fma.f32 #s(literal 2 binary32) %513 %387)
%565 = (/.f32 #s(literal -1 binary32) %519)
%567 = (neg.f32 (/.f32 #s(literal -1 binary32) %517))
%568 = (/.f32 #s(literal 1 binary32) %519)
%569 = (neg.f32 %568)
%570 = (*.f32 #s(literal 1 binary32) %529)
%572 = (*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %517))
%573 = (*.f32 %529 #s(literal 1 binary32))
%575 = (/.f32 #s(literal 1 binary32) (/.f32 %517 #s(literal 1 binary32)))
%576 = (*.f32 #s(literal -1 binary32) %568)
%578 = (neg.f32 (*.f32 #s(literal -1 binary32) %529))
%580 = (/.f32 #s(literal 1 binary32) (/.f32 %519 #s(literal -1 binary32)))
%582 = (*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %529))
%583 = (pow.f32 %517 #s(literal -1 binary32))
%584 = (/.f32 %367 %531)
%586 = (*.f32 (/.f32 #s(literal 1 binary32) %531) %367)
%588 = (/.f32 #s(literal 1 binary32) (pow.f32 %517 #s(literal 1 binary32)))
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
x
(neg.f32 %22)
s
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal 1/2 binary32))
%31
(/.f32 x %33)
(/.f32 %22 %32)
(neg.f32 %36)
(/.f32 %38 s)
(/.f32 %40 s)
(*.f32 x %42)
(*.f32 #s(literal 1 binary32) %31)
(*.f32 %31 #s(literal 1 binary32))
(*.f32 %42 x)
(/.f32 #s(literal 1 binary32) (/.f32 s x))
(*.f32 #s(literal -1 binary32) %36)
(*.f32 %36 #s(literal -1 binary32))
(/.f32 (*.f32 #s(literal 1 binary32) %22) %32)
(*.f32 %22 %53)
(*.f32 %22 %55)
(/.f32 #s(literal 1 binary32) (/.f32 %32 %22))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %31))
(*.f32 %38 %42)
(*.f32 %40 %42)
(/.f32 x %32)
(/.f32 %22 s)
%36
(/.f32 %22 %33)
(*.f32 #s(literal -1 binary32) %31)
(*.f32 %31 #s(literal -1 binary32))
(/.f32 %68 s)
(*.f32 x %53)
(*.f32 x %55)
(*.f32 %42 %22)
(*.f32 %22 %42)
(/.f32 #s(literal 1 binary32) (/.f32 %32 x))
(/.f32 #s(literal 1 binary32) (/.f32 s %22))
(/.f32 (*.f32 %22 #s(literal -1 binary32)) %32)
(/.f32 (*.f32 #s(literal -1 binary32) %22) %32)
(*.f32 x %82)
(*.f32 %68 %42)
#s(literal 1/2 binary32)
(*.f32 #s(literal 1/4 binary32) #s(literal 2 binary32))
(/.f32 #s(literal 1 binary32) #s(literal 2 binary32))
#s(literal 2 binary32)
(neg.f32 #s(literal -2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) %99)
%42
(/.f32 #s(literal -1 binary32) %32)
(neg.f32 (/.f32 #s(literal -1 binary32) s))
(/.f32 #s(literal 1 binary32) %33)
(neg.f32 %55)
(*.f32 #s(literal 1 binary32) %42)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) s))
(*.f32 %42 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %55)
(neg.f32 (*.f32 #s(literal -1 binary32) %42))
(/.f32 #s(literal 1 binary32) (/.f32 %32 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %42))
(pow.f32 s #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 s #s(literal 1 binary32)))
#s(literal 3 binary32)
(*.f32 s %123)
%125
(pow.f32 s #s(literal 3 binary32))
%127
(+.f32 %36 #s(literal 2 binary32))
(+.f32 #s(literal 2 binary32) %36)
(neg.f32 (-.f32 %31 #s(literal 2 binary32)))
(-.f32 %36 #s(literal -2 binary32))
(fma.f32 #s(literal -1 binary32) %31 #s(literal 2 binary32))
(fma.f32 %31 #s(literal -1 binary32) #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) %135)
(/.f32 (fma.f32 #s(literal 2 binary32) s %22) s)
(fma.f32 x %53 #s(literal 2 binary32))
(fma.f32 x %55 #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 2 binary32) %36)
(fma.f32 #s(literal 1/2 binary32) #s(literal 4 binary32) %36)
(fma.f32 #s(literal 2 binary32) #s(literal 1 binary32) %36)
(fma.f32 %42 %22 #s(literal 2 binary32))
(fma.f32 %22 %42 #s(literal 2 binary32))
(+.f32 #s(literal 1 binary32) %146)
(+.f32 (+.f32 %36 #s(literal 1 binary32)) #s(literal 1 binary32))
(/.f32 (fma.f32 #s(literal 2 binary32) %32 x) %32)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %135)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %135)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %135)
(fma.f32 x %82 #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %146)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %146)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %146)
(fma.f32 %68 %42 #s(literal 2 binary32))
(fma.f32 #s(literal 2 binary32) %99 %36)
%166
(approx %167 #s(literal 1/2 binary32))
#s(literal 1/4 binary32)
(neg.f32 #s(literal -1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 1 binary32))
(*.f32 #s(literal -1/4 binary32) #s(literal -1 binary32))
(/.f32 %175 s)
(*.f32 x %177)
(*.f32 %31 #s(literal 1/4 binary32))
%180
(*.f32 %177 x)
(/.f32 (*.f32 %22 #s(literal 1/4 binary32)) %32)
(/.f32 (*.f32 #s(literal 1/4 binary32) %22) %32)
(/.f32 (neg.f32 %175) %32)
(*.f32 %42 %175)
(*.f32 %180 #s(literal 1 binary32))
(*.f32 %175 %42)
(/.f32 #s(literal 1 binary32) (/.f32 s %175))
(fma.f32 x %177 #s(literal 1/2 binary32))
(fma.f32 %31 #s(literal 1/4 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/4 binary32) %31 #s(literal 1/2 binary32))
%196
(+.f32 #s(literal 1/2 binary32) %180)
(+.f32 %180 #s(literal 1/2 binary32))
(-.f32 #s(literal 1/2 binary32) %199)
(-.f32 %180 #s(literal -1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %202)
(neg.f32 (-.f32 %199 #s(literal 1/2 binary32)))
(/.f32 (fma.f32 #s(literal 1/2 binary32) s %175) s)
(fma.f32 %42 %175 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %180)
(fma.f32 %180 #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 %175 %42 #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %202)
(approx %167 %196)
#s(literal -1/48 binary32)
%215
(*.f32 %22 %22)
(*.f32 %217 %217)
(pow.f32 x #s(literal 2 binary32))
(*.f32 (pow.f32 x #s(literal 1 binary32)) x)
%222
(*.f32 x (/.f32 x %125))
(/.f32 %225 %123)
(/.f32 %227 s)
(*.f32 %31 %229)
(*.f32 %229 %31)
(/.f32 %232 %233)
(neg.f32 (/.f32 %232 %125))
(neg.f32 (/.f32 %215 %233))
(/.f32 (*.f32 %215 #s(literal 1 binary32)) %125)
(*.f32 x (*.f32 x %241))
(*.f32 %215 %241)
(*.f32 %241 %215)
(/.f32 #s(literal 1 binary32) (/.f32 %125 %215))
(/.f32 (neg.f32 %232) (neg.f32 %233))
(*.f32 %232 (/.f32 #s(literal 1 binary32) %233))
(/.f32 #s(literal 1 binary32) (/.f32 %233 %232))
%177
(/.f32 #s(literal -1/4 binary32) %32)
(*.f32 #s(literal 1 binary32) %177)
(*.f32 %42 #s(literal 1/4 binary32))
(*.f32 #s(literal 1/4 binary32) %42)
(*.f32 %177 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1/4 binary32)))
%262
(fma.f32 %222 #s(literal -1/48 binary32) %177)
(+.f32 %177 %264)
(+.f32 %264 %177)
(-.f32 %177 (*.f32 #s(literal 1/48 binary32) %222))
(-.f32 %264 %270)
(fma.f32 %272 %227 %177)
(fma.f32 %274 %225 %177)
(fma.f32 #s(literal -1/48 binary32) %222 %276)
(fma.f32 %222 #s(literal -1/48 binary32) %276)
(+.f32 %264 %276)
(neg.f32 (-.f32 %270 %264))
(-.f32 %177 (*.f32 (neg.f32 %222) #s(literal -1/48 binary32)))
(-.f32 %177 (neg.f32 %264))
(fma.f32 %272 %227 %276)
(fma.f32 %274 %225 %276)
(/.f32 (fma.f32 %264 s #s(literal 1/4 binary32)) s)
(fma.f32 #s(literal 1 binary32) %177 %264)
(fma.f32 %42 #s(literal 1/4 binary32) %264)
(fma.f32 #s(literal 1/4 binary32) %42 %264)
(fma.f32 %215 %294 %177)
(fma.f32 %177 #s(literal 1 binary32) %264)
(fma.f32 %298 %241 %177)
(fma.f32 %215 %294 %276)
(fma.f32 %298 %241 %276)
(/.f32 (fma.f32 %177 %125 %298) %125)
(/.f32 (fma.f32 %298 s (*.f32 %125 #s(literal 1/4 binary32))) %306)
(/.f32 (fma.f32 %298 s (*.f32 #s(literal 1/4 binary32) %125)) %306)
(/.f32 (fma.f32 #s(literal 1/4 binary32) %125 (*.f32 s %298)) %313)
(/.f32 (fma.f32 #s(literal 1/4 binary32) %125 (*.f32 %298 s)) %313)
%318
(*.f32 %262 x)
(fma.f32 x %177 %320)
(fma.f32 x %264 %180)
(fma.f32 %31 #s(literal 1/4 binary32) %320)
(fma.f32 #s(literal 1/4 binary32) %31 %320)
(fma.f32 #s(literal -1/48 binary32) %325 %180)
(fma.f32 %222 %297 %180)
(fma.f32 %177 x %320)
(fma.f32 %329 %222 %180)
(fma.f32 %264 x %180)
(fma.f32 %332 #s(literal -1/48 binary32) %180)
(+.f32 %180 %320)
(+.f32 %320 %180)
(-.f32 %320 %199)
(-.f32 %320 (*.f32 %270 x))
(-.f32 %320 (*.f32 %22 %177))
(fma.f32 %42 %175 %320)
(fma.f32 %180 #s(literal 1 binary32) %320)
(fma.f32 %175 %42 %320)
(fma.f32 x %262 #s(literal 1/2 binary32))
%345
(+.f32 #s(literal 1/2 binary32) %318)
(+.f32 %318 #s(literal 1/2 binary32))
(-.f32 %318 #s(literal -1/2 binary32))
(-.f32 #s(literal 1/2 binary32) %349)
(+.f32 #s(literal 1/2 binary32) %351)
(neg.f32 (-.f32 %349 #s(literal 1/2 binary32)))
(fma.f32 x %264 %196)
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %318)
(fma.f32 #s(literal -1/48 binary32) %325 %196)
(fma.f32 %222 %297 %196)
(fma.f32 %329 %222 %196)
(fma.f32 %264 x %196)
(fma.f32 %332 #s(literal -1/48 binary32) %196)
(+.f32 %320 %196)
(+.f32 (+.f32 #s(literal 1/2 binary32) %320) %180)
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %351)
(approx %167 %345)
%367
(fabs.f32 %367)
(fabs.f32 %369)
(exp.f32 %371)
(*.f32 #s(literal 1 binary32) %367)
(*.f32 %367 #s(literal 1 binary32))
(neg.f32 (*.f32 #s(literal -1 binary32) %367))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %367))
(pow.f32 (exp.f32 x) %42)
(+.f32 %381 %382)
(+.f32 %382 %381)
(sqrt.f32 (*.f32 %367 %367))
(-.f32 %381 %387)
(fma.f32 #s(literal 1 binary32) %381 %389)
(fma.f32 %381 #s(literal 1 binary32) %391)
(fma.f32 %393 #s(literal 1/2 binary32) %382)
(fma.f32 %395 #s(literal 1/2 binary32) %381)
(+.f32 %397 %391)
(+.f32 %399 %389)
(/.f32 (fma.f32 #s(literal 2 binary32) %381 %395) #s(literal 2 binary32))
(/.f32 (fma.f32 %381 #s(literal 2 binary32) %395) #s(literal 2 binary32))
(/.f32 (fma.f32 %393 #s(literal 2 binary32) (*.f32 #s(literal 2 binary32) %395)) #s(literal 4 binary32))
(/.f32 (fma.f32 %393 #s(literal 2 binary32) (*.f32 %395 #s(literal 2 binary32))) #s(literal 4 binary32))
%411
(fabs.f32 %411)
(exp.f32 %413)
(fabs.f32 %415)
(neg.f32 %415)
(exp.f32 %418)
(/.f32 #s(literal 1 binary32) %367)
(*.f32 #s(literal 1 binary32) %411)
(*.f32 %411 #s(literal 1 binary32))
(/.f32 #s(literal -1 binary32) %369)
(*.f32 #s(literal -1 binary32) %415)
(/.f32 #s(literal 1 binary32) (neg.f32 %369))
(*.f32 #s(literal 2 binary32) %427)
(*.f32 #s(literal 2 binary32) %429)
(/.f32 #s(literal 1 binary32) (/.f32 %367 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) (/.f32 %369 #s(literal -1 binary32)))
(pow.f32 %367 #s(literal -1 binary32))
(pow.f32 (exp.f32 #s(literal -1 binary32)) %31)
(pow.f32 (exp.f32 %22) %42)
(-.f32 %381 %382)
(+.f32 %381 %387)
(+.f32 %387 %381)
(/.f32 #s(literal 1 binary32) (pow.f32 %367 #s(literal 1 binary32)))
(-.f32 %381 %445)
(sqrt.f32 (*.f32 %411 %411))
(fma.f32 #s(literal 1 binary32) %381 %449)
(fma.f32 %381 #s(literal 1 binary32) %451)
(fma.f32 %393 #s(literal 1/2 binary32) %387)
(+.f32 %397 %451)
(+.f32 %399 %449)
%381
(cosh.f32 %36)
(*.f32 %393 #s(literal 1/2 binary32))
(/.f32 %393 #s(literal 2 binary32))
(/.f32 (neg.f32 %393) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %393))
(+.f32 %463 %464)
%382
(*.f32 %395 #s(literal 1/2 binary32))
(/.f32 %395 #s(literal 2 binary32))
(/.f32 (neg.f32 %395) #s(literal -2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 #s(literal 2 binary32) %395))
(-.f32 %463 %464)
(+.f32 #s(literal 1 binary32) %381)
(+.f32 %381 #s(literal 1 binary32))
%475
(neg.f32 (-.f32 #s(literal -1 binary32) %381))
(-.f32 #s(literal 1 binary32) (neg.f32 %381))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %381)
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %381)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %381)
(fma.f32 %393 #s(literal 1/2 binary32) #s(literal 1 binary32))
(/.f32 (+.f32 #s(literal 2 binary32) %393) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) %490)
(*.f32 #s(literal 2 binary32) %498)
(*.f32 #s(literal 2 binary32) %505)
(*.f32 #s(literal 2 binary32) %513)
%515
%516
%517
%518
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%532
%533
%535
%536
%538
%539
%541
%542
%543
%545
%547
%549
%550
%552
%553
%554
%557
%559
%560
%561
%562
%563
(/.f32 #s(literal 1 binary32) %166)
%529
%565
%567
%569
%570
%572
%573
%575
%576
%578
%580
%582
%583
%584
%586
%588
%515
%516
%517
%518
%520
%521
%522
%523
%524
%525
%526
%527
%528
%530
%532
%533
%535
%536
%538
%539
%541
%542
%543
%545
%547
%549
%550
%552
%553
%554
%557
%559
%560
%561
%562
%563
%529
%565
%567
%569
%570
%572
%573
%575
%576
%578
%580
%582
%583
%584
%586
%588

reconstruct297.0ms (1.8%)

Counts
563 → 203
Compiler

Compiled 563 to 1 065 computations (-89.2% saved)

eval94.0ms (0.6%)

Compiler

Compiled 192 to 934 computations (-386.5% saved)

prune19.0ms (0.1%)

Pruning

12 alts after pruning (8 fresh and 4 done)

PrunedKeptTotal
New1848192
Fresh000
Picked336
Done011
Total18712199
Accuracy
100.0%
Counts
199 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.0%
%56 = (exp.f32 (/.f32 x s))
(/.f32 %56 (-.f32 %56 #s(literal -1 binary32)))
46.6%
(/.f32 (approx 1 #s(literal 0 binary32)) (approx (+ 1 (exp (/ (neg x) s))) (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 x s)))))
69.0%
%41 = (/.f32 x s)
(/.f32 #s(literal 1 binary32) (-.f32 (+.f32 (cosh.f32 %41) #s(literal 1 binary32)) (sinh.f32 %41)))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))))
56.8%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (approx (exp (/ x s)) (+.f32 #s(literal 1 binary32) (/.f32 x s))))))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
45.4%
(/.f32 #s(literal 1 binary32) (approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))
18.5%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (fma.f32 #s(literal -1/48 binary32) (/.f32 (*.f32 x x) (*.f32 (*.f32 s s) s)) (/.f32 #s(literal 1/4 binary32) s)) x #s(literal 1/2 binary32)))
29.3%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)))
29.2%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s)))
28.8%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (*.f32 x (fma.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) s) (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) x))))))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Compiler

Compiled 12 to 51 computations (-325.0% saved)

sample7.0ms (0.0%)

Calls
Call 1
Inputs
1
Outputs
#s(literal 1 binary32)
Samples
0.0ms0valid
Compiler

Compiled 3 to 3 computations (0.0% saved)

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

series925.0ms (5.7%)

Counts
48 → 107
Calls
Call 1
Inputs
%5 = (approx 1 #s(literal 0 binary32))
%7 = (/.f32 x s)
%8 = (*.f32 #s(literal -1 binary32) %7)
%11 = (/.f32 #s(literal 1 binary32) s)
%12 = (+.f32 #s(literal 2 binary32) %8)
%16 = (+ 1 (exp (/ (neg x) s)))
%17 = (approx %16 %12)
%20 = (exp.f32 %7)
%21 = (/.f32 #s(literal 1/4 binary32) s)
%22 = (+.f32 #s(literal 1 binary32) %7)
%23 = (/ x s)
%25 = (approx (exp %23) %22)
%26 = (/.f32 #s(literal 1 binary32) x)
%27 = (*.f32 #s(literal 1/2 binary32) %26)
%28 = (fma.f32 #s(literal 1/4 binary32) %11 %27)
%29 = (*.f32 x %28)
%33 = (+ 1/2 (* 1/4 %23))
%34 = (approx %33 %29)
%35 = (*.f32 #s(literal 1/2 binary32) s)
%36 = (fma.f32 #s(literal 1/4 binary32) x %35)
%37 = (/.f32 %36 s)
%38 = (approx %33 %37)
%39 = (*.f32 s s)
%40 = (*.f32 %39 s)
%41 = (-.f32 #s(literal 2 binary32) %7)
%42 = (approx %16 %41)
%43 = (fma.f32 %21 x #s(literal 1/2 binary32))
%44 = (/ 1 %16)
%46 = (*.f32 x x)
%47 = (/.f32 %46 %40)
%48 = (fma.f32 #s(literal -1/48 binary32) %47 %21)
%49 = (fma.f32 %48 x #s(literal 1/2 binary32))
%51 = (-.f32 %20 #s(literal -1 binary32))
%54 = (/.f32 #s(literal 1 binary32) %25)
%55 = (+.f32 #s(literal 1 binary32) %54)
#s(literal 1 binary32)
x
s
#s(literal 0 binary32)
%5
#s(literal -1 binary32)
%7
%8
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%11
%12
%17
#s(literal 1/4 binary32)
#s(literal -1/48 binary32)
%20
%21
%22
%25
%26
%27
%28
%29
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
(approx %44 %43)
%46
%47
%48
%49
(approx %44 %49)
%51
(/.f32 #s(literal 1 binary32) %42)
(/.f32 %20 %51)
%54
%55
(/.f32 #s(literal 1 binary32) %55)
(approx %44 %34)
(approx %44 %38)
(/.f32 %5 %17)
Outputs
%6 = (/ x s)
%7 = (/.f32 x s)
%10 = (* -1 %6)
%12 = (*.f32 #s(literal -1 binary32) %7)
%15 = (+ 2 %10)
%23 = (+ 1 (exp (/ (neg x) s)))
%25 = (pow.f32 s #s(literal 2 binary32))
%26 = (/.f32 x %25)
%29 = (/.f32 #s(literal 1 binary32) s)
%31 = (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) %26) %29))
%36 = (pow.f32 s #s(literal 3 binary32))
%37 = (/.f32 x %36)
%39 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %25))
%43 = (*.f32 x (-.f32 (*.f32 x (fma.f32 #s(literal -1/6 binary32) %37 %39)) %29))
%46 = (exp %6)
%51 = (*.f32 x (fma.f32 #s(literal 1/2 binary32) %26 %29))
%57 = (*.f32 x (fma.f32 x (fma.f32 #s(literal 1/6 binary32) %37 %39) %29))
%60 = (/ 1 x)
%61 = (/.f32 #s(literal 1 binary32) x)
%64 = (* 1/2 %60)
%68 = (/ 1 s)
%70 = (+ (* 1/4 %68) %64)
%72 = (*.f32 #s(literal 1/4 binary32) %7)
%73 = (+.f32 #s(literal 1/2 binary32) %72)
%76 = (* x %70)
%81 = (+ (* 1/4 x) (* 1/2 s))
%82 = (*.f32 #s(literal 1/2 binary32) s)
%84 = (fma.f32 #s(literal 1/4 binary32) x %82)
%86 = (/ 1 %23)
%88 = (pow.f32 x #s(literal 2 binary32))
%89 = (/.f32 %88 %36)
%90 = (*.f32 #s(literal 1/4 binary32) %29)
%91 = (fma.f32 #s(literal -1/48 binary32) %89 %90)
%102 = (*.f32 #s(literal 1/48 binary32) (/.f32 #s(literal 1 binary32) %36))
%108 = (* x x)
%110 = (* s s)
%111 = (* %110 s)
%112 = (/ %108 %111)
%117 = (+ (* -1/48 %112) (/ 1/4 s))
%121 = (- %46 -1)
%128 = (/ 1 %46)
%135 = (*.f32 #s(literal 2 binary32) %61)
%140 = (+.f32 #s(literal 1 binary32) (exp.f32 %12))
%142 = (exp.f32 %7)
%144 = (+ 1 %6)
%149 = (fma.f32 #s(literal 1/4 binary32) %29 (*.f32 #s(literal 1/2 binary32) %61))
%154 = (*.f32 #s(literal 1/4 binary32) x)
%156 = (/.f32 s x)
%158 = (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal 1/2 binary32) %156))
%165 = (*.f32 s %88)
%167 = (*.f32 #s(literal 1/4 binary32) (/.f32 #s(literal 1 binary32) %165))
%168 = (-.f32 %167 %102)
%172 = (+ (* %117 x) 1/2)
%173 = (pow.f32 x #s(literal 3 binary32))
%174 = (/.f32 %173 %36)
%185 = (+.f32 #s(literal 1 binary32) %142)
%187 = (/ %46 %121)
%190 = (/.f32 #s(literal 1 binary32) %142)
%192 = (+ 1 %128)
%193 = (+.f32 #s(literal 1 binary32) %190)
%195 = (/ 1 %192)
%219 = (*.f32 #s(literal 2 binary32) s)
%249 = (/.f32 %88 %25)
%250 = (*.f32 #s(literal 1/2 binary32) %249)
%258 = (fma.f32 #s(literal 1/2 binary32) %249 %7)
%261 = (fma.f32 #s(literal 1/6 binary32) %174 %258)
%268 = (*.f32 #s(literal 1/8 binary32) %88)
%269 = (fma.f32 #s(literal -1/8 binary32) %88 %268)
%274 = (*.f32 #s(literal -1/4 binary32) %7)
%279 = (*.f32 x %269)
%302 = (*.f32 #s(literal 1/2 binary32) %7)
%306 = (fma.f32 #s(literal 1/4 binary32) %249 %302)
%309 = (-.f32 (*.f32 #s(literal 1/2 binary32) x) %154)
%310 = (*.f32 x %309)
%312 = (*.f32 #s(literal 1/2 binary32) (/.f32 %310 %25))
%323 = (*.f32 #s(literal 1/4 binary32) %88)
%336 = (*.f32 #s(literal 1/2 binary32) %88)
%337 = (fma.f32 #s(literal -1 binary32) %88 %336)
%338 = (/.f32 %337 %25)
%339 = (*.f32 #s(literal -1 binary32) %338)
%343 = (*.f32 x %337)
%346 = (fma.f32 #s(literal -1 binary32) %343 (fma.f32 #s(literal -1/2 binary32) %173 (*.f32 #s(literal 1/6 binary32) %173)))
%348 = (*.f32 #s(literal -1 binary32) (/.f32 %346 %36))
%350 = (fma.f32 #s(literal -1 binary32) %249 %258)
%360 = (fma.f32 #s(literal -1/4 binary32) %337 (*.f32 #s(literal -1/8 binary32) %88))
%366 = (*.f32 x %360)
%378 = (/.f32 %88 s)
%379 = (*.f32 #s(literal -1/2 binary32) %378)
%385 = (/.f32 %173 s)
%396 = (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x %379) s))
%404 = (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %385 %336) s))) s))
%447 = (*.f32 #s(literal -1/2 binary32) x)
%448 = (*.f32 #s(literal -1/4 binary32) x)
%449 = (-.f32 %447 %448)
%455 = (fma.f32 #s(literal -1/2 binary32) (*.f32 x %449) %268)
%456 = (-.f32 %323 %455)
%484 = (*.f32 #s(literal -1 binary32) x)
%487 = (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) %378 (*.f32 #s(literal 1/2 binary32) %378)) %484) s))
%490 = (/.f32 %343 s)
%498 = (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/6 binary32) %385 (fma.f32 #s(literal 1/2 binary32) %385 %490)) %337) s)) %484) s))
(approx 1 #s(literal 0 binary32))
(approx x x)
(approx %6 %7)
(approx %10 %12)
(approx %15 #s(literal 2 binary32))
(approx %15 (+.f32 #s(literal 2 binary32) %12))
(approx %23 (+.f32 #s(literal 2 binary32) %31))
(approx %23 (+.f32 #s(literal 2 binary32) %43))
(approx %46 #s(literal 1 binary32))
(approx %46 (+.f32 #s(literal 1 binary32) %7))
(approx %46 (+.f32 #s(literal 1 binary32) %51))
(approx %46 (+.f32 #s(literal 1 binary32) %57))
(approx %60 %61)
(approx %64 (/.f32 #s(literal 1/2 binary32) x))
(approx %70 (/.f32 %73 x))
(approx %76 #s(literal 1/2 binary32))
(approx %76 %73)
(approx %81 %82)
(approx %81 %84)
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 x %91)))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 %88 (-.f32 (*.f32 #s(literal 1/480 binary32) (/.f32 %88 (pow.f32 s #s(literal 5 binary32)))) %102) %90))))
(approx %108 %88)
(approx %112 %89)
(approx %117 (/.f32 #s(literal 1/4 binary32) s))
(approx %117 %91)
(approx %121 (+.f32 #s(literal 2 binary32) %7))
(approx %121 (+.f32 #s(literal 2 binary32) %51))
(approx %121 (+.f32 #s(literal 2 binary32) %57))
(approx %128 (+.f32 #s(literal 1 binary32) %12))
(approx %128 (+.f32 #s(literal 1 binary32) %31))
(approx %128 (+.f32 #s(literal 1 binary32) %43))
(approx %15 (*.f32 x (-.f32 %135 %29)))
(approx %23 %140)
(approx %46 %142)
(approx %144 (*.f32 x (+.f32 %29 %61)))
(approx %70 %149)
(approx %76 %72)
(approx %76 (*.f32 x %149))
(approx %81 %154)
(approx %81 (*.f32 x %158))
(approx %86 (/.f32 #s(literal 1 binary32) %140))
(approx %117 (*.f32 #s(literal -1/48 binary32) %89))
(approx %117 (*.f32 %88 %168))
(approx %172 (*.f32 #s(literal -1/48 binary32) %174))
(approx %172 (*.f32 %173 %168))
(approx %172 (*.f32 %173 (-.f32 (+.f32 (/.f32 #s(literal 1/4 binary32) %165) (/.f32 #s(literal 1/2 binary32) %173)) %102)))
(approx %121 %185)
(approx %187 (/.f32 %142 %185))
(approx %128 %190)
(approx %192 %193)
(approx %195 (/.f32 #s(literal 1 binary32) %193))
(approx %15 (*.f32 #s(literal -1 binary32) (*.f32 x (-.f32 %29 %135))))
(approx %81 (*.f32 #s(literal -1 binary32) (*.f32 x (-.f32 (*.f32 #s(literal -1/2 binary32) %156) #s(literal 1/4 binary32)))))
(approx %172 (*.f32 #s(literal -1 binary32) (*.f32 %173 (-.f32 %102 %167))))
(approx %172 (*.f32 #s(literal -1 binary32) (*.f32 %173 (fma.f32 #s(literal -1 binary32) (/.f32 %149 %88) %102))))
(approx s s)
(approx %68 %29)
(approx %15 (/.f32 (fma.f32 #s(literal -1 binary32) x %219) s))
(approx %144 (/.f32 (+.f32 s x) s))
(approx %70 (/.f32 %158 s))
(approx %76 (/.f32 %84 s))
(approx %110 %25)
(approx %111 %36)
(approx (- 2 %6) (/.f32 (-.f32 %219 x) s))
(approx %117 (/.f32 (fma.f32 #s(literal -1/48 binary32) %88 (*.f32 #s(literal 1/4 binary32) %25)) %36))
(approx %172 (/.f32 (fma.f32 #s(literal -1/48 binary32) %173 (*.f32 #s(literal 1/4 binary32) (*.f32 %25 x))) %36))
(approx %172 (/.f32 (fma.f32 #s(literal -1/48 binary32) %173 (*.f32 %25 %84)) %36))
(approx %23 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 %250)))
(approx %23 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 (fma.f32 #s(literal -1/6 binary32) %174 %250))))
(approx %46 (+.f32 #s(literal 1 binary32) %258))
(approx %46 (+.f32 #s(literal 1 binary32) %261))
(approx %81 (*.f32 s %73))
(approx %86 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %269 %25))) %274))
(approx %86 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/24 binary32) %173 (fma.f32 #s(literal 1/16 binary32) %173 (*.f32 #s(literal 1/2 binary32) %279))) %36))) (fma.f32 #s(literal -1/4 binary32) %7 (fma.f32 #s(literal -1/8 binary32) %249 (*.f32 #s(literal 1/8 binary32) %249)))))
(approx %117 (/.f32 (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal -1/48 binary32) %249)) s))
(approx %172 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal -1/48 binary32) %174 %72)))
(approx %121 (+.f32 #s(literal 2 binary32) %258))
(approx %121 (+.f32 #s(literal 2 binary32) %261))
(approx %187 (-.f32 (+.f32 #s(literal 1/2 binary32) %302) %72))
(approx %187 (-.f32 (+.f32 #s(literal 1/2 binary32) %306) (fma.f32 #s(literal 1/8 binary32) %249 (fma.f32 #s(literal 1/4 binary32) %7 %312))))
(approx %187 (-.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal 1/12 binary32) %174 %306)) (fma.f32 #s(literal 1/24 binary32) %174 (fma.f32 #s(literal 1/8 binary32) %249 (fma.f32 #s(literal 1/4 binary32) %7 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %88 %309) %36) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 x (-.f32 %323 (fma.f32 #s(literal 1/8 binary32) %88 (*.f32 #s(literal 1/2 binary32) %310)))) %36) %312)))))))
(approx %128 (-.f32 (+.f32 #s(literal 1 binary32) %339) %7))
(approx %128 (-.f32 (+.f32 #s(literal 1 binary32) %348) %350))
(approx %192 (-.f32 (+.f32 #s(literal 2 binary32) %339) %7))
(approx %192 (-.f32 (+.f32 #s(literal 2 binary32) %348) %350))
(approx %195 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %360 %25))) %274))
(approx %195 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) %346 (fma.f32 #s(literal -1/8 binary32) %343 (*.f32 #s(literal 1/2 binary32) %366))) %36))) (fma.f32 #s(literal -1/4 binary32) %7 (fma.f32 #s(literal -1/4 binary32) %338 (*.f32 #s(literal -1/8 binary32) %249)))))
(approx %23 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x %379) s))))
(approx %23 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %385 %336) s))) s))))
(approx %46 (+.f32 #s(literal 1 binary32) %396))
(approx %46 (+.f32 #s(literal 1 binary32) %404))
(approx %81 (*.f32 #s(literal -1 binary32) (*.f32 s (-.f32 %274 #s(literal 1/2 binary32)))))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/8 binary32) %378 (*.f32 #s(literal 1/8 binary32) %378)) %154) s))))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %279 s) (fma.f32 #s(literal -1/16 binary32) %385 (*.f32 #s(literal 1/24 binary32) %385))) %269) s)) %154) s))))
(approx %117 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal 1/48 binary32) %249) #s(literal 1/4 binary32)) s)))
(approx %172 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/4 binary32) x (*.f32 #s(literal 1/48 binary32) (/.f32 %173 %25))) s))))
(approx %121 (+.f32 #s(literal 2 binary32) %396))
(approx %121 (+.f32 #s(literal 2 binary32) %404))
(approx %187 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %449 s))))
(approx %187 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %456 s) %447) %448) s))))
(approx %187 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1/12 binary32) %173) (fma.f32 #s(literal -1/2 binary32) (*.f32 x %456) (fma.f32 #s(literal -1/24 binary32) %173 (*.f32 #s(literal 1/4 binary32) (*.f32 %88 %449))))) s) %323) %455) s) %447) %448) s))))
(approx %128 (+.f32 #s(literal 1 binary32) %487))
(approx %128 (+.f32 #s(literal 1 binary32) %498))
(approx %192 (+.f32 #s(literal 2 binary32) %487))
(approx %192 (+.f32 #s(literal 2 binary32) %498))
(approx %195 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/4 binary32) (/.f32 %337 s) (*.f32 #s(literal -1/8 binary32) %378)) %154) s))))
(approx %195 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %366 s) (fma.f32 #s(literal -1/4 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %173 (fma.f32 #s(literal 1/2 binary32) %173 %343)) s) (*.f32 #s(literal 1/8 binary32) %490))) %360) s)) %154) s))))
Calls

6 calls:

TimeVariablePoint
13.0ms
s
-inf
12.0ms
s
0
10.0ms
x
0
10.0ms
s
inf
9.0ms
x
inf

rewrite1.8s (11.3%)

Counts
48 → 586
Calls
Call 1
Inputs
%5 = (approx 1 #s(literal 0 binary32))
%7 = (/.f32 x s)
%8 = (*.f32 #s(literal -1 binary32) %7)
%11 = (/.f32 #s(literal 1 binary32) s)
%12 = (+.f32 #s(literal 2 binary32) %8)
%16 = (+ 1 (exp (/ (neg x) s)))
%17 = (approx %16 %12)
%20 = (exp.f32 %7)
%21 = (/.f32 #s(literal 1/4 binary32) s)
%22 = (+.f32 #s(literal 1 binary32) %7)
%23 = (/ x s)
%25 = (approx (exp %23) %22)
%26 = (/.f32 #s(literal 1 binary32) x)
%27 = (*.f32 #s(literal 1/2 binary32) %26)
%28 = (fma.f32 #s(literal 1/4 binary32) %11 %27)
%29 = (*.f32 x %28)
%33 = (+ 1/2 (* 1/4 %23))
%34 = (approx %33 %29)
%35 = (*.f32 #s(literal 1/2 binary32) s)
%36 = (fma.f32 #s(literal 1/4 binary32) x %35)
%37 = (/.f32 %36 s)
%38 = (approx %33 %37)
%39 = (*.f32 s s)
%40 = (*.f32 %39 s)
%41 = (-.f32 #s(literal 2 binary32) %7)
%42 = (approx %16 %41)
%43 = (fma.f32 %21 x #s(literal 1/2 binary32))
%44 = (/ 1 %16)
%46 = (*.f32 x x)
%47 = (/.f32 %46 %40)
%48 = (fma.f32 #s(literal -1/48 binary32) %47 %21)
%49 = (fma.f32 %48 x #s(literal 1/2 binary32))
%51 = (-.f32 %20 #s(literal -1 binary32))
%54 = (/.f32 #s(literal 1 binary32) %25)
%55 = (+.f32 #s(literal 1 binary32) %54)
#s(literal 1 binary32)
x
s
#s(literal 0 binary32)
%5
#s(literal -1 binary32)
%7
%8
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%11
%12
%17
#s(literal 1/4 binary32)
#s(literal -1/48 binary32)
%20
%21
%22
%25
%26
%27
%28
%29
%34
%35
%36
%37
%38
%39
%40
%41
%42
%43
(approx %44 %43)
%46
%47
%48
%49
(approx %44 %49)
%51
(/.f32 #s(literal 1 binary32) %42)
(/.f32 %20 %51)
%54
%55
(/.f32 #s(literal 1 binary32) %55)
(approx %44 %34)
(approx %44 %38)
(/.f32 %5 %17)
Outputs
%26 = (neg.f32 x)
%33 = (*.f32 #s(literal 1/2 binary32) s)
%42 = (approx 1 #s(literal 0 binary32))
%48 = (/.f32 x s)
%49 = (neg.f32 s)
%50 = (neg.f32 %49)
%53 = (neg.f32 %48)
%55 = (*.f32 x #s(literal 1 binary32))
%57 = (*.f32 #s(literal 1 binary32) x)
%59 = (/.f32 #s(literal 1 binary32) s)
%70 = (neg.f32 %59)
%72 = (/.f32 #s(literal 1 binary32) %49)
%76 = (*.f32 #s(literal 1/2 binary32) %48)
%85 = (*.f32 %26 #s(literal 1 binary32))
%99 = (*.f32 %59 #s(literal -1 binary32))
%117 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%118 = (*.f32 %117 %117)
%126 = (/.f32 #s(literal 1/2 binary32) s)
%139 = (pow.f32 s #s(literal 1 binary32))
%141 = (-.f32 #s(literal 2 binary32) %48)
%142 = (+.f32 %53 #s(literal 2 binary32))
%143 = (+.f32 #s(literal 2 binary32) %53)
%145 = (neg.f32 (-.f32 %48 #s(literal 2 binary32)))
%146 = (-.f32 %53 #s(literal -2 binary32))
%147 = (fma.f32 #s(literal -1 binary32) %48 #s(literal 2 binary32))
%148 = (fma.f32 %48 #s(literal -1 binary32) #s(literal 2 binary32))
%149 = (-.f32 #s(literal 1 binary32) %48)
%150 = (+.f32 #s(literal 1 binary32) %149)
%151 = (+.f32 s s)
%152 = (-.f32 %151 x)
%153 = (/.f32 %152 s)
%154 = (fma.f32 x %70 #s(literal 2 binary32))
%155 = (fma.f32 x %72 #s(literal 2 binary32))
%156 = (fma.f32 #s(literal 1/2 binary32) #s(literal 4 binary32) %53)
%157 = (fma.f32 #s(literal 2 binary32) #s(literal 1 binary32) %53)
%158 = (fma.f32 %59 %26 #s(literal 2 binary32))
%159 = (fma.f32 %26 %59 #s(literal 2 binary32))
%160 = (+.f32 #s(literal 1 binary32) %53)
%161 = (+.f32 #s(literal 1 binary32) %160)
%163 = (+.f32 (+.f32 %53 #s(literal 1 binary32)) #s(literal 1 binary32))
%165 = (/.f32 (fma.f32 #s(literal 2 binary32) %49 x) %49)
%167 = (/.f32 (neg.f32 %152) %49)
%168 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %149)
%169 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %149)
%170 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %149)
%171 = (fma.f32 x %99 #s(literal 2 binary32))
%172 = (*.f32 %152 %59)
%175 = (/.f32 (-.f32 (*.f32 #s(literal 2 binary32) %49) %26) %49)
%176 = (fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %160)
%177 = (fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %160)
%178 = (fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %160)
%180 = (/.f32 #s(literal 1 binary32) (/.f32 s %152))
%181 = (fma.f32 %85 %59 #s(literal 2 binary32))
%183 = (-.f32 (/.f32 %151 s) %48)
%184 = (fma.f32 #s(literal 2 binary32) %118 %53)
%188 = (+ 1 (exp (/ (neg x) s)))
%189 = (approx %188 %141)
%196 = (exp.f32 %48)
%198 = (neg.f32 %196)
%206 = (*.f32 #s(literal 1/2 binary32) %196)
%210 = (sinh.f32 %48)
%211 = (cosh.f32 %48)
%218 = (*.f32 #s(literal 1 binary32) %210)
%220 = (*.f32 %210 #s(literal 1 binary32))
%226 = (/.f32 #s(literal 1/4 binary32) s)
%228 = (/.f32 #s(literal -1/4 binary32) s)
%242 = (+.f32 x s)
%244 = (-.f32 %48 #s(literal -1 binary32))
%260 = (/.f32 s s)
%274 = (/ x s)
%276 = (approx (exp %274) %244)
%277 = (/.f32 #s(literal 1 binary32) x)
%281 = (/.f32 #s(literal 1 binary32) %26)
%284 = (/.f32 #s(literal 1/2 binary32) x)
%295 = (pow.f32 x #s(literal 1 binary32))
%306 = (/.f32 #s(literal -1/2 binary32) x)
%307 = (-.f32 %226 %306)
%309 = (neg.f32 %306)
%313 = (fma.f32 %226 x #s(literal 1/2 binary32))
%333 = (fma.f32 #s(literal 1/4 binary32) x %33)
%340 = (*.f32 x %49)
%342 = (*.f32 #s(literal -1/4 binary32) x)
%345 = (*.f32 #s(literal -1/2 binary32) s)
%349 = (*.f32 x %307)
%351 = (*.f32 %284 x)
%353 = (*.f32 %48 #s(literal 1/4 binary32))
%369 = (*.f32 x #s(literal 1/4 binary32))
%382 = (+ 1/2 (* 1/4 %274))
%383 = (approx %382 %349)
%393 = (neg.f32 %345)
%397 = (-.f32 %345 %369)
%408 = (fma.f32 x %226 #s(literal 1/2 binary32))
%409 = (fma.f32 %48 #s(literal 1/4 binary32) #s(literal 1/2 binary32))
%410 = (fma.f32 #s(literal 1/4 binary32) %48 #s(literal 1/2 binary32))
%411 = (+.f32 #s(literal 1/2 binary32) %353)
%412 = (+.f32 %353 #s(literal 1/2 binary32))
%413 = (*.f32 %228 x)
%414 = (-.f32 #s(literal 1/2 binary32) %413)
%415 = (-.f32 %353 #s(literal -1/2 binary32))
%416 = (neg.f32 %413)
%417 = (+.f32 #s(literal 1/2 binary32) %416)
%419 = (neg.f32 (-.f32 %413 #s(literal 1/2 binary32)))
%421 = (neg.f32 (-.f32 #s(literal -1/2 binary32) %353))
%422 = (/.f32 %333 s)
%423 = (fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %353)
%424 = (fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %353)
%425 = (fma.f32 %59 %369 #s(literal 1/2 binary32))
%426 = (fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %353)
%427 = (fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) %353)
%428 = (fma.f32 %369 %59 #s(literal 1/2 binary32))
%429 = (fma.f32 %353 #s(literal 1 binary32) #s(literal 1/2 binary32))
%430 = (fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %416)
%431 = (fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %416)
%432 = (fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %416)
%433 = (fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) %416)
%434 = (/.f32 %397 %49)
%436 = (neg.f32 (/.f32 %397 s))
%437 = (/.f32 %333 %50)
%439 = (neg.f32 (/.f32 %333 %49))
%440 = (*.f32 %333 #s(literal 1 binary32))
%441 = (/.f32 %440 s)
%442 = (*.f32 %59 %333)
%443 = (*.f32 %333 %59)
%445 = (/.f32 #s(literal 1 binary32) (/.f32 s %333))
%446 = (*.f32 s %126)
%447 = (fma.f32 x %226 %446)
%448 = (fma.f32 s %126 %353)
%449 = (fma.f32 %48 #s(literal 1/4 binary32) %446)
%450 = (fma.f32 #s(literal 1/2 binary32) %260 %353)
%451 = (fma.f32 #s(literal 1/4 binary32) %48 %446)
%452 = (fma.f32 %226 x %446)
%454 = (/.f32 (*.f32 %333 #s(literal -1 binary32)) %49)
%455 = (+.f32 %353 %446)
%456 = (+.f32 %446 %353)
%458 = (-.f32 %353 (/.f32 %345 s))
%459 = (*.f32 %397 %72)
%461 = (/.f32 #s(literal 1 binary32) (/.f32 %49 %397))
%463 = (-.f32 %353 (neg.f32 %446))
%464 = (*.f32 %440 %59)
%466 = (/.f32 (fma.f32 %353 s %33) s)
%467 = (fma.f32 %59 %369 %446)
%468 = (fma.f32 %33 %59 %353)
%469 = (fma.f32 %369 %59 %446)
%470 = (fma.f32 %353 #s(literal 1 binary32) %446)
%473 = (*.f32 s s)
%474 = (/.f32 (fma.f32 %369 s (*.f32 s %33)) %473)
%477 = (/.f32 (fma.f32 %369 s (*.f32 %33 s)) %473)
%478 = (approx %382 %313)
%481 = (fabs.f32 s)
%483 = (*.f32 %49 s)
%485 = (*.f32 s %49)
%488 = (neg.f32 %481)
%490 = (fabs.f32 %481)
%497 = (*.f32 %473 s)
%506 = (/ 1 %188)
%508 = (*.f32 x x)
%511 = (fabs.f32 x)
%513 = (*.f32 %26 x)
%515 = (neg.f32 %511)
%517 = (fabs.f32 %511)
%523 = (/.f32 %508 %497)
%524 = (/.f32 x %497)
%527 = (/.f32 %508 %473)
%531 = (/.f32 %508 s)
%533 = (/.f32 x %473)
%534 = (*.f32 %533 x)
%538 = (*.f32 %49 %473)
%554 = (/.f32 %26 %473)
%557 = (/.f32 %511 %473)
%558 = (/.f32 %511 s)
%563 = (/.f32 #s(literal 1 binary32) %497)
%582 = (fma.f32 #s(literal -1/48 binary32) %523 %226)
%584 = (*.f32 #s(literal -1/48 binary32) x)
%586 = (*.f32 %523 #s(literal -1/48 binary32))
%608 = (*.f32 #s(literal -1/48 binary32) s)
%609 = (fma.f32 %523 %608 #s(literal 1/4 binary32))
%617 = (*.f32 %584 x)
%634 = (*.f32 %497 s)
%641 = (*.f32 s %497)
%648 = (*.f32 %497 %49)
%655 = (*.f32 %49 %497)
%661 = (fma.f32 %582 x #s(literal 1/2 binary32))
%662 = (*.f32 %582 x)
%682 = (-.f32 %196 #s(literal -1 binary32))
%683 = (-.f32 #s(literal -1 binary32) %196)
%697 = (-.f32 (exp.f32 %53) #s(literal -1 binary32))
%698 = (/.f32 #s(literal 1 binary32) %697)
%699 = (neg.f32 %697)
%703 = (/.f32 #s(literal 1 binary32) %699)
%727 = (/.f32 #s(literal 1 binary32) %682)
%737 = (/.f32 #s(literal 1 binary32) %276)
%738 = (+.f32 #s(literal 1 binary32) %737)
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(fabs.f32 #s(literal -1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) #s(literal 1/2 binary32))
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) #s(literal 1/2 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
x
(neg.f32 %26)
s
(*.f32 s #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) s)
(neg.f32 (*.f32 #s(literal -1 binary32) s))
(*.f32 #s(literal 2 binary32) %33)
#s(literal 0 binary32)
(neg.f32 #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) #s(literal 0 binary32))
(-.f32 #s(literal 0 binary32) #s(literal 0 binary32))
(/.f32 (-.f32 #s(literal 1 binary32) #s(literal 1 binary32)) #s(literal 2 binary32))
(sinh.f32 #s(literal 0 binary32))
%42
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal 1/2 binary32))
%48
(/.f32 x %50)
(/.f32 %26 %49)
(neg.f32 %53)
(/.f32 %55 s)
(/.f32 %57 s)
(*.f32 x %59)
(*.f32 #s(literal 1 binary32) %48)
(*.f32 %48 #s(literal 1 binary32))
(*.f32 %59 x)
(/.f32 #s(literal 1 binary32) (/.f32 s x))
(*.f32 #s(literal -1 binary32) %53)
(*.f32 %53 #s(literal -1 binary32))
(/.f32 (*.f32 #s(literal 1 binary32) %26) %49)
(*.f32 %26 %70)
(*.f32 %26 %72)
(/.f32 #s(literal 1 binary32) (/.f32 %49 %26))
(*.f32 #s(literal 2 binary32) %76)
(*.f32 %55 %59)
(*.f32 %57 %59)
(/.f32 x %49)
(/.f32 %26 s)
%53
(/.f32 %26 %50)
(*.f32 #s(literal -1 binary32) %48)
(*.f32 %48 #s(literal -1 binary32))
(/.f32 %85 s)
(*.f32 x %70)
(*.f32 x %72)
(*.f32 %59 %26)
(*.f32 %26 %59)
(/.f32 #s(literal 1 binary32) (/.f32 %49 x))
(/.f32 #s(literal 1 binary32) (/.f32 s %26))
(/.f32 (*.f32 %26 #s(literal -1 binary32)) %49)
(/.f32 (*.f32 #s(literal -1 binary32) %26) %49)
(*.f32 x %99)
(*.f32 %85 %59)
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal -1 binary32))
#s(literal 2 binary32)
(neg.f32 #s(literal -2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) %118)
%59
(/.f32 #s(literal -1 binary32) %49)
(neg.f32 (/.f32 #s(literal -1 binary32) s))
(/.f32 #s(literal 1 binary32) %50)
(neg.f32 %72)
(*.f32 #s(literal 1 binary32) %59)
(*.f32 #s(literal 2 binary32) %126)
(*.f32 %59 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %72)
(neg.f32 (*.f32 #s(literal -1 binary32) %59))
(/.f32 #s(literal 1 binary32) (/.f32 %49 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %59))
(pow.f32 s #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) %139)
%141
%142
%143
%145
%146
%147
%148
%150
%153
%154
%155
%156
%157
%158
%159
%161
%163
%165
%167
%168
%169
%170
%171
%172
%175
%176
%177
%178
%180
%181
%183
%184
%189
#s(literal 1/4 binary32)
(neg.f32 #s(literal -1/4 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1/4 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 1 binary32))
#s(literal -1/48 binary32)
%196
(fabs.f32 %196)
(fabs.f32 %198)
(exp.f32 (+.f32 #s(literal 0 binary32) %48))
(*.f32 #s(literal 1 binary32) %196)
(*.f32 %196 #s(literal 1 binary32))
(neg.f32 (*.f32 #s(literal -1 binary32) %196))
(*.f32 #s(literal 2 binary32) %206)
(pow.f32 (exp.f32 x) %59)
(+.f32 %210 %211)
(+.f32 %211 %210)
(sqrt.f32 (*.f32 %196 %196))
(-.f32 %211 (sinh.f32 %53))
(fma.f32 #s(literal 1 binary32) %211 %218)
(fma.f32 %211 #s(literal 1 binary32) %220)
(+.f32 (*.f32 %211 #s(literal 1 binary32)) %220)
(+.f32 (*.f32 #s(literal 1 binary32) %211) %218)
%226
(/.f32 #s(literal -1/4 binary32) %49)
(neg.f32 %228)
(/.f32 #s(literal 1/4 binary32) %50)
(*.f32 #s(literal 1 binary32) %226)
(*.f32 %59 #s(literal 1/4 binary32))
(*.f32 #s(literal 1/4 binary32) %59)
(*.f32 %226 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1/4 binary32)))
(*.f32 #s(literal -1/4 binary32) %72)
(/.f32 #s(literal 1 binary32) (/.f32 %49 #s(literal -1/4 binary32)))
(+.f32 #s(literal 1 binary32) %48)
(+.f32 %48 #s(literal 1 binary32))
(/.f32 %242 s)
%244
(-.f32 #s(literal 1 binary32) %53)
(/.f32 (neg.f32 %242) %49)
(neg.f32 (-.f32 %53 #s(literal 1 binary32)))
(fma.f32 x %59 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %48)
(fma.f32 #s(literal 1 binary32) %48 #s(literal 1 binary32))
(fma.f32 %48 #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %48)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %48)
(fma.f32 %59 x #s(literal 1 binary32))
(*.f32 %242 %59)
(fma.f32 #s(literal -1 binary32) %53 #s(literal 1 binary32))
(fma.f32 %53 #s(literal -1 binary32) #s(literal 1 binary32))
(+.f32 %260 %48)
(/.f32 #s(literal 1 binary32) (/.f32 s %242))
(fma.f32 %26 %70 #s(literal 1 binary32))
(fma.f32 %26 %72 #s(literal 1 binary32))
(/.f32 (-.f32 (*.f32 #s(literal 1 binary32) %49) x) %49)
(/.f32 (fma.f32 #s(literal 1 binary32) %49 %26) %49)
(fma.f32 #s(literal 2 binary32) %76 #s(literal 1 binary32))
(fma.f32 %55 %59 #s(literal 1 binary32))
(fma.f32 %57 %59 #s(literal 1 binary32))
%276
%277
(/.f32 #s(literal -1 binary32) %26)
(neg.f32 (/.f32 #s(literal -1 binary32) x))
(neg.f32 %281)
(*.f32 #s(literal 1 binary32) %277)
(*.f32 #s(literal 2 binary32) %284)
(*.f32 %277 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 x #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %281)
(neg.f32 (*.f32 #s(literal -1 binary32) %277))
(/.f32 #s(literal 1 binary32) (/.f32 %26 #s(literal -1 binary32)))
(pow.f32 x #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) %295)
%284
(/.f32 #s(literal -1/2 binary32) %26)
(*.f32 #s(literal 1 binary32) %284)
(*.f32 #s(literal 1/2 binary32) %277)
(*.f32 %277 #s(literal 1/2 binary32))
(*.f32 %284 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 x #s(literal 1/2 binary32)))
(+.f32 %226 %284)
(+.f32 %284 %226)
%307
(-.f32 %284 %228)
(+.f32 %226 %309)
(neg.f32 (-.f32 %306 %226))
(/.f32 %313 x)
(/.f32 (fma.f32 %284 s #s(literal 1/4 binary32)) s)
(fma.f32 #s(literal 1 binary32) %226 %284)
(fma.f32 #s(literal 1 binary32) %284 %226)
(fma.f32 #s(literal 1/2 binary32) %277 %226)
(fma.f32 %59 #s(literal 1/4 binary32) %284)
(fma.f32 #s(literal 1/4 binary32) %59 %284)
(fma.f32 %226 #s(literal 1 binary32) %284)
(fma.f32 %277 #s(literal 1/2 binary32) %226)
(fma.f32 %284 #s(literal 1 binary32) %226)
(fma.f32 #s(literal 1 binary32) %226 %309)
(fma.f32 %59 #s(literal 1/4 binary32) %309)
(fma.f32 #s(literal 1/4 binary32) %59 %309)
(fma.f32 %226 #s(literal 1 binary32) %309)
(fma.f32 #s(literal -1/4 binary32) %72 %284)
(/.f32 (fma.f32 %284 %49 #s(literal -1/4 binary32)) %49)
(fma.f32 #s(literal -1/4 binary32) %72 %309)
(/.f32 %333 (*.f32 x s))
(/.f32 %333 (*.f32 s x))
(/.f32 (fma.f32 #s(literal -1/2 binary32) s (*.f32 x #s(literal -1/4 binary32))) %340)
(/.f32 (fma.f32 #s(literal -1/2 binary32) s %342) %340)
(/.f32 (fma.f32 #s(literal -1/4 binary32) x %345) (*.f32 %49 x))
%349
(*.f32 %307 x)
(fma.f32 x %226 %351)
(fma.f32 x %284 %353)
(fma.f32 %48 #s(literal 1/4 binary32) %351)
(fma.f32 #s(literal 1/4 binary32) %48 %351)
(fma.f32 %226 x %351)
(fma.f32 %284 x %353)
(+.f32 %351 %353)
(+.f32 %353 %351)
(-.f32 %353 (*.f32 %306 x))
(-.f32 %353 (*.f32 %26 %284))
(-.f32 %353 (neg.f32 %351))
(fma.f32 #s(literal 1/2 binary32) (*.f32 %277 x) %353)
(fma.f32 %59 %369 %351)
(fma.f32 %277 (*.f32 #s(literal 1/2 binary32) x) %353)
(fma.f32 (*.f32 x #s(literal 1/2 binary32)) %277 %353)
(fma.f32 %369 %59 %351)
(fma.f32 %353 #s(literal 1 binary32) %351)
(fma.f32 (*.f32 x %277) #s(literal 1/2 binary32) %353)
%383
(*.f32 s #s(literal 1/2 binary32))
%33
(*.f32 %33 #s(literal 1 binary32))
(fma.f32 x #s(literal 1/4 binary32) %33)
(fma.f32 s #s(literal 1/2 binary32) %369)
(fma.f32 #s(literal 1/2 binary32) s %369)
%333
(+.f32 %33 %369)
(+.f32 %369 %33)
(-.f32 %33 %342)
(-.f32 %369 %345)
(fma.f32 x #s(literal 1/4 binary32) %393)
(fma.f32 #s(literal 1/4 binary32) x %393)
(+.f32 %369 %393)
(neg.f32 %397)
(-.f32 %33 (*.f32 %26 #s(literal 1/4 binary32)))
(-.f32 %33 (neg.f32 %369))
(fma.f32 #s(literal 1/4 binary32) %57 %33)
(fma.f32 %33 #s(literal 1 binary32) %369)
(fma.f32 %369 #s(literal 1 binary32) %33)
(fma.f32 #s(literal 1/4 binary32) %57 %393)
(fma.f32 %369 #s(literal 1 binary32) %393)
%408
%409
%410
%313
%411
%412
%414
%415
%417
%419
%421
%422
%423
%424
%425
%426
%427
%428
%429
%430
%431
%432
%433
%434
%436
%437
%439
%441
%442
%443
%445
%447
%448
%449
%450
%451
%452
%454
%455
%456
%458
%459
%461
%463
%464
%466
%467
%468
%469
%470
%474
%477
%478
%473
(fabs.f32 %473)
(*.f32 %49 %49)
(*.f32 %481 %481)
(neg.f32 %483)
(neg.f32 %485)
(*.f32 %50 %50)
(*.f32 %488 %488)
(*.f32 %490 %490)
(pow.f32 s #s(literal 2 binary32))
(pow.f32 %49 #s(literal 2 binary32))
(pow.f32 %481 #s(literal 2 binary32))
(*.f32 %139 s)
(*.f32 s %473)
%497
(*.f32 %49 %483)
(*.f32 %481 (*.f32 %481 s))
(*.f32 %485 %49)
(*.f32 (*.f32 s %481) %481)
(pow.f32 s #s(literal 3 binary32))
%141
%142
%143
%145
%146
%147
%148
%150
%153
%154
%155
%156
%157
%158
%159
%161
%163
%165
%167
%168
%169
%170
%171
%172
%175
%176
%177
%178
%180
%181
%183
%184
%189
%408
%409
%410
%313
%411
%412
%414
%415
%417
%419
%421
%422
%423
%424
%425
%426
%427
%428
%429
%430
%431
%432
%433
%434
%436
%437
%439
%441
%442
%443
%445
%447
%448
%449
%450
%451
%452
%454
%455
%456
%458
%459
%461
%463
%464
%466
%467
%468
%469
%470
%474
%477
(approx %506 %313)
%508
(fabs.f32 %508)
(*.f32 %26 %26)
(*.f32 %511 %511)
(neg.f32 %513)
(*.f32 %515 %515)
(*.f32 %517 %517)
(pow.f32 x #s(literal 2 binary32))
(pow.f32 %26 #s(literal 2 binary32))
(pow.f32 %511 #s(literal 2 binary32))
(*.f32 %295 x)
%523
(*.f32 x %524)
(*.f32 %524 x)
(/.f32 %527 s)
(/.f32 (*.f32 x %48) %473)
(/.f32 %531 %473)
(/.f32 %534 s)
(*.f32 %48 %533)
(*.f32 %533 %48)
(/.f32 %508 (neg.f32 %538))
(/.f32 %513 %538)
(*.f32 %26 (/.f32 %26 %497))
(*.f32 %511 (/.f32 %511 %497))
(neg.f32 (/.f32 %513 %497))
(neg.f32 (/.f32 %508 %538))
(/.f32 (*.f32 %533 %26) %49)
(/.f32 (neg.f32 %527) %49)
(*.f32 %53 %554)
(*.f32 %554 %53)
(*.f32 %557 %558)
(*.f32 %558 %557)
(/.f32 (*.f32 %508 #s(literal 1 binary32)) %497)
(*.f32 %508 %563)
(*.f32 %563 %508)
(/.f32 #s(literal 1 binary32) (/.f32 %497 %508))
(*.f32 %527 %59)
(*.f32 %534 %59)
(/.f32 #s(literal 1 binary32) (/.f32 s %527))
(*.f32 %26 (*.f32 %26 %563))
(*.f32 %511 (*.f32 %511 %563))
(*.f32 %513 (/.f32 #s(literal 1 binary32) %538))
(/.f32 #s(literal 1 binary32) (/.f32 %538 %513))
(fma.f32 x (*.f32 %524 #s(literal -1/48 binary32)) %226)
%582
(fma.f32 %523 #s(literal -1/48 binary32) %226)
(fma.f32 %584 %524 %226)
(+.f32 %226 %586)
(+.f32 %586 %226)
(-.f32 %226 (*.f32 #s(literal 1/48 binary32) %523))
(-.f32 %586 %228)
(fma.f32 (/.f32 #s(literal -1/48 binary32) s) %527 %226)
(fma.f32 %533 (*.f32 %48 #s(literal -1/48 binary32)) %226)
(fma.f32 (/.f32 #s(literal -1/48 binary32) %473) %531 %226)
(fma.f32 (*.f32 #s(literal -1/48 binary32) %533) %48 %226)
(neg.f32 (-.f32 %228 %586))
(-.f32 %226 (*.f32 (neg.f32 %523) #s(literal -1/48 binary32)))
(-.f32 %226 (neg.f32 %586))
(/.f32 %609 s)
(fma.f32 #s(literal 1 binary32) %226 %586)
(fma.f32 %59 #s(literal 1/4 binary32) %586)
(fma.f32 #s(literal 1/4 binary32) %59 %586)
(fma.f32 %226 #s(literal 1 binary32) %586)
(fma.f32 %508 (*.f32 %563 #s(literal -1/48 binary32)) %226)
(fma.f32 %617 %563 %226)
(fma.f32 #s(literal -1/4 binary32) %72 %586)
(/.f32 (neg.f32 %609) %49)
(/.f32 (fma.f32 %586 %49 #s(literal -1/4 binary32)) %49)
(*.f32 %609 %59)
(/.f32 #s(literal 1 binary32) (/.f32 s %609))
(+.f32 (/.f32 (*.f32 %523 %608) s) %226)
(/.f32 (fma.f32 %226 %497 %617) %497)
(/.f32 (fma.f32 %617 s (*.f32 %497 #s(literal 1/4 binary32))) %634)
(/.f32 (fma.f32 %617 s (*.f32 #s(literal 1/4 binary32) %497)) %634)
(/.f32 (fma.f32 #s(literal 1/4 binary32) %497 (*.f32 s %617)) %641)
(/.f32 (fma.f32 #s(literal 1/4 binary32) %497 (*.f32 %617 s)) %641)
(/.f32 (fma.f32 %617 %49 (*.f32 %497 #s(literal -1/4 binary32))) %648)
(/.f32 (fma.f32 %617 %49 (*.f32 #s(literal -1/4 binary32) %497)) %648)
(/.f32 (fma.f32 #s(literal -1/4 binary32) %497 (*.f32 %49 %617)) %655)
(/.f32 (fma.f32 #s(literal -1/4 binary32) %497 (*.f32 %617 %49)) %655)
(fma.f32 x %582 #s(literal 1/2 binary32))
%661
(+.f32 #s(literal 1/2 binary32) %662)
(+.f32 %662 #s(literal 1/2 binary32))
(-.f32 %662 #s(literal -1/2 binary32))
(neg.f32 (-.f32 #s(literal -1/2 binary32) %662))
(-.f32 #s(literal 1/2 binary32) (*.f32 %26 %582))
(-.f32 #s(literal 1/2 binary32) (*.f32 (neg.f32 %582) x))
(-.f32 #s(literal 1/2 binary32) (neg.f32 %662))
(fma.f32 #s(literal 1 binary32) #s(literal 1/2 binary32) %662)
(fma.f32 #s(literal 1/2 binary32) #s(literal 1 binary32) %662)
(fma.f32 #s(literal 1/4 binary32) #s(literal 2 binary32) %662)
(fma.f32 #s(literal -1/2 binary32) #s(literal -1 binary32) %662)
(approx %506 %661)
(+.f32 #s(literal 1 binary32) %196)
(+.f32 %196 #s(literal 1 binary32))
%682
(neg.f32 %683)
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %196)
(fma.f32 #s(literal 1 binary32) %196 #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %196)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %196)
(fma.f32 %196 #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) %206 #s(literal 1 binary32))
(+.f32 %211 (-.f32 %210 #s(literal -1 binary32)))
(+.f32 %211 (+.f32 %210 #s(literal 1 binary32)))
(/.f32 #s(literal 1 binary32) %189)
%698
(/.f32 #s(literal -1 binary32) %699)
(neg.f32 (/.f32 #s(literal -1 binary32) %697))
(neg.f32 %703)
(*.f32 #s(literal 1 binary32) %698)
(*.f32 #s(literal 2 binary32) (/.f32 #s(literal 1/2 binary32) %697))
(*.f32 %698 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 %697 #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %703)
(neg.f32 (*.f32 #s(literal -1 binary32) %698))
(/.f32 #s(literal 1 binary32) (/.f32 %699 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %698))
(pow.f32 %697 #s(literal -1 binary32))
(/.f32 %196 %682)
(/.f32 %198 %683)
(neg.f32 (/.f32 %196 %683))
(/.f32 (neg.f32 %198) %682)
(neg.f32 (/.f32 %198 %682))
(*.f32 %196 %727)
(*.f32 %727 %196)
(/.f32 #s(literal 1 binary32) (pow.f32 %697 #s(literal 1 binary32)))
(*.f32 %198 (/.f32 #s(literal 1 binary32) %683))
(+.f32 (/.f32 %211 %682) (/.f32 %210 %682))
%737
%738
(/.f32 #s(literal 1 binary32) %738)
(approx %506 %383)
(approx %506 %478)
(/.f32 %42 %189)

reconstruct368.0ms (2.3%)

Counts
694 → 217
Compiler

Compiled 694 to 1 069 computations (-54.0% saved)

eval95.0ms (0.6%)

Compiler

Compiled 210 to 764 computations (-263.8% saved)

prune34.0ms (0.2%)

Pruning

15 alts after pruning (5 fresh and 10 done)

PrunedKeptTotal
New2055210
Fresh000
Picked268
Done044
Total20715222
Accuracy
100.0%
Counts
222 → 15
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.0%
%65 = (exp.f32 (/.f32 x s))
(/.f32 %65 (-.f32 %65 #s(literal -1 binary32)))
42.9%
%61 = (approx (exp (/ x s)) (+.f32 #s(literal 1 binary32) (/.f32 x s)))
(/.f32 %61 (-.f32 %61 #s(literal -1 binary32)))
46.6%
(/.f32 (approx 1 #s(literal 0 binary32)) (approx (+ 1 (exp (/ (neg x) s))) (approx (+ 2 (* -1 (/ x s))) #s(literal 2 binary32))))
69.0%
%50 = (/.f32 x s)
(/.f32 #s(literal 1 binary32) (-.f32 (+.f32 (cosh.f32 %50) #s(literal 1 binary32)) (sinh.f32 %50)))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))))
56.8%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (approx (exp (/ x s)) (+.f32 #s(literal 1 binary32) (/.f32 x s))))))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
45.4%
(/.f32 #s(literal 1 binary32) (approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))
18.5%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (fma.f32 #s(literal -1/48 binary32) (/.f32 (*.f32 x x) (*.f32 (*.f32 s s) s)) (/.f32 #s(literal 1/4 binary32) s)) x #s(literal 1/2 binary32)))
29.3%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)))
29.1%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (*.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s))))
29.2%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s)))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) (*.f32 #s(literal 1/2 binary32) s)) s)))
28.8%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (*.f32 x (-.f32 (/.f32 #s(literal 1/4 binary32) s) (/.f32 #s(literal -1/2 binary32) x)))))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Compiler

Compiled 15 to 53 computations (-253.3% saved)

sample1.0ms (0.0%)

Calls
Call 1
Inputs
1
Outputs
#s(literal 1 binary32)
Samples
0.0ms0valid
Compiler

Compiled 3 to 3 computations (0.0% saved)

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

series752.0ms (4.6%)

Counts
33 → 69
Calls
Call 1
Inputs
%5 = (approx 1 #s(literal 0 binary32))
%7 = (/.f32 x s)
%10 = (/.f32 #s(literal 1 binary32) s)
%15 = (/ x s)
%18 = (approx (+ 2 (* -1 %15)) #s(literal 2 binary32))
%19 = (/.f32 #s(literal 1/4 binary32) s)
%20 = (+.f32 #s(literal 1 binary32) %7)
%22 = (approx (exp %15) %20)
%23 = (*.f32 #s(literal 1/2 binary32) s)
%24 = (fma.f32 #s(literal 1/4 binary32) x %23)
%28 = (+ 1 (exp (/ (neg x) s)))
%29 = (approx %28 %18)
%35 = (approx (+ (* 1/4 x) (* 1/2 s)) %23)
%36 = (/.f32 #s(literal -1/2 binary32) x)
%37 = (-.f32 %19 %36)
%38 = (*.f32 x %37)
%40 = (+ 1/2 (* 1/4 %15))
%41 = (approx %40 %38)
%42 = (*.f32 %10 %24)
%43 = (/ 1 %28)
%45 = (/.f32 %35 s)
%46 = (approx %40 %45)
%48 = (-.f32 %22 #s(literal -1 binary32))
#s(literal 1 binary32)
x
s
#s(literal 0 binary32)
%5
#s(literal -1 binary32)
%7
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%10
#s(literal 1/4 binary32)
#s(literal -1/2 binary32)
%18
%19
%20
%22
%23
%24
%29
%35
%36
%37
%38
%41
%42
(approx %43 %41)
%45
%46
(approx %43 %46)
%48
(/.f32 %22 %48)
(approx %43 %42)
(/.f32 %5 %29)
Outputs
%6 = (/ x s)
%7 = (/.f32 x s)
%12 = (+ 2 (* -1 %6))
%16 = (*.f32 #s(literal -1 binary32) %7)
%19 = (+ 1 %6)
%24 = (exp %6)
%26 = (pow.f32 s #s(literal 2 binary32))
%27 = (/.f32 x %26)
%28 = (/.f32 #s(literal 1 binary32) s)
%30 = (*.f32 x (fma.f32 #s(literal 1/2 binary32) %27 %28))
%35 = (pow.f32 s #s(literal 3 binary32))
%36 = (/.f32 x %35)
%38 = (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %26))
%41 = (*.f32 x (fma.f32 x (fma.f32 #s(literal 1/6 binary32) %36 %38) %28))
%48 = (+ (* 1/4 x) (* 1/2 s))
%49 = (*.f32 #s(literal 1/2 binary32) s)
%52 = (fma.f32 #s(literal 1/4 binary32) x %49)
%57 = (+ 1 (exp (/ (neg x) s)))
%71 = (/ -1/2 x)
%76 = (- (/ 1/4 s) %71)
%79 = (*.f32 #s(literal 1/4 binary32) %7)
%80 = (+.f32 #s(literal 1/2 binary32) %79)
%83 = (* x %76)
%86 = (/ 1 %57)
%88 = (pow.f32 x #s(literal 2 binary32))
%90 = (*.f32 #s(literal 1/4 binary32) %28)
%108 = (- %24 -1)
%116 = (/.f32 #s(literal 1 binary32) x)
%117 = (*.f32 #s(literal 2 binary32) %116)
%124 = (exp.f32 %7)
%126 = (*.f32 #s(literal 1/4 binary32) x)
%128 = (/.f32 s x)
%130 = (+.f32 #s(literal 1/4 binary32) (*.f32 #s(literal 1/2 binary32) %128))
%134 = (+.f32 #s(literal 1 binary32) (exp.f32 %16))
%139 = (fma.f32 #s(literal 1/4 binary32) %28 (*.f32 #s(literal 1/2 binary32) %116))
%146 = (+.f32 #s(literal 1 binary32) %124)
%148 = (/ %24 %108)
%174 = (/.f32 %88 %26)
%175 = (fma.f32 #s(literal 1/2 binary32) %174 %7)
%178 = (pow.f32 x #s(literal 3 binary32))
%179 = (/.f32 %178 %35)
%180 = (fma.f32 #s(literal 1/6 binary32) %179 %175)
%185 = (*.f32 #s(literal 1/2 binary32) %174)
%195 = (*.f32 #s(literal 1/8 binary32) %88)
%196 = (fma.f32 #s(literal -1/8 binary32) %88 %195)
%201 = (*.f32 #s(literal -1/4 binary32) %7)
%206 = (*.f32 x %196)
%222 = (*.f32 #s(literal 1/2 binary32) %7)
%226 = (fma.f32 #s(literal 1/4 binary32) %174 %222)
%229 = (-.f32 (*.f32 #s(literal 1/2 binary32) x) %126)
%230 = (*.f32 x %229)
%232 = (*.f32 #s(literal 1/2 binary32) (/.f32 %230 %26))
%243 = (*.f32 #s(literal 1/4 binary32) %88)
%256 = (/.f32 %88 s)
%257 = (*.f32 #s(literal -1/2 binary32) %256)
%260 = (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x %257) s))
%263 = (/.f32 %178 s)
%264 = (*.f32 #s(literal 1/2 binary32) %88)
%270 = (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1 binary32) x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal 1/6 binary32) %263 %264) s))) s))
%314 = (*.f32 #s(literal -1/2 binary32) x)
%315 = (*.f32 #s(literal -1/4 binary32) x)
%316 = (-.f32 %314 %315)
%322 = (fma.f32 #s(literal -1/2 binary32) (*.f32 x %316) %195)
%323 = (-.f32 %243 %322)
(approx 1 #s(literal 0 binary32))
(approx x x)
(approx %6 %7)
(approx %12 #s(literal 2 binary32))
(approx %12 (+.f32 #s(literal 2 binary32) %16))
(approx %19 #s(literal 1 binary32))
(approx %19 (+.f32 #s(literal 1 binary32) %7))
(approx %24 (+.f32 #s(literal 1 binary32) %30))
(approx %24 (+.f32 #s(literal 1 binary32) %41))
(approx %48 %49)
(approx %48 %52)
(approx %57 (+.f32 #s(literal 2 binary32) (*.f32 x (-.f32 (*.f32 #s(literal 1/2 binary32) %27) %28))))
(approx %57 (+.f32 #s(literal 2 binary32) (*.f32 x (-.f32 (*.f32 x (fma.f32 #s(literal -1/6 binary32) %36 %38)) %28))))
(approx %71 (/.f32 #s(literal -1/2 binary32) x))
(approx %76 (/.f32 #s(literal 1/2 binary32) x))
(approx %76 (/.f32 %80 x))
(approx %83 #s(literal 1/2 binary32))
(approx %83 %80)
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 #s(literal -1/48 binary32) (/.f32 %88 %35) %90))))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 x (fma.f32 %88 (-.f32 (*.f32 #s(literal 1/480 binary32) (/.f32 %88 (pow.f32 s #s(literal 5 binary32)))) (*.f32 #s(literal 1/48 binary32) (/.f32 #s(literal 1 binary32) %35))) %90))))
(approx %108 (+.f32 #s(literal 2 binary32) %7))
(approx %108 (+.f32 #s(literal 2 binary32) %30))
(approx %108 (+.f32 #s(literal 2 binary32) %41))
(approx %12 %16)
(approx %12 (*.f32 x (-.f32 %117 %28)))
(approx %19 (*.f32 x (+.f32 %28 %116)))
(approx %24 %124)
(approx %48 %126)
(approx %48 (*.f32 x %130))
(approx %57 %134)
(approx %76 (/.f32 #s(literal 1/4 binary32) s))
(approx %76 %139)
(approx %83 %79)
(approx %83 (*.f32 x %139))
(approx %86 (/.f32 #s(literal 1 binary32) %134))
(approx %108 %146)
(approx %148 (/.f32 %124 %146))
(approx %12 (*.f32 #s(literal -1 binary32) (*.f32 x (-.f32 %28 %117))))
(approx %48 (*.f32 #s(literal -1 binary32) (*.f32 x (-.f32 (*.f32 #s(literal -1/2 binary32) %128) #s(literal 1/4 binary32)))))
(approx s s)
(approx (/ 1 s) %28)
(approx %12 (/.f32 (fma.f32 #s(literal -1 binary32) x (*.f32 #s(literal 2 binary32) s)) s))
(approx %19 (/.f32 (+.f32 s x) s))
(approx %76 (/.f32 %130 s))
(approx %83 (/.f32 %52 s))
(approx %24 (+.f32 #s(literal 1 binary32) %175))
(approx %24 (+.f32 #s(literal 1 binary32) %180))
(approx %48 (*.f32 s %80))
(approx %57 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 %185)))
(approx %57 (+.f32 #s(literal 2 binary32) (fma.f32 #s(literal -1 binary32) %7 (fma.f32 #s(literal -1/6 binary32) %179 %185))))
(approx %86 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %196 %26))) %201))
(approx %86 (-.f32 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/24 binary32) %178 (fma.f32 #s(literal 1/16 binary32) %178 (*.f32 #s(literal 1/2 binary32) %206))) %35))) (fma.f32 #s(literal -1/4 binary32) %7 (fma.f32 #s(literal -1/8 binary32) %174 (*.f32 #s(literal 1/8 binary32) %174)))))
(approx %108 (+.f32 #s(literal 2 binary32) %175))
(approx %108 (+.f32 #s(literal 2 binary32) %180))
(approx %148 (-.f32 (+.f32 #s(literal 1/2 binary32) %222) %79))
(approx %148 (-.f32 (+.f32 #s(literal 1/2 binary32) %226) (fma.f32 #s(literal 1/8 binary32) %174 (fma.f32 #s(literal 1/4 binary32) %7 %232))))
(approx %148 (-.f32 (+.f32 #s(literal 1/2 binary32) (fma.f32 #s(literal 1/12 binary32) %179 %226)) (fma.f32 #s(literal 1/24 binary32) %179 (fma.f32 #s(literal 1/8 binary32) %174 (fma.f32 #s(literal 1/4 binary32) %7 (fma.f32 #s(literal 1/4 binary32) (/.f32 (*.f32 %88 %229) %35) (fma.f32 #s(literal 1/2 binary32) (/.f32 (*.f32 x (-.f32 %243 (fma.f32 #s(literal 1/8 binary32) %88 (*.f32 #s(literal 1/2 binary32) %230)))) %35) %232)))))))
(approx %24 (+.f32 #s(literal 1 binary32) %260))
(approx %24 (+.f32 #s(literal 1 binary32) %270))
(approx %48 (*.f32 #s(literal -1 binary32) (*.f32 s (-.f32 %201 #s(literal 1/2 binary32)))))
(approx %57 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x %257) s))))
(approx %57 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (+.f32 x (*.f32 #s(literal -1 binary32) (/.f32 (fma.f32 #s(literal -1/6 binary32) %263 %264) s))) s))))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/8 binary32) %256 (*.f32 #s(literal 1/8 binary32) %256)) %126) s))))
(approx %86 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1/2 binary32) (/.f32 %206 s) (fma.f32 #s(literal -1/16 binary32) %263 (*.f32 #s(literal 1/24 binary32) %263))) %196) s)) %126) s))))
(approx %108 (+.f32 #s(literal 2 binary32) %260))
(approx %108 (+.f32 #s(literal 2 binary32) %270))
(approx %148 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 %316 s))))
(approx %148 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 %323 s) %314) %315) s))))
(approx %148 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (fma.f32 #s(literal -1 binary32) (/.f32 (-.f32 (*.f32 #s(literal -1/12 binary32) %178) (fma.f32 #s(literal -1/2 binary32) (*.f32 x %323) (fma.f32 #s(literal -1/24 binary32) %178 (*.f32 #s(literal 1/4 binary32) (*.f32 %88 %316))))) s) %243) %322) s) %314) %315) s))))
Calls

6 calls:

TimeVariablePoint
13.0ms
x
-inf
8.0ms
x
0
7.0ms
s
inf
6.0ms
s
0
1.0ms
x
inf

rewrite1.4s (8.4%)

Counts
33 → 276
Calls
Call 1
Inputs
%5 = (approx 1 #s(literal 0 binary32))
%7 = (/.f32 x s)
%10 = (/.f32 #s(literal 1 binary32) s)
%15 = (/ x s)
%18 = (approx (+ 2 (* -1 %15)) #s(literal 2 binary32))
%19 = (/.f32 #s(literal 1/4 binary32) s)
%20 = (+.f32 #s(literal 1 binary32) %7)
%22 = (approx (exp %15) %20)
%23 = (*.f32 #s(literal 1/2 binary32) s)
%24 = (fma.f32 #s(literal 1/4 binary32) x %23)
%28 = (+ 1 (exp (/ (neg x) s)))
%29 = (approx %28 %18)
%35 = (approx (+ (* 1/4 x) (* 1/2 s)) %23)
%36 = (/.f32 #s(literal -1/2 binary32) x)
%37 = (-.f32 %19 %36)
%38 = (*.f32 x %37)
%40 = (+ 1/2 (* 1/4 %15))
%41 = (approx %40 %38)
%42 = (*.f32 %10 %24)
%43 = (/ 1 %28)
%45 = (/.f32 %35 s)
%46 = (approx %40 %45)
%48 = (-.f32 %22 #s(literal -1 binary32))
#s(literal 1 binary32)
x
s
#s(literal 0 binary32)
%5
#s(literal -1 binary32)
%7
#s(literal 1/2 binary32)
#s(literal 2 binary32)
%10
#s(literal 1/4 binary32)
#s(literal -1/2 binary32)
%18
%19
%20
%22
%23
%24
%29
%35
%36
%37
%38
%41
%42
(approx %43 %41)
%45
%46
(approx %43 %46)
%48
(/.f32 %22 %48)
(approx %43 %42)
(/.f32 %5 %29)
Outputs
%19 = (neg.f32 x)
%26 = (*.f32 #s(literal 1/2 binary32) s)
%35 = (approx 1 #s(literal 0 binary32))
%42 = (/.f32 x s)
%43 = (neg.f32 s)
%44 = (neg.f32 %43)
%47 = (neg.f32 %42)
%49 = (*.f32 x #s(literal 1 binary32))
%51 = (*.f32 #s(literal 1 binary32) x)
%53 = (/.f32 #s(literal 1 binary32) s)
%64 = (neg.f32 %53)
%66 = (/.f32 #s(literal 1 binary32) %43)
%70 = (*.f32 #s(literal 1/2 binary32) %42)
%85 = (cosh.f32 (/.f32 #s(literal 0 binary32) #s(literal 2 binary32)))
%94 = (/.f32 #s(literal 1/2 binary32) s)
%104 = (*.f32 #s(literal 1/2 binary32) %53)
%116 = (/ x s)
%118 = (approx (- 2 %116) #s(literal 2 binary32))
%119 = (/.f32 #s(literal 1/4 binary32) s)
%135 = (+.f32 x s)
%137 = (-.f32 %42 #s(literal -1 binary32))
%153 = (/.f32 s s)
%168 = (approx (exp %116) %137)
%170 = (*.f32 s #s(literal -1/2 binary32))
%173 = (*.f32 x #s(literal 1/4 binary32))
%176 = (fma.f32 #s(literal 1/4 binary32) x %26)
%179 = (*.f32 #s(literal -1/4 binary32) x)
%182 = (*.f32 %43 #s(literal -1/2 binary32))
%186 = (-.f32 %170 %173)
%194 = (*.f32 #s(literal -1 binary32) %176)
%196 = (*.f32 #s(literal 1 binary32) %173)
%198 = (*.f32 #s(literal 1 binary32) %26)
%200 = (*.f32 %173 #s(literal 1 binary32))
%202 = (*.f32 %26 #s(literal 1 binary32))
%213 = (+ 1 (exp (/ (neg x) s)))
%214 = (approx %213 %118)
%220 = (approx (+ (* 1/4 x) (* 1/2 s)) %26)
%221 = (/.f32 #s(literal -1/2 binary32) x)
%223 = (/.f32 #s(literal 1/2 binary32) x)
%225 = (/.f32 #s(literal 1 binary32) x)
%236 = (-.f32 %119 %221)
%237 = (-.f32 %221 %119)
%239 = (fma.f32 %42 #s(literal 1/4 binary32) #s(literal 1/2 binary32))
%249 = (*.f32 x s)
%259 = (*.f32 %42 #s(literal 1/4 binary32))
%280 = (*.f32 x %236)
%290 = (*.f32 %223 x)
%292 = (*.f32 x %223)
%315 = (+ 1/2 (* 1/4 %116))
%316 = (approx %315 %280)
%322 = (*.f32 %42 #s(literal -1/4 binary32))
%347 = (*.f32 s %94)
%387 = (*.f32 s s)
%394 = (/ 1 %213)
%396 = (/.f32 %220 s)
%397 = (approx %315 %396)
%399 = (-.f32 %168 #s(literal -1 binary32))
#s(literal 1 binary32)
(fabs.f32 #s(literal 1 binary32))
(neg.f32 #s(literal -1 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 0 binary32))
(+.f32 #s(literal 1/2 binary32) #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 2 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1/2 binary32))
(/.f32 #s(literal 2 binary32) #s(literal 2 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 0 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 0 binary32))
(cosh.f32 #s(literal 0 binary32))
(exp.f32 #s(literal 0 binary32))
x
(neg.f32 %19)
s
(*.f32 s #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) s)
(neg.f32 (*.f32 #s(literal -1 binary32) s))
(*.f32 #s(literal 2 binary32) %26)
#s(literal 0 binary32)
(neg.f32 #s(literal 0 binary32))
(+.f32 #s(literal 0 binary32) #s(literal 0 binary32))
(-.f32 #s(literal 0 binary32) #s(literal 0 binary32))
(/.f32 (-.f32 #s(literal 1 binary32) #s(literal 1 binary32)) #s(literal 2 binary32))
(sinh.f32 #s(literal 0 binary32))
%35
#s(literal -1 binary32)
(neg.f32 #s(literal 1 binary32))
(*.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 2 binary32) #s(literal -1/2 binary32))
(*.f32 #s(literal -2 binary32) #s(literal 1/2 binary32))
%42
(/.f32 x %44)
(/.f32 %19 %43)
(neg.f32 %47)
(/.f32 %49 s)
(/.f32 %51 s)
(*.f32 x %53)
(*.f32 #s(literal 1 binary32) %42)
(*.f32 %42 #s(literal 1 binary32))
(*.f32 %53 x)
(/.f32 #s(literal 1 binary32) (/.f32 s x))
(*.f32 #s(literal -1 binary32) %47)
(*.f32 %47 #s(literal -1 binary32))
(/.f32 (*.f32 #s(literal 1 binary32) %19) %43)
(*.f32 %19 %64)
(*.f32 %19 %66)
(/.f32 #s(literal 1 binary32) (/.f32 %43 %19))
(*.f32 #s(literal 2 binary32) %70)
(*.f32 %49 %53)
(*.f32 %51 %53)
#s(literal 1/2 binary32)
(neg.f32 #s(literal -1/2 binary32))
#s(literal 2 binary32)
(neg.f32 #s(literal -2 binary32))
(+.f32 #s(literal 1 binary32) #s(literal 1 binary32))
(-.f32 #s(literal 1 binary32) #s(literal -1 binary32))
(*.f32 #s(literal 1/2 binary32) #s(literal 4 binary32))
(*.f32 #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) #s(literal 1 binary32))
(*.f32 #s(literal 2 binary32) (*.f32 %85 %85))
%53
(/.f32 #s(literal -1 binary32) %43)
(neg.f32 (/.f32 #s(literal -1 binary32) s))
(/.f32 #s(literal 1 binary32) %44)
(neg.f32 %66)
(*.f32 #s(literal 1 binary32) %53)
(*.f32 #s(literal 2 binary32) %94)
(*.f32 %53 #s(literal 1 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1 binary32)))
(*.f32 #s(literal -1 binary32) %66)
(neg.f32 (*.f32 #s(literal -1 binary32) %53))
(/.f32 #s(literal 1 binary32) (/.f32 %43 #s(literal -1 binary32)))
(*.f32 #s(literal 2 binary32) %104)
(pow.f32 s #s(literal -1 binary32))
(/.f32 #s(literal 1 binary32) (pow.f32 s #s(literal 1 binary32)))
#s(literal 1/4 binary32)
(neg.f32 #s(literal -1/4 binary32))
(*.f32 #s(literal 1/4 binary32) #s(literal 1 binary32))
#s(literal -1/2 binary32)
(neg.f32 #s(literal 1/2 binary32))
(*.f32 #s(literal -1/2 binary32) #s(literal 1 binary32))
%118
%119
(/.f32 #s(literal -1/4 binary32) %43)
(neg.f32 (/.f32 #s(literal -1/4 binary32) s))
(/.f32 #s(literal 1/4 binary32) %44)
(neg.f32 (/.f32 #s(literal 1/4 binary32) %43))
(*.f32 %53 #s(literal 1/4 binary32))
(*.f32 #s(literal 1/4 binary32) %53)
(/.f32 #s(literal 1 binary32) (/.f32 s #s(literal 1/4 binary32)))
(*.f32 #s(literal -1/4 binary32) %66)
(/.f32 #s(literal 1 binary32) (/.f32 %43 #s(literal -1/4 binary32)))
(+.f32 #s(literal 1 binary32) %42)
(+.f32 %42 #s(literal 1 binary32))
(/.f32 %135 s)
%137
(-.f32 #s(literal 1 binary32) %47)
(/.f32 (neg.f32 %135) %43)
(neg.f32 (-.f32 %47 #s(literal 1 binary32)))
(fma.f32 x %53 #s(literal 1 binary32))
(fma.f32 #s(literal 1 binary32) #s(literal 1 binary32) %42)
(fma.f32 #s(literal 1 binary32) %42 #s(literal 1 binary32))
(fma.f32 %42 #s(literal 1 binary32) #s(literal 1 binary32))
(fma.f32 #s(literal 1/2 binary32) #s(literal 2 binary32) %42)
(fma.f32 #s(literal 2 binary32) #s(literal 1/2 binary32) %42)
(fma.f32 %53 x #s(literal 1 binary32))
(*.f32 %135 %53)
(fma.f32 #s(literal -1 binary32) %47 #s(literal 1 binary32))
(fma.f32 %47 #s(literal -1 binary32) #s(literal 1 binary32))
(+.f32 %153 %42)
(/.f32 #s(literal 1 binary32) (/.f32 s %135))
(fma.f32 %19 %64 #s(literal 1 binary32))
(fma.f32 %19 %66 #s(literal 1 binary32))
(/.f32 (-.f32 (*.f32 #s(literal 1 binary32) %43) x) %43)
(/.f32 (fma.f32 #s(literal 1 binary32) %43 %19) %43)
(fma.f32 #s(literal 2 binary32) %70 #s(literal 1 binary32))
(fma.f32 %49 %53 #s(literal 1 binary32))
(fma.f32 %51 %53 #s(literal 1 binary32))
%168
(*.f32 s #s(literal 1/2 binary32))
%26
(neg.f32 %170)
(fma.f32 x #s(literal 1/4 binary32) %26)
(fma.f32 s #s(literal 1/2 binary32) %173)
(fma.f32 #s(literal 1/2 binary32) s %173)
%176
(+.f32 %26 %173)
(+.f32 %173 %26)
(-.f32 %26 %179)
(-.f32 %173 %170)
(fma.f32 x #s(literal 1/4 binary32) %182)
(fma.f32 #s(literal 1/4 binary32) x %182)
(+.f32 %173 %182)
(neg.f32 %186)
(-.f32 %26 (*.f32 %19 #s(literal 1/4 binary32)))
(-.f32 %26 (neg.f32 %173))
(*.f32 #s(literal 1 binary32) %176)
(*.f32 %176 #s(literal 1 binary32))
(neg.f32 %194)
(fma.f32 #s(literal 1 binary32) %26 %196)
(fma.f32 #s(literal 1 binary32) %173 %198)
(fma.f32 %26 #s(literal 1 binary32) %200)
(fma.f32 %173 #s(literal 1 binary32) %202)
(*.f32 #s(literal 2 binary32) (*.f32 #s(literal 1/2 binary32) %176))
(+.f32 %200 %202)
(+.f32 %202 %200)
(+.f32 %198 %196)
(+.f32 %196 %198)
%214
%220
%221
(/.f32 #s(literal 1/2 binary32) %19)
(neg.f32 %223)
(*.f32 #s(literal -1/2 binary32) %225)
(*.f32 %225 #s(literal -1/2 binary32))
(/.f32 #s(literal 1 binary32) (/.f32 x #s(literal -1/2 binary32)))
(*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) %19))
(/.f32 #s(literal 1 binary32) (/.f32 %19 #s(literal 1/2 binary32)))
(+.f32 %119 %223)
(+.f32 %223 %119)
%236
(neg.f32 %237)
(/.f32 %239 x)
(fma.f32 #s(literal 1/2 binary32) %225 %119)
(fma.f32 %53 #s(literal 1/4 binary32) %223)
(fma.f32 #s(literal 1/4 binary32) %53 %223)
(fma.f32 #s(literal -1/2 binary32) (neg.f32 %225) %119)
(fma.f32 #s(literal -1/4 binary32) %66 %223)
(/.f32 (neg.f32 %239) %19)
(/.f32 %176 %249)
(/.f32 (-.f32 (*.f32 %119 %19) #s(literal 1/2 binary32)) %19)
(*.f32 %239 %225)
(/.f32 #s(literal 1 binary32) (/.f32 x %239))
(/.f32 %186 (neg.f32 %249))
(-.f32 (/.f32 %259 x) %221)
(/.f32 (-.f32 (*.f32 #s(literal 1/4 binary32) %19) %26) (*.f32 s %19))
(/.f32 (-.f32 %179 %182) (*.f32 %43 x))
(*.f32 %176 (/.f32 #s(literal 1 binary32) %249))
(/.f32 (-.f32 (*.f32 #s(literal -1/4 binary32) %19) %170) (*.f32 %43 %19))
(/.f32 #s(literal 1 binary32) (/.f32 %249 %176))
(-.f32 (/.f32 %173 %249) (/.f32 %170 %249))
%280
(*.f32 %236 x)
(neg.f32 (*.f32 %237 x))
(neg.f32 (*.f32 x %237))
(/.f32 (*.f32 %239 x) x)
(/.f32 (*.f32 x %239) x)
(fma.f32 x %119 %290)
(fma.f32 x %119 %292)
(fma.f32 %42 #s(literal 1/4 binary32) %290)
(fma.f32 %42 #s(literal 1/4 binary32) %292)
(fma.f32 #s(literal 1/4 binary32) %42 %290)
(fma.f32 #s(literal 1/4 binary32) %42 %292)
(fma.f32 %119 x %290)
(fma.f32 %119 x %292)
(+.f32 %259 %290)
(+.f32 %259 %292)
(/.f32 (*.f32 %176 x) %249)
(/.f32 (*.f32 x %176) %249)
(fma.f32 #s(literal 1 binary32) %259 %290)
(fma.f32 #s(literal 1 binary32) %259 %292)
(fma.f32 %53 %173 %290)
(fma.f32 %53 %173 %292)
(fma.f32 %173 %53 %290)
(fma.f32 %173 %53 %292)
(fma.f32 %200 %53 %290)
(fma.f32 %200 %53 %292)
%316
(fma.f32 x %119 #s(literal 1/2 binary32))
%239
(fma.f32 #s(literal 1/4 binary32) %42 #s(literal 1/2 binary32))
(fma.f32 %119 x #s(literal 1/2 binary32))
(+.f32 #s(literal 1/2 binary32) %259)
(+.f32 %259 #s(literal 1/2 binary32))
(-.f32 #s(literal 1/2 binary32) %322)
(-.f32 %259 #s(literal -1/2 binary32))
(+.f32 #s(literal 1/2 binary32) (neg.f32 %322))
(neg.f32 (-.f32 %322 #s(literal 1/2 binary32)))
(neg.f32 (-.f32 #s(literal -1/2 binary32) %259))
(/.f32 %176 s)
(fma.f32 #s(literal 1 binary32) %259 #s(literal 1/2 binary32))
(fma.f32 %53 %173 #s(literal 1/2 binary32))
(fma.f32 %173 %53 #s(literal 1/2 binary32))
(*.f32 #s(literal 1 binary32) %239)
(/.f32 %186 %43)
(neg.f32 (/.f32 %186 s))
(/.f32 %176 %44)
(neg.f32 (/.f32 %176 %43))
(fma.f32 %200 %53 #s(literal 1/2 binary32))
(*.f32 %53 %176)
(*.f32 %176 %53)
(/.f32 #s(literal 1 binary32) (/.f32 s %176))
(fma.f32 x %119 %347)
(fma.f32 s %94 %259)
(fma.f32 %42 #s(literal 1/4 binary32) %347)
(fma.f32 #s(literal 1/2 binary32) %153 %259)
(fma.f32 #s(literal 1/4 binary32) %42 %347)
(fma.f32 %119 x %347)
(/.f32 (*.f32 %176 #s(literal -1 binary32)) %43)
(/.f32 %194 %43)
(+.f32 %259 %347)
(+.f32 %347 %259)
(-.f32 %259 (/.f32 %170 s))
(*.f32 %186 %66)
(/.f32 #s(literal 1 binary32) (/.f32 %43 %186))
(-.f32 %259 (neg.f32 %347))
(/.f32 (fma.f32 %259 s %26) s)
(fma.f32 s %104 %259)
(fma.f32 #s(literal 1 binary32) %259 %347)
(fma.f32 #s(literal 1 binary32) %347 %259)
(fma.f32 #s(literal 1/2 binary32) (*.f32 s %53) %259)
(fma.f32 %53 %26 %259)
(fma.f32 %53 %173 %347)
(fma.f32 %26 %53 %259)
(fma.f32 %173 %53 %347)
(fma.f32 (*.f32 %53 s) #s(literal 1/2 binary32) %259)
(fma.f32 (*.f32 %53 #s(literal 1/2 binary32)) s %259)
(-.f32 %259 (*.f32 %170 %53))
(-.f32 %259 (*.f32 %64 %26))
(/.f32 (fma.f32 %173 s (*.f32 s %26)) %387)
(/.f32 (fma.f32 %173 s (*.f32 %26 s)) %387)
(fma.f32 %200 %53 %347)
(fma.f32 %202 %53 %259)
(approx %394 %316)
%396
%397
(approx %394 %397)
%399
(/.f32 %168 %399)
(approx %394 %239)
(/.f32 %35 %214)

reconstruct143.0ms (0.9%)

Counts
346 → 120
Compiler

Compiled 346 to 606 computations (-75.1% saved)

eval43.0ms (0.3%)

Compiler

Compiled 106 to 410 computations (-286.8% saved)

prune19.0ms (0.1%)

Pruning

16 alts after pruning (2 fresh and 14 done)

PrunedKeptTotal
New1042106
Fresh000
Picked145
Done01010
Total10516121
Accuracy
100.0%
Counts
121 → 16
Alt Table
Click to see full alt table
StatusAccuracyProgram
69.0%
%74 = (exp.f32 (/.f32 x s))
(/.f32 %74 (-.f32 %74 #s(literal -1 binary32)))
42.8%
%59 = (/.f32 x s)
%68 = (exp (/ x s))
(/.f32 (approx %68 (+.f32 #s(literal 1 binary32) %59)) (approx (- %68 -1) (+.f32 #s(literal 2 binary32) %59)))
46.6%
(/.f32 (approx 1 #s(literal 0 binary32)) (approx (+ 1 (exp (/ (neg x) s))) (approx (+ 2 (* -1 (/ x s))) #s(literal 2 binary32))))
69.0%
%59 = (/.f32 x s)
(/.f32 #s(literal 1 binary32) (-.f32 (+.f32 (cosh.f32 %59) #s(literal 1 binary32)) (sinh.f32 %59)))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (exp.f32 (/.f32 x s)))))
56.8%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (approx (exp (/ x s)) (+.f32 #s(literal 1 binary32) (/.f32 x s))))))
99.9%
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
45.4%
(/.f32 #s(literal 1 binary32) (approx (+ 1 (exp (/ (neg x) s))) (-.f32 #s(literal 2 binary32) (/.f32 x s))))
18.5%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (fma.f32 #s(literal -1/48 binary32) (/.f32 (*.f32 x x) (*.f32 (*.f32 s s) s)) (/.f32 #s(literal 1/4 binary32) s)) x #s(literal 1/2 binary32)))
29.3%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (fma.f32 (/.f32 #s(literal 1/4 binary32) s) x #s(literal 1/2 binary32)))
29.1%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (*.f32 (/.f32 #s(literal 1 binary32) s) (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s))))
29.2%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (/.f32 (fma.f32 #s(literal 1/4 binary32) x (*.f32 #s(literal 1/2 binary32) s)) s)))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) (*.f32 #s(literal 1/2 binary32) s)) s)))
28.8%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (*.f32 x (-.f32 (/.f32 #s(literal 1/4 binary32) s) (/.f32 #s(literal -1/2 binary32) x)))))
33.5%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) (approx (+ 1/2 (* 1/4 (/ x s))) (*.f32 x (approx (- (/ 1/4 s) (/ -1/2 x)) (/.f32 #s(literal 1/2 binary32) x)))))
34.0%
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Compiler

Compiled 16 to 55 computations (-243.8% saved)

regimes413.0ms (2.5%)

Accuracy

Total 0.2b remaining (0.6%)

Threshold costs 0.2b (0.6%)

0.2b98.3%
0.0b-0.0%
0.0b100.0%
-0.0b100.0%
-0.0b-0.0%

Counts
1 → 1
2 → 2
4 → 2
13 → 2
17 → 1
Calls
Call 1
Inputs
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Outputs
(approx (/ 1 (+ 1 (exp (/ (neg x) s)))) #s(literal 1/2 binary32))
Call 2
Inputs
%6 = (+ 1 (exp (/ (neg x) s)))
(approx (/ 1 %6) #s(literal 1/2 binary32))
(/.f32 (approx 1 #s(literal 0 binary32)) (approx %6 (approx (+ 2 (* -1 (/ x s))) #s(literal 2 binary32))))
Outputs
%6 = (+ 1 (exp (/ (neg x) s)))
(approx (/ 1 %6) #s(literal 1/2 binary32))
(/.f32 (approx 1 #s(literal 0 binary32)) (approx %6 (approx (+ 2 (* -1 (/ x s))) #s(literal 2 binary32))))
Call 3
Inputs
%6 = (+ 1 (exp (/ (neg x) s)))
%7 = (/ 1 %6)
%14 = (/ x s)
%24 = (+ 1/2 (* 1/4 %14))
(approx %7 #s(literal 1/2 binary32))
(/.f32 (approx 1 #s(literal 0 binary32)) (approx %6 (approx (+ 2 (* -1 %14)) #s(literal 2 binary32))))
(approx %7 (approx %24 (*.f32 x (approx (- (/ 1/4 s) (/ -1/2 x)) (/.f32 #s(literal 1/2 binary32) x)))))
(approx %7 (approx %24 (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) (*.f32 #s(literal 1/2 binary32) s)) s)))
Outputs
%6 = (+ 1 (exp (/ (neg x) s)))
%10 = (/ x s)
(approx (/ 1 %6) (approx (+ 1/2 (* 1/4 %10)) (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) (*.f32 #s(literal 1/2 binary32) s)) s)))
(/.f32 (approx 1 #s(literal 0 binary32)) (approx %6 (approx (+ 2 (* -1 %10)) #s(literal 2 binary32))))
Call 4
Inputs
%6 = (+ 1 (exp (/ (neg x) s)))
%7 = (/ 1 %6)
%11 = (approx 1 #s(literal 0 binary32))
%14 = (/ x s)
%24 = (+ 1/2 (* 1/4 %14))
%37 = (*.f32 #s(literal 1/2 binary32) s)
%43 = (/.f32 #s(literal 1/4 binary32) s)
%46 = (/.f32 x s)
%54 = (fma.f32 #s(literal 1/4 binary32) x %37)
%67 = (approx %6 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) %46)))
(approx %7 #s(literal 1/2 binary32))
(/.f32 %11 (approx %6 (approx (+ 2 (* -1 %14)) #s(literal 2 binary32))))
(approx %7 (approx %24 (*.f32 x (approx (- (/ 1/4 s) (/ -1/2 x)) (/.f32 #s(literal 1/2 binary32) x)))))
(approx %7 (approx %24 (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) %37) s)))
(approx %7 (fma.f32 %43 x #s(literal 1/2 binary32)))
(approx %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) %46)))
(/.f32 #s(literal 1 binary32) (approx %6 (-.f32 #s(literal 2 binary32) %46)))
(approx %7 (approx %24 (/.f32 %54 s)))
(approx %7 (approx %24 (*.f32 x (-.f32 %43 (/.f32 #s(literal -1/2 binary32) x)))))
(/.f32 #s(literal 1 binary32) %67)
(/.f32 %11 %67)
(approx %7 (*.f32 (/.f32 #s(literal 1 binary32) s) %54))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (approx (exp %14) (+.f32 #s(literal 1 binary32) %46)))))
Outputs
%3 = (/ x s)
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) (approx (exp %3) (+.f32 #s(literal 1 binary32) (/.f32 x s))))))
(/.f32 (approx 1 #s(literal 0 binary32)) (approx (+ 1 (exp (/ (neg x) s))) (approx (+ 2 (* -1 %3)) #s(literal 2 binary32))))
Call 5
Inputs
%6 = (+ 1 (exp (/ (neg x) s)))
%7 = (/ 1 %6)
%11 = (approx 1 #s(literal 0 binary32))
%14 = (/ x s)
%24 = (+ 1/2 (* 1/4 %14))
%37 = (*.f32 #s(literal 1/2 binary32) s)
%43 = (/.f32 #s(literal 1/4 binary32) s)
%46 = (/.f32 x s)
%54 = (fma.f32 #s(literal 1/4 binary32) x %37)
%67 = (approx %6 (+.f32 #s(literal 2 binary32) (*.f32 #s(literal -1 binary32) %46)))
%70 = (/.f32 #s(literal 1 binary32) s)
%73 = (exp %14)
%75 = (approx %73 (+.f32 #s(literal 1 binary32) %46))
(approx %7 #s(literal 1/2 binary32))
(/.f32 %11 (approx %6 (approx (+ 2 (* -1 %14)) #s(literal 2 binary32))))
(approx %7 (approx %24 (*.f32 x (approx (- (/ 1/4 s) (/ -1/2 x)) (/.f32 #s(literal 1/2 binary32) x)))))
(approx %7 (approx %24 (/.f32 (approx (+ (* 1/4 x) (* 1/2 s)) %37) s)))
(approx %7 (fma.f32 %43 x #s(literal 1/2 binary32)))
(approx %7 (+.f32 #s(literal 1/2 binary32) (*.f32 #s(literal 1/4 binary32) %46)))
(/.f32 #s(literal 1 binary32) (approx %6 (-.f32 #s(literal 2 binary32) %46)))
(approx %7 (approx %24 (/.f32 %54 s)))
(approx %7 (approx %24 (*.f32 x (-.f32 %43 (/.f32 #s(literal -1/2 binary32) x)))))
(/.f32 #s(literal 1 binary32) %67)
(/.f32 %11 %67)
(approx %7 (*.f32 %70 %54))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (/.f32 #s(literal 1 binary32) %75)))
(/.f32 %75 (approx (- %73 -1) (+.f32 #s(literal 2 binary32) %46)))
(approx %7 (approx %24 (*.f32 x (fma.f32 #s(literal 1/4 binary32) %70 (*.f32 #s(literal 1/2 binary32) (/.f32 #s(literal 1 binary32) x))))))
(/.f32 %75 (-.f32 %75 #s(literal -1 binary32)))
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
Outputs
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
Calls

7 calls:

88.0ms
x
75.0ms
(neg.f32 x)
63.0ms
s
54.0ms
(/.f32 (neg.f32 x) s)
44.0ms
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
Results
AccuracySegmentsBranch
34.0%1
s
34.0%1
x
34.0%1
(/.f32 #s(literal 1 binary32) (+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s))))
34.0%1
(+.f32 #s(literal 1 binary32) (exp.f32 (/.f32 (neg.f32 x) s)))
34.0%1
(exp.f32 (/.f32 (neg.f32 x) s))
34.0%1
(/.f32 (neg.f32 x) s)
34.0%1
(neg.f32 x)
Compiler

Compiled 29 to 83 computations (-186.2% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
12.155284881591797
147.13772583007813
Compiler

Compiled 1 to 4 computations (-300.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
12.155284881591797
147.13772583007813
Compiler

Compiled 1 to 4 computations (-300.0% saved)

bsearch1.0ms (0.0%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
0.0ms
12.155284881591797
147.13772583007813
Compiler

Compiled 14 to 19 computations (-35.7% saved)

bsearch0.0ms (0.0%)

derivations11.0ms (0.1%)

Stop Event
fuel
Compiler

Compiled 5 to 26 computations (-420.0% saved)

preprocess111.0ms (0.7%)

Compiler

Compiled 6 to 34 computations (-466.7% saved)

end0.0ms (0.0%)

gc468ms (2.9%)

Allocations
AllocatedPercentPhase
868.0 MiB44.7%sample
412.3 MiB21.3%rewrite
288.2 MiB14.9%series
118.7 MiB6.1%reconstruct
64.1 MiB3.3%regimes
63.3 MiB3.3%analyze
53.1 MiB2.7%preprocess
43.6 MiB2.2%eval
24.3 MiB1.3%prune
3.0 MiB0.2%bsearch
1.4 MiB0.1%derivations
0.0 MiB0.0%start
0.0 MiB0.0%end
1 940.0 MiB100.0%total

Profiling

Loading profile data...