Linear.Quaternion:$cexp from linear-1.19.1.3

Time bar (total: 4.0s)

start0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze13.0ms (0.3%)

Memory
26.3MiB live, 26.3MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
50%50%50%0.1%0%0%0%3
50%50%50%0.1%0%0%0%4
75%74.9%25%0.1%0%0%0%5
75%74.9%25%0.1%0%0%0%6
87.5%87.4%12.5%0.1%0%0%0%7
87.5%87.4%12.5%0.1%0%0%0%8
93.8%93.7%6.2%0.1%0%0%0%9
93.8%93.7%6.2%0.1%0%0%0%10
96.9%96.8%3.1%0.1%0%0%0%11
96.9%96.8%3.1%0.1%0%0%0%12
Compiler

Compiled 8 to 7 computations (12.5% saved)

sample1.2s (30.6%)

Memory
63.7MiB live, 1 749.8MiB allocated; 420ms collecting garbage
Samples
950.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 608.0ms
ival-sin: 444.0ms (73% of total)
ival-mult: 84.0ms (13.8% of total)
ival-div: 68.0ms (11.2% of total)
ival-true: 6.0ms (1% of total)
adjust: 3.0ms (0.5% of total)
ival-assert: 3.0ms (0.5% of total)
Bogosity

explain75.0ms (1.9%)

Memory
-41.6MiB live, 150.4MiB allocated; 14ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(sin.f64 y)
00-0-y
00-0-(*.f64 x (/.f64 (sin.f64 y) y))
00-0-(/.f64 (sin.f64 y) y)
00-0-x
Confusion
Predicted +Predicted -
+00
-0256
Precision
0/0
Recall
0/0
Confusion?
Predicted +Predicted MaybePredicted -
+000
-00256
Precision?
0/0
Recall?
0/0
Freqs
test
numberfreq
0256
Total Confusion?
Predicted +Predicted MaybePredicted -
+000
-001
Precision?
0/0
Recall?
0/0
Samples
32.0ms512×0valid
Compiler

Compiled 38 to 19 computations (50% saved)

Precisions
Click to see histograms. Total time spent on operations: 19.0ms
ival-sin: 11.0ms (57.9% of total)
ival-div: 4.0ms (21% of total)
ival-mult: 3.0ms (15.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess67.0ms (1.7%)

Memory
8.6MiB live, 56.8MiB allocated; 10ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01536
13632
28132
313432
425832
553032
6124032
7320232
8662332
056
086
1116
2136
3156
4166
0166
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
Symmetry

(abs y)

(negabs x)

Compiler

Compiled 6 to 5 computations (16.7% saved)

eval0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(*.f64 x (/.f64 (sin.f64 y) y))
Compiler

Compiled 6 to 5 computations (16.7% saved)

simplify3.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated; 0ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 y)
cost-diff0
(/.f64 (sin.f64 y) y)
cost-diff0
(*.f64 x (/.f64 (sin.f64 y) y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0514
0814
11114
21314
31514
41614
01614
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
x
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
x
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y

localize24.0ms (0.6%)

Memory
-5.7MiB live, 39.9MiB allocated; 5ms collecting garbage
Localize:

Found 3 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(sin.f64 y)
accuracy0.1171875
(/.f64 (sin.f64 y) y)
accuracy0.125
(*.f64 x (/.f64 (sin.f64 y) y))
Samples
19.0ms256×0valid
Compiler

Compiled 16 to 7 computations (56.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sin: 9.0ms (73.9% of total)
ival-div: 2.0ms (16.4% of total)
ival-mult: 2.0ms (16.4% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series6.0ms (0.2%)

Memory
19.4MiB live, 19.4MiB allocated; 0ms collecting garbage
Counts
3 → 15
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(sin.f64 y)
Outputs
(/ (* x (sin y)) y)
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(/ (sin y) y)
(sin y)
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
((* x (/ (sin y) y)) (/ (sin y) y) (sin y))
1.0ms
y
@inf
((* x (/ (sin y) y)) (/ (sin y) y) (sin y))
1.0ms
y
@-inf
((* x (/ (sin y) y)) (/ (sin y) y) (sin y))
1.0ms
x
@-inf
((* x (/ (sin y) y)) (/ (sin y) y) (sin y))
1.0ms
x
@inf
((* x (/ (sin y) y)) (/ (sin y) y) (sin y))

simplify189.0ms (4.7%)

Memory
-9.8MiB live, 331.3MiB allocated; 63ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043150
1142150
2488140
32111138
47219138
08012120
Stop Event
iter limit
node limit
Counts
15 → 13
Calls
Call 1
Inputs
(/ (* x (sin y)) y)
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(/ (sin y) y)
(sin y)
Outputs
(/ (* x (sin y)) y)
(*.f64 (sin.f64 y) (/.f64 x y))
x
(+ x (* -1/6 (* x (pow y 2))))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(fma.f64 (*.f64 (*.f64 y y) x) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(fma.f64 (*.f64 (*.f64 y y) x) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) x)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow y 2)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y)
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y)
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y)
(/ (sin y) y)
(/.f64 (sin.f64 y) y)
(sin y)
(sin.f64 y)

rewrite67.0ms (1.7%)

Memory
10.8MiB live, 139.6MiB allocated; 22ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0512
0812
11412
23712
314512
085212
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
3 → 39
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(sin.f64 y)
Outputs
(*.f64 (/.f64 (neg.f64 x) y) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 x))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 y))
(neg.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y)))
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 y))
(/.f64 (sin.f64 y) y)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))
(-.f64 (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 y)) (neg.f64 y)))
(+.f64 (/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(sin.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 (+.f64 (PI.f64) y)))
(sin.f64 (+.f64 (+.f64 (PI.f64) y) (PI.f64)))
(sin.f64 (+.f64 (PI.f64) (neg.f64 y)))
(sin.f64 y)
(-.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(-.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(-.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y))))
(cos.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)))
(+.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y))) (neg.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y))))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))

eval6.0ms (0.1%)

Memory
21.0MiB live, 21.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 643 to 182 computations (71.7% saved)

prune24.0ms (0.6%)

Memory
-40.5MiB live, 16.8MiB allocated; 19ms collecting garbage
Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New46652
Fresh000
Picked011
Done000
Total46753
Accuracy
99.9%
Counts
53 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (*.f64 (sin.f64 y) x) y)
89.8%
(*.f64 (/.f64 x y) (sin.f64 y))
99.8%
(*.f64 x (/.f64 (sin.f64 y) y))
52.5%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
53.7%
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
Compiler

Compiled 154 to 111 computations (27.9% saved)

simplify231.0ms (5.7%)

Memory
-2.0MiB live, 230.6MiB allocated; 38ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
cost-diff0
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
cost-diff0
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
cost-diff0
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
cost-diff0
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
cost-diff0
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
cost-diff0
(*.f64 y y)
cost-diff0
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
cost-diff0
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
cost-diff0
#s(approx (/ (sin y) y) #s(literal 1 binary64))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
cost-diff0
(sin.f64 y)
cost-diff0
(/.f64 x y)
cost-diff0
(*.f64 (/.f64 x y) (sin.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026211
046211
183211
2237211
3955211
43280211
56033211
08425211
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 x y) (sin.f64 y))
(/.f64 x y)
x
y
(sin.f64 y)
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
x
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
x
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
x
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 y y)
y
#s(literal 1/120 binary64)
#s(literal -1/6 binary64)
#s(literal 1 binary64)
Outputs
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(/.f64 x y)
x
y
(sin.f64 y)
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
(*.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) x)
x
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x)
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))) x)
x
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
#s(literal 1/120 binary64)
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))) x)
x
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
#s(literal -1/5040 binary64)
(*.f64 y y)
y
#s(literal 1/120 binary64)
#s(literal -1/6 binary64)
#s(literal 1 binary64)

localize282.0ms (7%)

Memory
17.1MiB live, 221.5MiB allocated; 165ms collecting garbage
Localize:

Found 17 expressions of interest:

NewMetricScoreProgram
accuracy0.046875
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
accuracy0.29982258448488974
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
accuracy30.417495618031023
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
accuracy0.046875
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
accuracy0.2868787065392425
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
accuracy30.360068347889182
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
accuracy0.0
(*.f64 y y)
accuracy0.08203125
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
accuracy30.40175398589344
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
accuracy29.94299813377774
#s(approx (/ (sin y) y) #s(literal 1 binary64))
accuracy0.0
(/.f64 x y)
accuracy0.00390625
(sin.f64 y)
accuracy6.525109921558264
(*.f64 (/.f64 x y) (sin.f64 y))
Samples
139.0ms256×0valid
Compiler

Compiled 147 to 26 computations (82.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 69.0ms
ival-mult: 43.0ms (62.5% of total)
const: 9.0ms (13.1% of total)
ival-add: 7.0ms (10.2% of total)
ival-sin: 6.0ms (8.7% of total)
ival-div: 4.0ms (5.8% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series33.0ms (0.8%)

Memory
-23.8MiB live, 21.4MiB allocated; 10ms collecting garbage
Counts
18 → 38
Calls
Call 1
Inputs
(*.f64 (/.f64 x y) (sin.f64 y))
(/.f64 x y)
(sin.f64 y)
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
Outputs
(/ (* x (sin y)) y)
(/ x y)
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(pow y 2)
-1/6
(- (* 1/120 (pow y 2)) 1/6)
(- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)
1/120
(+ 1/120 (* -1/5040 (pow y 2)))
(sin y)
(/ (sin y) y)
(* -1/6 (pow y 2))
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(* 1/120 (pow y 4))
(* (pow y 4) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(* (pow y 4) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))
(* 1/120 (pow y 2))
(* (pow y 2) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(* -1/5040 (pow y 6))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* (pow y 6) (- (+ (* 1/120 (/ 1 (pow y 2))) (/ 1 (pow y 6))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* -1/5040 (pow y 4))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* -1/5040 (pow y 2))
(* (pow y 2) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
Calls

6 calls:

TimeVariablePointExpression
24.0ms
y
@-inf
((* (/ x y) (sin y)) (/ x y) (sin y) (* x (/ (sin y) y)) (/ (sin y) y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (* y y)) 1) (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (+ (* -1/5040 (* y y)) 1/120))
4.0ms
y
@inf
((* (/ x y) (sin y)) (/ x y) (sin y) (* x (/ (sin y) y)) (/ (sin y) y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (* y y)) 1) (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (+ (* -1/5040 (* y y)) 1/120))
1.0ms
y
@0
((* (/ x y) (sin y)) (/ x y) (sin y) (* x (/ (sin y) y)) (/ (sin y) y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (* y y)) 1) (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (+ (* -1/5040 (* y y)) 1/120))
1.0ms
x
@0
((* (/ x y) (sin y)) (/ x y) (sin y) (* x (/ (sin y) y)) (/ (sin y) y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (* y y)) 1) (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (+ (* -1/5040 (* y y)) 1/120))
1.0ms
x
@-inf
((* (/ x y) (sin y)) (/ x y) (sin y) (* x (/ (sin y) y)) (/ (sin y) y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* 1/120 (* y y)) -1/6) (* y y)) 1) (+ (* 1/120 (* y y)) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (* y y)) 1) (+ (* (+ (* -1/5040 (* y y)) 1/120) (* y y)) -1/6) (+ (* -1/5040 (* y y)) 1/120))

simplify190.0ms (4.7%)

Memory
30.4MiB live, 169.0MiB allocated; 35ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
077347
1208347
2669337
32883327
47519327
08042301
Stop Event
iter limit
node limit
Counts
38 → 36
Calls
Call 1
Inputs
(/ (* x (sin y)) y)
(/ x y)
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(pow y 2)
-1/6
(- (* 1/120 (pow y 2)) 1/6)
(- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)
1/120
(+ 1/120 (* -1/5040 (pow y 2)))
(sin y)
(/ (sin y) y)
(* -1/6 (pow y 2))
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(* 1/120 (pow y 4))
(* (pow y 4) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(* (pow y 4) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))
(* 1/120 (pow y 2))
(* (pow y 2) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(* -1/5040 (pow y 6))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* (pow y 6) (- (+ (* 1/120 (/ 1 (pow y 2))) (/ 1 (pow y 6))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* -1/5040 (pow y 4))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(* -1/5040 (pow y 2))
(* (pow y 2) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
Outputs
(/ (* x (sin y)) y)
(*.f64 (/.f64 (sin.f64 y) y) x)
(/ x y)
(/.f64 x y)
x
(+ x (* -1/6 (* x (pow y 2))))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(*.f64 x (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(fma.f64 (*.f64 (*.f64 y y) x) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) x)
y
(* y (+ 1 (* -1/6 (pow y 2))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y)
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y)
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow y 2)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(pow y 2)
(*.f64 y y)
-1/6
#s(literal -1/6 binary64)
(- (* 1/120 (pow y 2)) 1/6)
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
1/120
#s(literal 1/120 binary64)
(+ 1/120 (* -1/5040 (pow y 2)))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
(sin y)
(sin.f64 y)
(/ (sin y) y)
(/.f64 (sin.f64 y) y)
(* -1/6 (pow y 2))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(* 1/120 (pow y 4))
(*.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/120 binary64))
(* (pow y 4) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(*.f64 (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (+ 1/120 (/ 1 (pow y 4))) (* 1/6 (/ 1 (pow y 2)))))
(fma.f64 (-.f64 #s(literal 1/120 binary64) (/.f64 #s(literal 1/6 binary64) (*.f64 y y))) (pow.f64 y #s(literal 4 binary64)) #s(literal 1 binary64))
(* 1/120 (pow y 2))
(*.f64 #s(literal 1/120 binary64) (*.f64 y y))
(* (pow y 2) (- 1/120 (* 1/6 (/ 1 (pow y 2)))))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(* -1/5040 (pow y 6))
(*.f64 (pow.f64 y #s(literal 6 binary64)) #s(literal -1/5040 binary64))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(*.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) (pow.f64 y #s(literal 6 binary64)))
(* (pow y 6) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (pow.f64 y #s(literal 4 binary64)))) (pow.f64 y #s(literal 6 binary64)))
(* (pow y 6) (- (+ (* 1/120 (/ 1 (pow y 2))) (/ 1 (pow y 6))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(fma.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (pow.f64 y #s(literal 4 binary64)))) (pow.f64 y #s(literal 6 binary64)) #s(literal 1 binary64))
(* -1/5040 (pow y 4))
(*.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal -1/5040 binary64))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(*.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) (pow.f64 y #s(literal 4 binary64)))
(* (pow y 4) (- (* 1/120 (/ 1 (pow y 2))) (+ 1/5040 (/ 1/6 (pow y 4)))))
(*.f64 (-.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) (/.f64 #s(literal 1/6 binary64) (pow.f64 y #s(literal 4 binary64)))) (pow.f64 y #s(literal 4 binary64)))
(* -1/5040 (pow y 2))
(*.f64 #s(literal -1/5040 binary64) (*.f64 y y))
(* (pow y 2) (- (* 1/120 (/ 1 (pow y 2))) 1/5040))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 1/5040 binary64)) y) y)

rewrite105.0ms (2.6%)

Memory
18.9MiB live, 63.5MiB allocated; 7ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026186
046186
1161186
01149186
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
18 → 182
Calls
Call 1
Inputs
(*.f64 (/.f64 x y) (sin.f64 y))
(/.f64 x y)
(sin.f64 y)
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
Outputs
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (sin.f64 y) (neg.f64 x)) (neg.f64 y))
(/.f64 (neg.f64 (*.f64 (sin.f64 y) x)) (neg.f64 y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 x y)
(neg.f64 (/.f64 (neg.f64 x) y))
(neg.f64 (/.f64 x (neg.f64 y)))
(sin.f64 y)
(*.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) x)
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64))
(fma.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (*.f64 #s(literal -1/6 binary64) y)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(neg.f64 (*.f64 y (neg.f64 y)))
(fabs.f64 (*.f64 y y))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))) x)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (neg.f64 y)) (neg.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (fabs.f64 y)) (fabs.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) (*.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y #s(literal 1 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64))
(fma.f64 y (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y)) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y) y))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 y y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64) #s(literal -1/216 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 y y) #s(literal -1/720 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal -1/6 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64) #s(literal -1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) (*.f64 (*.f64 y y) #s(literal -1/720 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64) #s(literal -1/216 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 y y) #s(literal -1/720 binary64))))
(fma.f64 (*.f64 #s(literal 1/120 binary64) (neg.f64 y)) (neg.f64 y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal 1/120 binary64) (fabs.f64 y)) (fabs.f64 y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 #s(literal 1/120 binary64) y) y #s(literal -1/6 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 y y) #s(literal 1/120 binary64) #s(literal -1/6 binary64))
(fma.f64 y (*.f64 #s(literal 1/120 binary64) y) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 #s(literal 1/120 binary64) y)) y))
(-.f64 #s(literal -1/6 binary64) (*.f64 #s(literal -1/120 binary64) (*.f64 y y)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 y y)) #s(literal 1/120 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 y y) #s(literal -1/720 binary64)))) (/.f64 #s(literal -1/216 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (*.f64 (*.f64 y y) #s(literal -1/720 binary64)))))
(+.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 y y)) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 #s(literal 1/120 binary64) (*.f64 y y)))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))) x)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64))) (neg.f64 (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (neg.f64 y)) (neg.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (fabs.f64 y)) (fabs.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) (*.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y #s(literal 1 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 (*.f64 y y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64))
(fma.f64 y (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y)) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 3 binary64)) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))) (/.f64 #s(literal 1 binary64) (+.f64 (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y) y))
(/.f64 (-.f64 #s(literal 1/36 binary64) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64))) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1/36 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1/216 binary64))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)) #s(literal 1/36 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal -1/6 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1/216 binary64)) (+.f64 #s(literal 1/36 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) (*.f64 #s(literal -1/6 binary64) y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 3 binary64)) #s(literal -1/216 binary64)) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (neg.f64 y)) (neg.f64 y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (fabs.f64 y)) (fabs.f64 y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y #s(literal -1/6 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) #s(literal -1/6 binary64))
(fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))
(fma.f64 (*.f64 y y) (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) #s(literal -1/6 binary64))
(fma.f64 y (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) #s(literal -1/6 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal -1/6 binary64))) (/.f64 #s(literal 1/36 binary64) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal -1/6 binary64))))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y)) y))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 y y)))
(-.f64 #s(literal -1/6 binary64) (*.f64 (neg.f64 (*.f64 y y)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)))) (/.f64 #s(literal -1/216 binary64) (fma.f64 #s(literal -1/6 binary64) (-.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y)) (pow.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y) #s(literal -1/6 binary64))
(+.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) y) y))
(/.f64 (-.f64 #s(literal 1/14400 binary64) (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64))) (-.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 y y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 1/120 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 y y) #s(literal -1/604800 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 1/120 binary64)))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) (+.f64 #s(literal 1/14400 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) (*.f64 (*.f64 y y) #s(literal -1/604800 binary64)))))
(/.f64 (fma.f64 #s(literal -1/128024064000 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1/1728000 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 y y) #s(literal -1/604800 binary64))))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) (fabs.f64 y)) (fabs.f64 y) #s(literal 1/120 binary64))
(fma.f64 (*.f64 #s(literal -1/5040 binary64) y) y #s(literal 1/120 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))
(fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))
(fma.f64 (*.f64 y y) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))
(fma.f64 y (*.f64 #s(literal -1/5040 binary64) y) #s(literal 1/120 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 1/120 binary64))) (/.f64 #s(literal 1/14400 binary64) (-.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 1/120 binary64))))
(-.f64 #s(literal 1/120 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/5040 binary64) y)) y))
(-.f64 #s(literal 1/120 binary64) (*.f64 #s(literal 1/5040 binary64) (*.f64 y y)))
(-.f64 #s(literal 1/120 binary64) (*.f64 (neg.f64 (*.f64 y y)) #s(literal -1/5040 binary64)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 y y) #s(literal -1/604800 binary64)))) (/.f64 #s(literal 1/1728000 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1/14400 binary64)) (*.f64 (*.f64 y y) #s(literal -1/604800 binary64)))))
(+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)) #s(literal 1/120 binary64))
(+.f64 #s(literal 1/120 binary64) (*.f64 #s(literal -1/5040 binary64) (*.f64 y y)))

eval80.0ms (2%)

Memory
-29.2MiB live, 69.3MiB allocated; 22ms collecting garbage
Compiler

Compiled 7 138 to 1 214 computations (83% saved)

prune9.0ms (0.2%)

Memory
18.1MiB live, 18.1MiB allocated; 0ms collecting garbage
Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New2872289
Fresh011
Picked145
Done011
Total2888296
Accuracy
99.9%
Counts
296 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (*.f64 (sin.f64 y) x) y)
89.8%
(*.f64 (/.f64 x y) (sin.f64 y))
99.8%
(*.f64 x (/.f64 (sin.f64 y) y))
52.5%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
3.0%
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
53.7%
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
Compiler

Compiled 100 to 73 computations (27% saved)

simplify220.0ms (5.4%)

Memory
-8.4MiB live, 179.0MiB allocated; 24ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 y)
cost-diff0
(*.f64 (sin.f64 y) x)
cost-diff0
(/.f64 (*.f64 (sin.f64 y) x) y)
cost-diff0
(*.f64 #s(literal -1/6 binary64) y)
cost-diff0
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
cost-diff0
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
cost-diff0
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
cost-diff0
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
cost-diff0
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021113
031110
149110
287110
3177110
4292110
5533110
62634110
76152110
08038110
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
x
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) y)
#s(literal -1/6 binary64)
y
#s(literal 1 binary64)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
y
x
Outputs
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))) x)
x
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))) x)
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) y)
#s(literal -1/6 binary64)
y
#s(literal 1 binary64)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
y
x

localize72.0ms (1.8%)

Memory
8.2MiB live, 98.5MiB allocated; 8ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.00390625
(sin.f64 y)
accuracy0.1015625
(*.f64 (sin.f64 y) x)
accuracy7.281016581610114
(/.f64 (*.f64 (sin.f64 y) x) y)
accuracy0.06640625
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
accuracy0.36328125
(*.f64 #s(literal -1/6 binary64) y)
accuracy30.40175398589344
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
accuracy0.19140625
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
accuracy30.40175398589344
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
accuracy32.36407810901508
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
Samples
62.0ms256×0valid
Compiler

Compiled 68 to 17 computations (75% saved)

Precisions
Click to see histograms. Total time spent on operations: 50.0ms
ival-mult: 31.0ms (61.6% of total)
ival-div: 6.0ms (11.9% of total)
ival-sin: 6.0ms (11.9% of total)
const: 4.0ms (8% of total)
ival-add: 3.0ms (6% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series7.0ms (0.2%)

Memory
16.1MiB live, 16.1MiB allocated; 0ms collecting garbage
Counts
11 → 23
Calls
Call 1
Inputs
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
Outputs
(/ (* x (sin y)) y)
(* x (sin y))
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(* -1/6 (pow y 2))
(* -1/6 y)
(* x y)
(* y (+ x (* -1/6 (* x (pow y 2)))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(/ (sin y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(sin y)
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@-inf
((* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* -1/6 y) y) 1) (* -1/6 y) (/ (* (sin y) x) y) (* (sin y) x) (sin y))
1.0ms
y
@inf
((* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* -1/6 y) y) 1) (* -1/6 y) (/ (* (sin y) x) y) (* (sin y) x) (sin y))
1.0ms
x
@-inf
((* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* -1/6 y) y) 1) (* -1/6 y) (/ (* (sin y) x) y) (* (sin y) x) (sin y))
1.0ms
x
@inf
((* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* -1/6 y) y) 1) (* -1/6 y) (/ (* (sin y) x) y) (* (sin y) x) (sin y))
1.0ms
y
@0
((* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* -1/6 y) y) 1) (* -1/6 y) (/ (* (sin y) x) y) (* (sin y) x) (sin y))

simplify196.0ms (4.9%)

Memory
-30.3MiB live, 265.3MiB allocated; 71ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051233
1172233
2584219
32530213
46573213
08254189
Stop Event
iter limit
node limit
Counts
23 → 21
Calls
Call 1
Inputs
(/ (* x (sin y)) y)
(* x (sin y))
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(* -1/6 (pow y 2))
(* -1/6 y)
(* x y)
(* y (+ x (* -1/6 (* x (pow y 2)))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(/ (sin y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(sin y)
Outputs
(/ (* x (sin y)) y)
(*.f64 (sin.f64 y) (/.f64 x y))
(* x (sin y))
(*.f64 (sin.f64 y) x)
x
(+ x (* -1/6 (* x (pow y 2))))
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(fma.f64 (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow y 2)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(* -1/6 (pow y 2))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(* -1/6 y)
(*.f64 #s(literal -1/6 binary64) y)
(* x y)
(*.f64 y x)
(* y (+ x (* -1/6 (* x (pow y 2)))))
(*.f64 x (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(*.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) y)
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y x))
y
(* y (+ 1 (* -1/6 (pow y 2))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y)
(* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y)
(* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y)
(/ (sin y) y)
(/.f64 (sin.f64 y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) y) y)
(sin y)
(sin.f64 y)

rewrite47.0ms (1.2%)

Memory
31.8MiB live, 122.4MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
021101
03198
18298
031598
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
11 → 61
Calls
Call 1
Inputs
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) y)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
Outputs
(*.f64 #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))) x)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) (*.f64 y #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 y y))
(*.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)))
(*.f64 y (*.f64 #s(literal -1/6 binary64) y))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))) x)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal -1/216 binary64) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y) #s(literal 1 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) (*.f64 y #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal -1 binary64))))
(-.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/6 binary64) y)) y))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (*.f64 #s(literal -1/6 binary64) y)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(+.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) y)
(*.f64 y #s(literal -1/6 binary64))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (neg.f64 (*.f64 (neg.f64 x) (sin.f64 y))) (neg.f64 (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(neg.f64 (/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) y))
(neg.f64 (/.f64 (*.f64 (sin.f64 y) x) (neg.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(sin.f64 y)

eval33.0ms (0.8%)

Memory
-5.9MiB live, 38.9MiB allocated; 4ms collecting garbage
Compiler

Compiled 1 395 to 288 computations (79.4% saved)

prune23.0ms (0.6%)

Memory
-22.5MiB live, 33.5MiB allocated; 4ms collecting garbage
Pruning

10 alts after pruning (3 fresh and 7 done)

PrunedKeptTotal
New79382
Fresh000
Picked123
Done055
Total801090
Accuracy
99.9%
Counts
90 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (*.f64 (sin.f64 y) x) y)
42.4%
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
89.8%
(*.f64 (/.f64 x y) (sin.f64 y))
99.8%
(*.f64 x (/.f64 (sin.f64 y) y))
52.5%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
3.0%
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
3.0%
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
53.7%
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
52.6%
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
Compiler

Compiled 132 to 95 computations (28% saved)

simplify142.0ms (3.5%)

Memory
11.6MiB live, 152.1MiB allocated; 6ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 y x)
cost-diff0
#s(approx (* (sin y) x) (*.f64 y x))
cost-diff0
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
cost-diff0
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
cost-diff0
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
cost-diff0
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
cost-diff0
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
cost-diff0
(*.f64 y y)
cost-diff0
(*.f64 (*.f64 y y) x)
cost-diff0
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
cost-diff0
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023119
032119
156119
2124119
3340119
4636119
5972119
63343119
77197119
08011116
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(*.f64 (*.f64 y y) x)
(*.f64 y y)
y
x
#s(literal -1/6 binary64)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
x
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(*.f64 #s(literal -1/6 binary64) y)
#s(literal -1/6 binary64)
y
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
#s(approx (* (sin y) x) (*.f64 y x))
(*.f64 y x)
y
x
Outputs
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
#s(approx (* x (/ (sin y) y)) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) x) x))
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) x) x)
(*.f64 (*.f64 y y) x)
(*.f64 y y)
y
x
#s(literal -1/6 binary64)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
(*.f64 #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))) x)
x
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(*.f64 #s(literal -1/6 binary64) (*.f64 y y))
(*.f64 #s(literal -1/6 binary64) y)
#s(literal -1/6 binary64)
y
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
#s(approx (* (sin y) x) (*.f64 y x))
(*.f64 y x)
y
x

localize117.0ms (2.9%)

Memory
3.7MiB live, 145.2MiB allocated; 14ms collecting garbage
Localize:

Found 11 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(*.f64 y x)
accuracy7.281016581610114
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
accuracy29.982137532734765
#s(approx (* (sin y) x) (*.f64 y x))
accuracy0.125
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
accuracy0.36328125
(*.f64 #s(literal -1/6 binary64) y)
accuracy30.40175398589344
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
accuracy32.36407810901508
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
accuracy0.0
(*.f64 y y)
accuracy0.1171875
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
accuracy6.553545367081333
(*.f64 (*.f64 y y) x)
accuracy30.322488268242502
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
Samples
106.0ms256×0valid
Compiler

Compiled 71 to 20 computations (71.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 67.0ms
ival-mult: 50.0ms (75.1% of total)
ival-sin: 7.0ms (10.5% of total)
ival-div: 4.0ms (6% of total)
const: 4.0ms (6% of total)
ival-add: 2.0ms (3% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series15.0ms (0.4%)

Memory
-7.1MiB live, 36.7MiB allocated; 7ms collecting garbage
Counts
12 → 24
Calls
Call 1
Inputs
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(*.f64 (*.f64 y y) x)
(*.f64 y y)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
#s(approx (* (sin y) x) (*.f64 y x))
(*.f64 y x)
(*.f64 #s(literal -1/6 binary64) y)
Outputs
(/ (* x (sin y)) y)
(* x (+ 1 (* -1/6 (pow y 2))))
(* x (pow y 2))
(* x (sin y))
(* x y)
(* -1 (* x (- (* 1/6 (pow y 2)) 1)))
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(pow y 2)
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(* -1/6 (pow y 2))
(* y (+ x (* -1/6 (* x (pow y 2)))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
(* -1/6 y)
(* -1/6 (* x (pow y 2)))
(* (pow y 2) (+ (* -1/6 x) (/ x (pow y 2))))
(/ (sin y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
Calls

6 calls:

TimeVariablePointExpression
5.0ms
x
@-inf
((* x (/ (sin y) y)) (+ (* (* (* y y) x) -1/6) x) (* (* y y) x) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* -1/6 y) y) (/ (* (sin y) x) y) (* (sin y) x) (* y x) (* -1/6 y))
2.0ms
y
@-inf
((* x (/ (sin y) y)) (+ (* (* (* y y) x) -1/6) x) (* (* y y) x) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* -1/6 y) y) (/ (* (sin y) x) y) (* (sin y) x) (* y x) (* -1/6 y))
2.0ms
x
@inf
((* x (/ (sin y) y)) (+ (* (* (* y y) x) -1/6) x) (* (* y y) x) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* -1/6 y) y) (/ (* (sin y) x) y) (* (sin y) x) (* y x) (* -1/6 y))
2.0ms
y
@inf
((* x (/ (sin y) y)) (+ (* (* (* y y) x) -1/6) x) (* (* y y) x) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* -1/6 y) y) (/ (* (sin y) x) y) (* (sin y) x) (* y x) (* -1/6 y))
2.0ms
x
@0
((* x (/ (sin y) y)) (+ (* (* (* y y) x) -1/6) x) (* (* y y) x) (* y y) (* x (/ (sin y) y)) (/ (sin y) y) (+ (* (* y y) -1/6) 1) (* (* -1/6 y) y) (/ (* (sin y) x) y) (* (sin y) x) (* y x) (* -1/6 y))

simplify163.0ms (4%)

Memory
18.1MiB live, 214.6MiB allocated; 30ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057228
1180228
2581220
32362214
08050193
Stop Event
iter limit
node limit
Counts
24 → 23
Calls
Call 1
Inputs
(/ (* x (sin y)) y)
(* x (+ 1 (* -1/6 (pow y 2))))
(* x (pow y 2))
(* x (sin y))
(* x y)
(* -1 (* x (- (* 1/6 (pow y 2)) 1)))
x
(+ x (* -1/6 (* x (pow y 2))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(pow y 2)
1
(+ 1 (* -1/6 (pow y 2)))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(* -1/6 (pow y 2))
(* y (+ x (* -1/6 (* x (pow y 2)))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
(* -1/6 y)
(* -1/6 (* x (pow y 2)))
(* (pow y 2) (+ (* -1/6 x) (/ x (pow y 2))))
(/ (sin y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
Outputs
(/ (* x (sin y)) y)
(*.f64 (/.f64 (sin.f64 y) y) x)
(* x (+ 1 (* -1/6 (pow y 2))))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)
(* x (pow y 2))
(*.f64 (*.f64 y y) x)
(* x (sin y))
(*.f64 (sin.f64 y) x)
(* x y)
(*.f64 y x)
(* -1 (* x (- (* 1/6 (pow y 2)) 1)))
(*.f64 (neg.f64 x) (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)))
x
(+ x (* -1/6 (* x (pow y 2))))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)
(+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))
(*.f64 x (fma.f64 #s(literal 1/120 binary64) (pow.f64 y #s(literal 4 binary64)) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))
(fma.f64 (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x)
(pow y 2)
(*.f64 y y)
1
#s(literal 1 binary64)
(+ 1 (* -1/6 (pow y 2)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))
(fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))
(* -1/6 (pow y 2))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(* y (+ x (* -1/6 (* x (pow y 2)))))
(*.f64 x (fma.f64 #s(literal -1/6 binary64) (pow.f64 y #s(literal 3 binary64)) y))
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))
(*.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (pow.f64 y #s(literal 4 binary64)) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) y)
(* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))
(fma.f64 (pow.f64 y #s(literal 3 binary64)) (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y x))
(* -1/6 y)
(*.f64 #s(literal -1/6 binary64) y)
(* -1/6 (* x (pow y 2)))
(*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64))
(* (pow y 2) (+ (* -1/6 x) (/ x (pow y 2))))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)
(/ (sin y) y)
(/.f64 (sin.f64 y) y)
(* (pow y 2) (- (/ 1 (pow y 2)) 1/6))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) y) y)

rewrite97.0ms (2.4%)

Memory
-25.7MiB live, 74.9MiB allocated; 19ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023111
032111
188111
0481108
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
12 → 74
Calls
Call 1
Inputs
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(*.f64 (*.f64 y y) x)
(*.f64 y y)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
#s(approx (* (sin y) x) (*.f64 y x))
(*.f64 y x)
(*.f64 #s(literal -1/6 binary64) y)
Outputs
#s(approx (* x (/ (sin y) y)) (fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) x) x))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64))) (-.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x x))) (neg.f64 (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x)))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x x)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) x) (*.f64 y y) x)
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) (*.f64 #s(literal -1/6 binary64) x)) x)
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) (*.f64 #s(literal -1/6 binary64) x)) x)
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) (*.f64 y x) x)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x x)
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) x) x)
(fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)
(fma.f64 (*.f64 y y) (*.f64 #s(literal -1/6 binary64) x) x)
(fma.f64 y (*.f64 (*.f64 y x) #s(literal -1/6 binary64)) x)
(fma.f64 y (*.f64 y (*.f64 #s(literal -1/6 binary64) x)) x)
(fma.f64 x (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x)))
(-.f64 x (*.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x)))
(-.f64 x (*.f64 (neg.f64 (*.f64 (*.f64 y y) x)) #s(literal -1/6 binary64)))
(-.f64 x (*.f64 (neg.f64 (*.f64 y y)) (*.f64 #s(literal -1/6 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x (-.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x)) (pow.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x) x)
(+.f64 x (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) x))
(*.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 x (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) x))
(*.f64 (*.f64 y x) y)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 x (*.f64 y y))
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 y y)
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(neg.f64 (*.f64 y (neg.f64 y)))
(fabs.f64 (*.f64 y y))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(*.f64 #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))) x)
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
#s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) (*.f64 y #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(*.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)))
(*.f64 y (*.f64 #s(literal -1/6 binary64) y))
(/.f64 (neg.f64 (neg.f64 #s(approx (* (sin y) x) (*.f64 y x)))) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 #s(approx (* (sin y) x) (*.f64 y x))) (neg.f64 y))
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
(neg.f64 (/.f64 (neg.f64 #s(approx (* (sin y) x) (*.f64 y x))) y))
(neg.f64 (/.f64 #s(approx (* (sin y) x) (*.f64 y x)) (neg.f64 y)))
#s(approx (* (sin y) x) (*.f64 y x))
(*.f64 y x)
(*.f64 x y)
(*.f64 #s(literal -1/6 binary64) y)
(*.f64 y #s(literal -1/6 binary64))

eval11.0ms (0.3%)

Memory
22.1MiB live, 22.1MiB allocated; 0ms collecting garbage
Compiler

Compiled 1 865 to 356 computations (80.9% saved)

prune36.0ms (0.9%)

Memory
-23.7MiB live, 22.1MiB allocated; 7ms collecting garbage
Pruning

12 alts after pruning (3 fresh and 9 done)

PrunedKeptTotal
New93396
Fresh000
Picked123
Done077
Total9412106
Accuracy
99.9%
Counts
106 → 12
Alt Table
Click to see full alt table
StatusAccuracyProgram
88.6%
(/.f64 (*.f64 (sin.f64 y) x) y)
42.4%
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
89.8%
(*.f64 (/.f64 x y) (sin.f64 y))
99.8%
(*.f64 x (/.f64 (sin.f64 y) y))
52.5%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
52.6%
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
3.0%
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
3.0%
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
53.7%
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
52.6%
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y x) y) #s(literal -1/6 binary64) x))
52.6%
#s(approx (* x (/ (sin y) y)) (fma.f64 y (*.f64 y (*.f64 #s(literal -1/6 binary64) x)) x))
3.0%
#s(approx (* x (/ (sin y) y)) #s(approx (+ (* (* (* y y) x) -1/6) x) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64))))
Compiler

Compiled 383 to 189 computations (50.7% saved)

regimes39.0ms (1%)

Memory
-3.2MiB live, 40.7MiB allocated; 8ms collecting garbage
Counts
15 → 1
Calls
Call 1
Inputs
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
#s(approx (* x (/ (sin y) y)) #s(approx (+ (* (* (* y y) x) -1/6) x) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64))))
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
#s(approx (* x (/ (sin y) y)) (fma.f64 y (*.f64 y (*.f64 #s(literal -1/6 binary64) x)) x))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y x) y) #s(literal -1/6 binary64) x))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 x y) (sin.f64 y))
(/.f64 (*.f64 (sin.f64 y) x) y)
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
Calls

4 calls:

25.0ms
(/.f64 (sin.f64 y) y)
4.0ms
y
4.0ms
x
4.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
Results
AccuracySegmentsBranch
99.8%1(/.f64 (sin.f64 y) y)
99.8%1(*.f64 x (/.f64 (sin.f64 y) y))
99.8%1x
99.8%1y
Compiler

Compiled 12 to 13 computations (-8.3% saved)

regimes15.0ms (0.4%)

Memory
30.8MiB live, 30.8MiB allocated; 0ms collecting garbage
Accuracy

Total -32.8b remaining (-110.7%)

Threshold costs -32.8b (-110.7%)

Counts
12 → 1
Calls
Call 1
Inputs
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
#s(approx (* x (/ (sin y) y)) #s(approx (+ (* (* (* y y) x) -1/6) x) (*.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64))))
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y))))
(*.f64 x #s(approx (/ (sin y) y) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
#s(approx (* x (/ (sin y) y)) (fma.f64 y (*.f64 y (*.f64 #s(literal -1/6 binary64) x)) x))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y x) y) #s(literal -1/6 binary64) x))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(/.f64 #s(approx (* (sin y) x) (*.f64 y x)) y)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64))))
Outputs
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
Calls

4 calls:

4.0ms
x
4.0ms
y
3.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
3.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
53.7%1(/.f64 (sin.f64 y) y)
53.7%1(*.f64 x (/.f64 (sin.f64 y) y))
53.7%1x
53.7%1y
Compiler

Compiled 12 to 13 computations (-8.3% saved)

simplify76.0ms (1.9%)

Memory
-11.7MiB live, 81.0MiB allocated; 25ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01014
11214
21514
32314
44614
521914
6222314
7534014
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))
Outputs
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 x #s(approx (/ (sin y) y) #s(literal 1 binary64)))

derivations45.0ms (1.1%)

Memory
-17.9MiB live, 26.0MiB allocated; 6ms collecting garbage
Stop Event
fuel
Compiler

Compiled 14 to 10 computations (28.6% saved)

preprocess44.0ms (1.1%)

Memory
11.8MiB live, 57.0MiB allocated; 10ms collecting garbage
Remove

(negabs x)

(abs y)

Compiler

Compiled 88 to 70 computations (20.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...