2cos (problem 3.3.5)

Time bar (total: 13.5s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze46.0ms (0.3%)

Memory
-1.3MiB live, 94.2MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%50.6%49.4%0%0%0%0
0%0%50.6%49.4%0%0%0%1
0%0%50.6%49.4%0%0%0%2
0%0%25.3%49.4%0%25.3%0%3
0%0%25.3%49.4%0%25.3%0%4
0%0%19%49.4%0%31.6%0%5
0%0%15.8%49.4%0%34.8%0%6
0%0%11.1%49.4%0%39.5%0%7
0%0%8.7%49.4%0%41.9%0%8
0%0%5.9%49.4%0%44.6%0%9
0%0%4.5%49.4%0%46%0%10
0%0%3.1%49.4%0%47.5%0%11
0%0%2.7%49.4%0%47.9%0%12
Compiler

Compiled 27 to 19 computations (29.6% saved)

sample8.7s (64.6%)

Memory
-0.7MiB live, 7 904.4MiB allocated
Samples
3.8s26 356×0invalid
2.7s5 706×2valid
676.0ms2 489×1valid
8.0ms61×0valid
Precisions
Click to see histograms. Total time spent on operations: 5.7s
ival-cos: 2.2s (38.3% of total)
const: 1.2s (21.1% of total)
adjust: 681.0ms (11.9% of total)
ival-mult: 269.0ms (4.7% of total)
ival-<=: 268.0ms (4.7% of total)
ival-sub: 258.0ms (4.5% of total)
ival-<: 255.0ms (4.4% of total)
ival-add: 231.0ms (4% of total)
ival-fabs: 212.0ms (3.7% of total)
ival-and: 105.0ms (1.8% of total)
exact: 43.0ms (0.7% of total)
ival-assert: 12.0ms (0.2% of total)
Bogosity

explain270.0ms (2%)

Memory
14.7MiB live, 209.2MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1300-0-(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
30-0-(cos.f64 (+.f64 x eps))
00-0-eps
00-0-(+.f64 x eps)
00-0-(cos.f64 x)
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
-.f64(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))cancellation1300
cos.f64(cos.f64 (+.f64 x eps))sensitivity30
Confusion
Predicted +Predicted -
+1310
-0125
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+13100
-00125
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0125
1129
22
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
202.0ms358×2valid
21.0ms152×1valid
0.0ms0valid
Compiler

Compiled 47 to 22 computations (53.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 196.0ms
ival-cos: 161.0ms (82.1% of total)
adjust: 24.0ms (12.2% of total)
ival-sub: 6.0ms (3.1% of total)
ival-add: 4.0ms (2% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess29.0ms (0.2%)

Memory
-28.6MiB live, 16.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01841
14641
28641
311641
411841
067
0107
1227
2407
3647
4717
0717
Stop Event
iter limit
saturated
iter limit
saturated
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 0 to 2 computations (-∞% saved)

prune0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.5%
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify4.0ms (0%)

Memory
3.7MiB live, 3.7MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(cos.f64 x)
cost-diff0
(+.f64 x eps)
cost-diff0
(cos.f64 (+.f64 x eps))
cost-diff0
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0618
01018
12218
24018
36418
47118
07118
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
x
eps
(cos.f64 x)
Outputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(cos.f64 (+.f64 x eps))
(cos.f64 (+.f64 eps x))
(+.f64 x eps)
(+.f64 eps x)
x
eps
(cos.f64 x)

localize88.0ms (0.6%)

Memory
12.5MiB live, 65.7MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x eps)
accuracy0.0
(cos.f64 x)
accuracy0.1396741180528605
(cos.f64 (+.f64 x eps))
accuracy29.594536059106037
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Samples
66.0ms179×2valid
15.0ms76×1valid
0.0ms0valid
Compiler

Compiled 20 to 8 computations (60% saved)

Precisions
Click to see histograms. Total time spent on operations: 69.0ms
ival-cos: 47.0ms (68.6% of total)
adjust: 13.0ms (19% of total)
ival-sub: 7.0ms (10.2% of total)
ival-add: 2.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series4.0ms (0%)

Memory
3.2MiB live, 3.2MiB allocated
Counts
4 → 33
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
(cos.f64 x)
Outputs
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(- (cos (+ eps x)) (cos x))
(cos (+ eps x))
x
(* x (+ 1 (/ eps x)))
(cos x)
(- (cos (- eps (* -1 x))) (cos x))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* -1 (* eps (sin x)))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* eps (+ 1 (/ x eps)))
(- (cos (- x (* -1 eps))) (cos x))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Calls

6 calls:

TimeVariablePointExpression
1.0ms
x
@0
((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x))
1.0ms
eps
@inf
((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x))
1.0ms
eps
@0
((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x))
1.0ms
eps
@-inf
((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x))
0.0ms
x
@inf
((- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x))

simplify154.0ms (1.1%)

Memory
-14.5MiB live, 175.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0105296
1308293
2779293
32454292
46244292
08035272
Stop Event
iter limit
node limit
Counts
33 → 31
Calls
Call 1
Inputs
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(- (cos (+ eps x)) (cos x))
(cos (+ eps x))
x
(* x (+ 1 (/ eps x)))
(cos x)
(- (cos (- eps (* -1 x))) (cos x))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* -1 (* eps (sin x)))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* eps (+ 1 (/ x eps)))
(- (cos (- x (* -1 eps))) (cos x))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Outputs
(- (cos eps) 1)
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(-.f64 (cos.f64 eps) (fma.f64 (fma.f64 x (fma.f64 #s(literal 1/2 binary64) (cos.f64 eps) #s(literal -1/2 binary64)) (sin.f64 eps)) x #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(fma.f64 (fma.f64 (sin.f64 eps) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) (*.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 eps) #s(literal 1/2 binary64)) x)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(cos eps)
(cos.f64 eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(fma.f64 (neg.f64 x) (sin.f64 eps) (cos.f64 eps))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 eps)) x (sin.f64 eps)) (neg.f64 x) (cos.f64 eps))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
(fma.f64 (fma.f64 (sin.f64 eps) (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 eps) x) #s(literal -1/2 binary64))) x (cos.f64 eps))
eps
(+ eps x)
(+.f64 eps x)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64))) (*.f64 x x) #s(literal 1 binary64))
(- (cos (+ eps x)) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(cos (+ eps x))
(cos.f64 (+.f64 eps x))
x
(* x (+ 1 (/ eps x)))
(+.f64 eps x)
(cos x)
(cos.f64 x)
(- (cos (- eps (* -1 x))) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(cos (- eps (* -1 x)))
(cos.f64 (+.f64 eps x))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(+.f64 eps x)
(* -1 (* eps (sin x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(*.f64 (-.f64 (*.f64 (fma.f64 (cos.f64 x) (fma.f64 eps (*.f64 #s(literal 1/24 binary64) eps) #s(literal -1/2 binary64)) (*.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64))) eps) (sin.f64 x)) eps)
(+ (cos x) (* -1 (* eps (sin x))))
(fma.f64 (neg.f64 (sin.f64 x)) eps (cos.f64 x))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(fma.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps) (cos.f64 x))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(fma.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps (cos.f64 x))
(* eps (+ 1 (/ x eps)))
(+.f64 eps x)
(- (cos (- x (* -1 eps))) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(cos (- x (* -1 eps)))
(cos.f64 (+.f64 eps x))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
(+.f64 eps x)

rewrite135.0ms (1%)

Memory
15.7MiB live, 208.8MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0616
01016
16216
261516
0813016
Stop Event
iter limit
node limit
iter limit
Counts
4 → 138
Calls
Call 1
Inputs
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
(cos.f64 x)
Outputs
(*.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))))))
(*.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))))))
(*.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))))))
(*.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64))))))
(*.f64 (/.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x)) (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))))))
(*.f64 (*.f64 #s(literal -2 binary64) (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64)))) (sin.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))))
(*.f64 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64)))) #s(literal -2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 x) (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 2 binary64))) (cos.f64 (/.f64 (+.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (neg.f64 x) (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (+.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (neg.f64 x) (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 2 binary64))) (cos.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (neg.f64 x) (/.f64 (PI.f64) #s(literal 2 binary64)))) #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (neg.f64 (neg.f64 x))) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (neg.f64 (neg.f64 x))) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (neg.f64 x)) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (neg.f64 x)) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (neg.f64 (+.f64 eps x))) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 eps x))) x) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 (neg.f64 x))) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 (neg.f64 x))) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 (neg.f64 x))) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 (neg.f64 x))) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))) (sin.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64)))))
(*.f64 #s(literal -2 binary64) (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))))) (*.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))) (+.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))) (*.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))) (+.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (*.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))) (fma.f64 (cos.f64 eps) (cos.f64 x) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (fma.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (*.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))))))))
(/.f64 (-.f64 (pow.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (fma.f64 (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (*.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (fma.f64 (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (pow.f64 (cos.f64 x) #s(literal 2 binary64))))) (neg.f64 (neg.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))))))
(/.f64 (neg.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (pow.f64 (cos.f64 x) #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (*.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 x) #s(literal 2 binary64)))) (*.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (*.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))) (pow.f64 (cos.f64 x) #s(literal 3 binary64)))) (*.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (pow.f64 (cos.f64 x) #s(literal 2 binary64)))) (neg.f64 (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (pow.f64 (cos.f64 x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (pow.f64 (cos.f64 x) #s(literal 2 binary64))) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))
(fma.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (neg.f64 (cos.f64 (+.f64 eps x))) (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (/.f64 (fabs.f64 (cos.f64 (+.f64 eps x))) (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 eps x)) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 eps x)) (*.f64 (cos.f64 (/.f64 (+.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (neg.f64 (+.f64 eps x)) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 eps x)) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) (neg.f64 x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 eps x)) (*.f64 (cos.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(fma.f64 (/.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (/.f64 (cos.f64 (+.f64 eps x)) (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))) (cos.f64 (/.f64 (-.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) #s(literal 2 binary64))))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (cos.f64 x) #s(literal 3 binary64)) (fma.f64 (cos.f64 x) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(+.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))) (/.f64 (*.f64 (neg.f64 (cos.f64 x)) (cos.f64 x)) (+.f64 (cos.f64 x) (cos.f64 (+.f64 eps x)))))
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64))) (*.f64 (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))) (-.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))) (cos.f64 (+.f64 (neg.f64 x) eps)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64))) (*.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps))))))
(/.f64 (neg.f64 (*.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) (neg.f64 (cos.f64 (-.f64 eps x))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 x) eps)) (cos.f64 (+.f64 eps x))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x))))) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 eps x)) (cos.f64 (-.f64 eps x))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x))))) #s(literal 4 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 x) eps)) (cos.f64 (+.f64 eps x))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 eps x)) (cos.f64 (-.f64 eps x))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (*.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x))) (cos.f64 (-.f64 eps x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(fma.f64 (neg.f64 (sin.f64 (+.f64 eps x))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 eps x)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 eps x))))
(fma.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 (sin.f64 x) (cos.f64 (+.f64 eps (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (-.f64 (neg.f64 x) eps) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps))
(sin.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (cos.f64 (-.f64 eps x))) (/.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (cos.f64 (-.f64 eps x))))
(-.f64 (/.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))) (/.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))))))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (cos.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))) (*.f64 (sin.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (sin.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 (neg.f64 eps)) (neg.f64 (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 (neg.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 eps x)))))
(cos.f64 (neg.f64 (-.f64 (neg.f64 x) eps)))
(cos.f64 (neg.f64 (neg.f64 (+.f64 eps x))))
(cos.f64 (-.f64 (neg.f64 x) eps))
(cos.f64 (neg.f64 (+.f64 eps x)))
(cos.f64 (+.f64 eps x))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(+.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 eps x))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 eps x))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 eps x))))
(+.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 (+.f64 eps (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(+.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(/.f64 (-.f64 (*.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 x x) (-.f64 x eps))) (*.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (+.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps))))
(/.f64 (-.f64 (*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (*.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))) (-.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))))
(/.f64 (-.f64 (pow.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) #s(literal 3 binary64)) (pow.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)) #s(literal 3 binary64))) (fma.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 x x) (-.f64 x eps)) (fma.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps)) (*.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps))))))
(/.f64 (+.f64 (pow.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) #s(literal 3 binary64)) (pow.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) #s(literal 3 binary64))) (fma.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (-.f64 (*.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (*.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))))))
(/.f64 (neg.f64 (*.f64 (+.f64 eps x) (-.f64 eps x))) (neg.f64 (-.f64 eps x)))
(/.f64 (neg.f64 (neg.f64 (*.f64 (+.f64 eps x) (-.f64 x eps)))) (neg.f64 (neg.f64 (-.f64 x eps))))
(/.f64 (neg.f64 (neg.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))))) (neg.f64 (neg.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x)))))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (-.f64 x eps)) (*.f64 (-.f64 x eps) (*.f64 eps eps))) (*.f64 (-.f64 x eps) (-.f64 x eps)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (*.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (pow.f64 eps #s(literal 3 binary64)))) (*.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 eps x) (-.f64 eps x)) (-.f64 eps x))
(/.f64 (neg.f64 (*.f64 (+.f64 eps x) (-.f64 x eps))) (neg.f64 (-.f64 x eps)))
(/.f64 (neg.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 eps x) (-.f64 x eps)) (-.f64 x eps))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x))))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))
(-.f64 (/.f64 (*.f64 eps eps) (-.f64 eps x)) (/.f64 (*.f64 x x) (-.f64 eps x)))
(-.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps)))
(+.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x)))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x)))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x)))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x)))))
(+.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(+.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 (neg.f64 eps) eps) (-.f64 x eps)))
(+.f64 eps x)
(+.f64 x eps)
(/.f64 (-.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) (*.f64 (sin.f64 x) #s(literal 0 binary64))) (*.f64 (*.f64 (cos.f64 x) #s(literal 1 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64)))) (-.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) #s(literal 3 binary64)) (pow.f64 (*.f64 (cos.f64 x) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) (*.f64 (sin.f64 x) #s(literal 0 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 x) #s(literal 1 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64))) (*.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64))))))
(fma.f64 (neg.f64 (sin.f64 x)) #s(literal 0 binary64) (*.f64 (cos.f64 x) #s(literal 1 binary64)))
(fma.f64 #s(literal 1 binary64) (cos.f64 x) (*.f64 #s(literal 0 binary64) (sin.f64 x)))
(fma.f64 (sin.f64 x) #s(literal 0 binary64) (*.f64 (cos.f64 x) #s(literal 1 binary64)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 x)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 x) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 x))))
(cos.f64 (neg.f64 (neg.f64 x)))
(cos.f64 (neg.f64 x))
(cos.f64 x)
(+.f64 (*.f64 (neg.f64 (sin.f64 x)) #s(literal 0 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 x)) (*.f64 #s(literal 0 binary64) (sin.f64 x)))
(+.f64 (*.f64 (sin.f64 x) #s(literal 0 binary64)) (*.f64 (cos.f64 x) #s(literal 1 binary64)))

eval25.0ms (0.2%)

Memory
-17.8MiB live, 28.3MiB allocated
Compiler

Compiled 4 780 to 715 computations (85% saved)

prune9.0ms (0.1%)

Memory
18.9MiB live, 18.9MiB allocated
Pruning

13 alts after pruning (12 fresh and 1 done)

PrunedKeptTotal
New14912161
Fresh000
Picked011
Done000
Total14913162
Accuracy
99.8%
Counts
162 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
53.5%
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
53.5%
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
52.8%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
52.8%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
52.7%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
52.7%
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
81.7%
(*.f64 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64)))) #s(literal -2 binary64))
52.9%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
99.3%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
99.4%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
79.6%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
Compiler

Compiled 369 to 280 computations (24.1% saved)

simplify105.0ms (0.8%)

Memory
12.1MiB live, 59.4MiB allocated
Algorithm
egg-herbie
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
cost-diff0
(cos.f64 eps)
cost-diff0
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
cost-diff0
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
cost-diff0
(+.f64 x eps)
cost-diff0
(cos.f64 (+.f64 x eps))
cost-diff0
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
cost-diff0
(sin.f64 x)
cost-diff0
(neg.f64 eps)
cost-diff0
(*.f64 (neg.f64 eps) (sin.f64 x))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
cost-diff0
(cos.f64 eps)
cost-diff0
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
cost-diff0
(sin.f64 x)
cost-diff0
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
cost-diff0
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039239
066239
1123239
2302239
3801239
42028239
53979239
65844239
77947239
08347239
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
(sin.f64 x)
x
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(*.f64 eps eps)
eps
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)
(*.f64 (cos.f64 x) #s(literal -1/2 binary64))
(cos.f64 x)
#s(literal -1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(cos.f64 eps)
eps
#s(literal 1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(neg.f64 eps)
eps
(sin.f64 x)
x
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
x
eps
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
#s(literal 1/24 binary64)
(*.f64 x x)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(cos.f64 eps)
eps
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(sin.f64 eps)
x
#s(literal 1 binary64)
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 x)) eps (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps (sin.f64 x)) (neg.f64 eps)))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 x)) eps (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps (sin.f64 x)) (neg.f64 eps))
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
(neg.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 x)) eps (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps (sin.f64 x)))
(sin.f64 x)
x
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
(*.f64 eps eps)
eps
#s(literal 1/6 binary64)
#s(literal -1 binary64)
(*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)
(*.f64 (cos.f64 x) #s(literal -1/2 binary64))
(*.f64 #s(literal -1/2 binary64) (cos.f64 x))
(cos.f64 x)
#s(literal -1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(cos.f64 eps)
eps
#s(literal 1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(neg.f64 eps)
eps
(sin.f64 x)
x
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 eps x)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(cos.f64 (+.f64 x eps))
(cos.f64 (+.f64 eps x))
(+.f64 x eps)
(+.f64 eps x)
x
eps
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
#s(literal 1/24 binary64)
(*.f64 x x)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(cos.f64 eps)
eps
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(sin.f64 eps)
x
#s(literal 1 binary64)

localize308.0ms (2.3%)

Memory
5.8MiB live, 104.2MiB allocated
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 eps)
accuracy0.0
(cos.f64 eps)
accuracy1.1130162400167314
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
accuracy29.500936982743255
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
accuracy0.1396741180528605
(cos.f64 (+.f64 x eps))
accuracy0.171875
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
accuracy0.9089126889572615
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
accuracy29.594536059106037
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
accuracy0.0
(sin.f64 x)
accuracy0.0
(neg.f64 eps)
accuracy0.00390625
(*.f64 (neg.f64 eps) (sin.f64 x))
accuracy13.034887159733469
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
accuracy0.0
(cos.f64 eps)
accuracy28.894383815268807
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
accuracy29.602378928243734
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
accuracy0.00390625
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
accuracy0.015625
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
accuracy0.15234375
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
Samples
237.0ms181×2valid
41.0ms74×1valid
0.0ms0valid
Compiler

Compiled 185 to 36 computations (80.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 228.0ms
ival-cos: 74.0ms (32.5% of total)
adjust: 50.0ms (21.9% of total)
ival-mult: 44.0ms (19.3% of total)
ival-add: 32.0ms (14% of total)
ival-sub: 10.0ms (4.4% of total)
ival-sin: 9.0ms (4% of total)
const: 7.0ms (3.1% of total)
ival-neg: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series45.0ms (0.3%)

Memory
-17.7MiB live, 27.9MiB allocated
Counts
20 → 95
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
(sin.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(cos.f64 eps)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(neg.f64 eps)
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(sin.f64 eps)
Outputs
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
x
(* x (+ 1 (* -1/6 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))
(* -1 (* eps x))
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(+ 1 (* x (sin eps)))
(* 1/24 (pow x 2))
(- (cos (+ eps x)) (cos x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(sin x)
(* -1 (* eps (sin x)))
(cos (+ eps x))
(* x (+ 1 (/ eps x)))
(cos x)
(* -1 (* x (sin eps)))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(* x (sin eps))
(* x (+ (sin eps) (/ 1 x)))
(- (cos (- eps (* -1 x))) (cos x))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(* -1 (* x (- (* -1 (sin eps)) (/ 1 x))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* -1 (sin x))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(+ 1 (* -1/2 (pow eps 2)))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(* -1 eps)
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* eps (- (* -1/2 eps) x))
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
(+ 1 (* eps x))
(+ 1 (* eps (+ x (* -1/6 (* (pow eps 2) x)))))
(+ 1 (* eps (+ x (* (pow eps 2) (+ (* -1/6 x) (* 1/120 (* (pow eps 2) x)))))))
-1
(- (* 1/6 (pow eps 2)) 1)
(* eps (+ 1 (* -1/6 (pow eps 2))))
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* eps (+ 1 (/ x eps)))
(- (cos eps) (+ 1 (* x (sin eps))))
(* 1/6 (pow eps 2))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(sin eps)
(- (cos (- x (* -1 eps))) (cos x))
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Calls

6 calls:

TimeVariablePointExpression
27.0ms
x
@0
((- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (sin x) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (cos eps) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (neg eps) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (+ (* (sin eps) x) 1) (+ (* (* eps eps) 1/6) -1) (* 1/24 (* x x)) (sin eps))
5.0ms
eps
@-inf
((- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (sin x) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (cos eps) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (neg eps) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (+ (* (sin eps) x) 1) (+ (* (* eps eps) 1/6) -1) (* 1/24 (* x x)) (sin eps))
4.0ms
x
@inf
((- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (sin x) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (cos eps) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (neg eps) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (+ (* (sin eps) x) 1) (+ (* (* eps eps) 1/6) -1) (* 1/24 (* x x)) (sin eps))
3.0ms
eps
@0
((- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (sin x) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (cos eps) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (neg eps) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (+ (* (sin eps) x) 1) (+ (* (* eps eps) 1/6) -1) (* 1/24 (* x x)) (sin eps))
3.0ms
x
@-inf
((- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (sin x) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (cos eps) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (neg eps) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (+ (* (sin eps) x) 1) (+ (* (* eps eps) 1/6) -1) (* 1/24 (* x x)) (sin eps))

simplify203.0ms (1.5%)

Memory
-4.6MiB live, 138.4MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03041134
19961107
232881083
371951083
082171011
Stop Event
iter limit
node limit
Counts
95 → 93
Calls
Call 1
Inputs
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
x
(* x (+ 1 (* -1/6 (pow x 2))))
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))
(* -1 (* eps x))
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(+ 1 (* x (sin eps)))
(* 1/24 (pow x 2))
(- (cos (+ eps x)) (cos x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(sin x)
(* -1 (* eps (sin x)))
(cos (+ eps x))
(* x (+ 1 (/ eps x)))
(cos x)
(* -1 (* x (sin eps)))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(* x (sin eps))
(* x (+ (sin eps) (/ 1 x)))
(- (cos (- eps (* -1 x))) (cos x))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(* -1 (* x (- (* -1 (sin eps)) (/ 1 x))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* -1 (sin x))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(+ 1 (* -1/2 (pow eps 2)))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(* -1 eps)
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* eps (- (* -1/2 eps) x))
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
(+ 1 (* eps x))
(+ 1 (* eps (+ x (* -1/6 (* (pow eps 2) x)))))
(+ 1 (* eps (+ x (* (pow eps 2) (+ (* -1/6 x) (* 1/120 (* (pow eps 2) x)))))))
-1
(- (* 1/6 (pow eps 2)) 1)
(* eps (+ 1 (* -1/6 (pow eps 2))))
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* eps (+ 1 (/ x eps)))
(- (cos eps) (+ 1 (* x (sin eps))))
(* 1/6 (pow eps 2))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(sin eps)
(- (cos (- x (* -1 eps))) (cos x))
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Outputs
(- (cos eps) 1)
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 eps) #s(literal 1/2 binary64)) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (sin.f64 eps) x) (fma.f64 #s(literal -1/2 binary64) (cos.f64 eps) #s(literal 1/2 binary64))) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(* -1/2 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))
(* -1/2 eps)
(*.f64 #s(literal -1/2 binary64) eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))
x
(* x (+ 1 (* -1/6 (pow x 2))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal -1/6 binary64) x)
(* x (+ 1 (* (pow x 2) (- (* 1/120 (pow x 2)) 1/6))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 x x)) #s(literal 1/6 binary64)) x)
(* x (+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/120 (* -1/5040 (pow x 2)))) 1/6))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 x x)) #s(literal 1/6 binary64))) x)
(* -1 (* eps x))
(*.f64 (neg.f64 x) eps)
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 eps (fma.f64 (*.f64 x x) #s(literal -1/120 binary64) #s(literal 1/6 binary64))) (*.f64 (neg.f64 x) eps))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 eps (fma.f64 (*.f64 #s(literal 1/5040 binary64) x) x #s(literal -1/120 binary64))) (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))) x)
(cos eps)
(cos.f64 eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(fma.f64 (neg.f64 x) (sin.f64 eps) (cos.f64 eps))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 eps) x) #s(literal -1/2 binary64)) (sin.f64 eps)) x (cos.f64 eps))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (sin.f64 eps) x) (*.f64 #s(literal -1/2 binary64) (cos.f64 eps))) x) (sin.f64 eps)) x (cos.f64 eps))
eps
(+ eps x)
(+.f64 eps x)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64))) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* x (sin eps)))
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(* 1/24 (pow x 2))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(- (cos (+ eps x)) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (sin.f64 x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps)
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (sin.f64 x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))))
(sin x)
(sin.f64 x)
(* -1 (* eps (sin x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(cos (+ eps x))
(cos.f64 (+.f64 eps x))
(* x (+ 1 (/ eps x)))
(+.f64 eps x)
(cos x)
(cos.f64 x)
(* -1 (* x (sin eps)))
(*.f64 (neg.f64 x) (sin.f64 eps))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(*.f64 (-.f64 (/.f64 (-.f64 (cos.f64 eps) #s(literal 1 binary64)) x) (sin.f64 eps)) x)
(* x (sin eps))
(*.f64 (sin.f64 eps) x)
(* x (+ (sin eps) (/ 1 x)))
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(- (cos (- eps (* -1 x))) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(cos (- eps (* -1 x)))
(cos.f64 (+.f64 eps x))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (neg.f64 eps) x) #s(literal 1 binary64)))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(*.f64 (-.f64 (/.f64 (-.f64 (cos.f64 eps) #s(literal 1 binary64)) x) (sin.f64 eps)) x)
(* -1 (* x (- (* -1 (sin eps)) (/ 1 x))))
(*.f64 (neg.f64 x) (-.f64 (neg.f64 (sin.f64 eps)) (/.f64 #s(literal 1 binary64) x)))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(*.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (sin.f64 x)) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64))) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(*.f64 (-.f64 (*.f64 (fma.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/24 binary64))) eps (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps) (sin.f64 x)) eps)
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(*.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (sin.f64 x)) eps)
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64))) eps)
(* -1 (sin x))
(neg.f64 (sin.f64 x))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (sin.f64 x))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(*.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64))) (*.f64 eps eps))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(*.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) (-.f64 (*.f64 #s(literal 1/40320 binary64) (*.f64 eps eps)) #s(literal 1/720 binary64)) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64))) (*.f64 eps eps))
(+ 1 (* -1/2 (pow eps 2)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64))) (*.f64 eps eps) #s(literal 1 binary64))
(* -1 eps)
(neg.f64 eps)
(+ (cos x) (* -1 (* eps (sin x))))
(fma.f64 (neg.f64 eps) (sin.f64 x) (cos.f64 x))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (sin.f64 x)) eps (cos.f64 x))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(fma.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64))) eps (cos.f64 x))
(* eps (- (* -1/2 eps) x))
(*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
(*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) x (*.f64 #s(literal 1/24 binary64) eps)) eps) #s(literal 1/2 binary64)) eps) x) eps)
(+ 1 (* eps x))
(fma.f64 eps x #s(literal 1 binary64))
(+ 1 (* eps (+ x (* -1/6 (* (pow eps 2) x)))))
(fma.f64 x (fma.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -1/6 binary64) eps) #s(literal 1 binary64))
(+ 1 (* eps (+ x (* (pow eps 2) (+ (* -1/6 x) (* 1/120 (* (pow eps 2) x)))))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) (*.f64 x (fma.f64 (*.f64 #s(literal 1/120 binary64) eps) eps #s(literal -1/6 binary64))) (fma.f64 eps x #s(literal 1 binary64)))
-1
#s(literal -1 binary64)
(- (* 1/6 (pow eps 2)) 1)
(-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))
(* eps (+ 1 (* -1/6 (pow eps 2))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -1/6 binary64) eps)
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 eps eps)) #s(literal 1/6 binary64)) eps)
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal -1/5040 binary64) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 eps eps)) #s(literal 1/6 binary64))) eps)
(* 1/6 (* (pow eps 3) (sin x)))
(*.f64 (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal 1/6 binary64)) (sin.f64 x))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (pow.f64 eps #s(literal 3 binary64)))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 (sin.f64 x) #s(literal -1/6 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(* 1/6 (* (pow eps 2) (sin x)))
(*.f64 (*.f64 (*.f64 (sin.f64 x) eps) eps) #s(literal 1/6 binary64))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) eps) eps)
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 x) (/.f64 (neg.f64 (sin.f64 x)) eps)) eps)) (*.f64 eps eps))
(* eps (+ 1 (/ x eps)))
(fma.f64 (/.f64 x eps) eps eps)
(- (cos eps) (+ 1 (* x (sin eps))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(* 1/6 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(*.f64 (*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 #s(literal 1 binary64) (*.f64 eps eps))) eps) eps)
(sin eps)
(sin.f64 eps)
(- (cos (- x (* -1 eps))) (cos x))
(-.f64 (cos.f64 (+.f64 eps x)) (cos.f64 x))
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (pow.f64 eps #s(literal 3 binary64)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 (sin.f64 x) #s(literal -1/6 binary64) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(*.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/2 binary64) (cos.f64 x) (/.f64 (neg.f64 (sin.f64 x)) eps)) eps)) (*.f64 eps eps))
(cos (- x (* -1 eps)))
(cos.f64 (+.f64 eps x))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
(*.f64 (neg.f64 eps) (-.f64 (/.f64 (neg.f64 x) eps) #s(literal 1 binary64)))

rewrite189.0ms (1.4%)

Memory
6.4MiB live, 135.0MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
039181
066181
1251181
22091181
08462181
Stop Event
iter limit
node limit
iter limit
Counts
20 → 228
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
(*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps)
(fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
(sin.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(cos.f64 eps)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(neg.f64 eps)
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(sin.f64 eps)
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)) eps))
(*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)) eps)
(*.f64 eps (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64))) eps) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(/.f64 (*.f64 (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64))) eps) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))))
(/.f64 (*.f64 eps (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64)))) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(/.f64 (*.f64 eps (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
(fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps))
(fma.f64 eps (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 eps (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))))
(+.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps) (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
(+.f64 (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps))
(+.f64 (*.f64 eps (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (*.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(+.f64 (*.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)) (*.f64 eps (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 3 binary64)))) (*.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64)))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64))) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(/.f64 (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 2 binary64)) #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 eps (cos.f64 x)) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64))))
(fma.f64 (*.f64 eps (cos.f64 x)) #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(fma.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) #s(literal 1/6 binary64) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) #s(literal 1/6 binary64) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 (sin.f64 x) eps) (*.f64 #s(literal 1/6 binary64) eps) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 (sin.f64 x) eps) (*.f64 #s(literal 1/6 binary64) eps) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) (cos.f64 x) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) (sin.f64 x) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) (sin.f64 x) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 x) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(fma.f64 (cos.f64 x) (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps))
(fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 eps eps) (sin.f64 x)) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 eps eps) (sin.f64 x)) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 eps eps) (*.f64 #s(literal 1/6 binary64) (sin.f64 x)) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (*.f64 eps eps) (*.f64 #s(literal 1/6 binary64) (sin.f64 x)) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (sin.f64 x) (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (sin.f64 x) (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 (sin.f64 x) (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps))
(fma.f64 (sin.f64 x) (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps))
(fma.f64 eps (*.f64 (*.f64 #s(literal 1/6 binary64) eps) (sin.f64 x)) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 eps (*.f64 (*.f64 #s(literal 1/6 binary64) eps) (sin.f64 x)) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(fma.f64 eps (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))) (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (neg.f64 (cos.f64 x)) (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (neg.f64 eps) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))
(-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (neg.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))) (sin.f64 x)))
(-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (neg.f64 (sin.f64 x)) (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))))
(+.f64 (fma.f64 (*.f64 eps (cos.f64 x)) #s(literal -1/2 binary64) (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps))) (neg.f64 (sin.f64 x)))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (-.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))) (pow.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (-.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(+.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (neg.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps))
(+.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps))
(+.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)))
(sin.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(/.f64 (neg.f64 (neg.f64 (pow.f64 (sin.f64 eps) #s(literal 2 binary64)))) (neg.f64 (+.f64 #s(literal 1 binary64) (cos.f64 eps))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) (+.f64 #s(literal 1 binary64) (cos.f64 eps)))))
(/.f64 (neg.f64 (pow.f64 (sin.f64 eps) #s(literal 2 binary64))) (+.f64 #s(literal 1 binary64) (cos.f64 eps)))
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) #s(literal 1 binary64)) (fma.f64 (cos.f64 eps) (cos.f64 eps) (+.f64 #s(literal 1 binary64) (cos.f64 eps))))
(-.f64 (/.f64 (pow.f64 (cos.f64 eps) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (cos.f64 eps))) (pow.f64 (+.f64 #s(literal 1 binary64) (cos.f64 eps)) #s(literal -1 binary64)))
(-.f64 (/.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) (fma.f64 (cos.f64 eps) (cos.f64 eps) (+.f64 #s(literal 1 binary64) (cos.f64 eps)))) (pow.f64 (fma.f64 (cos.f64 eps) (cos.f64 eps) (+.f64 #s(literal 1 binary64) (cos.f64 eps))) #s(literal -1 binary64)))
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (cos.f64 eps))
(*.f64 (cos.f64 eps) #s(literal 1 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (neg.f64 eps) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (cos.f64 eps))) #s(literal 2 binary64))
(/.f64 (-.f64 (cos.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) eps) (/.f64 (PI.f64) #s(literal 2 binary64)))) (neg.f64 (cos.f64 eps))) #s(literal 2 binary64))
(fma.f64 (neg.f64 (sin.f64 eps)) #s(literal 0 binary64) (cos.f64 eps))
(fma.f64 (sin.f64 eps) #s(literal 0 binary64) (cos.f64 eps))
(fma.f64 #s(literal 1 binary64) (cos.f64 eps) (*.f64 #s(literal 0 binary64) (sin.f64 eps)))
(fma.f64 (cos.f64 eps) #s(literal 1 binary64) (*.f64 #s(literal 0 binary64) (sin.f64 eps)))
(sin.f64 (+.f64 (neg.f64 (neg.f64 eps)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 eps) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) eps))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 eps))))
(cos.f64 (neg.f64 (neg.f64 eps)))
(cos.f64 (neg.f64 eps))
(cos.f64 eps)
(+.f64 (*.f64 (neg.f64 (sin.f64 eps)) #s(literal 0 binary64)) (cos.f64 eps))
(+.f64 (*.f64 (sin.f64 eps) #s(literal 0 binary64)) (cos.f64 eps))
(+.f64 (cos.f64 eps) (*.f64 #s(literal 0 binary64) (sin.f64 eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(*.f64 (sin.f64 x) (neg.f64 eps))
(*.f64 eps (neg.f64 (sin.f64 x)))
(neg.f64 (*.f64 (sin.f64 x) eps))
(neg.f64 eps)
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 2 binary64)))) (neg.f64 (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 2 binary64))) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 3 binary64))) (fma.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x)))) (/.f64 (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 2 binary64)) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x)))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 3 binary64)) (fma.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) #s(literal 3 binary64)) (fma.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (+.f64 #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))) (cos.f64 (+.f64 eps x))) (pow.f64 (cos.f64 (+.f64 eps x)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))))
(-.f64 (cos.f64 (+.f64 eps x)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
(/.f64 (-.f64 (-.f64 (fma.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x))) (cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) eps)))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 eps x)) (cos.f64 (-.f64 (neg.f64 x) (neg.f64 eps)))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 x) eps)) (cos.f64 (+.f64 eps x))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 x (neg.f64 eps))) (cos.f64 (-.f64 x (neg.f64 eps)))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 eps x)) (cos.f64 (-.f64 eps x))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 eps x)))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64))) (cos.f64 (-.f64 eps x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(fma.f64 (neg.f64 (sin.f64 (+.f64 eps x))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 eps x)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 eps x))))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (neg.f64 (sin.f64 eps)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(sin.f64 (+.f64 (-.f64 (neg.f64 x) eps) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 eps x))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 eps x)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (-.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) (neg.f64 eps)))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps))
(sin.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (+.f64 eps x)))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (cos.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))) (*.f64 (sin.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))) (sin.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (neg.f64 (sin.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 eps)) (neg.f64 (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(cos.f64 (neg.f64 (-.f64 (neg.f64 x) eps)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 eps x)))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 eps x))))
(cos.f64 (-.f64 (neg.f64 x) eps))
(cos.f64 (neg.f64 (+.f64 eps x)))
(cos.f64 (+.f64 eps x))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(+.f64 (*.f64 (sin.f64 x) (neg.f64 (sin.f64 eps))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (neg.f64 (sin.f64 (+.f64 eps x))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 eps x))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 eps x))))
(+.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 (+.f64 eps x)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 eps x)) #s(literal 1 binary64)))
(+.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (*.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (pow.f64 eps #s(literal 3 binary64)))) (*.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(/.f64 (-.f64 (*.f64 eps eps) (*.f64 x x)) (-.f64 eps x))
(/.f64 (neg.f64 (*.f64 (+.f64 eps x) (-.f64 x eps))) (neg.f64 (-.f64 x eps)))
(/.f64 (neg.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(/.f64 (*.f64 (+.f64 eps x) (-.f64 x eps)) (-.f64 x eps))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 eps x))))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 eps (-.f64 eps x) (*.f64 x x)))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 eps))) (sqrt.f64 (neg.f64 (neg.f64 eps))) x)
(fma.f64 (sqrt.f64 (neg.f64 eps)) (sqrt.f64 (neg.f64 eps)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) x)
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 x))) (sqrt.f64 (neg.f64 (neg.f64 x))) eps)
(fma.f64 (sqrt.f64 (neg.f64 x)) (sqrt.f64 (neg.f64 x)) eps)
(fma.f64 (sqrt.f64 x) (sqrt.f64 x) eps)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 eps (-.f64 eps x) (*.f64 x x))))
(+.f64 eps x)
(+.f64 x eps)
#s(approx (cos x) (fma.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 2 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64)))) (neg.f64 (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps)) (pow.f64 (cos.f64 eps) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 2 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64))) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps)))
(/.f64 (-.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps)) (pow.f64 (cos.f64 eps) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (cos.f64 eps) #s(literal 2 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps))) (/.f64 (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps))))
(-.f64 (/.f64 (pow.f64 (cos.f64 eps) #s(literal 3 binary64)) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps)) (pow.f64 (cos.f64 eps) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (cos.f64 eps)) (pow.f64 (cos.f64 eps) #s(literal 2 binary64)))))
(-.f64 (-.f64 (cos.f64 eps) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64))
(-.f64 (-.f64 (cos.f64 eps) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(/.f64 (fma.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64))) (pow.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x)) #s(literal 2 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (sin.f64 eps) x)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) (*.f64 (sin.f64 eps) x))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 3 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x)))
(fma.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (sin.f64 eps) (*.f64 x #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 eps) x) #s(literal 1 binary64))
(fma.f64 x (*.f64 (sin.f64 eps) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 x (sin.f64 eps) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) (-.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (sin.f64 eps)) x))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 x) (sin.f64 eps)))
(+.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x))) (pow.f64 (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 eps) x) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x)) #s(literal -1 binary64)))
(+.f64 (*.f64 (sin.f64 eps) x) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (sin.f64 eps) x))
(/.f64 (fma.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 eps #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) #s(literal -1 binary64))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps))))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal -1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps))) eps #s(literal -1 binary64))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps)) (neg.f64 eps) #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(fma.f64 eps (fabs.f64 (*.f64 (neg.f64 eps) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 eps (fabs.f64 (*.f64 #s(literal 1/6 binary64) eps)) #s(literal -1 binary64))
(fma.f64 eps (*.f64 #s(literal 1/6 binary64) eps) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) #s(literal -1 binary64))) (pow.f64 (-.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 eps eps)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 eps eps)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 eps) (*.f64 #s(literal 1/6 binary64) eps)))
(+.f64 (/.f64 (*.f64 #s(literal 1/216 binary64) (pow.f64 eps #s(literal 6 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(+.f64 (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 eps eps)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 x))) x)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) x)) x)
(*.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 #s(literal 1/24 binary64) x) x)
(*.f64 (neg.f64 x) (*.f64 (neg.f64 x) #s(literal 1/24 binary64)))
(*.f64 (*.f64 x x) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 x x))
(*.f64 x (fabs.f64 (*.f64 (neg.f64 x) #s(literal 1/24 binary64))))
(*.f64 x (fabs.f64 (*.f64 #s(literal 1/24 binary64) x)))
(*.f64 x (*.f64 #s(literal 1/24 binary64) x))
(sqrt.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 x #s(literal 4 binary64))))
(fabs.f64 (neg.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64))))
(fabs.f64 (*.f64 (*.f64 x x) #s(literal 1/24 binary64)))
(sin.f64 eps)

eval38.0ms (0.3%)

Memory
32.2MiB live, 32.2MiB allocated
Compiler

Compiled 10 037 to 1 393 computations (86.1% saved)

prune52.0ms (0.4%)

Memory
-31.6MiB live, 22.7MiB allocated
Pruning

23 alts after pruning (20 fresh and 3 done)

PrunedKeptTotal
New32015335
Fresh257
Picked325
Done011
Total32523348
Accuracy
100.0%
Counts
348 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
53.5%
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
53.5%
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
52.7%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
52.7%
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
99.6%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
52.9%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
99.3%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
99.4%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
79.6%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
53.7%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
53.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
Compiler

Compiled 1 133 to 784 computations (30.8% saved)

simplify112.0ms (0.8%)

Memory
2.4MiB live, 95.2MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (cos x) #s(literal 1 binary64))
cost-diff0
(+.f64 x eps)
cost-diff0
(cos.f64 (+.f64 x eps))
cost-diff0
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
cost-diff0
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
cost-diff0
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
cost-diff1
(-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64))
cost-diff0
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
cost-diff0
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
cost-diff0
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
cost-diff0
(neg.f64 x)
cost-diff0
(*.f64 (neg.f64 x) eps)
cost-diff0
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
cost-diff0
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
cost-diff0
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
cost-diff2
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054383
086378
1183378
2449378
31229378
42675378
54333378
65743378
77818378
08101368
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
#s(literal 1/6 binary64)
(*.f64 eps eps)
eps
#s(literal -1 binary64)
(sin.f64 x)
x
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)
(*.f64 #s(literal -1/2 binary64) (cos.f64 x))
#s(literal -1/2 binary64)
(cos.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
(*.f64 (neg.f64 x) eps)
(neg.f64 x)
x
eps
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
eps
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(literal -1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64))
(*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)))
eps
(fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))
#s(literal 1/4 binary64)
x
(*.f64 #s(literal 1/6 binary64) eps)
#s(literal 1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
x
eps
#s(approx (cos x) #s(literal 1 binary64))
#s(literal 1 binary64)
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 x)) eps (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps (sin.f64 x)) (neg.f64 eps)))
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
(*.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (sin.f64 x)) eps (*.f64 #s(literal 1/2 binary64) (cos.f64 x))) eps (sin.f64 x)) (neg.f64 eps))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
(*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
#s(literal 1/6 binary64)
(*.f64 eps eps)
eps
#s(literal -1 binary64)
(sin.f64 x)
x
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)
(*.f64 #s(literal -1/2 binary64) (cos.f64 x))
#s(literal -1/2 binary64)
(cos.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
(*.f64 (neg.f64 x) eps)
(neg.f64 x)
x
eps
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) eps) x)))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) eps) x))
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) eps) x)
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)) eps)
eps
(fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))
(*.f64 #s(literal 1/6 binary64) x)
#s(literal 1/6 binary64)
x
#s(literal -1 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(fma.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64))
(fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps #s(literal -1 binary64))
(*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)))
(*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps)
eps
(fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))
#s(literal 1/4 binary64)
x
(*.f64 #s(literal 1/6 binary64) eps)
#s(literal 1/6 binary64)
#s(literal 1 binary64)
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 eps x)) #s(approx (cos x) #s(literal 1 binary64)))
(cos.f64 (+.f64 x eps))
(cos.f64 (+.f64 eps x))
(+.f64 x eps)
(+.f64 eps x)
x
eps
#s(approx (cos x) #s(literal 1 binary64))
#s(literal 1 binary64)

localize350.0ms (2.6%)

Memory
26.3MiB live, 347.3MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(+.f64 x eps)
accuracy0.1396741180528605
(cos.f64 (+.f64 x eps))
accuracy1.0990736458820687
#s(approx (cos x) #s(literal 1 binary64))
accuracy29.594536059106037
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
accuracy0.15234375
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
accuracy0.3671875
(*.f64 #s(literal 1/6 binary64) eps)
accuracy1.128345257443646
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
accuracy0.00390625
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
accuracy0.359375
(*.f64 #s(literal 1/6 binary64) x)
accuracy0.9878576607381145
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
accuracy13.034887159733469
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
accuracy0.0
(*.f64 (neg.f64 x) eps)
accuracy0.0
(neg.f64 x)
accuracy1.112763524272916
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
accuracy13.034887159733469
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
accuracy0.00390625
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
accuracy0.01171875
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
accuracy0.015625
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
Samples
198.0ms178×2valid
98.0ms76×1valid
2.0ms5exit
0.0ms0valid
Compiler

Compiled 261 to 47 computations (82% saved)

Precisions
Click to see histograms. Total time spent on operations: 253.0ms
adjust: 88.0ms (34.8% of total)
ival-cos: 68.0ms (26.9% of total)
ival-mult: 54.0ms (21.4% of total)
ival-add: 25.0ms (9.9% of total)
ival-sub: 6.0ms (2.4% of total)
const: 5.0ms (2% of total)
ival-sin: 4.0ms (1.6% of total)
ival-neg: 2.0ms (0.8% of total)
exact: 1.0ms (0.4% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series24.0ms (0.2%)

Memory
16.7MiB live, 16.7MiB allocated
Counts
23 → 98
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
(*.f64 (neg.f64 x) eps)
(neg.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
(-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
#s(approx (cos x) #s(literal 1 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 1/6 binary64) eps)
Outputs
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* x (- (* 1/6 (pow eps 2)) 1))
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(* -1 (* eps x))
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(* -1 x)
(* -1 eps)
(+ (* -1 eps) (* 1/6 (* eps (pow x 2))))
(- (* 1/6 (pow eps 2)) 1)
(- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(* 1/6 x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(- (cos (+ eps x)) (cos x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(* -1 (* eps (sin x)))
(* 1/6 (* eps (pow x 3)))
(* (pow x 3) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(* 1/6 (* eps (pow x 2)))
(* (pow x 2) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(* 1/4 (* eps x))
(* x (- (+ (* 1/6 (/ (pow eps 2) x)) (* 1/4 eps)) (/ 1 x)))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(cos (+ eps x))
x
(* x (+ 1 (/ eps x)))
(cos x)
(* -1/2 (* (pow eps 2) (cos x)))
(- (cos (- eps (* -1 x))) (cos x))
(* -1 (* (pow x 3) (+ (* -1/6 eps) (/ eps (pow x 2)))))
(* -1 (* x (+ (* -1 (/ (- (* 1/6 (pow eps 2)) 1) x)) (* -1/4 eps))))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(* -1 (sin x))
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
-1
(* eps (* x (- (* 1/6 (pow x 2)) 1)))
(* eps (- (* 1/6 (pow x 2)) 1))
(- (* 1/4 (* eps x)) 1)
(- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1)
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* 1/6 eps)
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(* 1/6 (pow eps 2))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(* (pow eps 2) (+ 1/6 (* 1/4 (/ x eps))))
(* (pow eps 2) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* eps (+ 1 (/ x eps)))
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(- (cos (- x (* -1 eps))) (cos x))
(* (pow eps 2) (+ 1/6 (* -1 (/ (+ (* -1/4 x) (/ 1 eps)) eps))))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Calls

6 calls:

TimeVariablePointExpression
4.0ms
eps
@0
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (+ (* 1/6 (* eps eps)) -1) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (neg x) eps) (neg x) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (* eps (+ (* (* 1/6 x) x) -1)) x) (* eps (+ (* (* 1/6 x) x) -1)) (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (* (* (* -1/2 (cos x)) eps) eps) (* 1/6 x) (* 1/6 eps))
4.0ms
x
@inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (+ (* 1/6 (* eps eps)) -1) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (neg x) eps) (neg x) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (* eps (+ (* (* 1/6 x) x) -1)) x) (* eps (+ (* (* 1/6 x) x) -1)) (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (* (* (* -1/2 (cos x)) eps) eps) (* 1/6 x) (* 1/6 eps))
4.0ms
eps
@inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (+ (* 1/6 (* eps eps)) -1) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (neg x) eps) (neg x) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (* eps (+ (* (* 1/6 x) x) -1)) x) (* eps (+ (* (* 1/6 x) x) -1)) (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (* (* (* -1/2 (cos x)) eps) eps) (* 1/6 x) (* 1/6 eps))
4.0ms
eps
@-inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (+ (* 1/6 (* eps eps)) -1) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (neg x) eps) (neg x) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (* eps (+ (* (* 1/6 x) x) -1)) x) (* eps (+ (* (* 1/6 x) x) -1)) (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (* (* (* -1/2 (cos x)) eps) eps) (* 1/6 x) (* 1/6 eps))
4.0ms
x
@-inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (+ (* 1/6 (* eps eps)) -1) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (neg x) eps) (neg x) (- (cos (+ x eps)) (cos x)) (* (neg eps) (sin x)) (* (* eps (+ (* (* 1/6 x) x) -1)) x) (* eps (+ (* (* 1/6 x) x) -1)) (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (- (cos (+ x eps)) (cos x)) (cos (+ x eps)) (+ x eps) (cos x) (* (* (* -1/2 (cos x)) eps) eps) (* 1/6 x) (* 1/6 eps))

simplify150.0ms (1.1%)

Memory
-40.1MiB live, 53.2MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03031289
110251228
236791172
082561098
Stop Event
iter limit
node limit
Counts
98 → 96
Calls
Call 1
Inputs
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* x (- (* 1/6 (pow eps 2)) 1))
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(* -1 (* eps x))
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(* -1 x)
(* -1 eps)
(+ (* -1 eps) (* 1/6 (* eps (pow x 2))))
(- (* 1/6 (pow eps 2)) 1)
(- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(cos eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
eps
(+ eps x)
1
(+ 1 (* -1/2 (pow x 2)))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(* 1/6 x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(- (cos (+ eps x)) (cos x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(* -1 (* eps (sin x)))
(* 1/6 (* eps (pow x 3)))
(* (pow x 3) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(* 1/6 (* eps (pow x 2)))
(* (pow x 2) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(* 1/4 (* eps x))
(* x (- (+ (* 1/6 (/ (pow eps 2) x)) (* 1/4 eps)) (/ 1 x)))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(cos (+ eps x))
x
(* x (+ 1 (/ eps x)))
(cos x)
(* -1/2 (* (pow eps 2) (cos x)))
(- (cos (- eps (* -1 x))) (cos x))
(* -1 (* (pow x 3) (+ (* -1/6 eps) (/ eps (pow x 2)))))
(* -1 (* x (+ (* -1 (/ (- (* 1/6 (pow eps 2)) 1) x)) (* -1/4 eps))))
(cos (- eps (* -1 x)))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(* -1 (sin x))
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
-1
(* eps (* x (- (* 1/6 (pow x 2)) 1)))
(* eps (- (* 1/6 (pow x 2)) 1))
(- (* 1/4 (* eps x)) 1)
(- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1)
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(+ (cos x) (* -1 (* eps (sin x))))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(* 1/6 eps)
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(* 1/6 (pow eps 2))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(* (pow eps 2) (+ 1/6 (* 1/4 (/ x eps))))
(* (pow eps 2) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* eps (+ 1 (/ x eps)))
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(- (cos (- x (* -1 eps))) (cos x))
(* (pow eps 2) (+ 1/6 (* -1 (/ (+ (* -1/4 x) (/ 1 eps)) eps))))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(cos (- x (* -1 eps)))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
Outputs
(* -1/2 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))
(- (cos eps) 1)
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 (cos.f64 eps) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 eps) x) #s(literal 1/6 binary64) (fma.f64 (cos.f64 eps) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(* x (- (* 1/6 (pow eps 2)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(*.f64 (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x)
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64))) (*.f64 x x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x)
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64))) (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x)
(* -1 (* eps x))
(*.f64 (neg.f64 x) eps)
(* x (+ (* -1 eps) (* 1/6 (* eps (pow x 2)))))
(*.f64 eps (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64) (neg.f64 x)))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* -1/120 (* eps (pow x 2))) (* 1/6 eps)))))
(fma.f64 (pow.f64 x #s(literal 3 binary64)) (*.f64 eps (fma.f64 #s(literal -1/120 binary64) (*.f64 x x) #s(literal 1/6 binary64))) (*.f64 (neg.f64 x) eps))
(* x (+ (* -1 eps) (* (pow x 2) (+ (* 1/6 eps) (* (pow x 2) (+ (* -1/120 eps) (* 1/5040 (* eps (pow x 2)))))))))
(*.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 eps (fma.f64 #s(literal 1/5040 binary64) (*.f64 x x) #s(literal -1/120 binary64))) (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))) x)
(* -1 x)
(neg.f64 x)
(* -1 eps)
(neg.f64 eps)
(+ (* -1 eps) (* 1/6 (* eps (pow x 2))))
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
(- (* 1/6 (pow eps 2)) 1)
(-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))
(- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps) #s(literal 1 binary64))
(* -1/2 eps)
(*.f64 #s(literal -1/2 binary64) eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))
(cos eps)
(cos.f64 eps)
(+ (cos eps) (* -1 (* x (sin eps))))
(fma.f64 (neg.f64 x) (sin.f64 eps) (cos.f64 eps))
(+ (cos eps) (* x (- (* -1/2 (* x (cos eps))) (sin eps))))
(fma.f64 (-.f64 (*.f64 (*.f64 (cos.f64 eps) x) #s(literal -1/2 binary64)) (sin.f64 eps)) x (cos.f64 eps))
(+ (cos eps) (* x (- (* x (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps))))) (sin eps))))
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 eps) x) #s(literal 1/6 binary64) (*.f64 (cos.f64 eps) #s(literal -1/2 binary64))) x) (sin.f64 eps)) x (cos.f64 eps))
eps
(+ eps x)
(+.f64 x eps)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow x 2)))
(fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* 1/24 (pow x 2)) 1/2)))
(fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))
(+ 1 (* (pow x 2) (- (* (pow x 2) (+ 1/24 (* -1/720 (pow x 2)))) 1/2)))
(fma.f64 (fma.f64 (pow.f64 x #s(literal 4 binary64)) #s(literal -1/720 binary64) (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64))) (*.f64 x x) #s(literal 1 binary64))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(fma.f64 (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal -1/48 binary64) #s(literal 1/4 binary64))) (*.f64 x x) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(fma.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/1440 binary64) #s(literal -1/48 binary64))) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))
(* 1/6 x)
(*.f64 #s(literal 1/6 binary64) x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(- (cos (+ eps x)) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(*.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)))
(* -1 (* eps (sin x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(* 1/6 (* eps (pow x 3)))
(*.f64 (*.f64 (pow.f64 x #s(literal 3 binary64)) eps) #s(literal 1/6 binary64))
(* (pow x 3) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) eps (/.f64 eps (*.f64 x x))))
(* 1/6 (* eps (pow x 2)))
(*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))
(* (pow x 2) (+ (* -1 (/ eps (pow x 2))) (* 1/6 eps)))
(*.f64 (*.f64 eps (-.f64 (/.f64 #s(literal -1 binary64) (*.f64 x x)) #s(literal -1/6 binary64))) (*.f64 x x))
(* 1/4 (* eps x))
(*.f64 (*.f64 x eps) #s(literal 1/4 binary64))
(* x (- (+ (* 1/6 (/ (pow eps 2) x)) (* 1/4 eps)) (/ 1 x)))
(*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x)))
(cos (+ eps x))
(cos.f64 (+.f64 x eps))
x
(* x (+ 1 (/ eps x)))
(fma.f64 (/.f64 eps x) x x)
(cos x)
(cos.f64 x)
(* -1/2 (* (pow eps 2) (cos x)))
(*.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) eps)
(- (cos (- eps (* -1 x))) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* -1 (* (pow x 3) (+ (* -1/6 eps) (/ eps (pow x 2)))))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) eps (/.f64 eps (*.f64 x x))))
(* -1 (* x (+ (* -1 (/ (- (* 1/6 (pow eps 2)) 1) x)) (* -1/4 eps))))
(*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)
(cos (- eps (* -1 x)))
(cos.f64 (+.f64 x eps))
(* -1 (* x (- (* -1 (/ eps x)) 1)))
(*.f64 (neg.f64 x) (-.f64 (/.f64 (neg.f64 eps) x) #s(literal 1 binary64)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x))) eps)
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(*.f64 (-.f64 (*.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (sin.f64 x) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/24 binary64))) eps (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps) (sin.f64 x)) eps)
(* -1 (sin x))
(neg.f64 (sin.f64 x))
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
(*.f64 (sin.f64 x) (fma.f64 (*.f64 #s(literal 1/6 binary64) eps) eps #s(literal -1 binary64)))
-1
#s(literal -1 binary64)
(* eps (* x (- (* 1/6 (pow x 2)) 1)))
(*.f64 eps (fma.f64 (pow.f64 x #s(literal 3 binary64)) #s(literal 1/6 binary64) (neg.f64 x)))
(* eps (- (* 1/6 (pow x 2)) 1))
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
(- (* 1/4 (* eps x)) 1)
(-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))
(- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1)
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps)) eps) #s(literal 1 binary64))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x)))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x)))
(+ (cos x) (* -1 (* eps (sin x))))
(fma.f64 (neg.f64 (sin.f64 x)) eps (cos.f64 x))
(+ (cos x) (* eps (- (* -1/2 (* eps (cos x))) (sin x))))
(fma.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x))) eps (cos.f64 x))
(+ (cos x) (* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps (cos.f64 x))
(* 1/6 eps)
(*.f64 #s(literal 1/6 binary64) eps)
(* 1/6 (* (pow eps 3) (sin x)))
(*.f64 (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal 1/6 binary64)) (sin.f64 x))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (sin.f64 x))) (pow.f64 eps #s(literal 3 binary64)))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(* 1/6 (* (pow eps 2) (sin x)))
(*.f64 (*.f64 (*.f64 (sin.f64 x) eps) eps) #s(literal 1/6 binary64))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(*.f64 (*.f64 (sin.f64 x) (-.f64 (/.f64 (/.f64 #s(literal -1 binary64) eps) eps) #s(literal -1/6 binary64))) (*.f64 eps eps))
(* 1/6 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
(* (pow eps 2) (- 1/6 (/ 1 (pow eps 2))))
(*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 (/.f64 #s(literal 1 binary64) eps) eps)) (*.f64 eps eps))
(* (pow eps 2) (+ 1/6 (* 1/4 (/ x eps))))
(*.f64 (*.f64 (fma.f64 (/.f64 x eps) #s(literal 1/4 binary64) #s(literal 1/6 binary64)) eps) eps)
(* (pow eps 2) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) x (/.f64 #s(literal 1 binary64) eps)) eps)) (*.f64 eps eps))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (sin.f64 x))) eps) eps)
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps))) (*.f64 eps eps))
(* eps (+ 1 (/ x eps)))
(fma.f64 (/.f64 x eps) eps eps)
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 #s(literal 1/6 binary64) (sin.f64 x))) (pow.f64 eps #s(literal 3 binary64)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(- (cos (- x (* -1 eps))) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* (pow eps 2) (+ 1/6 (* -1 (/ (+ (* -1/4 x) (/ 1 eps)) eps))))
(*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) x (/.f64 #s(literal 1 binary64) eps)) eps)) (*.f64 eps eps))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps))) (*.f64 eps eps))
(cos (- x (* -1 eps)))
(cos.f64 (+.f64 x eps))
(* -1 (* eps (- (* -1 (/ x eps)) 1)))
(*.f64 (-.f64 (/.f64 x (neg.f64 eps)) #s(literal 1 binary64)) (neg.f64 eps))

rewrite162.0ms (1.2%)

Memory
13.6MiB live, 104.1MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
054308
086303
1331303
22342303
08527298
Stop Event
iter limit
node limit
iter limit
Counts
23 → 239
Calls
Call 1
Inputs
(fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
(*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
(*.f64 (neg.f64 x) eps)
(neg.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x))
(*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)
(*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64)))
(-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
(cos.f64 (+.f64 x eps))
(+.f64 x eps)
#s(approx (cos x) #s(literal 1 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 #s(literal 1/6 binary64) eps)
Outputs
(*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))) eps)
(*.f64 eps (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))) (*.f64 (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 2 binary64))))) (*.f64 (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))) (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64))) (*.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64))) (*.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (pow.f64 eps #s(literal 6 binary64))))) (*.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)))))
(/.f64 (*.f64 eps (-.f64 (pow.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) #s(literal 2 binary64)) (*.f64 (pow.f64 (*.f64 (cos.f64 x) eps) #s(literal 2 binary64)) #s(literal 1/4 binary64)))) (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))
(/.f64 (*.f64 eps (fma.f64 (pow.f64 (*.f64 (cos.f64 x) eps) #s(literal 3 binary64)) #s(literal -1/8 binary64) (pow.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) #s(literal 3 binary64)))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))) (pow.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) #s(literal 2 binary64))))
(/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 2 binary64))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (fma.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64)) (*.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 2 binary64))))) (neg.f64 (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))))
(/.f64 (neg.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 2 binary64)))) (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps))))
(/.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64)) (-.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps))))))
(/.f64 (fma.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64))))
(fma.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (*.f64 (sin.f64 x) eps) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 (*.f64 (sin.f64 x) eps) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) (neg.f64 eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (cos.f64 x) eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) eps (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) eps (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) eps (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (cos.f64 x) (*.f64 #s(literal -1/2 binary64) (*.f64 eps eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (cos.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) eps) eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 eps eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 x) eps) eps) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) eps) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 (sin.f64 x) (*.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) eps) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (sin.f64 x) eps) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (sin.f64 x) eps) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 eps (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
(fma.f64 eps (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 eps (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))) (/.f64 (*.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 2 binary64))) (*.f64 eps (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)))))
(-.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) (*.f64 eps eps)))
(-.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (neg.f64 eps) (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64))))
(-.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (neg.f64 (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))) eps))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (neg.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (*.f64 (sin.f64 x) eps)))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (neg.f64 eps) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)))) (/.f64 (*.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (cos.f64 x) #s(literal 3 binary64))) (pow.f64 eps #s(literal 6 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x))) (pow.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) #s(literal 2 binary64)))))
(+.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(+.f64 (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(+.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (*.f64 eps (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))) (sin.f64 x)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))) eps))
(*.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)))
(*.f64 (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (sin.f64 x))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64)) (sin.f64 x)) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) (sin.f64 x)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(/.f64 (*.f64 (sin.f64 x) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)))
(/.f64 (*.f64 (sin.f64 x) (fma.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) #s(literal 2 binary64)) (pow.f64 (sin.f64 x) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (neg.f64 (sin.f64 x))))
(/.f64 (fma.f64 (pow.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) #s(literal 3 binary64)) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (neg.f64 (sin.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) #s(literal 2 binary64)) (-.f64 (pow.f64 (sin.f64 x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (neg.f64 (sin.f64 x))))))
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps #s(literal 1/6 binary64))) eps (neg.f64 (sin.f64 x)))
(fma.f64 (*.f64 (sin.f64 x) (*.f64 eps eps)) #s(literal 1/6 binary64) (neg.f64 (sin.f64 x)))
(fma.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps) (neg.f64 (sin.f64 x)))
(fma.f64 (*.f64 (sin.f64 x) eps) (*.f64 eps #s(literal 1/6 binary64)) (neg.f64 (sin.f64 x)))
(fma.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) (sin.f64 x) (neg.f64 (sin.f64 x)))
(fma.f64 (*.f64 eps #s(literal 1/6 binary64)) (*.f64 (sin.f64 x) eps) (neg.f64 (sin.f64 x)))
(fma.f64 (sin.f64 x) (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) (neg.f64 (sin.f64 x)))
(fma.f64 (sin.f64 x) #s(literal -1 binary64) (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)))
(fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)))
(fma.f64 (*.f64 eps eps) (*.f64 #s(literal 1/6 binary64) (sin.f64 x)) (neg.f64 (sin.f64 x)))
(fma.f64 eps (*.f64 (*.f64 eps #s(literal 1/6 binary64)) (sin.f64 x)) (neg.f64 (sin.f64 x)))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 eps eps) (sin.f64 x)) (neg.f64 (sin.f64 x)))
(-.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (*.f64 #s(literal 1 binary64) (sin.f64 x)))
(-.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (*.f64 (neg.f64 (sin.f64 x)) #s(literal -1 binary64)))
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)))
(+.f64 (*.f64 (*.f64 (sin.f64 x) #s(literal 1/6 binary64)) (*.f64 eps eps)) (neg.f64 (sin.f64 x)))
(/.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)) #s(literal 1 binary64))) (*.f64 (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64))))
(/.f64 (fma.f64 (*.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) #s(literal -1 binary64))) (*.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)))) (-.f64 #s(literal -1 binary64) (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps)))
(/.f64 (neg.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (neg.f64 (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(/.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)))
(/.f64 (fma.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(/.f64 (fma.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64)))))
(fma.f64 (fabs.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps))) eps #s(literal -1 binary64))
(fma.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps)) (neg.f64 eps) #s(literal -1 binary64))
(fma.f64 (*.f64 eps #s(literal 1/6 binary64)) eps #s(literal -1 binary64))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64))
(fma.f64 eps (fabs.f64 (*.f64 (neg.f64 eps) #s(literal 1/6 binary64))) #s(literal -1 binary64))
(fma.f64 eps (*.f64 eps #s(literal 1/6 binary64)) #s(literal -1 binary64))
(fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64))
(-.f64 (/.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 eps #s(literal 1/6 binary64))) eps))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 (*.f64 eps eps)) #s(literal 1/6 binary64)))
(-.f64 #s(literal -1 binary64) (*.f64 (neg.f64 eps) (*.f64 eps #s(literal 1/6 binary64))))
(-.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 eps eps)))
(+.f64 (/.f64 (*.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/216 binary64)) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))) (/.f64 #s(literal -1 binary64) (fma.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/6 binary64))))))
(+.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal -1 binary64))
(+.f64 #s(literal -1 binary64) (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps))
(*.f64 (neg.f64 x) eps)
(*.f64 x (neg.f64 eps))
(*.f64 eps (neg.f64 x))
(neg.f64 (*.f64 x eps))
(neg.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) eps) x)))
#s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) eps) x))
(*.f64 (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) x) eps)
(*.f64 (*.f64 x eps) (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)))
(*.f64 (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) eps) x)
(*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))
(*.f64 x (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) eps))
(*.f64 eps (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) x))
(fma.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) x (*.f64 (neg.f64 eps) x))
(fma.f64 x (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) (*.f64 (neg.f64 x) eps))
(+.f64 (*.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) x) (*.f64 (neg.f64 eps) x))
(+.f64 (*.f64 x (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps)) (*.f64 (neg.f64 x) eps))
(*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) eps)
(*.f64 eps (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1 binary64)) eps) (-.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64)) eps) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) #s(literal -1 binary64)))))
(/.f64 (*.f64 eps (-.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64))) #s(literal 1 binary64))) (-.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) #s(literal -1 binary64)))
(/.f64 (*.f64 eps (fma.f64 (pow.f64 x #s(literal 6 binary64)) #s(literal 1/216 binary64) #s(literal -1 binary64))) (fma.f64 #s(literal 1/36 binary64) (pow.f64 x #s(literal 4 binary64)) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) #s(literal -1 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) #s(literal 2 binary64)) (*.f64 eps eps)) (-.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) (neg.f64 eps)))
(/.f64 (fma.f64 #s(literal 1/216 binary64) (pow.f64 (*.f64 (*.f64 x x) eps) #s(literal 3 binary64)) (pow.f64 (neg.f64 eps) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) #s(literal 2 binary64)) (-.f64 (*.f64 eps eps) (*.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) (neg.f64 eps)))))
(fma.f64 (*.f64 eps (*.f64 x #s(literal 1/6 binary64))) x (neg.f64 eps))
(fma.f64 (*.f64 x eps) (*.f64 x #s(literal 1/6 binary64)) (neg.f64 eps))
(fma.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps (neg.f64 eps))
(fma.f64 (*.f64 eps #s(literal 1/6 binary64)) (*.f64 x x) (neg.f64 eps))
(fma.f64 (*.f64 x #s(literal 1/6 binary64)) (*.f64 x eps) (neg.f64 eps))
(fma.f64 x (*.f64 (*.f64 x #s(literal 1/6 binary64)) eps) (neg.f64 eps))
(fma.f64 #s(literal -1 binary64) eps (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps))
(fma.f64 eps (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) (neg.f64 eps))
(fma.f64 eps #s(literal -1 binary64) (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps))
(fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 x x) eps) (neg.f64 eps))
(-.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) (*.f64 (neg.f64 eps) #s(literal -1 binary64)))
(-.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) eps)
(+.f64 (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps) (neg.f64 eps))
(+.f64 (neg.f64 eps) (*.f64 (*.f64 (*.f64 x #s(literal 1/6 binary64)) x) eps))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64))) (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64))) (pow.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) #s(literal 2 binary64)))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 3 binary64)) (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)))) (*.f64 (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64))) #s(literal 1 binary64))) (*.f64 (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64))) (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64))))
(fma.f64 (*.f64 eps #s(literal 1/4 binary64)) x (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(fma.f64 (*.f64 x eps) #s(literal 1/4 binary64) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(fma.f64 #s(literal 1/4 binary64) (*.f64 x eps) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(fma.f64 x (*.f64 #s(literal 1/4 binary64) eps) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(fma.f64 eps (*.f64 #s(literal 1/4 binary64) x) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64))) (pow.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 3 binary64)) (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64)))) (pow.f64 (+.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps #s(literal 1 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 2 binary64))) #s(literal -1 binary64)))
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64))
(+.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps)
(*.f64 eps #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps)))
(/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps)))) (*.f64 (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 2 binary64)))) (*.f64 (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 3 binary64)) (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)))) (*.f64 (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64))) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 3 binary64)))) (*.f64 (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64))) (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 2 binary64)))) (neg.f64 (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 3 binary64)) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 2 binary64))) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))))
(/.f64 (-.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 3 binary64)) (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps)))) (/.f64 (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps)))))
(-.f64 (/.f64 (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 3 binary64)) (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)))) (/.f64 (pow.f64 #s(approx (cos x) #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 #s(approx (cos x) #s(literal 1 binary64)) (+.f64 #s(approx (cos x) #s(literal 1 binary64)) (cos.f64 (+.f64 x eps))) (pow.f64 (cos.f64 (+.f64 x eps)) #s(literal 2 binary64)))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) #s(approx (cos x) #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 x) eps)) (cos.f64 (+.f64 x eps))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 x eps))))) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 eps x))) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 x eps))))) #s(literal 4 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 (neg.f64 x) eps)) (cos.f64 (+.f64 x eps))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 x eps)))) #s(literal 2 binary64))
(/.f64 (-.f64 (+.f64 (cos.f64 (+.f64 x eps)) (cos.f64 (-.f64 eps x))) (-.f64 (cos.f64 (-.f64 eps x)) (cos.f64 (+.f64 x eps)))) #s(literal 2 binary64))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64))) (cos.f64 (-.f64 eps x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 3 binary64)) (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sin.f64 eps) (sin.f64 x)) #s(literal 2 binary64)) (*.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x))))))
(fma.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(fma.f64 (sin.f64 (neg.f64 (+.f64 x eps))) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 x eps)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 (+.f64 x eps)) #s(literal 0 binary64) (*.f64 (cos.f64 (+.f64 x eps)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 eps) (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 eps) (cos.f64 x)))
(fma.f64 (cos.f64 eps) (cos.f64 x) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(fma.f64 #s(literal 1 binary64) (cos.f64 (+.f64 x eps)) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 x eps))))
(fma.f64 (cos.f64 x) (cos.f64 eps) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(fma.f64 (sin.f64 x) (cos.f64 (+.f64 eps (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(sin.f64 (+.f64 (-.f64 (neg.f64 x) eps) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (neg.f64 (+.f64 x eps))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (neg.f64 (+.f64 x eps)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps))
(sin.f64 (+.f64 eps (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)))
(-.f64 (*.f64 (cos.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x))))) (cos.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x)))))) (*.f64 (sin.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x))))) (sin.f64 (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x)))))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 (neg.f64 eps))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 (neg.f64 eps)) (neg.f64 (sin.f64 x))))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (sin.f64 eps) (sin.f64 x)))
(cos.f64 (neg.f64 (-.f64 (neg.f64 x) eps)))
(cos.f64 (neg.f64 (neg.f64 (neg.f64 (+.f64 x eps)))))
(cos.f64 (neg.f64 (neg.f64 (+.f64 x eps))))
(cos.f64 (-.f64 (neg.f64 x) eps))
(cos.f64 (neg.f64 (+.f64 x eps)))
(cos.f64 (+.f64 x eps))
(+.f64 (*.f64 (cos.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (cos.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))) (*.f64 (sin.f64 (/.f64 (*.f64 x x) (-.f64 x eps))) (sin.f64 (/.f64 (*.f64 eps eps) (-.f64 x eps)))))
(+.f64 (*.f64 (sin.f64 (neg.f64 (+.f64 x eps))) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 x eps)) #s(literal 1 binary64)))
(+.f64 (*.f64 #s(literal 1 binary64) (cos.f64 (+.f64 x eps))) (*.f64 #s(literal 0 binary64) (sin.f64 (+.f64 x eps))))
(+.f64 (*.f64 (sin.f64 x) (cos.f64 (+.f64 eps (/.f64 (PI.f64) #s(literal 2 binary64))))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 eps) (neg.f64 (sin.f64 x))) (*.f64 (cos.f64 eps) (cos.f64 x)))
(+.f64 (*.f64 (sin.f64 (+.f64 x eps)) #s(literal 0 binary64)) (*.f64 (cos.f64 (+.f64 x eps)) #s(literal 1 binary64)))
(+.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (*.f64 (neg.f64 (sin.f64 x)) (sin.f64 eps)))
(/.f64 (-.f64 (*.f64 (*.f64 x x) (-.f64 x eps)) (*.f64 (-.f64 x eps) (*.f64 eps eps))) (*.f64 (-.f64 x eps) (-.f64 x eps)))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x))) (*.f64 (fma.f64 x x (*.f64 eps (-.f64 eps x))) (pow.f64 eps #s(literal 3 binary64)))) (*.f64 (fma.f64 x x (*.f64 eps (-.f64 eps x))) (fma.f64 x x (*.f64 eps (-.f64 eps x)))))
(/.f64 (-.f64 (*.f64 eps eps) (*.f64 x x)) (-.f64 eps x))
(/.f64 (neg.f64 (*.f64 (+.f64 x eps) (-.f64 x eps))) (neg.f64 (-.f64 x eps)))
(/.f64 (neg.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 x x (*.f64 eps (-.f64 eps x)))))
(/.f64 (*.f64 (+.f64 x eps) (-.f64 x eps)) (-.f64 x eps))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 eps eps (-.f64 (*.f64 x x) (*.f64 x eps))))
(/.f64 (+.f64 (pow.f64 eps #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 x x (*.f64 eps (-.f64 eps x))))
(fma.f64 (sqrt.f64 (neg.f64 (neg.f64 eps))) (sqrt.f64 (neg.f64 (neg.f64 eps))) x)
(fma.f64 (sqrt.f64 (neg.f64 eps)) (sqrt.f64 (neg.f64 eps)) x)
(fma.f64 (sqrt.f64 eps) (sqrt.f64 eps) x)
(fma.f64 #s(literal 1 binary64) eps x)
(fma.f64 eps #s(literal 1 binary64) x)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x eps)) (/.f64 (*.f64 eps eps) (-.f64 x eps)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x)))) (/.f64 (pow.f64 eps #s(literal 3 binary64)) (fma.f64 x x (*.f64 eps (-.f64 eps x)))))
(+.f64 x eps)
(+.f64 eps x)
#s(approx (cos x) #s(literal 1 binary64))
(*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) (neg.f64 eps))
(*.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (cos.f64 x) eps))
(*.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) eps)
(*.f64 (cos.f64 x) (*.f64 #s(literal -1/2 binary64) (*.f64 eps eps)))
(*.f64 (cos.f64 x) (*.f64 (*.f64 #s(literal -1/2 binary64) eps) eps))
(*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 eps eps))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 x) eps) eps))
(*.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 x) (*.f64 eps eps)))
(*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) #s(literal -1/2 binary64)))
(*.f64 eps (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)))
(*.f64 x #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) x)
(*.f64 eps #s(literal 1/6 binary64))
(*.f64 #s(literal 1/6 binary64) eps)
(sqrt.f64 (*.f64 #s(literal 1/36 binary64) (*.f64 eps eps)))
(fabs.f64 (neg.f64 (*.f64 eps #s(literal 1/6 binary64))))
(fabs.f64 (*.f64 eps #s(literal 1/6 binary64)))

eval43.0ms (0.3%)

Memory
4.7MiB live, 48.8MiB allocated
Compiler

Compiled 10 640 to 1 450 computations (86.4% saved)

prune23.0ms (0.2%)

Memory
35.6MiB live, 35.6MiB allocated
Pruning

28 alts after pruning (22 fresh and 6 done)

PrunedKeptTotal
New3099318
Fresh21315
Picked235
Done033
Total31328341
Accuracy
100.0%
Counts
341 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
53.5%
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
53.5%
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
52.7%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
52.7%
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
99.0%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
99.6%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
52.9%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
99.3%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
99.4%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
79.6%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
53.7%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
53.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
52.4%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
Compiler

Compiled 1 535 to 1 057 computations (31.1% saved)

simplify162.0ms (1.2%)

Memory
-42.4MiB live, 104.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
cost-diff0
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
cost-diff0
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
cost-diff0
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
cost-diff2
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
cost-diff4
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
cost-diff0
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
cost-diff0
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
cost-diff0
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
cost-diff0
(*.f64 #s(literal -1/2 binary64) eps)
cost-diff0
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
cost-diff0
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
cost-diff0
(neg.f64 (sin.f64 x))
cost-diff0
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
cost-diff0
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
cost-diff2
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062496
095494
1190494
2472485
31337485
43416474
55419474
08138457
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
(neg.f64 (sin.f64 x))
(sin.f64 x)
x
eps
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)
(*.f64 #s(literal -1/2 binary64) (cos.f64 x))
#s(literal -1/2 binary64)
(cos.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
eps
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
#s(literal 1/24 binary64)
(*.f64 eps eps)
eps
#s(literal 1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(*.f64 (*.f64 eps eps) x)
(*.f64 eps eps)
eps
x
#s(literal 1/4 binary64)
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)
(-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
#s(literal 1/6 binary64)
#s(literal 1 binary64)
(*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
eps
#s(literal 1 binary64)
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(sin.f64 eps)
x
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))) eps))
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
(*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))) eps)
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
(neg.f64 (sin.f64 x))
(sin.f64 x)
x
eps
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps) eps)
(*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps)
(*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)
(*.f64 #s(literal -1/2 binary64) (cos.f64 x))
(*.f64 (cos.f64 x) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
(cos.f64 x)
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
eps
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps)
(-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64))
(-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
(*.f64 (*.f64 eps eps) #s(literal 1/24 binary64))
#s(literal 1/24 binary64)
(*.f64 eps eps)
eps
#s(literal 1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (*.f64 (neg.f64 eps) (fma.f64 x (fma.f64 eps (fma.f64 #s(literal -1/4 binary64) x (*.f64 #s(literal -1/6 binary64) eps)) #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) eps)))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (*.f64 (neg.f64 eps) (fma.f64 x (fma.f64 eps (fma.f64 #s(literal -1/4 binary64) x (*.f64 #s(literal -1/6 binary64) eps)) #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) eps))))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(*.f64 (neg.f64 eps) (fma.f64 x (fma.f64 eps (fma.f64 #s(literal -1/4 binary64) x (*.f64 #s(literal -1/6 binary64) eps)) #s(literal 1 binary64)) (*.f64 #s(literal 1/2 binary64) eps)))
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(*.f64 (fma.f64 eps (fma.f64 #s(literal -1/4 binary64) x (*.f64 #s(literal -1/6 binary64) eps)) #s(literal 1 binary64)) (neg.f64 eps))
(*.f64 (*.f64 eps eps) x)
(*.f64 eps eps)
eps
x
#s(literal 1/4 binary64)
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)
(-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
#s(literal 1/6 binary64)
#s(literal 1 binary64)
(*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))
#s(literal -1/2 binary64)
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal -1/2 binary64) eps)
#s(literal -1/2 binary64)
eps
#s(literal 1 binary64)
(fma.f64 (sin.f64 eps) x #s(literal 1 binary64))
(sin.f64 eps)
x

localize414.0ms (3.1%)

Memory
-3.9MiB live, 220.1MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 eps)
accuracy0.2461102633860645
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
accuracy1.1130162400167314
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
accuracy29.500936982743255
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
accuracy0.08203125
(*.f64 (*.f64 eps eps) x)
accuracy0.16015625
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
accuracy1.1154850107751368
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
accuracy0.00390625
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
accuracy0.16015625
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
accuracy0.24611650390897802
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
accuracy29.602378928243734
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
accuracy0.0
(*.f64 #s(literal -1/2 binary64) eps)
accuracy0.15234375
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
accuracy59.03643541309567
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
accuracy0.01171875
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
accuracy0.015625
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
accuracy0.217533847510238
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
accuracy0.2744503712093788
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
Samples
314.0ms181×2valid
58.0ms74×1valid
0.0ms0valid
Compiler

Compiled 313 to 54 computations (82.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 318.0ms
ival-cos: 121.0ms (38% of total)
adjust: 79.0ms (24.8% of total)
ival-mult: 57.0ms (17.9% of total)
ival-sub: 23.0ms (7.2% of total)
ival-add: 20.0ms (6.3% of total)
ival-sin: 9.0ms (2.8% of total)
const: 7.0ms (2.2% of total)
ival-neg: 2.0ms (0.6% of total)
exact: 1.0ms (0.3% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

series28.0ms (0.2%)

Memory
-30.4MiB live, 15.0MiB allocated
Counts
25 → 106
Calls
Call 1
Inputs
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
(neg.f64 (sin.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 #s(literal -1/2 binary64) eps)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
(*.f64 (*.f64 eps eps) x)
(sin.f64 eps)
Outputs
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* x (- (* 1/6 (pow eps 2)) 1))
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(* -1 x)
(* x (- (* 1/6 (pow x 2)) 1))
(* x (- (* (pow x 2) (+ 1/6 (* -1/120 (pow x 2)))) 1))
(* x (- (* (pow x 2) (+ 1/6 (* (pow x 2) (- (* 1/5040 (pow x 2)) 1/120)))) 1))
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(* eps (- (* 1/6 (pow eps 2)) 1))
(+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(* (pow eps 2) x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(- (cos (+ eps x)) (cos x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(* -1 (sin x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(* 1/4 (* (pow eps 2) x))
(* x (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(* 1/4 (* (pow eps 2) (pow x 2)))
(* (pow x 2) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(* (pow x 2) (+ (* -1/2 (/ (pow eps 2) (pow x 2))) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x))))
(* -1 (* x (sin eps)))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(* -1/2 (* (pow eps 2) (cos x)))
(- (cos (- eps (* -1 x))) (cos x))
(* -1 (* x (+ (* -1 (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)) (* -1/4 (pow eps 2)))))
(* (pow x 2) (+ (* -1 (/ (+ (* -1 (* eps (- (* 1/6 (pow eps 2)) 1))) (* 1/2 (/ (pow eps 2) x))) x)) (* 1/4 (pow eps 2))))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(* -1 (* eps (sin x)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(* eps (- (* 1/24 (pow eps 2)) 1/2))
(* -1 eps)
(* eps (- (* 1/4 (* eps x)) 1))
(* eps (- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1))
(* -1 (* eps x))
(* eps (+ (* -1 x) (* eps (- (* 1/4 (pow x 2)) 1/2))))
(* eps (+ (* -1 x) (* eps (- (+ (* 1/6 (* eps x)) (* 1/4 (pow x 2))) 1/2))))
(* eps (- (* -1/2 eps) x))
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
1
(+ 1 (* -1/2 (pow eps 2)))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(* 1/24 (pow eps 2))
(* 1/6 (pow eps 2))
eps
(* eps (+ 1 (* -1/6 (pow eps 2))))
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/24 (pow eps 4))
(* (pow eps 4) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(* 1/24 (pow eps 3))
(* (pow eps 3) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(* 1/6 (pow eps 3))
(* (pow eps 3) (+ 1/6 (* 1/4 (/ x eps))))
(* (pow eps 3) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(* 1/6 (* (pow eps 3) x))
(* (pow eps 3) (- (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps))) (* 1/2 (/ 1 eps))))
(* (pow eps 3) (- (+ (* -1 (/ x (pow eps 2))) (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps)))) (* 1/2 (/ 1 eps))))
(- (cos eps) (+ 1 (* x (sin eps))))
(cos eps)
(* (pow eps 2) (- (/ 1 (pow eps 2)) 1/2))
(sin eps)
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(- (cos (- x (* -1 eps))) (cos x))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(* -1 (* (pow eps 3) (- (* 1/2 (/ 1 (pow eps 2))) 1/24)))
(* -1 (* (pow eps 3) (- (* -1/4 (/ x eps)) 1/6)))
(* -1 (* (pow eps 3) (- (* -1 (/ (- (* 1/4 x) (/ 1 eps)) eps)) 1/6)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (* 1/4 (pow x 2)) 1/2) eps)) (* -1/6 x))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (+ (* -1 (/ x eps)) (* 1/4 (pow x 2))) 1/2) eps)) (* -1/6 x))))
Calls

6 calls:

TimeVariablePointExpression
8.0ms
eps
@-inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg (sin x)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (* (* (- (* 1/24 (* eps eps)) 1/2) eps) eps) (* (- (* 1/24 (* eps eps)) 1/2) eps) (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (cos eps) (+ (* (* -1/2 eps) eps) 1) (* (* (* -1/2 (cos x)) eps) eps) (* 1/24 (* eps eps)) (* (* eps eps) 1/6) (* (* eps eps) x) (sin eps))
7.0ms
eps
@0
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg (sin x)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (* (* (- (* 1/24 (* eps eps)) 1/2) eps) eps) (* (- (* 1/24 (* eps eps)) 1/2) eps) (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (cos eps) (+ (* (* -1/2 eps) eps) 1) (* (* (* -1/2 (cos x)) eps) eps) (* 1/24 (* eps eps)) (* (* eps eps) 1/6) (* (* eps eps) x) (sin eps))
3.0ms
eps
@inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg (sin x)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (* (* (- (* 1/24 (* eps eps)) 1/2) eps) eps) (* (- (* 1/24 (* eps eps)) 1/2) eps) (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (cos eps) (+ (* (* -1/2 eps) eps) 1) (* (* (* -1/2 (cos x)) eps) eps) (* 1/24 (* eps eps)) (* (* eps eps) 1/6) (* (* eps eps) x) (sin eps))
3.0ms
x
@-inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg (sin x)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (* (* (- (* 1/24 (* eps eps)) 1/2) eps) eps) (* (- (* 1/24 (* eps eps)) 1/2) eps) (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (cos eps) (+ (* (* -1/2 eps) eps) 1) (* (* (* -1/2 (cos x)) eps) eps) (* 1/24 (* eps eps)) (* (* eps eps) 1/6) (* (* eps eps) x) (sin eps))
3.0ms
x
@inf
((+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (- (cos (+ x eps)) (cos x)) (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg (sin x)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (* -1/2 eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) 1) (* (* (- (* 1/24 (* eps eps)) 1/2) eps) eps) (* (- (* 1/24 (* eps eps)) 1/2) eps) (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (- (cos (+ x eps)) (cos x)) (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (- (cos (+ x eps)) (cos x)) (- (cos eps) (+ (* (sin eps) x) 1)) (cos eps) (+ (* (* -1/2 eps) eps) 1) (* (* (* -1/2 (cos x)) eps) eps) (* 1/24 (* eps eps)) (* (* eps eps) 1/6) (* (* eps eps) x) (sin eps))

simplify139.0ms (1%)

Memory
26.9MiB live, 70.3MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03741528
111881474
241291455
083301378
Stop Event
iter limit
node limit
Counts
106 → 105
Calls
Call 1
Inputs
(* -1/2 (pow eps 2))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(- (cos eps) 1)
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(* x (- (* 1/6 (pow eps 2)) 1))
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(* -1 x)
(* x (- (* 1/6 (pow x 2)) 1))
(* x (- (* (pow x 2) (+ 1/6 (* -1/120 (pow x 2)))) 1))
(* x (- (* (pow x 2) (+ 1/6 (* (pow x 2) (- (* 1/5040 (pow x 2)) 1/120)))) 1))
(* -1/2 eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(* eps (- (* 1/6 (pow eps 2)) 1))
(+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(* (pow eps 2) x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(- (cos (+ eps x)) (cos x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(* -1 (sin x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(* 1/4 (* (pow eps 2) x))
(* x (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(* 1/4 (* (pow eps 2) (pow x 2)))
(* (pow x 2) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(* (pow x 2) (+ (* -1/2 (/ (pow eps 2) (pow x 2))) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x))))
(* -1 (* x (sin eps)))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(* -1/2 (* (pow eps 2) (cos x)))
(- (cos (- eps (* -1 x))) (cos x))
(* -1 (* x (+ (* -1 (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)) (* -1/4 (pow eps 2)))))
(* (pow x 2) (+ (* -1 (/ (+ (* -1 (* eps (- (* 1/6 (pow eps 2)) 1))) (* 1/2 (/ (pow eps 2) x))) x)) (* 1/4 (pow eps 2))))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(* -1 (* eps (sin x)))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(* eps (- (* 1/24 (pow eps 2)) 1/2))
(* -1 eps)
(* eps (- (* 1/4 (* eps x)) 1))
(* eps (- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1))
(* -1 (* eps x))
(* eps (+ (* -1 x) (* eps (- (* 1/4 (pow x 2)) 1/2))))
(* eps (+ (* -1 x) (* eps (- (+ (* 1/6 (* eps x)) (* 1/4 (pow x 2))) 1/2))))
(* eps (- (* -1/2 eps) x))
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
1
(+ 1 (* -1/2 (pow eps 2)))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(* 1/24 (pow eps 2))
(* 1/6 (pow eps 2))
eps
(* eps (+ 1 (* -1/6 (pow eps 2))))
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(* 1/6 (* (pow eps 3) (sin x)))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/6 (* (pow eps 2) (sin x)))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(* 1/24 (pow eps 4))
(* (pow eps 4) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(* 1/24 (pow eps 3))
(* (pow eps 3) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(* 1/6 (pow eps 3))
(* (pow eps 3) (+ 1/6 (* 1/4 (/ x eps))))
(* (pow eps 3) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(* 1/6 (* (pow eps 3) x))
(* (pow eps 3) (- (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps))) (* 1/2 (/ 1 eps))))
(* (pow eps 3) (- (+ (* -1 (/ x (pow eps 2))) (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps)))) (* 1/2 (/ 1 eps))))
(- (cos eps) (+ 1 (* x (sin eps))))
(cos eps)
(* (pow eps 2) (- (/ 1 (pow eps 2)) 1/2))
(sin eps)
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(- (cos (- x (* -1 eps))) (cos x))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(* -1 (* (pow eps 3) (- (* 1/2 (/ 1 (pow eps 2))) 1/24)))
(* -1 (* (pow eps 3) (- (* -1/4 (/ x eps)) 1/6)))
(* -1 (* (pow eps 3) (- (* -1 (/ (- (* 1/4 x) (/ 1 eps)) eps)) 1/6)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (* 1/4 (pow x 2)) 1/2) eps)) (* -1/6 x))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (+ (* -1 (/ x eps)) (* 1/4 (pow x 2))) 1/2) eps)) (* -1/6 x))))
Outputs
(* -1/2 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))
(+ (* -1/2 (pow eps 2)) (* eps (* x (- (* 1/6 (pow eps 2)) 1))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))
(+ (* -1/2 (pow eps 2)) (* x (+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* x (+ (* eps (- (* 1/6 (pow eps 2)) 1)) (* x (+ (* -1/6 (* eps (* x (- (* 1/6 (pow eps 2)) 1)))) (* 1/4 (pow eps 2)))))))
(fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(- (cos eps) 1)
(-.f64 (cos.f64 eps) #s(literal 1 binary64))
(- (+ (cos eps) (* -1 (* x (sin eps)))) 1)
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (* -1/2 (cos eps)))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 (cos.f64 eps) #s(literal -1/2 binary64) #s(literal 1/2 binary64)) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(- (+ (cos eps) (* x (- (* x (+ 1/2 (+ (* -1/2 (cos eps)) (* 1/6 (* x (sin eps)))))) (sin eps)))) 1)
(fma.f64 (-.f64 (*.f64 (fma.f64 (*.f64 (sin.f64 eps) x) #s(literal 1/6 binary64) (fma.f64 (cos.f64 eps) #s(literal -1/2 binary64) #s(literal 1/2 binary64))) x) (sin.f64 eps)) x (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(* x (- (* 1/6 (pow eps 2)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)
(* x (- (+ (* -1/6 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/6 (pow eps 2))) 1))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) x) x #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x)
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* 1/120 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1)))))) 1))
(*.f64 (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 x x) #s(literal -1/6 binary64))) (*.f64 x x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x)
(* x (- (+ (* 1/6 (pow eps 2)) (* (pow x 2) (+ (* -1/6 (- (* 1/6 (pow eps 2)) 1)) (* (pow x 2) (+ (* -1/5040 (* (pow x 2) (- (* 1/6 (pow eps 2)) 1))) (* 1/120 (- (* 1/6 (pow eps 2)) 1))))))) 1))
(*.f64 (-.f64 (fma.f64 #s(literal -1/6 binary64) (fma.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) x (*.f64 (neg.f64 eps) eps)) (*.f64 (pow.f64 x #s(literal 4 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 x x) #s(literal 1/120 binary64))))) #s(literal 1 binary64)) x)
(* -1 x)
(neg.f64 x)
(* x (- (* 1/6 (pow x 2)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 x x) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)
(* x (- (* (pow x 2) (+ 1/6 (* -1/120 (pow x 2)))) 1))
(*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 x x) #s(literal 1/6 binary64)) x) x) #s(literal 1 binary64)) x)
(* x (- (* (pow x 2) (+ 1/6 (* (pow x 2) (- (* 1/5040 (pow x 2)) 1/120)))) 1))
(*.f64 (-.f64 (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/5040 binary64) (*.f64 x x)) #s(literal 1/120 binary64)) (*.f64 x x) #s(literal 1/6 binary64)) (*.f64 x x)) #s(literal 1 binary64)) x)
(* -1/2 eps)
(*.f64 #s(literal -1/2 binary64) eps)
(+ (* -1/2 eps) (* x (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* 1/4 (* eps x))) 1)))
(fma.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))
(+ (* -1/2 eps) (* x (- (+ (* 1/6 (pow eps 2)) (* x (+ (* -1/6 (* x (- (* 1/6 (pow eps 2)) 1))) (* 1/4 eps)))) 1)))
(fma.f64 (fma.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))
(* eps (- (* 1/6 (pow eps 2)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)
(+ (* 1/4 (* (pow eps 2) x)) (* eps (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(+ (* -1/2 (pow eps 2)) (* 1/4 (* (pow eps 2) (pow x 2))))
(fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (* (pow eps 2) (pow x 2))) (* 1/4 (pow eps 2)))))
(fma.f64 (*.f64 (fma.f64 #s(literal -1/48 binary64) (*.f64 (*.f64 (*.f64 eps eps) x) x) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+ (* -1/2 (pow eps 2)) (* (pow x 2) (+ (* 1/4 (pow eps 2)) (* (pow x 2) (+ (* -1/48 (pow eps 2)) (* 1/1440 (* (pow eps 2) (pow x 2))))))))
(fma.f64 (fma.f64 (*.f64 (fma.f64 #s(literal 1/1440 binary64) (*.f64 (*.f64 (*.f64 eps eps) x) x) (*.f64 #s(literal -1/48 binary64) (*.f64 eps eps))) x) x (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) (*.f64 x x) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(* (pow eps 2) x)
(*.f64 (*.f64 eps eps) x)
(+ (* -1/2 (* (pow eps 2) (cos x))) (* eps (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (sin.f64 x))) eps)
(- (cos (+ eps x)) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* (sin x) (- (* 1/6 (pow eps 2)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (sin.f64 x))
(* -1 (sin x))
(neg.f64 (sin.f64 x))
(* eps (+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (sin.f64 x))) eps)
(+ (* -1/2 (* eps (cos x))) (* (sin x) (- (* 1/6 (pow eps 2)) 1)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (sin.f64 x)))
(* 1/4 (* (pow eps 2) x))
(*.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64))
(* x (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x)
(* 1/4 (* (pow eps 2) (pow x 2)))
(*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64))
(* (pow x 2) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)))
(*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x)
(* (pow x 2) (+ (* -1/2 (/ (pow eps 2) (pow x 2))) (+ (* 1/4 (pow eps 2)) (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps (*.f64 (/.f64 (*.f64 eps eps) x) #s(literal -1/2 binary64))) x)) (*.f64 x x))
(* -1 (* x (sin eps)))
(*.f64 (neg.f64 x) (sin.f64 eps))
(* x (- (/ (cos eps) x) (+ (sin eps) (/ 1 x))))
(*.f64 (-.f64 (/.f64 (-.f64 (cos.f64 eps) #s(literal 1 binary64)) x) (sin.f64 eps)) x)
(* -1/2 (* (pow eps 2) (cos x)))
(*.f64 (*.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64)) eps)
(- (cos (- eps (* -1 x))) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* -1 (* x (+ (* -1 (/ (* eps (- (* 1/6 (pow eps 2)) 1)) x)) (* -1/4 (pow eps 2)))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x)
(* (pow x 2) (+ (* -1 (/ (+ (* -1 (* eps (- (* 1/6 (pow eps 2)) 1))) (* 1/2 (/ (pow eps 2) x))) x)) (* 1/4 (pow eps 2))))
(*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps (*.f64 (/.f64 (*.f64 eps eps) x) #s(literal -1/2 binary64))) x)) (*.f64 x x))
(* -1 (* x (- (* -1 (/ (- (cos eps) 1) x)) (* -1 (sin eps)))))
(*.f64 (-.f64 (/.f64 (-.f64 (cos.f64 eps) #s(literal 1 binary64)) x) (sin.f64 eps)) x)
(* -1 (* eps (sin x)))
(*.f64 (neg.f64 eps) (sin.f64 x))
(* eps (+ (* -1 (sin x)) (* -1/2 (* eps (cos x)))))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x))) eps)
(* eps (+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x)))))))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* -1/2 (* eps (cos x))) (sin x)))
(*.f64 (fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))) (sin x)))
(*.f64 (fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x))) eps)
(* eps (- (* eps (+ (* -1/2 (cos x)) (* eps (- (* 1/24 (* eps (cos x))) (* -1/6 (sin x)))))) (sin x)))
(*.f64 (-.f64 (*.f64 (fma.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) (*.f64 (cos.f64 x) eps))) eps (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps) (sin.f64 x)) eps)
(+ (* -1 (sin x)) (* 1/6 (* (pow eps 2) (sin x))))
(*.f64 (sin.f64 x) (fma.f64 (*.f64 eps #s(literal 1/6 binary64)) eps #s(literal -1 binary64)))
(+ (* -1 (sin x)) (* -1/2 (* eps (cos x))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps (neg.f64 (sin.f64 x)))
(+ (* -1 (sin x)) (* eps (+ (* -1/2 (cos x)) (* 1/6 (* eps (sin x))))))
(fma.f64 (fma.f64 (*.f64 (sin.f64 x) eps) #s(literal 1/6 binary64) (*.f64 #s(literal -1/2 binary64) (cos.f64 x))) eps (neg.f64 (sin.f64 x)))
(* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2))
(*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 eps eps) #s(literal 1/24 binary64)) eps) eps) #s(literal 1/2 binary64)) (*.f64 eps eps))
(* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* (pow eps 2) (- (* 1/40320 (pow eps 2)) 1/720)))) 1/2))
(*.f64 (-.f64 (*.f64 (*.f64 (fma.f64 (-.f64 (*.f64 #s(literal 1/40320 binary64) (*.f64 eps eps)) #s(literal 1/720 binary64)) (*.f64 eps eps) #s(literal 1/24 binary64)) eps) eps) #s(literal 1/2 binary64)) (*.f64 eps eps))
(* eps (- (* 1/24 (pow eps 2)) 1/2))
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
(* -1 eps)
(neg.f64 eps)
(* eps (- (* 1/4 (* eps x)) 1))
(*.f64 (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64)) eps)
(* eps (- (* eps (+ (* 1/6 eps) (* 1/4 x))) 1))
(*.f64 (-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) x (*.f64 eps #s(literal 1/6 binary64))) eps) #s(literal 1 binary64)) eps)
(* -1 (* eps x))
(*.f64 (neg.f64 eps) x)
(* eps (+ (* -1 x) (* eps (- (* 1/4 (pow x 2)) 1/2))))
(*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps)
(* eps (+ (* -1 x) (* eps (- (+ (* 1/6 (* eps x)) (* 1/4 (pow x 2))) 1/2))))
(*.f64 (-.f64 (*.f64 (fma.f64 (*.f64 eps #s(literal 1/6 binary64)) x (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64))) eps) x) eps)
(* eps (- (* -1/2 eps) x))
(*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)
(* eps (- (* eps (- (* 1/6 (* eps x)) 1/2)) x))
(*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) x) #s(literal 1/2 binary64)) eps) x) eps)
(* eps (- (* eps (- (* eps (- (* 1/24 eps) (* -1/6 x))) 1/2)) x))
(*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (fma.f64 x #s(literal 1/6 binary64) (*.f64 #s(literal 1/24 binary64) eps)) eps) #s(literal 1/2 binary64)) eps) x) eps)
1
#s(literal 1 binary64)
(+ 1 (* -1/2 (pow eps 2)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(+ 1 (* (pow eps 2) (- (* 1/24 (pow eps 2)) 1/2)))
(fma.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps #s(literal 1 binary64))
(+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/24 (* -1/720 (pow eps 2)))) 1/2)))
(fma.f64 (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/720 binary64) (*.f64 eps eps) #s(literal 1/24 binary64)) eps) eps) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))
(* 1/24 (pow eps 2))
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
(* 1/6 (pow eps 2))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
eps
(* eps (+ 1 (* -1/6 (pow eps 2))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal -1/6 binary64) eps)
(* eps (+ 1 (* (pow eps 2) (- (* 1/120 (pow eps 2)) 1/6))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) (-.f64 (*.f64 #s(literal 1/120 binary64) (*.f64 eps eps)) #s(literal 1/6 binary64)) eps)
(* eps (+ 1 (* (pow eps 2) (- (* (pow eps 2) (+ 1/120 (* -1/5040 (pow eps 2)))) 1/6))))
(fma.f64 (pow.f64 eps #s(literal 3 binary64)) (-.f64 (*.f64 (*.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 eps eps) #s(literal 1/120 binary64)) eps) eps) #s(literal 1/6 binary64)) eps)
(* 1/6 (* (pow eps 3) (sin x)))
(*.f64 (*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal 1/6 binary64)) (sin.f64 x))
(* (pow eps 3) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (pow.f64 eps #s(literal 3 binary64)))
(* (pow eps 3) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(* 1/6 (* (pow eps 2) (sin x)))
(*.f64 (*.f64 (*.f64 (sin.f64 x) eps) eps) #s(literal 1/6 binary64))
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (* 1/6 (sin x))))
(*.f64 (fma.f64 (sin.f64 x) #s(literal 1/6 binary64) (/.f64 (/.f64 (sin.f64 x) eps) (neg.f64 eps))) (*.f64 eps eps))
(* (pow eps 2) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x))))
(*.f64 (*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) eps) eps)
(* (pow eps 2) (+ (* -1 (/ (sin x) (pow eps 2))) (+ (* -1/2 (/ (cos x) eps)) (* 1/6 (sin x)))))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps))) (*.f64 eps eps))
(* 1/24 (pow eps 4))
(*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/24 binary64))
(* (pow eps 4) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(*.f64 (pow.f64 eps #s(literal 4 binary64)) (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 eps eps))))
(* 1/24 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal 1/24 binary64))
(* (pow eps 3) (- 1/24 (* 1/2 (/ 1 (pow eps 2)))))
(*.f64 (-.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1/2 binary64) (*.f64 eps eps))) (pow.f64 eps #s(literal 3 binary64)))
(* 1/6 (pow eps 3))
(*.f64 (pow.f64 eps #s(literal 3 binary64)) #s(literal 1/6 binary64))
(* (pow eps 3) (+ 1/6 (* 1/4 (/ x eps))))
(*.f64 (fma.f64 (/.f64 x eps) #s(literal 1/4 binary64) #s(literal 1/6 binary64)) (pow.f64 eps #s(literal 3 binary64)))
(* (pow eps 3) (- (+ 1/6 (* 1/4 (/ x eps))) (/ 1 (pow eps 2))))
(*.f64 (-.f64 #s(literal 1/6 binary64) (/.f64 (fma.f64 #s(literal -1/4 binary64) x (/.f64 #s(literal 1 binary64) eps)) eps)) (pow.f64 eps #s(literal 3 binary64)))
(* 1/6 (* (pow eps 3) x))
(*.f64 (*.f64 (pow.f64 eps #s(literal 3 binary64)) x) #s(literal 1/6 binary64))
(* (pow eps 3) (- (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps))) (* 1/2 (/ 1 eps))))
(*.f64 (fma.f64 x #s(literal 1/6 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) x #s(literal -1/2 binary64)) eps)) (pow.f64 eps #s(literal 3 binary64)))
(* (pow eps 3) (- (+ (* -1 (/ x (pow eps 2))) (+ (* 1/6 x) (* 1/4 (/ (pow x 2) eps)))) (* 1/2 (/ 1 eps))))
(*.f64 (fma.f64 (/.f64 #s(literal -1 binary64) eps) (/.f64 x eps) (fma.f64 x #s(literal 1/6 binary64) (/.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) x #s(literal -1/2 binary64)) eps))) (pow.f64 eps #s(literal 3 binary64)))
(- (cos eps) (+ 1 (* x (sin eps))))
(-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
(cos eps)
(cos.f64 eps)
(* (pow eps 2) (- (/ 1 (pow eps 2)) 1/2))
(*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(sin eps)
(sin.f64 eps)
(* -1 (* (pow eps 3) (+ (* -1/6 (sin x)) (* 1/2 (/ (cos x) eps)))))
(*.f64 (fma.f64 (/.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) (*.f64 (sin.f64 x) #s(literal 1/6 binary64))) (pow.f64 eps #s(literal 3 binary64)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (+ (* -1 (/ (sin x) eps)) (* -1/2 (cos x))) eps)) (* -1/6 (sin x)))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps)))
(- (cos (- x (* -1 eps))) (cos x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
(* (pow eps 2) (+ (* -1 (/ (+ (* 1/2 (cos x)) (/ (sin x) eps)) eps)) (* 1/6 (sin x))))
(*.f64 (neg.f64 (fma.f64 #s(literal -1/6 binary64) (sin.f64 x) (/.f64 (fma.f64 #s(literal 1/2 binary64) (cos.f64 x) (/.f64 (sin.f64 x) eps)) eps))) (*.f64 eps eps))
(* -1 (* (pow eps 3) (- (* 1/2 (/ 1 (pow eps 2))) 1/24)))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (-.f64 (/.f64 #s(literal 1/2 binary64) (*.f64 eps eps)) #s(literal 1/24 binary64)))
(* -1 (* (pow eps 3) (- (* -1/4 (/ x eps)) 1/6)))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (-.f64 (*.f64 (/.f64 x eps) #s(literal -1/4 binary64)) #s(literal 1/6 binary64)))
(* -1 (* (pow eps 3) (- (* -1 (/ (- (* 1/4 x) (/ 1 eps)) eps)) 1/6)))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (-.f64 (/.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) x) (/.f64 #s(literal 1 binary64) eps)) (neg.f64 eps)) #s(literal 1/6 binary64)))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (* 1/4 (pow x 2)) 1/2) eps)) (* -1/6 x))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) x (neg.f64 (/.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) x #s(literal -1/2 binary64)) eps))))
(* -1 (* (pow eps 3) (+ (* -1 (/ (- (+ (* -1 (/ x eps)) (* 1/4 (pow x 2))) 1/2) eps)) (* -1/6 x))))
(*.f64 (pow.f64 (neg.f64 eps) #s(literal 3 binary64)) (fma.f64 #s(literal -1/6 binary64) x (/.f64 (-.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) x (/.f64 (neg.f64 x) eps)) #s(literal 1/2 binary64)) (neg.f64 eps))))

rewrite175.0ms (1.3%)

Memory
-17.4MiB live, 81.4MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
062422
095420
1373420
22824420
08234405
Stop Event
iter limit
node limit
iter limit
Counts
25 → 236
Calls
Call 1
Inputs
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
(neg.f64 (sin.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 #s(literal -1/2 binary64) eps)
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps))
(*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps)
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64)))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
(*.f64 (*.f64 eps eps) x)
(sin.f64 eps)
Outputs
(*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))) eps)
(*.f64 eps (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))))
(/.f64 (-.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64))) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps)))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)) (*.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64))))) (neg.f64 (*.f64 eps (-.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)) (*.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64)))) (*.f64 eps (-.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 3 binary64))) (fma.f64 #s(literal 1/4 binary64) (pow.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)) (*.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps))))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (cos.f64 x) (*.f64 eps eps)) #s(literal 3 binary64)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64))))
(fma.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) (neg.f64 eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (cos.f64 x) eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps) eps (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 eps eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 x) eps) eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 x) (*.f64 eps eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(fma.f64 eps (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
(fma.f64 eps #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(fma.f64 eps #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)) (*.f64 eps (-.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)))) (/.f64 (*.f64 (pow.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) #s(literal 2 binary64)) (pow.f64 eps #s(literal 4 binary64))) (*.f64 eps (-.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)))))
(-.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) (*.f64 eps eps)))
(-.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (neg.f64 eps) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)))
(-.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) eps))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (neg.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))) eps))
(-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 (neg.f64 eps) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)))) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 (*.f64 (*.f64 (cos.f64 x) eps) eps) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (-.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps)) (pow.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) #s(literal 2 binary64)))))
(+.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps)) eps))
(+.f64 (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps) (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)))
(+.f64 (*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps)) (*.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal -1/2 binary64) #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))) eps))
#s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x)))
(*.f64 (sin.f64 x) #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) (sin.f64 x))
(/.f64 (+.f64 (sin.f64 (-.f64 x (PI.f64))) (neg.f64 (sin.f64 x))) #s(literal 2 binary64))
(neg.f64 (sin.f64 x))
(fma.f64 #s(literal 0 binary64) (cos.f64 x) (neg.f64 (sin.f64 x)))
(fma.f64 (cos.f64 x) #s(literal 0 binary64) (*.f64 (neg.f64 (sin.f64 x)) #s(literal 1 binary64)))
(fma.f64 (sin.f64 x) #s(literal -1 binary64) (*.f64 (cos.f64 x) #s(literal 0 binary64)))
(fma.f64 #s(literal -1 binary64) (sin.f64 x) (*.f64 (cos.f64 x) #s(literal 0 binary64)))
(sin.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 x))
(sin.f64 (+.f64 (PI.f64) x))
(-.f64 (*.f64 #s(literal 0 binary64) (cos.f64 x)) (*.f64 #s(literal 1 binary64) (sin.f64 x)))
(-.f64 (*.f64 (cos.f64 x) #s(literal 0 binary64)) (*.f64 (sin.f64 x) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x))
(+.f64 (*.f64 #s(literal 0 binary64) (cos.f64 x)) (neg.f64 (sin.f64 x)))
(+.f64 (*.f64 (cos.f64 x) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 x)) #s(literal 1 binary64)))
(+.f64 (neg.f64 (sin.f64 x)) (*.f64 (cos.f64 x) #s(literal 0 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
(*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps)
(*.f64 eps #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)))
#s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 #s(literal -1/2 binary64) eps)
(*.f64 eps #s(literal -1/2 binary64))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (neg.f64 eps)) (neg.f64 eps))
(*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps) eps)
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))
(*.f64 (*.f64 eps eps) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)))
(*.f64 eps (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1/4 binary64)) (*.f64 eps eps)) (fma.f64 (*.f64 eps eps) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/13824 binary64)) #s(literal 1/8 binary64)) (*.f64 eps eps)) (fma.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64)) (fma.f64 (*.f64 eps eps) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) eps)
(*.f64 eps (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1/4 binary64)) eps) (fma.f64 (*.f64 eps eps) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))
(/.f64 (*.f64 (-.f64 (*.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/13824 binary64)) #s(literal 1/8 binary64)) eps) (fma.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64)) (fma.f64 (*.f64 eps eps) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(/.f64 (*.f64 eps (-.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64))) #s(literal 1/4 binary64))) (fma.f64 (*.f64 eps eps) #s(literal 1/24 binary64) #s(literal 1/2 binary64)))
(/.f64 (*.f64 eps (-.f64 (*.f64 (pow.f64 eps #s(literal 6 binary64)) #s(literal 1/13824 binary64)) #s(literal 1/8 binary64))) (fma.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64)) (fma.f64 (*.f64 eps eps) #s(literal 1/48 binary64) #s(literal 1/4 binary64))))
(/.f64 (-.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64)) (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 2 binary64))) (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 3 binary64)) (neg.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 3 binary64)))) (fma.f64 (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 2 binary64)) #s(literal 1/16 binary64) (+.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64)) (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64)))) (neg.f64 (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))))
(/.f64 (neg.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 2 binary64)) #s(literal 1/16 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 2 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64))) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)))
(/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) eps) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))))))
(/.f64 (fma.f64 #s(literal 1/64 binary64) (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 3 binary64))) (fma.f64 (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 2 binary64)) #s(literal 1/16 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x))))))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps)) x (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps)) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (*.f64 #s(literal 1/4 binary64) eps) (*.f64 x eps) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (*.f64 #s(literal 1/4 binary64) eps) (*.f64 x eps) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 eps eps) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (*.f64 #s(literal 1/4 binary64) x) (*.f64 eps eps) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) (*.f64 #s(literal 1/4 binary64) x)) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) (*.f64 #s(literal 1/4 binary64) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))
(fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 (*.f64 eps eps) (*.f64 #s(literal 1/4 binary64) x) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 (*.f64 eps eps) (*.f64 #s(literal 1/4 binary64) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 x (*.f64 (*.f64 eps eps) #s(literal 1/4 binary64)) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 x (*.f64 (*.f64 eps eps) #s(literal 1/4 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 eps (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 eps (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 eps (*.f64 eps (*.f64 #s(literal 1/4 binary64) x)) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(fma.f64 eps (*.f64 eps (*.f64 #s(literal 1/4 binary64) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(fma.f64 eps (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))) (/.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))))
(-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (neg.f64 eps) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))))
(-.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (neg.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)))
(-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal -1/4 binary64) (*.f64 (*.f64 eps eps) x)))
(-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 (neg.f64 (*.f64 (*.f64 eps eps) x)) #s(literal 1/4 binary64)))
(-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 (*.f64 (neg.f64 eps) eps) (*.f64 #s(literal 1/4 binary64) x)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 2 binary64)) #s(literal 1/16 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))))) (/.f64 (pow.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) #s(literal 3 binary64)) (fma.f64 (pow.f64 (*.f64 (*.f64 eps eps) x) #s(literal 2 binary64)) #s(literal 1/16 binary64) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))))))
(+.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (neg.f64 (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) eps))
(+.f64 (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))
(+.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) (*.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x)))
(/.f64 (-.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64))) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 3 binary64)) (neg.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64))))) (+.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)) (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (*.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 (*.f64 (neg.f64 eps) eps) #s(literal -1/2 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)) (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)))) (neg.f64 (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps)))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)) (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64))) (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 3 binary64))) (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (-.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal -1/2 binary64)) (*.f64 eps eps)))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 3 binary64))) (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (neg.f64 eps)) (neg.f64 eps) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 eps #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 eps eps) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 #s(literal -1/2 binary64) (*.f64 eps eps) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 x (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(fma.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) eps) #s(literal 1 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(fma.f64 eps (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
(-.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)) (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps)))) (/.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps)))))
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) eps)) eps))
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 (neg.f64 eps) (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps)))
(-.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 (*.f64 (neg.f64 eps) eps) #s(literal -1/2 binary64)))
(-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (neg.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))) x))
(-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (neg.f64 x) (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps))))
(+.f64 (/.f64 (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 3 binary64)) (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)))) (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64))) (fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x)) (pow.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) #s(literal 2 binary64)))))
(+.f64 (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(+.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) (*.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) x) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (pow.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64)))) (neg.f64 (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64)))) (neg.f64 (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64))) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))))
(/.f64 (-.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 3 binary64)) (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64))) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64))))
(-.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 1 binary64)) (*.f64 (sin.f64 eps) x))
(-.f64 (/.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))))) (/.f64 (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 2 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))))))
(-.f64 (/.f64 (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 3 binary64)) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)))) (/.f64 (pow.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(literal 3 binary64)) (fma.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) (+.f64 (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)) #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))) (pow.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) #s(literal 2 binary64)))))
(-.f64 (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (*.f64 (sin.f64 eps) x)) #s(literal 1 binary64))
(-.f64 #s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64)))
#s(approx (cos eps) (fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))
(/.f64 (neg.f64 (-.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
(/.f64 (-.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64)))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
(/.f64 (fma.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
(fma.f64 (*.f64 #s(literal -1/2 binary64) (neg.f64 eps)) (neg.f64 eps) #s(literal 1 binary64))
(fma.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (*.f64 eps eps) #s(literal -1/2 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 eps #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 eps eps) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/2 binary64) (*.f64 eps eps) #s(literal 1 binary64))
(fma.f64 eps (*.f64 (*.f64 #s(literal -1/2 binary64) eps) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 eps (*.f64 #s(literal -1/2 binary64) eps) #s(literal 1 binary64))
(-.f64 (/.f64 (*.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64))) (pow.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64)) #s(literal -1 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 #s(literal -1/2 binary64) eps)) eps))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 eps) (*.f64 #s(literal -1/2 binary64) eps)))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (*.f64 eps eps)))
(-.f64 #s(literal 1 binary64) (*.f64 (*.f64 (neg.f64 eps) eps) #s(literal -1/2 binary64)))
(+.f64 (/.f64 (*.f64 #s(literal -1/8 binary64) (pow.f64 eps #s(literal 6 binary64))) (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))) (pow.f64 (fma.f64 (pow.f64 eps #s(literal 4 binary64)) #s(literal 1/4 binary64) (-.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))) #s(literal -1 binary64)))
(+.f64 (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(*.f64 (*.f64 (cos.f64 x) eps) (*.f64 #s(literal -1/2 binary64) eps))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (cos.f64 x)) eps) (neg.f64 eps))
(*.f64 (*.f64 eps eps) (*.f64 (cos.f64 x) #s(literal -1/2 binary64)))
(*.f64 (*.f64 #s(literal -1/2 binary64) eps) (*.f64 (cos.f64 x) eps))
(*.f64 (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps) eps)
(*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) (*.f64 eps eps))
(*.f64 (cos.f64 x) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))
(*.f64 #s(literal -1/2 binary64) (*.f64 (*.f64 (cos.f64 x) eps) eps))
(*.f64 #s(literal -1/2 binary64) (*.f64 (cos.f64 x) (*.f64 eps eps)))
(*.f64 eps (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 eps))) eps)
(*.f64 (fabs.f64 (*.f64 #s(literal 1/24 binary64) eps)) eps)
(*.f64 (*.f64 #s(literal 1/24 binary64) (neg.f64 eps)) (neg.f64 eps))
(*.f64 (*.f64 #s(literal 1/24 binary64) eps) eps)
(*.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal 1/24 binary64)))
(*.f64 (*.f64 eps eps) #s(literal 1/24 binary64))
(*.f64 #s(literal 1/24 binary64) (*.f64 eps eps))
(*.f64 eps (fabs.f64 (*.f64 (neg.f64 eps) #s(literal 1/24 binary64))))
(*.f64 eps (fabs.f64 (*.f64 #s(literal 1/24 binary64) eps)))
(*.f64 eps (*.f64 #s(literal 1/24 binary64) eps))
(sqrt.f64 (*.f64 #s(literal 1/576 binary64) (pow.f64 eps #s(literal 4 binary64))))
(fabs.f64 (neg.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64))))
(fabs.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)))
(*.f64 (fabs.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps))) eps)
(*.f64 (fabs.f64 (*.f64 eps #s(literal 1/6 binary64))) (fabs.f64 (*.f64 eps #s(literal 1 binary64))))
(*.f64 (fabs.f64 (*.f64 eps #s(literal 1/6 binary64))) eps)
(*.f64 (*.f64 #s(literal 1/6 binary64) (neg.f64 eps)) (neg.f64 eps))
(*.f64 (*.f64 eps #s(literal 1/6 binary64)) (*.f64 eps #s(literal 1 binary64)))
(*.f64 (*.f64 eps #s(literal 1/6 binary64)) eps)
(*.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) #s(literal 1/6 binary64)))
(*.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)))
(*.f64 eps (fabs.f64 (*.f64 (neg.f64 eps) #s(literal 1/6 binary64))))
(*.f64 eps (fabs.f64 (*.f64 (*.f64 eps #s(literal 1/6 binary64)) #s(literal 1 binary64))))
(*.f64 eps (fabs.f64 (*.f64 eps #s(literal 1/6 binary64))))
(*.f64 eps (*.f64 (*.f64 eps #s(literal 1/6 binary64)) #s(literal 1 binary64)))
(*.f64 eps (*.f64 eps #s(literal 1/6 binary64)))
(*.f64 #s(literal 1/6 binary64) (fabs.f64 (*.f64 (*.f64 eps eps) #s(literal 1 binary64))))
(*.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 eps eps) #s(literal 1 binary64)))
(*.f64 #s(literal 1/6 binary64) (*.f64 eps eps))
(sqrt.f64 (*.f64 #s(literal 1/36 binary64) (pow.f64 eps #s(literal 4 binary64))))
(fabs.f64 (neg.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64))))
(fabs.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)))
(*.f64 (*.f64 x (neg.f64 eps)) (neg.f64 eps))
(*.f64 (*.f64 x eps) eps)
(*.f64 (neg.f64 eps) (*.f64 (neg.f64 eps) x))
(*.f64 (*.f64 eps eps) x)
(*.f64 x (*.f64 eps eps))
(*.f64 eps (*.f64 x eps))
(sin.f64 eps)

eval43.0ms (0.3%)

Memory
10.0MiB live, 53.0MiB allocated
Compiler

Compiled 15 175 to 1 668 computations (89% saved)

prune28.0ms (0.2%)

Memory
1.1MiB live, 46.2MiB allocated
Pruning

28 alts after pruning (19 fresh and 9 done)

PrunedKeptTotal
New3277334
Fresh51217
Picked235
Done066
Total33428362
Accuracy
100.0%
Counts
362 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.8%
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
53.5%
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
53.5%
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
52.7%
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
52.7%
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
99.0%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
99.6%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
99.0%
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
52.9%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
52.7%
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
99.3%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
99.4%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
79.6%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
53.7%
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
53.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
98.4%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
98.2%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
98.0%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
52.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
78.8%
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
Compiler

Compiled 2 425 to 923 computations (61.9% saved)

regimes29.0ms (0.2%)

Memory
18.6MiB live, 18.6MiB allocated
Counts
44 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
(*.f64 (*.f64 (sin.f64 (/.f64 (+.f64 (+.f64 eps x) x) #s(literal 2 binary64))) (sin.f64 (/.f64 (-.f64 (+.f64 eps x) x) #s(literal 2 binary64)))) #s(literal -2 binary64))
(-.f64 (*.f64 (cos.f64 eps) (cos.f64 x)) (fma.f64 (sin.f64 eps) (sin.f64 x) (cos.f64 x)))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
Calls

3 calls:

10.0ms
eps
10.0ms
x
7.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
99.6%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
99.6%1x
99.6%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes28.0ms (0.2%)

Memory
15.1MiB live, 15.1MiB allocated
Counts
41 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (sin.f64 x) (fma.f64 (*.f64 eps eps) #s(literal 1/6 binary64) #s(literal -1 binary64)) (*.f64 (*.f64 (cos.f64 x) #s(literal -1/2 binary64)) eps)) eps))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
Calls

3 calls:

9.0ms
x
9.0ms
eps
7.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
99.6%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
99.6%1x
99.6%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes59.0ms (0.4%)

Memory
-30.5MiB live, 28.0MiB allocated
Counts
39 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
(-.f64 (sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) x) eps)) (cos.f64 x))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
Calls

3 calls:

41.0ms
eps
9.0ms
x
7.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
99.3%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
99.3%1x
99.3%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes27.0ms (0.2%)

Memory
-19.0MiB live, 27.2MiB allocated
Counts
37 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
(-.f64 #s(approx (cos (+ x eps)) (cos.f64 eps)) (cos.f64 x))
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
Calls

3 calls:

8.0ms
eps
8.0ms
x
8.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
99.0%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
99.0%1x
99.0%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes23.0ms (0.2%)

Memory
33.4MiB live, 33.4MiB allocated
Counts
33 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
Calls

3 calls:

8.0ms
eps
8.0ms
x
6.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
99.0%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
99.0%1x
99.0%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes24.0ms (0.2%)

Memory
-18.0MiB live, 28.1MiB allocated
Counts
32 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 (cos.f64 eps) #s(literal 1 binary64)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (neg.f64 x) (sin.f64 eps))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (neg.f64 eps) (sin.f64 x)))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (*.f64 x x) #s(literal -1/2 binary64) #s(literal 1 binary64))))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) (fma.f64 (sin.f64 eps) x #s(literal 1 binary64))))
(-.f64 (cos.f64 (+.f64 x eps)) #s(approx (cos x) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 x x)) #s(literal 1/2 binary64)) (*.f64 x x) #s(literal 1 binary64))))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
Calls

3 calls:

10.0ms
eps
7.0ms
x
6.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
98.4%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
98.4%1x
98.4%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes18.0ms (0.1%)

Memory
-11.7MiB live, 35.4MiB allocated
Counts
24 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (*.f64 (fma.f64 #s(literal 1/4 binary64) eps (/.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x)) x)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) x) eps (*.f64 (fma.f64 x (*.f64 #s(literal -1/6 binary64) x) #s(literal 1 binary64)) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps)) x (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 #s(literal -1/6 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x) (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 x x) (*.f64 eps (fma.f64 (*.f64 #s(literal -1/6 binary64) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal 1/4 binary64) eps))) (*.f64 eps (fma.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))))))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
Calls

3 calls:

6.0ms
eps
6.0ms
x
6.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
98.2%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
98.2%1x
98.2%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes13.0ms (0.1%)

Memory
17.0MiB live, 17.0MiB allocated
Counts
18 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 #s(approx (* eps (+ (* (* 1/6 x) x) -1)) (*.f64 (*.f64 (*.f64 x eps) x) #s(literal 1/6 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (*.f64 eps (fma.f64 (*.f64 #s(literal 1/6 binary64) x) x #s(literal -1 binary64))) x)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (fma.f64 (*.f64 x #s(literal 1/6 binary64)) x #s(literal -1 binary64)) (*.f64 x eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (*.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) 1) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/24 binary64)) #s(literal 1/2 binary64)) (*.f64 eps eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/4 binary64) x) x) #s(literal 1/2 binary64)) eps) x) eps))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 (-.f64 (*.f64 (*.f64 #s(literal 1/6 binary64) eps) x) #s(literal 1/2 binary64)) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (-.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 eps eps)) #s(literal 1/2 binary64)) (*.f64 eps eps) #s(literal 1 binary64))) #s(literal 1 binary64)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 #s(approx (- (* eps (+ (* 1/4 x) (* 1/6 eps))) 1) (-.f64 (*.f64 (*.f64 x eps) #s(literal 1/4 binary64)) #s(literal 1 binary64))) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (fma.f64 (-.f64 (*.f64 eps (fma.f64 #s(literal 1/4 binary64) x (*.f64 #s(literal 1/6 binary64) eps))) #s(literal 1 binary64)) x (*.f64 #s(literal -1/2 binary64) eps))) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64)) (*.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) #s(approx (+ (* (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) x) (* (* eps eps) -1/2)) (*.f64 (*.f64 (fma.f64 (*.f64 #s(literal 1/4 binary64) eps) eps (/.f64 (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps) x)) x) x))))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
Calls

3 calls:

5.0ms
x
5.0ms
eps
3.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
98.2%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
98.2%1x
98.2%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes5.0ms (0%)

Memory
5.7MiB live, 5.7MiB allocated
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (-.f64 #s(approx (cos eps) (fma.f64 (*.f64 #s(literal -1/2 binary64) eps) eps #s(literal 1 binary64))) #s(literal 1 binary64)))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
Calls

3 calls:

2.0ms
x
2.0ms
eps
1.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
98.0%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
98.0%1x
98.0%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes3.0ms (0%)

Memory
4.1MiB live, 4.1MiB allocated
Accuracy

Total -16.0b remaining (-118.2%)

Threshold costs -16b (-118.2%)

Counts
2 → 1
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 #s(approx (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) (*.f64 #s(literal -1/2 binary64) eps)) eps))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
Calls

3 calls:

1.0ms
eps
1.0ms
x
1.0ms
(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
Results
AccuracySegmentsBranch
78.8%1(-.f64 (cos.f64 (+.f64 x eps)) (cos.f64 x))
78.8%1x
78.8%1eps
Compiler

Compiled 9 to 10 computations (-11.1% saved)

simplify63.0ms (0.5%)

Memory
-34.1MiB live, 16.6MiB allocated
Algorithm
egg-herbie
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0102376
1196376
2446374
31200371
42871369
55133369
66582369
Stop Event
node limit
Calls
Call 1
Inputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))
Outputs
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps (*.f64 (*.f64 (*.f64 #s(literal -1/2 binary64) (cos.f64 x)) eps) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (*.f64 (fma.f64 (*.f64 (cos.f64 x) eps) #s(literal 1/2 binary64) (sin.f64 x)) (neg.f64 eps)))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 eps eps) #s(literal -1 binary64)) (sin.f64 x)) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (*.f64 (*.f64 eps eps) (fma.f64 (*.f64 x x) #s(literal 1/4 binary64) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) (fma.f64 #s(approx (* (+ (* 1/6 (* eps eps)) -1) (sin x)) (neg.f64 (sin.f64 x))) eps #s(approx (* (* (* -1/2 (cos x)) eps) eps) (fma.f64 (*.f64 (*.f64 (*.f64 eps eps) x) x) #s(literal 1/4 binary64) (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64))))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) eps) x) (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/4 binary64) (*.f64 eps eps))) x (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 (fma.f64 (*.f64 (*.f64 eps eps) x) #s(literal 1/4 binary64) (*.f64 (-.f64 (*.f64 (*.f64 eps eps) #s(literal 1/6 binary64)) #s(literal 1 binary64)) eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (+ (* (sin x) (+ (* (* eps eps) 1/6) -1)) (* (* (cos x) -1/2) eps)) eps) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (+ (* (* (+ (* 1/6 (* eps eps)) -1) (sin x)) eps) (* (* (* -1/2 (cos x)) eps) eps)) (fma.f64 #s(approx (+ (* (* (* eps eps) x) 1/4) (* (- (* (* eps eps) 1/6) 1) eps)) (neg.f64 eps)) x (*.f64 (*.f64 eps eps) #s(literal -1/2 binary64)))))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (- (cos eps) (+ (* (sin eps) x) 1)) (*.f64 (-.f64 (*.f64 #s(literal -1/2 binary64) eps) x) eps)))
#s(approx (- (cos (+ x eps)) (cos x)) #s(approx (* (neg eps) (sin x)) (*.f64 (neg.f64 x) eps)))

derivations860.0ms (6.4%)

Memory
24.3MiB live, 260.5MiB allocated
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03741528
111881474
241291455
083301378
03031289
110251228
236791172
082561098
03041134
19961107
232881083
371951083
082171011
0105296
1308293
2779293
32454292
46244292
08035272
039181
066181
1251181
22091181
08462181
Stop Event
fuel
iter limit
node limit
iter limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
iter limit
node limit
Compiler

Compiled 382 to 101 computations (73.6% saved)

preprocess71.0ms (0.5%)

Memory
20.5MiB live, 65.0MiB allocated
Compiler

Compiled 812 to 244 computations (70% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...