Linear.Quaternion:$ccos from linear-1.19.1.3

Details

Time bar (total: 18.7s)

analyze1.0s (5.4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%199.8%-99.8%0%0%0%1
0%0%399.6%-299.6%0%0%0%2
0%0%799.2%-699.2%0%0%0%3
0%0%1598.4%-1498.4%0%0%0%4
0%0%3196.9%-3096.9%0%0%0%5
0%0%6393.8%-6293.8%0%0%0%6
0%0%12787.5%-12687.5%0%0%0%7
0%0%25575%-25475%0%0%0%8
0%0%51150%-51050%0%0%0%9
0%0%102300%-102200%0%0%0%10
0%0%204600%-204500%0%0%0%11
0%0%409200.1%-409100.1%0%0%0%12
Compiler

Compiled 10 to 7 computations (30% saved)

sample13.8s (74%)

Results
10.6s7211×body8192exit
1.6s4874×body256valid
650.0ms1265×body1024valid
536.0ms962×body2048valid
288.0ms814×body512valid
78.0ms341×body256infinite
Bogosity

preprocess79.0ms (0.4%)

Algorithm
egg-herbie
Rules
1380×fma-neg
1340×fma-def
1114×div-sub
1034×associate-*r/
902×associate-*l/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01342
13042
26542
314642
432942
583942
6256342
7676342
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(/.f64 (sinh.f64 y) (/.f64 y (sin.f64 x)))
(*.f64 (sin.f64 y) (/.f64 (sinh.f64 x) x))
(/.f64 (sinh.f64 x) (/.f64 x (sin.f64 y)))
Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify69.0ms (0.4%)

Algorithm
egg-herbie
Rules
1558×fma-neg
982×times-frac
714×associate-*r*
710×associate-/l*
706×div-sub
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0921
11821
23721
37921
417221
543321
6131221
7514021
Stop Event
node limit
Counts
1 → 1
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))

eval1.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Accurracy
100.0%
Counts
2 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Compiler

Compiled 18 to 12 computations (33.3% saved)

localize322.0ms (1.7%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(sin.f64 x)
100.0%
(sinh.f64 y)
Compiler

Compiled 20 to 7 computations (65% saved)

series49.0ms (0.3%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
46.0ms
y
@inf
(sinh.f64 y)
1.0ms
y
@-inf
(sinh.f64 y)
1.0ms
y
@0
(sinh.f64 y)
0.0ms
x
@0
(sin.f64 x)
0.0ms
x
@-inf
(sin.f64 x)

rewrite121.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1194×pow1
1096×add-exp-log
1094×log1p-expm1-u
1094×expm1-log1p-u
1072×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0610
112110
2146310
Stop Event
node limit
Counts
2 → 37
Calls
Call 1
Inputs
(sinh.f64 y)
(sin.f64 x)
Outputs
(-.f64 (+.f64 1 (sinh.f64 y)) 1)
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2))
(*.f64 (sinh.f64 y) 1)
(*.f64 1 (sinh.f64 y))
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y)))
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y)))
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2)
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y))))
(/.f64 (*.f64 2 (sinh.f64 y)) 2)
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2)
(pow.f64 (sinh.f64 y) 1)
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3)
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2)
(sqrt.f64 (pow.f64 (sinh.f64 y) 2))
(log.f64 (exp.f64 (sinh.f64 y)))
(cbrt.f64 (pow.f64 (sinh.f64 y) 3))
(expm1.f64 (log1p.f64 (sinh.f64 y)))
(exp.f64 (log.f64 (sinh.f64 y)))
(log1p.f64 (expm1.f64 (sinh.f64 y)))
(-.f64 (+.f64 1 (sin.f64 x)) 1)
(*.f64 (sin.f64 x) 1)
(*.f64 1 (sin.f64 x))
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)))
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))
(pow.f64 (sin.f64 x) 1)
(pow.f64 (cbrt.f64 (sin.f64 x)) 3)
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 x)) 2)
(sqrt.f64 (pow.f64 (sin.f64 x) 2))
(log.f64 (exp.f64 (sin.f64 x)))
(cbrt.f64 (pow.f64 (sin.f64 x) 3))
(expm1.f64 (log1p.f64 (sin.f64 x)))
(exp.f64 (log.f64 (sin.f64 x)))
(log1p.f64 (expm1.f64 (sin.f64 x)))

simplify97.0ms (0.5%)

Algorithm
egg-herbie
Rules
1884×fma-def
822×times-frac
682×log-prod
536×unswap-sqr
516×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01081185
12371077
2916923
33760401
Stop Event
node limit
Counts
53 → 66
Calls
Call 1
Inputs
y
(+.f64 y (*.f64 1/6 (pow.f64 y 3)))
(+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(-.f64 (+.f64 1 (sinh.f64 y)) 1)
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2))
(*.f64 (sinh.f64 y) 1)
(*.f64 1 (sinh.f64 y))
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y)))
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y)))
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2)
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y))))
(/.f64 (*.f64 2 (sinh.f64 y)) 2)
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2)
(pow.f64 (sinh.f64 y) 1)
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3)
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2)
(sqrt.f64 (pow.f64 (sinh.f64 y) 2))
(log.f64 (exp.f64 (sinh.f64 y)))
(cbrt.f64 (pow.f64 (sinh.f64 y) 3))
(expm1.f64 (log1p.f64 (sinh.f64 y)))
(exp.f64 (log.f64 (sinh.f64 y)))
(log1p.f64 (expm1.f64 (sinh.f64 y)))
(-.f64 (+.f64 1 (sin.f64 x)) 1)
(*.f64 (sin.f64 x) 1)
(*.f64 1 (sin.f64 x))
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)))
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))
(pow.f64 (sin.f64 x) 1)
(pow.f64 (cbrt.f64 (sin.f64 x)) 3)
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 x)) 2)
(sqrt.f64 (pow.f64 (sin.f64 x) 2))
(log.f64 (exp.f64 (sin.f64 x)))
(cbrt.f64 (pow.f64 (sin.f64 x) 3))
(expm1.f64 (log1p.f64 (sin.f64 x)))
(exp.f64 (log.f64 (sin.f64 x)))
(log1p.f64 (expm1.f64 (sin.f64 x)))
Outputs
y
(+.f64 y (*.f64 1/6 (pow.f64 y 3)))
(fma.f64 1/6 (pow.f64 y 3) y)
(+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))
(fma.f64 1/120 (pow.f64 y 5) (+.f64 y (*.f64 1/6 (pow.f64 y 3))))
(fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) y))
(fma.f64 1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) y))
(+.f64 (*.f64 1/5040 (pow.f64 y 7)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))))
(fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/120 (pow.f64 y 5) (+.f64 y (*.f64 1/6 (pow.f64 y 3)))))
(fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/6 (pow.f64 y 3) y)))
(fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/5040 (pow.f64 y 7) (fma.f64 1/6 (pow.f64 y 3) y)))
(fma.f64 1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 1/5040 (pow.f64 y 7) y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1/2 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
x
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) x)
(fma.f64 -1/6 (pow.f64 x 3) x)
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) x))
(fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/6 (pow.f64 x 3) x))
(+.f64 (*.f64 -1/6 (pow.f64 x 3)) (+.f64 (*.f64 -1/5040 (pow.f64 x 7)) (+.f64 (*.f64 1/120 (pow.f64 x 5)) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) (fma.f64 1/120 (pow.f64 x 5) x)))
(fma.f64 -1/6 (pow.f64 x 3) (fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/5040 (pow.f64 x 7) x)))
(fma.f64 1/120 (pow.f64 x 5) (fma.f64 -1/6 (pow.f64 x 3) (fma.f64 -1/5040 (pow.f64 x 7) x)))
(-.f64 (+.f64 1 (sinh.f64 y)) 1)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(-.f64 (/.f64 (exp.f64 y) 2) (/.f64 (exp.f64 (neg.f64 y)) 2))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 (sinh.f64 y) 1)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 1 (sinh.f64 y))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 (cbrt.f64 (sinh.f64 y)) (pow.f64 (cbrt.f64 (sinh.f64 y)) 2))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 2) (cbrt.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 (sqrt.f64 (sinh.f64 y)) (sqrt.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(*.f64 (*.f64 2 (sinh.f64 y)) 1/2)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(/.f64 1 (/.f64 2 (*.f64 2 (sinh.f64 y))))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(/.f64 (*.f64 2 (sinh.f64 y)) 2)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(/.f64 (neg.f64 (*.f64 2 (sinh.f64 y))) -2)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(pow.f64 (sinh.f64 y) 1)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(pow.f64 (pow.f64 (sinh.f64 y) 3) 1/3)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(pow.f64 (sqrt.f64 (sinh.f64 y)) 2)
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(sqrt.f64 (pow.f64 (sinh.f64 y) 2))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(log.f64 (exp.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(cbrt.f64 (pow.f64 (sinh.f64 y) 3))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(expm1.f64 (log1p.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(exp.f64 (log.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(log1p.f64 (expm1.f64 (sinh.f64 y)))
(*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))))
(fma.f64 1/2 (exp.f64 y) (/.f64 -1/2 (exp.f64 y)))
(sinh.f64 y)
(-.f64 (+.f64 1 (sin.f64 x)) 1)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(*.f64 (sin.f64 x) 1)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(*.f64 1 (sin.f64 x))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(*.f64 (cbrt.f64 (sin.f64 x)) (pow.f64 (cbrt.f64 (sin.f64 x)) 2))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 x)) 2) (cbrt.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(*.f64 (sqrt.f64 (sin.f64 x)) (sqrt.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(pow.f64 (sin.f64 x) 1)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(pow.f64 (cbrt.f64 (sin.f64 x)) 3)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(pow.f64 (pow.f64 (sin.f64 x) 3) 1/3)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(pow.f64 (sqrt.f64 (sin.f64 x)) 2)
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(sqrt.f64 (pow.f64 (sin.f64 x) 2))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(log.f64 (exp.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(cbrt.f64 (pow.f64 (sin.f64 x) 3))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(expm1.f64 (log1p.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(exp.f64 (log.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)
(log1p.f64 (expm1.f64 (sin.f64 x)))
(+.f64 1 (-.f64 (sin.f64 x) 1))
(+.f64 (sin.f64 x) 0)
(sin.f64 x)

eval36.0ms (0.2%)

Compiler

Compiled 839 to 427 computations (49.1% saved)

prune46.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New61566
Fresh000
Picked011
Done000
Total61667
Accurracy
100.0%
Counts
67 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
51.9%
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
51.9%
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
Compiler

Compiled 238 to 168 computations (29.4% saved)

localize1.2s (6.7%)

Local Accuracy

Found 9 expressions with local accuracy:

NewAccuracyProgram
100.0%
(sinh.f64 y)
100.0%
(sqrt.f64 (sin.f64 x))
99.8%
(pow.f64 (sqrt.f64 (sin.f64 x)) 2)
76.5%
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
100.0%
(sinh.f64 y)
100.0%
(*.f64 x (/.f64 (sinh.f64 y) y))
100.0%
(sinh.f64 y)
99.8%
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3)
99.7%
(cbrt.f64 (sinh.f64 y))
Compiler

Compiled 140 to 41 computations (70.7% saved)

series21.0ms (0.1%)

Counts
6 → 56
Calls

21 calls:

TimeVariablePointExpression
7.0ms
x
@0
(*.f64 x (/.f64 (sinh.f64 y) y))
2.0ms
y
@-inf
(cbrt.f64 (sinh.f64 y))
2.0ms
y
@inf
(cbrt.f64 (sinh.f64 y))
2.0ms
x
@-inf
(*.f64 x (/.f64 (sinh.f64 y) y))
1.0ms
y
@0
(cbrt.f64 (sinh.f64 y))

rewrite72.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
360×add-sqr-sqrt
346×pow1
342×*-un-lft-identity
340×add-exp-log
338×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01946
140346
2557946
Stop Event
unsound
Counts
6 → 150
Calls
Call 1
Inputs
(cbrt.f64 (sinh.f64 y))
(pow.f64 (cbrt.f64 (sinh.f64 y)) 3)
(*.f64 x (/.f64 (sinh.f64 y) y))
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
(pow.f64 (sqrt.f64 (sin.f64 x)) 2)
(sqrt.f64 (sin.f64 x))
Outputs
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
y
x
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
y
x
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
y
x
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
y
x
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 (sin.f64 -3) (sin.f64 -3))
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
(sqrt.f64 (sin.f64 -3))
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(exp.f64 (log.f64 (sin.f64 -3)))
(log1p.f64 (expm1.f64 (sin.f64 -3)))
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 (sin.f64 -3) (sin.f64 -3))
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
(pow.f64 (sin.f64 -3) -3)
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(exp.f64 (log.f64 (sin.f64 -3)))
(log1p.f64 (expm1.f64 (sin.f64 -3)))

simplify199.0ms (1.1%)

Algorithm
egg-herbie
Rules
1652×fma-def
750×times-frac
712×associate-*r/
638×*-commutative
604×associate-/l*
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01111968
12301968
24911892
314181886
433861878
569981878
Stop Event
node limit
Counts
206 → 96
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
x
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) x)
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 2 y)
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (*.f64 2 y))
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (+.f64 (*.f64 2 y) (*.f64 1/2520 (pow.f64 y 7)))))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 (sin.f64 -3) (sin.f64 -3))
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
(sqrt.f64 (sin.f64 -3))
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(exp.f64 (log.f64 (sin.f64 -3)))
(log1p.f64 (expm1.f64 (sin.f64 -3)))
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 (sin.f64 -3) (sin.f64 -3))
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
(pow.f64 (sin.f64 -3) -3)
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(exp.f64 (log.f64 (sin.f64 -3)))
(log1p.f64 (expm1.f64 (sin.f64 -3)))
Outputs
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 (pow.f64 (*.f64 1 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))) 1/3) (cbrt.f64 1/2))
(*.f64 (cbrt.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) (cbrt.f64 1/2))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (*.f64 (pow.f64 1 1/3) (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y)))))
(*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2)
(fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y)))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
x
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) x)
(fma.f64 1/6 (*.f64 x (*.f64 y y)) x)
(fma.f64 1/6 (*.f64 y (*.f64 y x)) x)
(*.f64 x (fma.f64 1/6 (*.f64 y y) 1))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(fma.f64 1/6 (*.f64 x (*.f64 y y)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) x))
(fma.f64 1/6 (*.f64 y (*.f64 y x)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) x))
(fma.f64 x (fma.f64 1/6 (*.f64 y y) (*.f64 1/120 (pow.f64 y 4))) x)
(*.f64 x (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) 1)))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) (+.f64 (*.f64 1/5040 (*.f64 (pow.f64 y 6) x)) x)))
(fma.f64 1/6 (*.f64 x (*.f64 y y)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) (fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)))
(fma.f64 1/6 (*.f64 y (*.f64 y x)) (fma.f64 1/120 (*.f64 x (pow.f64 y 4)) (fma.f64 1/5040 (*.f64 x (pow.f64 y 6)) x)))
(fma.f64 x (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6))) (*.f64 x (fma.f64 1/6 (*.f64 y y) 1)))
(fma.f64 x (fma.f64 y (*.f64 y 1/6) (fma.f64 1/120 (pow.f64 y 4) (*.f64 1/5040 (pow.f64 y 6)))) x)
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 1/2 (/.f64 (*.f64 (-.f64 (exp.f64 y) (/.f64 1 (exp.f64 y))) x) y))
(*.f64 1/2 (/.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) (/.f64 y x)))
(/.f64 (*.f64 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y))) 1/2) (/.f64 y x))
(/.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 y x))
(*.f64 (/.f64 x y) (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))))
(*.f64 (fma.f64 (exp.f64 y) 1/2 (/.f64 -1/2 (exp.f64 y))) (/.f64 x y))
(*.f64 2 y)
(*.f64 y 2)
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (*.f64 2 y))
(fma.f64 1/3 (pow.f64 y 3) (*.f64 y 2))
(fma.f64 y 2 (*.f64 1/3 (pow.f64 y 3)))
(*.f64 y (fma.f64 1/3 (*.f64 y y) 2))
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (*.f64 2 y)))
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (*.f64 y 2)))
(fma.f64 y (fma.f64 1/3 (*.f64 y y) 2) (*.f64 1/60 (pow.f64 y 5)))
(fma.f64 y 2 (fma.f64 1/3 (pow.f64 y 3) (*.f64 1/60 (pow.f64 y 5))))
(+.f64 (*.f64 1/3 (pow.f64 y 3)) (+.f64 (*.f64 1/60 (pow.f64 y 5)) (+.f64 (*.f64 2 y) (*.f64 1/2520 (pow.f64 y 7)))))
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (fma.f64 2 y (*.f64 1/2520 (pow.f64 y 7)))))
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (fma.f64 y 2 (*.f64 1/2520 (pow.f64 y 7)))))
(fma.f64 1/3 (pow.f64 y 3) (fma.f64 y 2 (fma.f64 1/60 (pow.f64 y 5) (*.f64 1/2520 (pow.f64 y 7)))))
(fma.f64 y 2 (fma.f64 1/3 (pow.f64 y 3) (fma.f64 1/60 (pow.f64 y 5) (*.f64 1/2520 (pow.f64 y 7)))))
(fma.f64 1/60 (pow.f64 y 5) (fma.f64 1/2520 (pow.f64 y 7) (fma.f64 1/3 (pow.f64 y 3) (*.f64 y 2))))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
(-.f64 (exp.f64 y) (exp.f64 (*.f64 -1 y)))
(-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
(sin.f64 x)
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
-3
-2
-1
0
1/27
1/9
1/8
1/6
1/4
1/3
1/2
2/3
3/4
1
3/2
2
9/4
3
27/8
4
6
8
9
16
27
64
81
512
729
19683
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(+.f64 -3 (*.f64 3 (cos.f64 -3)))
(fma.f64 3 (cos.f64 -3) -3)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) 3)
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 -3))))
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) (sin.f64 -3))
(pow.f64 (sin.f64 -3) 2)
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
0
(sqrt.f64 (sin.f64 -3))
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(sin.f64 -3)
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(sin.f64 -3)
(exp.f64 (log.f64 (sin.f64 -3)))
(sin.f64 -3)
(log1p.f64 (expm1.f64 (sin.f64 -3)))
(sin.f64 -3)
(-.f64 -3 (*.f64 -3 (cos.f64 -3)))
(+.f64 -3 (*.f64 3 (cos.f64 -3)))
(fma.f64 3 (cos.f64 -3) -3)
(-.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) -3)
(+.f64 (exp.f64 (log1p.f64 (sin.f64 -3))) 3)
(+.f64 3 (exp.f64 (log1p.f64 (sin.f64 -3))))
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) -3)
(*.f64 -3 (sin.f64 -3))
(*.f64 (sin.f64 -3) (sin.f64 -3))
(pow.f64 (sin.f64 -3) 2)
(/.f64 (-.f64 (cos.f64 -3) (cos.f64 -3)) -3)
0
(pow.f64 (sin.f64 -3) -3)
(fabs.f64 (sin.f64 -3))
(log.f64 (exp.f64 (sin.f64 -3)))
(sin.f64 -3)
(log.f64 (+.f64 -3 (expm1.f64 (sin.f64 -3))))
(cbrt.f64 (sin.f64 -3))
(sin.f64 -3)
(expm1.f64 (log1p.f64 (sin.f64 -3)))
(sin.f64 -3)
(exp.f64 (log.f64 (sin.f64 -3)))
(sin.f64 -3)
(log1p.f64 (expm1.f64 (sin.f64 -3)))
(sin.f64 -3)

eval408.0ms (2.2%)

Compiler

Compiled 6030 to 3434 computations (43.1% saved)

prune108.0ms (0.6%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New4263429
Fresh000
Picked145
Done011
Total4278435
Accurracy
100.0%
Counts
435 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
92.5%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
47.4%
x
47.9%
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
92.5%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
47.4%
x
Compiler

Compiled 170 to 120 computations (29.4% saved)

localize798.0ms (4.3%)

Compiler

Compiled 91 to 57 computations (37.4% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune12.0ms (0.1%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked022
Done055
Total088
Accurracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
92.5%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
47.4%
x
47.9%
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
92.5%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
47.4%
x
Compiler

Compiled 170 to 120 computations (29.4% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune6.0ms (0%)

Pruning

8 alts after pruning (1 fresh and 7 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done077
Total088
Accurracy
100.0%
Counts
8 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
97.6%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
92.5%
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
10.6%
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
100.0%
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
94.8%
(*.f64 (sin.f64 x) (/.f64 y y))
50.6%
(*.f64 x (/.f64 (sinh.f64 y) y))
47.4%
x
Compiler

Compiled 166 to 103 computations (38% saved)

regimes38.0ms (0.2%)

Counts
9 → 1
Calls
Call 1
Inputs
x
(*.f64 x (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 x) (/.f64 y y))
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(+.f64 (*.f64 1/6 (*.f64 (pow.f64 y 2) x)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 4) x)) x))
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 y) 3) y))
(*.f64 (sin.f64 x) (/.f64 (*.f64 1/2 (-.f64 (exp.f64 y) (exp.f64 (neg.f64 y)))) y))
(*.f64 (sin.f64 x) (/.f64 (pow.f64 (cbrt.f64 (sinh.f64 y)) 3) y))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 x)) 2) (/.f64 (sinh.f64 y) y))
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
Calls

5 calls:

11.0ms
x
10.0ms
(sin.f64 x)
6.0ms
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
6.0ms
y
2.0ms
(/.f64 (sinh.f64 y) y)
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
100.0%1(sin.f64 x)
100.0%1(/.f64 (sinh.f64 y) y)
Compiler

Compiled 106 to 60 computations (43.4% saved)

regimes39.0ms (0.2%)

Counts
3 → 2
Calls
Call 1
Inputs
x
(*.f64 x (/.f64 (sinh.f64 y) y))
(*.f64 (sin.f64 x) (/.f64 y y))
Outputs
(*.f64 (sin.f64 x) (/.f64 y y))
(*.f64 x (/.f64 (sinh.f64 y) y))
Calls

4 calls:

14.0ms
(sin.f64 x)
14.0ms
x
7.0ms
y
3.0ms
(/.f64 (sinh.f64 y) y)
Results
AccuracySegmentsBranch
96.8%3x
96.5%2y
96.8%3(sin.f64 x)
97.6%2(/.f64 (sinh.f64 y) y)
Compiler

Compiled 31 to 19 computations (38.7% saved)

regimes9.0ms (0.1%)

Counts
2 → 1
Calls
Call 1
Inputs
x
(*.f64 x (/.f64 (sinh.f64 y) y))
Outputs
(*.f64 x (/.f64 (sinh.f64 y) y))
Calls

3 calls:

3.0ms
y
3.0ms
x
2.0ms
(/.f64 (sinh.f64 y) y)
Results
AccuracySegmentsBranch
50.6%1x
50.6%1y
50.6%1(/.f64 (sinh.f64 y) y)
Compiler

Compiled 21 to 13 computations (38.1% saved)

regimes6.0ms (0%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
x
Outputs
x
Calls

2 calls:

3.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
47.4%1y
47.4%1x
Compiler

Compiled 9 to 6 computations (33.3% saved)

bsearch0.0ms (0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.000000021518505
1.0000001830433805
Compiler

Compiled 14 to 10 computations (28.6% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01892
12192
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(if (<=.f64 (/.f64 (sinh.f64 y) y) 4503600077730459/4503599627370496) (*.f64 (sin.f64 x) (/.f64 y y)) (*.f64 x (/.f64 (sinh.f64 y) y)))
(*.f64 x (/.f64 (sinh.f64 y) y))
x
Outputs
(*.f64 (sin.f64 x) (/.f64 (sinh.f64 y) y))
(if (<=.f64 (/.f64 (sinh.f64 y) y) 4503600077730459/4503599627370496) (*.f64 (sin.f64 x) (/.f64 y y)) (*.f64 x (/.f64 (sinh.f64 y) y)))
(*.f64 x (/.f64 (sinh.f64 y) y))
x
Compiler

Compiled 41 to 24 computations (41.5% saved)

soundness0.0ms (0%)

end42.0ms (0.2%)

Compiler

Compiled 88 to 36 computations (59.1% saved)

Profiling

Loading profile data...