Linear.Quaternion:$ctanh from linear-1.19.1.3

Time bar (total: 4.1s)

start0.0ms (0%)

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

analyze143.0ms (3.5%)

Memory
8.6MiB live, 142.4MiB allocated; 70ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
25%25%74.9%0.1%0%0%0%4
25%25%74.9%0.1%0%0%0%5
37.5%37.4%62.4%0.1%0%0%0%6
56.3%56.2%43.7%0.1%0%0%0%7
56.3%56.2%43.7%0.1%0%0%0%8
65.6%65.5%34.3%0.1%0%0%0%9
76.6%76.5%23.4%0.1%0%0%0%10
76.6%76.5%23.4%0.1%0%0%0%11
82%81.9%17.9%0.1%0%0%0%12
Compiler

Compiled 10 to 9 computations (10% saved)

sample998.0ms (24.3%)

Memory
74.7MiB live, 1 094.4MiB allocated; 250ms collecting garbage
Samples
699.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 379.0ms
ival-sin: 204.0ms (53.8% of total)
ival-div: 112.0ms (29.5% of total)
ival-mult: 51.0ms (13.4% of total)
ival-true: 6.0ms (1.6% of total)
adjust: 3.0ms (0.8% of total)
ival-assert: 3.0ms (0.8% of total)
Bogosity

explain115.0ms (2.8%)

Memory
-49.0MiB live, 120.3MiB allocated; 30ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
120-5(2.6365066633221514e-81 5.48988985793492e+242 -2.1737802044719059e-243)(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
00-0-(sin.f64 y)
00-0-y
00-0-(*.f64 x (/.f64 (sin.f64 y) y))
00-0-(/.f64 (sin.f64 y) y)
00-0-z
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
/.f64(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)u/n70
(*.f64 x (/.f64 (sin.f64 y) y))underflow35
Confusion
Predicted +Predicted -
+75
-0244
Precision
1.0
Recall
0.5833333333333334
Confusion?
Predicted +Predicted MaybePredicted -
+705
-00244
Precision?
1.0
Recall?
0.5833333333333334
Freqs
test
numberfreq
0249
17
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
53.0ms512×0valid
Compiler

Compiled 58 to 25 computations (56.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
ival-div: 22.0ms (57.8% of total)
ival-sin: 12.0ms (31.5% of total)
ival-mult: 3.0ms (7.9% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

preprocess91.0ms (2.2%)

Memory
-4.0MiB live, 39.3MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03083
17483
218483
341183
487483
5162383
6240283
7443283
8798383
078
0118
1168
2248
3348
4468
5488
0488
Stop Event
iter limit
saturated
iter limit
node limit
Calls
Call 1
Inputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Outputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
Symmetry

(abs y)

(negabs x)

(negabs z)

Compiler

Compiled 8 to 7 computations (12.5% saved)

eval0.0ms (0%)

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

Compiled 0 to 3 computations (-∞% saved)

prune0.0ms (0%)

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

Compiled 8 to 7 computations (12.5% saved)

simplify5.0ms (0.1%)

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

Found 4 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0723
01123
11623
22423
33423
44623
54823
04823
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(*.f64 x (/.f64 (sin.f64 y) y))
x
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y
z
Outputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
x
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y
z

localize29.0ms (0.7%)

Memory
10.3MiB live, 51.6MiB allocated; 8ms collecting garbage
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 y)
accuracy0.09375
(*.f64 x (/.f64 (sin.f64 y) y))
accuracy0.14453125
(/.f64 (sin.f64 y) y)
accuracy2.280605447294497
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Samples
24.0ms256×0valid
Compiler

Compiled 25 to 9 computations (64% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
ival-sin: 6.0ms (40.4% of total)
ival-mult: 5.0ms (33.6% of total)
ival-div: 3.0ms (20.2% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series21.0ms (0.5%)

Memory
-29.8MiB live, 30.0MiB allocated; 10ms collecting garbage
Counts
4 → 20
Calls
Call 1
Inputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(sin.f64 y)
Outputs
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
Calls

9 calls:

TimeVariablePointExpression
7.0ms
z
@0
((/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (sin y))
3.0ms
y
@-inf
((/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (sin y))
2.0ms
x
@0
((/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (sin y))
2.0ms
x
@-inf
((/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (sin y))
2.0ms
y
@0
((/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (sin y))

simplify269.0ms (6.5%)

Memory
28.0MiB live, 213.5MiB allocated; 26ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
084350
1236344
2805326
33531320
47633320
08623296
Stop Event
iter limit
node limit
Counts
20 → 20
Calls
Call 1
Inputs
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
Outputs
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* x (/ (sin y) y)) (*.f64 (/.f64 (sin.f64 y) y) x))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) x)
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 x (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) y)
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (/ (sin y) y) (/.f64 (sin.f64 y) y))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (sin y) (sin.f64 y))

rewrite64.0ms (1.6%)

Memory
8.5MiB live, 53.3MiB allocated; 6ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0720
01120
12220
26920
326620
0111120
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
4 → 68
Calls
Call 1
Inputs
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (sin.f64 y) y)
(sin.f64 y)
Outputs
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) z) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (/.f64 x y) z) (sin.f64 y))
(*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (neg.f64 (sin.f64 y)) z))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 x z) (neg.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 (neg.f64 x) y) z))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 (neg.f64 x) y) (neg.f64 z)))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x y) z))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(/.f64 (*.f64 x (/.f64 (sin.f64 y) z)) y)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 x) z)) y)
(/.f64 (*.f64 (sin.f64 y) (/.f64 (neg.f64 x) z)) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x z) (neg.f64 (sin.f64 y))) (neg.f64 y))
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(/.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)) (neg.f64 z))
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(neg.f64 (*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) y)))
(*.f64 (/.f64 (neg.f64 x) y) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 x))
(*.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 (sin.f64 y) (/.f64 x y))
(*.f64 x (/.f64 (sin.f64 y) y))
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 y))
(neg.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)))
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 y))
(/.f64 (sin.f64 y) y)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))
(-.f64 (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 y)) (neg.f64 y)))
(+.f64 (/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(sin.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 (+.f64 (PI.f64) y)))
(sin.f64 (+.f64 (+.f64 (PI.f64) y) (PI.f64)))
(sin.f64 (+.f64 (PI.f64) (neg.f64 y)))
(sin.f64 y)
(-.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(-.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(-.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y))))
(cos.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)))
(+.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y))) (neg.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y))))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))

eval12.0ms (0.3%)

Memory
-17.3MiB live, 27.8MiB allocated; 4ms collecting garbage
Compiler

Compiled 1 134 to 299 computations (73.6% saved)

prune6.0ms (0.1%)

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

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New79988
Fresh000
Picked101
Done000
Total80989
Accuracy
100.0%
Counts
89 → 9
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.0%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
87.7%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
83.9%
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
49.4%
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
53.6%
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
90.0%
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x))
95.7%
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
86.9%
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
84.1%
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
Compiler

Compiled 170 to 146 computations (14.1% saved)

simplify5.0ms (0.1%)

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

Found 18 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 y)
cost-diff0
(*.f64 (sin.f64 y) x)
cost-diff0
(/.f64 (*.f64 (sin.f64 y) x) z)
cost-diff0
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
cost-diff0
(/.f64 x y)
cost-diff0
(sin.f64 y)
cost-diff0
(/.f64 (sin.f64 y) z)
cost-diff0
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
cost-diff0
(*.f64 z y)
cost-diff0
(sin.f64 y)
cost-diff0
(*.f64 (sin.f64 y) x)
cost-diff0
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
cost-diff0
#s(approx (* x (/ (sin y) y)) x)
cost-diff0
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
cost-diff0
(sin.f64 y)
cost-diff0
(/.f64 (sin.f64 y) y)
cost-diff0
(/.f64 (/.f64 (sin.f64 y) y) z)
cost-diff0
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020106
033106
152106
263106
063106
Stop Event
iter limit
saturated
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y
z
x
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
#s(approx (* x (/ (sin y) y)) x)
x
z
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (sin.f64 y) x)
(sin.f64 y)
y
x
(*.f64 z y)
z
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(/.f64 (sin.f64 y) z)
(sin.f64 y)
y
z
(/.f64 x y)
x
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(/.f64 (*.f64 (sin.f64 y) x) z)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
y
x
z
Outputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) y)
(sin.f64 y)
y
z
x
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
#s(approx (* x (/ (sin y) y)) x)
x
z
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(sin.f64 y)
y
x
(*.f64 z y)
z
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(/.f64 (sin.f64 y) z)
(sin.f64 y)
y
z
(/.f64 x y)
x
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(/.f64 (*.f64 (sin.f64 y) x) z)
(*.f64 (/.f64 (sin.f64 y) z) x)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(sin.f64 y)
y
x
z

localize94.0ms (2.3%)

Memory
4.8MiB live, 105.2MiB allocated; 16ms collecting garbage
Localize:

Found 18 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(sin.f64 y)
accuracy0.1328125
(*.f64 (sin.f64 y) x)
accuracy3.7855288142604335
(/.f64 (*.f64 (sin.f64 y) x) z)
accuracy7.102168817068843
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
accuracy0.0
(/.f64 x y)
accuracy0.0
(sin.f64 y)
accuracy0.10546875
(/.f64 (sin.f64 y) z)
accuracy8.3310356546661
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
accuracy0.0
(*.f64 z y)
accuracy0.0
(sin.f64 y)
accuracy0.1328125
(*.f64 (sin.f64 y) x)
accuracy10.183620422338416
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
accuracy2.280605447294497
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
accuracy33.81194981926694
#s(approx (* x (/ (sin y) y)) x)
accuracy0.0
(sin.f64 y)
accuracy0.13671875
(/.f64 (/.f64 (sin.f64 y) y) z)
accuracy0.14453125
(/.f64 (sin.f64 y) y)
accuracy2.731711301708015
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
Samples
58.0ms256×0valid
Compiler

Compiled 104 to 19 computations (81.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 29.0ms
ival-div: 15.0ms (52.1% of total)
ival-mult: 7.0ms (24.3% of total)
ival-sin: 6.0ms (20.8% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

series58.0ms (1.4%)

Memory
-35.7MiB live, 51.9MiB allocated; 14ms collecting garbage
Counts
14 → 62
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) y)
(sin.f64 y)
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
#s(approx (* x (/ (sin y) y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (sin.f64 y) x)
(*.f64 z y)
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(/.f64 (sin.f64 y) z)
(/.f64 x y)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(/.f64 (*.f64 (sin.f64 y) x) z)
Outputs
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x (sin y)) z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ x z)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ x z)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x y) z)))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z)))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z)))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z)))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
Calls

9 calls:

TimeVariablePointExpression
33.0ms
x
@0
((* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (sin y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (* (sin y) x) (* z y)) (* (sin y) x) (* z y) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (/ (/ (* (sin y) x) z) y) (/ (* (sin y) x) z))
8.0ms
z
@-inf
((* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (sin y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (* (sin y) x) (* z y)) (* (sin y) x) (* z y) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (/ (/ (* (sin y) x) z) y) (/ (* (sin y) x) z))
3.0ms
y
@-inf
((* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (sin y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (* (sin y) x) (* z y)) (* (sin y) x) (* z y) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (/ (/ (* (sin y) x) z) y) (/ (* (sin y) x) z))
3.0ms
x
@-inf
((* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (sin y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (* (sin y) x) (* z y)) (* (sin y) x) (* z y) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (/ (/ (* (sin y) x) z) y) (/ (* (sin y) x) z))
2.0ms
x
@inf
((* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (sin y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (* (sin y) x) (* z y)) (* (sin y) x) (* z y) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (/ (/ (* (sin y) x) z) y) (/ (* (sin y) x) z))

simplify232.0ms (5.6%)

Memory
31.5MiB live, 228.4MiB allocated; 139ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01661270
14111226
212961154
338011136
081591064
Stop Event
iter limit
node limit
Counts
62 → 62
Calls
Call 1
Inputs
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x (sin y)) z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ x z)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ x z)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x y) z)))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z)))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z)))))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z)))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
Outputs
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* x (/ (sin y) y)) (*.f64 (/.f64 (sin.f64 y) y) x))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (sin y) x) (*.f64 (sin.f64 y) x))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ x y) (/.f64 x y))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x (sin y)) z)))
#s(approx (/ (* (sin y) x) z) (*.f64 (/.f64 (sin.f64 y) z) x))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) (/.f64 #s(literal 1 binary64) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (fma.f64 (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) y)
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) x)
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (* (sin y) x) (* z y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) (*.f64 x y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x) y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) (*.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (* (sin y) x) (*.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) y))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* z y) (*.f64 z y))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) (/.f64 y z))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) (/.f64 (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y) z))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) z) (/.f64 y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) (/.f64 y z)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 x z))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (/ (* (sin y) x) z) y) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (/ (* x y) z)))
#s(approx (/ (* (sin y) x) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z)))))
#s(approx (/ (* (sin y) x) z) (/.f64 (*.f64 (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x) y) z))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z)))))
#s(approx (/ (* (sin y) x) z) (/.f64 (*.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) y) z))
#s(approx (/ (* (sin y) x) z) #s(hole binary64 (* y (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z)))))
#s(approx (/ (* (sin y) x) z) (*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) x) y) y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) x)) z) y))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (/.f64 (sin.f64 y) y) z))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (/ (sin y) y) (/.f64 (sin.f64 y) y))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (sin y) (sin.f64 y))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
#s(approx (/ (sin y) z) (/.f64 (sin.f64 y) z))

rewrite53.0ms (1.3%)

Memory
-3.4MiB live, 41.1MiB allocated; 3ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02082
03382
16982
218682
353382
0130082
Stop Event
iter limit
iter limit
node limit
iter limit
Counts
14 → 167
Calls
Call 1
Inputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) y)
(sin.f64 y)
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
#s(approx (* x (/ (sin y) y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (sin.f64 y) x)
(*.f64 z y)
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(/.f64 (sin.f64 y) z)
(/.f64 x y)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(/.f64 (*.f64 (sin.f64 y) x) z)
Outputs
(*.f64 (/.f64 (/.f64 x z) y) (sin.f64 y))
(*.f64 (/.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 (neg.f64 x) y) z))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x z) y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)) (neg.f64 z))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) z) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 z) y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(neg.f64 (*.f64 (/.f64 (/.f64 x z) y) (neg.f64 (sin.f64 y))))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (neg.f64 y))
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (neg.f64 z) y))
(/.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (neg.f64 z))
(/.f64 (/.f64 (sin.f64 y) z) y)
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(-.f64 (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (*.f64 (neg.f64 z) y)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 y)) (*.f64 (neg.f64 z) y)))
(+.f64 (/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (*.f64 (neg.f64 z) y)) (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (*.f64 (neg.f64 z) y)))
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 y))
(/.f64 (sin.f64 y) y)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 y)))
(-.f64 (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 y)) (neg.f64 y)))
(+.f64 (/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 y)) (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 y)))
(neg.f64 (neg.f64 (sin.f64 y)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(fma.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(sin.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64)))))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (PI.f64)))
(sin.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (neg.f64 (+.f64 (PI.f64) y)))
(sin.f64 (+.f64 (+.f64 (PI.f64) y) (PI.f64)))
(sin.f64 (+.f64 (PI.f64) (neg.f64 y)))
(sin.f64 y)
(-.f64 (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(-.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(-.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (*.f64 (neg.f64 (sin.f64 y)) #s(literal 1 binary64)))
(cos.f64 (neg.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y))))
(cos.f64 (+.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y)) (PI.f64)))
(cos.f64 (+.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))) (/.f64 (PI.f64) #s(literal 2 binary64))))
(cos.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (PI.f64)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) (neg.f64 y)))
(+.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y))) (neg.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y))))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 (cos.f64 (+.f64 (PI.f64) y)) #s(literal 0 binary64)))
(+.f64 (*.f64 (neg.f64 (sin.f64 y)) #s(literal -1 binary64)) (*.f64 #s(literal 0 binary64) (cos.f64 y)))
(/.f64 (neg.f64 #s(approx (* x (/ (sin y) y)) x)) (neg.f64 z))
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(neg.f64 (/.f64 #s(approx (* x (/ (sin y) y)) x) (neg.f64 z)))
#s(approx (* x (/ (sin y) y)) x)
(neg.f64 (neg.f64 #s(approx (* x (/ (sin y) y)) x)))
(*.f64 (/.f64 (/.f64 x z) y) (sin.f64 y))
(*.f64 (/.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 (neg.f64 x) y) z))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x z) y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)) (neg.f64 z))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) z) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 z) y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(neg.f64 (*.f64 (/.f64 (/.f64 x z) y) (neg.f64 (sin.f64 y))))
(*.f64 (neg.f64 (sin.f64 y)) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 (sin.f64 y)))
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(neg.f64 (*.f64 (neg.f64 x) (sin.f64 y)))
(fma.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 x) (*.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 x)))
(fma.f64 (neg.f64 x) (*.f64 #s(literal -1 binary64) (sin.f64 y)) (*.f64 (neg.f64 x) (*.f64 #s(literal 0 binary64) (cos.f64 y))))
(+.f64 (*.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 x)) (*.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 x)))
(+.f64 (*.f64 (neg.f64 x) (*.f64 #s(literal -1 binary64) (sin.f64 y))) (*.f64 (neg.f64 x) (*.f64 #s(literal 0 binary64) (cos.f64 y))))
(*.f64 (neg.f64 z) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 z))
(*.f64 z y)
(*.f64 y z)
(neg.f64 (*.f64 (neg.f64 z) y))
(*.f64 (/.f64 (/.f64 x z) y) (sin.f64 y))
(*.f64 (/.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 (neg.f64 x) y) z))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x z) y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)) (neg.f64 z))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) z) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 z) y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(neg.f64 (*.f64 (/.f64 (/.f64 x z) y) (neg.f64 (sin.f64 y))))
(/.f64 (neg.f64 (sin.f64 y)) (neg.f64 z))
(/.f64 (sin.f64 y) z)
(neg.f64 (/.f64 (sin.f64 y) (neg.f64 z)))
(-.f64 (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 z)) (/.f64 (*.f64 #s(literal 1 binary64) (sin.f64 y)) (neg.f64 z)))
(+.f64 (/.f64 (*.f64 #s(literal -1 binary64) (sin.f64 y)) (neg.f64 z)) (/.f64 (*.f64 #s(literal 0 binary64) (cos.f64 y)) (neg.f64 z)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 x y)
(neg.f64 (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (/.f64 x z) y) (sin.f64 y))
(*.f64 (/.f64 (/.f64 (neg.f64 x) y) z) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (/.f64 (neg.f64 x) y))
(*.f64 (/.f64 (neg.f64 x) y) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 x) z) (/.f64 (sin.f64 y) (neg.f64 y)))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (/.f64 (neg.f64 x) y) z))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x z) y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) y) (sin.f64 y)) (neg.f64 z))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (neg.f64 x) z) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 z) y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(neg.f64 (*.f64 (/.f64 (/.f64 x z) y) (neg.f64 (sin.f64 y))))
(*.f64 (/.f64 (sin.f64 y) (neg.f64 z)) (neg.f64 x))
(*.f64 (/.f64 (neg.f64 x) z) (neg.f64 (sin.f64 y)))
(*.f64 (/.f64 x z) (sin.f64 y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 (neg.f64 x) z))
(*.f64 (neg.f64 x) (/.f64 (sin.f64 y) (neg.f64 z)))
(*.f64 (/.f64 (sin.f64 y) z) x)
(*.f64 x (/.f64 (sin.f64 y) z))
(*.f64 (sin.f64 y) (/.f64 x z))
(/.f64 (*.f64 x (sin.f64 y)) z)
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 z))
(neg.f64 (*.f64 (/.f64 (neg.f64 x) z) (sin.f64 y)))

eval36.0ms (0.9%)

Memory
-34.8MiB live, 22.8MiB allocated; 6ms collecting garbage
Compiler

Compiled 3 414 to 615 computations (82% saved)

prune11.0ms (0.3%)

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

14 alts after pruning (9 fresh and 5 done)

PrunedKeptTotal
New2316237
Fresh134
Picked055
Done000
Total23214246
Accuracy
100.0%
Counts
246 → 14
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.0%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
87.7%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
40.5%
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
83.9%
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
45.5%
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
49.4%
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
53.6%
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
95.7%
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
89.2%
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
86.9%
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
53.4%
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
47.7%
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
84.1%
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
52.4%
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
Compiler

Compiled 242 to 200 computations (17.4% saved)

simplify114.0ms (2.8%)

Memory
9.1MiB live, 141.1MiB allocated; 17ms collecting garbage
Localize:

Found 19 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
029178
047176
194176
2195176
3474176
41504176
55765176
08134176
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (sin.f64 y) (*.f64 z y))
(sin.f64 y)
y
(*.f64 z y)
z
x
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(literal 1 binary64)
z
x
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(/.f64 x z)
x
z
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
z
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 (sin.f64 y))
(sin.f64 y)
y
(/.f64 x (*.f64 (neg.f64 y) z))
x
(*.f64 (neg.f64 y) z)
(neg.f64 y)
z
Outputs
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(/.f64 (sin.f64 y) (*.f64 z y))
(/.f64 (/.f64 (sin.f64 y) z) y)
(sin.f64 y)
y
(*.f64 z y)
z
x
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(literal 1 binary64)
z
x
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) z) x))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z))
(*.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) z) x)
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
(/.f64 x z)
x
z
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) (/.f64 x z))
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x)
x
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
#s(literal 1 binary64)
z
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(neg.f64 (sin.f64 y))
(sin.f64 y)
y
(/.f64 x (*.f64 (neg.f64 y) z))
x
(*.f64 (neg.f64 y) z)
(neg.f64 y)
z

localize92.0ms (2.2%)

Memory
-23.3MiB live, 80.2MiB allocated; 11ms collecting garbage
Localize:

Found 19 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(neg.f64 (sin.f64 y))
accuracy0.0
(neg.f64 y)
accuracy4.183193822428931
(/.f64 x (*.f64 (neg.f64 y) z))
accuracy6.0521936658732365
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
accuracy0.08203125
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy0.09375
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
accuracy2.280605447294497
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
accuracy34.43265772575798
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
accuracy0.0
(*.f64 y y)
accuracy0.08203125
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
accuracy5.646966145293862
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z))
accuracy32.32431490270569
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
accuracy0.13671875
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
accuracy2.731711301708015
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
accuracy34.10658049335959
#s(approx (/ (sin y) y) #s(literal 1 binary64))
accuracy0.0
(*.f64 z y)
accuracy0.0
(sin.f64 y)
accuracy2.731711301708015
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
accuracy5.645904578061371
(/.f64 (sin.f64 y) (*.f64 z y))
Samples
70.0ms256×0valid
Compiler

Compiled 145 to 26 computations (82.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 53.0ms
ival-sin: 19.0ms (35.8% of total)
ival-div: 14.0ms (26.4% of total)
ival-mult: 13.0ms (24.5% of total)
const: 4.0ms (7.5% of total)
ival-neg: 2.0ms (3.8% of total)
ival-add: 1.0ms (1.9% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series28.0ms (0.7%)

Memory
22.0MiB live, 65.8MiB allocated; 7ms collecting garbage
Counts
18 → 63
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (sin.f64 y) (*.f64 z y))
(sin.f64 y)
(*.f64 z y)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 (sin.f64 y))
(/.f64 x (*.f64 (neg.f64 y) z))
(neg.f64 y)
Outputs
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
Calls

9 calls:

TimeVariablePointExpression
6.0ms
z
@0
((* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* y y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (neg y))
3.0ms
x
@0
((* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* y y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (neg y))
3.0ms
z
@-inf
((* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* y y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (neg y))
3.0ms
y
@-inf
((* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* y y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (neg y))
3.0ms
y
@inf
((* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (/ (/ (sin y) y) z) x) (/ (/ (sin y) y) z) (/ (sin y) y) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* y y) (/ (* x (/ (sin y) y)) z) (* x (/ (sin y) y)) (/ (sin y) y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (neg y))

simplify156.0ms (3.8%)

Memory
16.4MiB live, 160.1MiB allocated; 13ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01891196
14561162
217621116
364271102
081411031
Stop Event
iter limit
node limit
Counts
63 → 63
Calls
Call 1
Inputs
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
Outputs
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* x (/ (sin y) y)) (*.f64 (/.f64 (sin.f64 y) y) x))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (/ x (* (neg y) z)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 x z))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) (/.f64 #s(literal 1 binary64) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (fma.f64 (/.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (fma.f64 (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) y)
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* z y) (*.f64 z y))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 x z))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (/ (sin y) y) z) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ 1 z)))
#s(approx (/ (/ (sin y) y) z) (/.f64 #s(literal 1 binary64) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (fma.f64 (/.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (/ (sin y) y) z) (fma.f64 (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) (*.f64 y y) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (sin y) y) #s(hole binary64 1))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (/ (sin y) y) #s(hole binary64 (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6)))))
#s(approx (/ (sin y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 x z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (/.f64 x z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(literal 1 binary64))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (* y y) -1/6) 1) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx (* y y) (*.f64 y y))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 x))
#s(approx (* x (/ (sin y) y)) x)
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (* x (/ (sin y) y)) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x))
#s(approx (* x (/ (sin y) y)) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* x (/ (sin y) y)) (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 x z))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (*.f64 (/.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) z) x))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (/ (/ (sin y) y) z) x) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) x)) z))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) (neg.f64 y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal -1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (neg y) (neg.f64 y))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (/.f64 (sin.f64 y) y) z))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (sin y) (sin.f64 y))
#s(approx (/ (/ (sin y) y) z) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (/ (sin y) y) z) (/.f64 (/.f64 (sin.f64 y) y) z))
#s(approx (/ (sin y) y) #s(hole binary64 (/ (sin y) y)))
#s(approx (/ (sin y) y) (/.f64 (sin.f64 y) y))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) x (/.f64 (/.f64 x y) y)) z) (*.f64 y y)))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) y) y))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
#s(approx (neg (sin y)) (neg.f64 (sin.f64 y)))

rewrite62.0ms (1.5%)

Memory
-13.8MiB live, 77.2MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029141
047139
1123139
0562139
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
18 → 181
Calls
Call 1
Inputs
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (sin.f64 y) (*.f64 z y))
(sin.f64 y)
(*.f64 z y)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(*.f64 y y)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 (sin.f64 y))
(/.f64 x (*.f64 (neg.f64 y) z))
(neg.f64 y)
Outputs
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) z) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (neg.f64 (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) z) y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) y) x)
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (sin.f64 y) (neg.f64 (/.f64 x (*.f64 (neg.f64 y) z))))
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) z) y)
(/.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) z) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x (neg.f64 y)) (neg.f64 (sin.f64 y))) z)
(/.f64 (*.f64 (neg.f64 x) (neg.f64 (sin.f64 y))) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (neg.f64 y))) z)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (neg.f64 x)) (*.f64 z y))
(/.f64 (*.f64 x (/.f64 (sin.f64 y) z)) y)
(/.f64 (neg.f64 (neg.f64 (*.f64 x (sin.f64 y)))) (*.f64 z y))
(/.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y))) (neg.f64 (neg.f64 z)))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (neg.f64 (*.f64 x (sin.f64 y))) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y)) (neg.f64 z))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(neg.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) (*.f64 z y)))
(neg.f64 (/.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y)) z))
(neg.f64 (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) (neg.f64 z)))
(neg.f64 (*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (sin.f64 y)))
(/.f64 (/.f64 (neg.f64 (sin.f64 y)) z) (neg.f64 y))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) y)) (neg.f64 z))
(/.f64 (neg.f64 (/.f64 (sin.f64 y) z)) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 (sin.f64 y))) (*.f64 z y))
(/.f64 (/.f64 (sin.f64 y) z) y)
(/.f64 (neg.f64 (sin.f64 y)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 (sin.f64 y) y) z)
(/.f64 (sin.f64 y) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 (sin.f64 y)) (*.f64 z y)))
(neg.f64 (/.f64 (sin.f64 y) (*.f64 (neg.f64 y) z)))
(sin.f64 y)
(*.f64 (neg.f64 (neg.f64 y)) z)
(*.f64 (neg.f64 z) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (neg.f64 y)))
(*.f64 z y)
(*.f64 y z)
(neg.f64 (*.f64 (neg.f64 y) z))
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) (/.f64 x z))
(*.f64 x (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z))
(/.f64 (*.f64 (neg.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64))) x) (neg.f64 z))
(/.f64 (*.f64 x (neg.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)))) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) x)) (neg.f64 z))
(/.f64 (*.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) x) z)
(/.f64 (neg.f64 (neg.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)))) (neg.f64 (neg.f64 z)))
(/.f64 (neg.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64))) (neg.f64 z))
(/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z)
(neg.f64 (/.f64 (neg.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64))) z))
(neg.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) (neg.f64 z)))
#s(approx (/ (sin y) y) #s(literal 1 binary64))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 x z) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))))
(*.f64 (/.f64 x z) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))
(*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) (/.f64 x z))
(/.f64 (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) (neg.f64 z))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (/.f64 x z)) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64)) (/.f64 x z)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(/.f64 (*.f64 (/.f64 x z) (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64))) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (*.f64 (/.f64 x z) (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64))) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(/.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) (neg.f64 x)) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) x)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (neg.f64 z) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (*.f64 (neg.f64 x) (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64))) (*.f64 (neg.f64 z) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (*.f64 x (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 z (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (*.f64 x (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64))) (*.f64 z (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (neg.f64 x)) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) (neg.f64 z)))
(/.f64 (*.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) x) (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) z))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64)) (neg.f64 x)) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))) (neg.f64 z)))
(/.f64 (*.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64)) x) (*.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))) z))
(/.f64 (*.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)) x) z)
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) (/.f64 x z) (*.f64 #s(literal 1 binary64) (/.f64 x z)))
(fma.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) (*.f64 (/.f64 x z) #s(literal 1 binary64)))
(fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(fma.f64 #s(literal 1 binary64) (/.f64 x z) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) (/.f64 x z)))
(+.f64 (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) (/.f64 x z)) (*.f64 #s(literal 1 binary64) (/.f64 x z)))
(+.f64 (*.f64 #s(literal 1 binary64) (/.f64 x z)) (*.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) (/.f64 x z)))
(+.f64 (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))) (*.f64 (/.f64 x z) #s(literal 1 binary64)))
(+.f64 (*.f64 (/.f64 x z) #s(literal 1 binary64)) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(/.f64 (-.f64 #s(literal 1 binary64) (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64))) (-.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64))) (neg.f64 (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(/.f64 (neg.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64))) (neg.f64 (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64)))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (-.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(/.f64 (fma.f64 #s(literal -1/216 binary64) (pow.f64 (*.f64 y y) #s(literal 3 binary64)) #s(literal 1 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y))))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))
(fma.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))
(fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64))
(fma.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)) #s(literal 1 binary64))
(fma.f64 y (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64))
(-.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))) (/.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal -1 binary64))))
(-.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/6 binary64) (*.f64 y y)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 (*.f64 y y)) #s(literal -1/6 binary64)))
(-.f64 #s(literal 1 binary64) (*.f64 (neg.f64 y) (*.f64 #s(literal -1/6 binary64) y)))
(+.f64 (/.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 3 binary64)) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))) (/.f64 #s(literal 1 binary64) (-.f64 (+.f64 (pow.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 y y)) #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))
(*.f64 (pow.f64 y #s(literal 1 binary64)) (pow.f64 y #s(literal 1 binary64)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 y y)
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(neg.f64 (*.f64 y (neg.f64 y)))
(fabs.f64 (*.f64 y y))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(*.f64 (/.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) z) x)
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) (/.f64 x z))
(*.f64 x (/.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) z))
(/.f64 (neg.f64 (*.f64 (neg.f64 x) #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))))) (neg.f64 (neg.f64 z)))
(/.f64 (*.f64 (neg.f64 x) #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))) (neg.f64 z))
(/.f64 (*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x) z)
(neg.f64 (/.f64 (*.f64 (neg.f64 x) #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))) z))
(neg.f64 (/.f64 (*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x) (neg.f64 z)))
(*.f64 #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))) x)
(*.f64 x #s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64))))
#s(approx (/ (sin y) y) (fma.f64 #s(literal -1/6 binary64) (*.f64 y y) #s(literal 1 binary64)))
(*.f64 (/.f64 (neg.f64 (sin.f64 y)) z) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (neg.f64 (sin.f64 y)))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) z) y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) y) x)
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (sin.f64 y) (neg.f64 (/.f64 x (*.f64 (neg.f64 y) z))))
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) z) y)
(/.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) z) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x (neg.f64 y)) (neg.f64 (sin.f64 y))) z)
(/.f64 (*.f64 (neg.f64 x) (neg.f64 (sin.f64 y))) (*.f64 z y))
(/.f64 (*.f64 (/.f64 (sin.f64 y) z) x) y)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (neg.f64 y))) z)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (neg.f64 x)) (*.f64 z y))
(/.f64 (*.f64 x (/.f64 (sin.f64 y) z)) y)
(/.f64 (neg.f64 (neg.f64 (*.f64 x (sin.f64 y)))) (*.f64 z y))
(/.f64 (neg.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y))) (neg.f64 (neg.f64 z)))
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(/.f64 (neg.f64 (*.f64 x (sin.f64 y))) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y)) (neg.f64 z))
(/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z)
(neg.f64 (/.f64 (neg.f64 (*.f64 x (sin.f64 y))) (*.f64 z y)))
(neg.f64 (/.f64 (*.f64 (neg.f64 x) (/.f64 (sin.f64 y) y)) z))
(neg.f64 (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) (neg.f64 z)))
(neg.f64 (*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (sin.f64 y)))
(neg.f64 (sin.f64 y))
(fma.f64 (sin.f64 y) (cos.f64 (PI.f64)) (*.f64 (cos.f64 y) (sin.f64 (PI.f64))))
(sin.f64 (+.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y) (/.f64 (PI.f64) #s(literal 2 binary64))))
(sin.f64 (+.f64 (PI.f64) y))
(sin.f64 (neg.f64 y))
(-.f64 (*.f64 (cos.f64 y) (cos.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))) (*.f64 (sin.f64 y) (sin.f64 (/.f64 (PI.f64) #s(literal 2 binary64)))))
(cos.f64 (neg.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y)))
(cos.f64 (+.f64 (/.f64 (PI.f64) #s(literal 2 binary64)) y))
(+.f64 (*.f64 (sin.f64 y) (cos.f64 (PI.f64))) (*.f64 (cos.f64 y) (sin.f64 (PI.f64))))
(/.f64 (neg.f64 (/.f64 x (neg.f64 y))) (neg.f64 z))
(/.f64 (neg.f64 (neg.f64 x)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 x (neg.f64 y)) z)
(/.f64 (neg.f64 x) (*.f64 z y))
(/.f64 (/.f64 x z) (neg.f64 y))
(/.f64 x (*.f64 (neg.f64 y) z))
(neg.f64 (/.f64 (neg.f64 x) (*.f64 (neg.f64 y) z)))
(neg.f64 (/.f64 x (*.f64 z y)))
(neg.f64 y)

eval34.0ms (0.8%)

Memory
-15.1MiB live, 44.8MiB allocated; 13ms collecting garbage
Compiler

Compiled 4 497 to 755 computations (83.2% saved)

prune13.0ms (0.3%)

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

18 alts after pruning (11 fresh and 7 done)

PrunedKeptTotal
New2397246
Fresh044
Picked325
Done055
Total24218260
Accuracy
100.0%
Counts
260 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.0%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
87.7%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
40.5%
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
83.9%
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
45.5%
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
53.6%
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
95.7%
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
89.2%
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
86.9%
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
53.4%
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
53.3%
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
47.7%
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
84.1%
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
54.4%
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
45.2%
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
52.4%
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
15.6%
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
12.7%
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
Compiler

Compiled 392 to 302 computations (23% saved)

simplify168.0ms (4.1%)

Memory
-24.7MiB live, 162.4MiB allocated; 28ms collecting garbage
Localize:

Found 20 expressions of interest:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
034184
054182
194182
2189182
3395182
4713182
51169182
63320182
76786182
08649179
Stop Event
iter limit
node limit
iter limit
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
y
x
z
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 #s(approx (sin y) y) (*.f64 z y))
#s(approx (sin y) y)
y
(*.f64 z y)
z
x
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 #s(approx (sin y) y))
#s(approx (sin y) y)
y
(/.f64 x (*.f64 (neg.f64 y) z))
x
(*.f64 (neg.f64 y) z)
(neg.f64 y)
z
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
(/.f64 x z)
x
z
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(/.f64 #s(approx (sin y) y) z)
#s(approx (sin y) y)
y
z
(/.f64 x y)
x
Outputs
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) y) z)
(/.f64 (*.f64 (sin.f64 y) x) y)
(/.f64 (*.f64 x (sin.f64 y)) y)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(sin.f64 y)
y
x
z
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(/.f64 #s(approx (sin y) y) (*.f64 z y))
(/.f64 (/.f64 #s(approx (sin y) y) z) y)
#s(approx (sin y) y)
y
(*.f64 z y)
z
x
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(neg.f64 #s(approx (sin y) y))
#s(approx (sin y) y)
y
(/.f64 x (*.f64 (neg.f64 y) z))
x
(*.f64 (neg.f64 y) z)
(neg.f64 y)
z
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 x z) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
(*.f64 (/.f64 x z) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 y y)
y
#s(literal -1/6 binary64)
(/.f64 x z)
x
z
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(/.f64 #s(approx (sin y) y) z)
#s(approx (sin y) y)
y
z
(/.f64 x y)
x

localize109.0ms (2.6%)

Memory
19.9MiB live, 108.8MiB allocated; 12ms collecting garbage
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy0.0
(/.f64 x y)
accuracy0.10546875
(/.f64 #s(approx (sin y) y) z)
accuracy8.3310356546661
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
accuracy34.313852195740466
#s(approx (sin y) y)
accuracy0.19140625
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
accuracy5.646966145293862
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
accuracy28.066185278564088
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
accuracy32.32431490270569
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
accuracy0.0
(neg.f64 y)
accuracy4.183193822428931
(/.f64 x (*.f64 (neg.f64 y) z))
accuracy6.0521936658732365
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
accuracy34.313852195740466
#s(approx (sin y) y)
accuracy0.0
(*.f64 z y)
accuracy2.731711301708015
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
accuracy5.645904578061371
(/.f64 #s(approx (sin y) y) (*.f64 z y))
accuracy34.313852195740466
#s(approx (sin y) y)
accuracy0.0
(sin.f64 y)
accuracy0.1328125
(*.f64 (sin.f64 y) x)
accuracy2.280605447294497
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
accuracy7.499646739426622
(/.f64 (*.f64 (sin.f64 y) x) y)
Samples
91.0ms256×0valid
Compiler

Compiled 138 to 30 computations (78.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 47.0ms
ival-mult: 18.0ms (38.7% of total)
ival-div: 13.0ms (27.9% of total)
ival-sin: 7.0ms (15% of total)
const: 4.0ms (8.6% of total)
ival-neg: 2.0ms (4.3% of total)
ival-add: 1.0ms (2.1% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series45.0ms (1.1%)

Memory
-2.5MiB live, 41.7MiB allocated; 9ms collecting garbage
Counts
19 → 69
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 #s(approx (sin y) y) (*.f64 z y))
#s(approx (sin y) y)
(*.f64 z y)
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 #s(approx (sin y) y))
(/.f64 x (*.f64 (neg.f64 y) z))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(/.f64 #s(approx (sin y) y) z)
(/.f64 x y)
(neg.f64 y)
Outputs
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ x z)))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 x))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (* (* y y) -1/6) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
Calls

9 calls:

TimeVariablePointExpression
23.0ms
y
@inf
((/ (/ (* (sin y) x) y) z) (/ (* (sin y) x) y) (* (sin y) x) (sin y) (* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (neg y))
3.0ms
y
@-inf
((/ (/ (* (sin y) x) y) z) (/ (* (sin y) x) y) (* (sin y) x) (sin y) (* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (neg y))
3.0ms
x
@-inf
((/ (/ (* (sin y) x) y) z) (/ (* (sin y) x) y) (* (sin y) x) (sin y) (* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (neg y))
3.0ms
z
@-inf
((/ (/ (* (sin y) x) y) z) (/ (* (sin y) x) y) (* (sin y) x) (sin y) (* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (neg y))
3.0ms
x
@0
((/ (/ (* (sin y) x) y) z) (/ (* (sin y) x) y) (* (sin y) x) (sin y) (* (/ (sin y) (* z y)) x) (/ (sin y) (* z y)) (sin y) (* z y) (* (neg (sin y)) (/ x (* (neg y) z))) (neg (sin y)) (/ x (* (neg y) z)) (/ (* x (/ (sin y) y)) z) (* (+ (* (* y y) -1/6) 1) (/ x z)) (+ (* (* y y) -1/6) 1) (* (* y y) -1/6) (* (/ (sin y) z) (/ x y)) (/ (sin y) z) (/ x y) (neg y))

simplify176.0ms (4.3%)

Memory
-0.9MiB live, 178.2MiB allocated; 33ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02071346
15161306
219171242
364471227
082491149
Stop Event
iter limit
node limit
Counts
69 → 69
Calls
Call 1
Inputs
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ x z)))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 x))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (* (* y y) -1/6) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
Outputs
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (/ (* x (sin y)) y)))
#s(approx (/ (* (sin y) x) y) (*.f64 (/.f64 (sin.f64 y) y) x))
#s(approx (* (sin y) x) #s(hole binary64 (* x (sin y))))
#s(approx (* (sin y) x) (*.f64 (sin.f64 y) x))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (/ x (* (neg y) z)) #s(hole binary64 (* -1 (/ x (* y z)))))
#s(approx (/ x (* (neg y) z)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ (* x (+ 1 (* -1/6 (pow y 2)))) z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ (* x (sin y)) (* y z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (*.f64 (/.f64 (sin.f64 y) y) x) z))
#s(approx (/ x y) #s(hole binary64 (/ x y)))
#s(approx (/ x y) (/.f64 x y))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 x z))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (/ (* (sin y) x) y) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)) z))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 x))
#s(approx (/ (* (sin y) x) y) x)
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* -1/6 (* x (pow y 2))))))
#s(approx (/ (* (sin y) x) y) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2))))))))
#s(approx (/ (* (sin y) x) y) (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x))
#s(approx (/ (* (sin y) x) y) #s(hole binary64 (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x))))))))
#s(approx (/ (* (sin y) x) y) (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)))
#s(approx (* (sin y) x) #s(hole binary64 (* x y)))
#s(approx (* (sin y) x) (*.f64 x y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* -1/6 (* x (pow y 2)))))))
#s(approx (* (sin y) x) (*.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x) y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* 1/120 (* x (pow y 2)))))))))
#s(approx (* (sin y) x) (*.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) y))
#s(approx (* (sin y) x) #s(hole binary64 (* y (+ x (* (pow y 2) (+ (* -1/6 x) (* (pow y 2) (+ (* -1/5040 (* x (pow y 2))) (* 1/120 x)))))))))
#s(approx (* (sin y) x) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (*.f64 #s(literal -1/5040 binary64) x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)))) (*.f64 x y)))
#s(approx (sin y) #s(hole binary64 y))
#s(approx (sin y) y)
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* -1/6 (pow y 2))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* 1/120 (pow y 2)) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (sin y) #s(hole binary64 (* y (+ 1 (* (pow y 2) (- (* (pow y 2) (+ 1/120 (* -1/5040 (pow y 2)))) 1/6))))))
#s(approx (sin y) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) y))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 x z))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (sin y) (* z y)) x) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ 1 z)))
#s(approx (/ (sin y) (* z y)) (/.f64 #s(literal 1 binary64) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) (fma.f64 (*.f64 (/.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) z) y) y (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z))))
#s(approx (/ (sin y) (* z y)) (fma.f64 (*.f64 (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) y) y (/.f64 #s(literal 1 binary64) z)))
#s(approx (* z y) #s(hole binary64 (* y z)))
#s(approx (* z y) (*.f64 z y))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 x z))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)) z))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 y)))
#s(approx (neg (sin y)) (neg.f64 y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* 1/6 (pow y 2)) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* -1/120 (pow y 2)))) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 (fma.f64 #s(literal -1/120 binary64) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (neg (sin y)) #s(hole binary64 (* y (- (* (pow y 2) (+ 1/6 (* (pow y 2) (- (* 1/5040 (pow y 2)) 1/120)))) 1))))
#s(approx (neg (sin y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 y y) #s(literal -1/120 binary64)) (*.f64 y y) #s(literal 1/6 binary64)) (*.f64 y y) #s(literal -1 binary64)) y))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 x z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (/ (* x (/ (sin y) y)) z) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)) z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (/ x z)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (/.f64 x z))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 1))
#s(approx (+ (* (* y y) -1/6) 1) #s(literal 1 binary64))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (+ 1 (* -1/6 (pow y 2)))))
#s(approx (+ (* (* y y) -1/6) 1) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)))
#s(approx (* (* y y) -1/6) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (* (* y y) -1/6) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (/ x z)))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 x z))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* -1/6 (/ (* x (pow y 2)) z)) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (*.f64 (/.f64 x z) (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64))))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* 1/120 (/ (* x (pow y 2)) z)))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (*.f64 x (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64))) (*.f64 y y) x) z))
#s(approx (* (/ (sin y) z) (/ x y)) #s(hole binary64 (+ (* (pow y 2) (+ (* -1/6 (/ x z)) (* (pow y 2) (+ (* -1/5040 (/ (* x (pow y 2)) z)) (* 1/120 (/ x z)))))) (/ x z))))
#s(approx (* (neg (sin y)) (/ x (* (neg y) z))) (/.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) (*.f64 x (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64))) (fma.f64 (*.f64 (*.f64 y y) x) #s(literal -1/6 binary64) x)) z))
#s(approx (/ (sin y) z) #s(hole binary64 (/ y z)))
#s(approx (/ (sin y) z) (/.f64 y z))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* -1/6 (/ (pow y 2) z)) (/ 1 z)))))
#s(approx (/ (sin y) z) (/.f64 (fma.f64 (pow.f64 y #s(literal 3 binary64)) #s(literal -1/6 binary64) y) z))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* 1/120 (/ (pow y 2) z)) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 y y) #s(literal -1/6 binary64)) z) (/.f64 y z)))
#s(approx (/ (sin y) z) #s(hole binary64 (* y (+ (* (pow y 2) (- (* (pow y 2) (+ (* -1/5040 (/ (pow y 2) z)) (* 1/120 (/ 1 z)))) (* 1/6 (/ 1 z)))) (/ 1 z)))))
#s(approx (/ (sin y) z) (fma.f64 (pow.f64 y #s(literal 3 binary64)) (/.f64 (fma.f64 (fma.f64 #s(literal -1/5040 binary64) (*.f64 y y) #s(literal 1/120 binary64)) (*.f64 y y) #s(literal -1/6 binary64)) z) (/.f64 y z)))
#s(approx (neg y) #s(hole binary64 (* -1 y)))
#s(approx (neg y) (neg.f64 y))
#s(approx (sin y) #s(hole binary64 (sin y)))
#s(approx (sin y) (sin.f64 y))
#s(approx (/ (sin y) (* z y)) #s(hole binary64 (/ (sin y) (* y z))))
#s(approx (/ (sin y) (* z y)) (/.f64 (/.f64 (sin.f64 y) y) z))
#s(approx (neg (sin y)) #s(hole binary64 (* -1 (sin y))))
#s(approx (neg (sin y)) (neg.f64 (sin.f64 y)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* -1/6 (/ (* x (pow y 2)) z))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 (*.f64 (*.f64 y y) x) z) #s(literal -1/6 binary64)))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) #s(hole binary64 (* (pow y 2) (+ (* -1/6 (/ x z)) (/ x (* (pow y 2) z))))))
#s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (/.f64 (fma.f64 #s(literal -1/6 binary64) x (/.f64 (/.f64 x y) y)) z) (*.f64 y y)))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* -1/6 (pow y 2))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
#s(approx (+ (* (* y y) -1/6) 1) #s(hole binary64 (* (pow y 2) (- (/ 1 (pow y 2)) 1/6))))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 (-.f64 (/.f64 #s(literal 1 binary64) (*.f64 y y)) #s(literal 1/6 binary64)) y) y))
#s(approx (/ (sin y) z) #s(hole binary64 (/ (sin y) z)))
#s(approx (/ (sin y) z) (/.f64 (sin.f64 y) z))

rewrite81.0ms (2%)

Memory
1.9MiB live, 71.7MiB allocated; 5ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034150
054148
1127148
0507145
Stop Event
iter limit
iter limit
iter limit
unsound
iter limit
Counts
19 → 184
Calls
Call 1
Inputs
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (*.f64 (sin.f64 y) x) y)
(*.f64 (sin.f64 y) x)
(sin.f64 y)
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 #s(approx (sin y) y) (*.f64 z y))
#s(approx (sin y) y)
(*.f64 z y)
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(neg.f64 #s(approx (sin y) y))
(/.f64 x (*.f64 (neg.f64 y) z))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(/.f64 #s(approx (sin y) y) z)
(/.f64 x y)
(neg.f64 y)
Outputs
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(*.f64 (/.f64 x y) (/.f64 (sin.f64 y) z))
(*.f64 (/.f64 x z) (/.f64 (sin.f64 y) y))
(*.f64 (/.f64 (sin.f64 y) y) (/.f64 x z))
(*.f64 x (/.f64 (/.f64 (sin.f64 y) y) z))
(*.f64 (sin.f64 y) (/.f64 (/.f64 x y) z))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) z) y)
(/.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) y) (neg.f64 (neg.f64 z)))
(/.f64 (/.f64 (*.f64 x (sin.f64 y)) y) z)
(/.f64 (*.f64 x (sin.f64 y)) (*.f64 z y))
(neg.f64 (/.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 x y)) z))
(neg.f64 (/.f64 (/.f64 (*.f64 x (sin.f64 y)) y) (neg.f64 z)))
(*.f64 (/.f64 x y) (sin.f64 y))
(*.f64 (/.f64 (sin.f64 y) y) x)
(*.f64 x (/.f64 (sin.f64 y) y))
(*.f64 (sin.f64 y) (/.f64 x y))
(/.f64 (neg.f64 (*.f64 (neg.f64 x) (sin.f64 y))) (neg.f64 (neg.f64 y)))
(/.f64 (*.f64 (neg.f64 x) (sin.f64 y)) (neg.f64 y))
(/.f64 (*.f64 x (sin.f64 y)) y)
(neg.f64 (*.f64 (neg.f64 (sin.f64 y)) (/.f64 x y)))
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(sin.f64 y)
(*.f64 (/.f64 #s(approx (sin y) y) y) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 y)) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) z) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 x y) (/.f64 #s(approx (sin y) y) z))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (neg.f64 #s(approx (sin y) y)))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) y) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 #s(approx (sin y) y) (neg.f64 (/.f64 x (*.f64 (neg.f64 y) z))))
(*.f64 x (/.f64 (/.f64 #s(approx (sin y) y) y) z))
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (neg.f64 y)) z)
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) z) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x (neg.f64 y)) (neg.f64 #s(approx (sin y) y))) z)
(/.f64 (*.f64 (neg.f64 x) (/.f64 #s(approx (sin y) y) z)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (neg.f64 y))) z)
(/.f64 (*.f64 (/.f64 x y) (neg.f64 #s(approx (sin y) y))) (neg.f64 z))
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) (neg.f64 x)) (neg.f64 y))
(/.f64 (neg.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y)) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x)) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) (neg.f64 #s(approx (sin y) y))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) #s(approx (sin y) y)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 x)) (*.f64 z y))
(/.f64 (*.f64 #s(approx (sin y) y) (neg.f64 x)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 z y)))
(neg.f64 (*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) #s(approx (sin y) y)))
(/.f64 (/.f64 #s(approx (sin y) y) y) z)
(/.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 y)) z)
(/.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) z) (neg.f64 y))
(/.f64 (neg.f64 (/.f64 #s(approx (sin y) y) z)) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 #s(approx (sin y) y))) (*.f64 z y))
(/.f64 (/.f64 #s(approx (sin y) y) z) y)
(/.f64 (neg.f64 #s(approx (sin y) y)) (*.f64 (neg.f64 y) z))
(/.f64 #s(approx (sin y) y) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) (*.f64 z y)))
(neg.f64 (/.f64 #s(approx (sin y) y) (*.f64 (neg.f64 y) z)))
#s(approx (sin y) y)
(*.f64 (neg.f64 (neg.f64 y)) z)
(*.f64 (neg.f64 z) (neg.f64 y))
(*.f64 (neg.f64 y) (neg.f64 z))
(*.f64 z (neg.f64 (neg.f64 y)))
(*.f64 z y)
(*.f64 y z)
(neg.f64 (*.f64 (neg.f64 y) z))
(*.f64 (/.f64 #s(approx (sin y) y) y) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 y)) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) z) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 x y) (/.f64 #s(approx (sin y) y) z))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (neg.f64 #s(approx (sin y) y)))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) y) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 #s(approx (sin y) y) (neg.f64 (/.f64 x (*.f64 (neg.f64 y) z))))
(*.f64 x (/.f64 (/.f64 #s(approx (sin y) y) y) z))
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (neg.f64 y)) z)
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) z) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x (neg.f64 y)) (neg.f64 #s(approx (sin y) y))) z)
(/.f64 (*.f64 (neg.f64 x) (/.f64 #s(approx (sin y) y) z)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (neg.f64 y))) z)
(/.f64 (*.f64 (/.f64 x y) (neg.f64 #s(approx (sin y) y))) (neg.f64 z))
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) (neg.f64 x)) (neg.f64 y))
(/.f64 (neg.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y)) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x)) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) (neg.f64 #s(approx (sin y) y))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) #s(approx (sin y) y)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 x)) (*.f64 z y))
(/.f64 (*.f64 #s(approx (sin y) y) (neg.f64 x)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 z y)))
(neg.f64 (*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) #s(approx (sin y) y)))
(neg.f64 #s(approx (sin y) y))
(/.f64 (neg.f64 (neg.f64 x)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 x (neg.f64 y)) z)
(/.f64 (neg.f64 x) (*.f64 z y))
(/.f64 (/.f64 x y) (neg.f64 z))
(/.f64 (/.f64 x z) (neg.f64 y))
(/.f64 x (*.f64 (neg.f64 y) z))
(neg.f64 (/.f64 (neg.f64 x) (*.f64 (neg.f64 y) z)))
(neg.f64 (/.f64 x (*.f64 z y)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (/.f64 x z) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))))
(*.f64 (/.f64 x z) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))))
(*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z))
(/.f64 (*.f64 (neg.f64 x) #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))) (neg.f64 z))
(/.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (neg.f64 x)) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) x)) (neg.f64 z))
(/.f64 (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) x) z)
#s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 #s(literal -1/6 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (*.f64 #s(literal -1/6 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal -1/6 binary64) y) y)
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal -1/6 binary64)))
(*.f64 (*.f64 (*.f64 y y) #s(literal -1/6 binary64)) #s(literal 1 binary64))
(*.f64 (*.f64 y y) #s(literal -1/6 binary64))
(*.f64 #s(literal 1 binary64) (*.f64 (*.f64 y y) #s(literal -1/6 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 (*.f64 y y) #s(literal 1 binary64)))
(*.f64 #s(literal -1/6 binary64) (*.f64 y y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal -1/6 binary64)))
(*.f64 y (*.f64 (*.f64 #s(literal -1/6 binary64) y) #s(literal 1 binary64)))
(*.f64 y (*.f64 #s(literal -1/6 binary64) y))
(*.f64 (/.f64 #s(approx (sin y) y) y) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 y)) (/.f64 x z))
(*.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) z) (/.f64 x (neg.f64 y)))
(*.f64 (/.f64 x y) (/.f64 #s(approx (sin y) y) z))
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) (neg.f64 #s(approx (sin y) y)))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) y) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 #s(approx (sin y) y) (neg.f64 (/.f64 x (*.f64 (neg.f64 y) z))))
(*.f64 x (/.f64 (/.f64 #s(approx (sin y) y) y) z))
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (neg.f64 y)) z)
(/.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) z) (neg.f64 y))
(/.f64 (*.f64 (/.f64 x (neg.f64 y)) (neg.f64 #s(approx (sin y) y))) z)
(/.f64 (*.f64 (neg.f64 x) (/.f64 #s(approx (sin y) y) z)) (neg.f64 y))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x y)) (neg.f64 z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (neg.f64 y))) z)
(/.f64 (*.f64 (/.f64 x y) (neg.f64 #s(approx (sin y) y))) (neg.f64 z))
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) (neg.f64 x)) (neg.f64 y))
(/.f64 (neg.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y)) (neg.f64 z))
(/.f64 (neg.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x)) (neg.f64 y))
(/.f64 (neg.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) (neg.f64 #s(approx (sin y) y))) (*.f64 z y))
(/.f64 (*.f64 (neg.f64 x) #s(approx (sin y) y)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 x)) (*.f64 z y))
(/.f64 (*.f64 #s(approx (sin y) y) (neg.f64 x)) (*.f64 (neg.f64 y) z))
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) y) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 (neg.f64 y) z))
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(neg.f64 (/.f64 (neg.f64 (*.f64 #s(approx (sin y) y) x)) (*.f64 z y)))
(neg.f64 (*.f64 (/.f64 x (*.f64 (neg.f64 y) z)) #s(approx (sin y) y)))
(/.f64 (neg.f64 (neg.f64 #s(approx (sin y) y))) (neg.f64 (neg.f64 z)))
(/.f64 (neg.f64 #s(approx (sin y) y)) (neg.f64 z))
(/.f64 #s(approx (sin y) y) z)
(neg.f64 (/.f64 #s(approx (sin y) y) (neg.f64 z)))
(neg.f64 (/.f64 (neg.f64 #s(approx (sin y) y)) z))
(/.f64 (neg.f64 (neg.f64 x)) (neg.f64 (neg.f64 y)))
(/.f64 (neg.f64 x) (neg.f64 y))
(/.f64 x y)
(neg.f64 (/.f64 (neg.f64 x) y))
(neg.f64 (/.f64 x (neg.f64 y)))
(neg.f64 y)

eval22.0ms (0.5%)

Memory
-4.3MiB live, 41.0MiB allocated; 5ms collecting garbage
Compiler

Compiled 2 562 to 464 computations (81.9% saved)

prune17.0ms (0.4%)

Memory
-1.2MiB live, 43.2MiB allocated; 8ms collecting garbage
Pruning

20 alts after pruning (11 fresh and 9 done)

PrunedKeptTotal
New1586164
Fresh156
Picked325
Done077
Total16220182
Accuracy
100.0%
Counts
182 → 20
Alt Table
Click to see full alt table
StatusAccuracyProgram
83.0%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
87.7%
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
40.5%
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
44.2%
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
83.9%
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
45.5%
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
53.6%
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
95.7%
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
47.6%
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
89.2%
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
86.9%
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
53.4%
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
53.3%
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
84.1%
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
49.3%
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
54.5%
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
54.4%
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
45.2%
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
15.6%
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
12.7%
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
Compiler

Compiled 613 to 291 computations (52.5% saved)

regimes70.0ms (1.7%)

Memory
20.1MiB live, 166.0MiB allocated; 24ms collecting garbage
Counts
29 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x))
Outputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x))
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Calls

6 calls:

26.0ms
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
10.0ms
y
9.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
8.0ms
x
8.0ms
z
Results
AccuracySegmentsBranch
96.4%1(/.f64 (sin.f64 y) y)
99.8%3(*.f64 x (/.f64 (sin.f64 y) y))
99.5%3(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
99.7%2x
96.4%1y
99.8%2z
Compiler

Compiled 21 to 27 computations (-28.6% saved)

regimes32.0ms (0.8%)

Memory
-26.6MiB live, 19.4MiB allocated; 3ms collecting garbage
Counts
28 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) y) z)
(/.f64 (/.f64 (*.f64 (sin.f64 y) x) z) y)
Outputs
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Calls

1 calls:

31.0ms
z
Results
AccuracySegmentsBranch
99.8%2z
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes66.0ms (1.6%)

Memory
21.0MiB live, 66.4MiB allocated; 3ms collecting garbage
Counts
25 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
Outputs
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x)
Calls

6 calls:

32.0ms
y
7.0ms
z
7.0ms
x
7.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
6.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
95.7%1(/.f64 (sin.f64 y) y)
95.7%1y
95.7%1(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
97.5%2(*.f64 x (/.f64 (sin.f64 y) y))
95.7%1x
95.7%1z
Compiler

Compiled 21 to 27 computations (-28.6% saved)

regimes59.0ms (1.4%)

Memory
-5.9MiB live, 86.4MiB allocated; 18ms collecting garbage
Counts
24 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
Outputs
(*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y))
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
Calls

6 calls:

23.0ms
x
10.0ms
z
6.0ms
y
6.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
6.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
91.3%2z
96.5%2(/.f64 (sin.f64 y) y)
90.9%2(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
96.5%2y
89.2%1x
95.5%4(*.f64 x (/.f64 (sin.f64 y) y))
Compiler

Compiled 21 to 27 computations (-28.6% saved)

regimes16.0ms (0.4%)

Memory
-4.2MiB live, 38.5MiB allocated; 6ms collecting garbage
Counts
23 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 (*.f64 (sin.f64 y) x) (*.f64 z y))
(*.f64 (neg.f64 (sin.f64 y)) (/.f64 x (*.f64 (neg.f64 y) z)))
Outputs
(*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x)
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
Calls

2 calls:

9.0ms
y
6.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
95.4%2y
95.4%2(/.f64 (sin.f64 y) y)
Compiler

Compiled 5 to 8 computations (-60% saved)

regimes12.0ms (0.3%)

Memory
28.4MiB live, 28.4MiB allocated; 0ms collecting garbage
Counts
20 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
Outputs
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 (sin.f64 y) (/.f64 x (*.f64 z y)))
Calls

2 calls:

5.0ms
y
5.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
95.4%2(/.f64 (sin.f64 y) y)
95.4%2y
Compiler

Compiled 5 to 8 computations (-60% saved)

regimes43.0ms (1%)

Memory
-37.7MiB live, 65.5MiB allocated; 15ms collecting garbage
Counts
19 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 (/.f64 x y) z))
(*.f64 #s(approx (/ (sin y) (* z y)) (/.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) z)) x)
(*.f64 (/.f64 #s(approx (sin y) y) z) (/.f64 x y))
(*.f64 (/.f64 (/.f64 #s(approx (sin y) y) z) y) x)
(/.f64 (*.f64 x #s(approx (/ (sin y) y) (fma.f64 (*.f64 y y) #s(literal -1/6 binary64) #s(literal 1 binary64)))) z)
(/.f64 (*.f64 (/.f64 #s(approx (sin y) y) z) x) y)
(/.f64 (/.f64 (*.f64 #s(approx (sin y) y) x) z) y)
#s(approx (/ (* x (/ (sin y) y)) z) (fma.f64 (/.f64 x z) #s(literal 1 binary64) (*.f64 (/.f64 x z) (*.f64 #s(literal -1/6 binary64) (*.f64 y y)))))
Outputs
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z)))
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
Calls

6 calls:

14.0ms
x
8.0ms
(/.f64 (sin.f64 y) y)
5.0ms
z
5.0ms
y
5.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
Results
AccuracySegmentsBranch
62.2%2x
68.2%3(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
62.4%2z
67.0%3(*.f64 x (/.f64 (sin.f64 y) y))
65.8%2(/.f64 (sin.f64 y) y)
66.9%2y
Compiler

Compiled 21 to 27 computations (-28.6% saved)

regimes6.0ms (0.2%)

Memory
15.9MiB live, 15.9MiB allocated; 0ms collecting garbage
Counts
9 → 3
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 #s(literal -1/6 binary64) y) y)) (/.f64 x z)))
#s(approx (/ (* x (/ (sin y) y)) z) (*.f64 #s(approx (+ (* (* y y) -1/6) 1) (*.f64 (*.f64 y y) #s(literal -1/6 binary64))) (/.f64 x z)))
Outputs
#s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x)))
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
Calls

2 calls:

3.0ms
y
3.0ms
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Results
AccuracySegmentsBranch
68.2%3(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
65.7%2y
Compiler

Compiled 9 to 10 computations (-11.1% saved)

regimes7.0ms (0.2%)

Memory
26.3MiB live, 26.3MiB allocated; 0ms collecting garbage
Counts
6 → 2
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
(*.f64 (/.f64 #s(approx (sin y) y) (*.f64 z y)) x)
(/.f64 (*.f64 #s(approx (sin y) y) x) (*.f64 z y))
(*.f64 (neg.f64 #s(approx (sin y) y)) (/.f64 x (*.f64 (neg.f64 y) z)))
Outputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y)))
Calls

3 calls:

2.0ms
y
2.0ms
(/.f64 (sin.f64 y) y)
2.0ms
(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Results
AccuracySegmentsBranch
65.7%2y
65.7%2(/.f64 (sin.f64 y) y)
65.7%2(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
Compiler

Compiled 13 to 15 computations (-15.4% saved)

regimes9.0ms (0.2%)

Memory
-17.1MiB live, 30.1MiB allocated; 2ms collecting garbage
Accuracy

Total -0.1b remaining (-0.3%)

Threshold costs -0.1b (-0.3%)

Counts
2 → 1
Calls
Call 1
Inputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
(*.f64 (/.f64 #s(approx (/ (sin y) y) #s(literal 1 binary64)) z) x)
Outputs
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
Calls

6 calls:

2.0ms
y
1.0ms
z
1.0ms
(*.f64 x (/.f64 (sin.f64 y) y))
1.0ms
x
1.0ms
(/.f64 (sin.f64 y) y)
Results
AccuracySegmentsBranch
53.6%1x
53.6%1z
53.6%1(*.f64 x (/.f64 (sin.f64 y) y))
53.6%1(/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z)
53.6%1(/.f64 (sin.f64 y) y)
53.6%1y
Compiler

Compiled 21 to 27 computations (-28.6% saved)

bsearch17.0ms (0.4%)

Memory
-20.1MiB live, 26.9MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
15.0ms
1.178623862717168e-48
1.5662747354226288e-45
Samples
11.0ms128×0valid
Compiler

Compiled 155 to 157 computations (-1.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 7.0ms
ival-sin: 5.0ms (68.6% of total)
ival-div: 2.0ms (27.5% of total)
ival-mult: 1.0ms (13.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.7MiB live, 1.7MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
1.178623862717168e-48
1.5662747354226288e-45
Compiler

Compiled 139 to 141 computations (-1.4% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-3.0829763343167915e-291
-1.5380828255204173e-294
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999998048
1.0
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
0.9999999999998048
1.0
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch12.0ms (0.3%)

Memory
24.3MiB live, 24.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
1.0824978961821013e-6
9.428889356174822e-5
Samples
6.0ms112×0valid
Compiler

Compiled 200 to 174 computations (13% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-div: 1.0ms (29% of total)
ival-mult: 1.0ms (29% of total)
ival-sin: 1.0ms (29% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch11.0ms (0.3%)

Memory
-30.8MiB live, 15.5MiB allocated; 5ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
10.0ms
6.109957761907684e+92
8.753046575688143e+92
Samples
8.0ms64×0valid
Compiler

Compiled 127 to 109 computations (14.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 6.0ms
ival-div: 3.0ms (49.1% of total)
ival-sin: 2.0ms (32.7% of total)
ival-true: 0.0ms (0% of total)
adjust: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.1MiB live, 1.1MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6380702991721006e-233
1.9857378328818606e-228
0.0ms
-9.032363513872231e-175
-1.313702581046614e-207
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch4.0ms (0.1%)

Memory
7.3MiB live, 7.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
4.0ms
1.2696183245541919e+41
2.6013942984143066e+41
Samples
3.0ms32×0valid
Compiler

Compiled 51 to 49 computations (3.9% saved)

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

simplify60.0ms (1.4%)

Memory
1.2MiB live, 52.4MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073287
1101287
2169285
3367285
41269285
56211285
Stop Event
node limit
Calls
Call 1
Inputs
(if (<=.f64 z #s(literal 2490753968601435/1606938044258990275541962092341162602522202993782792835301376 binary64)) (*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x)) (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z))
(if (<=.f64 z #s(literal 2490753968601435/1606938044258990275541962092341162602522202993782792835301376 binary64)) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x) (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z))
(if (<=.f64 (*.f64 x (/.f64 (sin.f64 y) y)) #s(literal -5617791046444737/2808895523222368605827039360607851146278089029597354019897345018089573059460952548948569958162617750330001779372990521213418590137725259726450741103741783193402623334763523207442222181269470220616454421126328215138096104411600982523029892352200425580677351729446660909999175717788745567263052442650378502144 binary64)) (*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y)) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
(if (<=.f64 (/.f64 (sin.f64 y) y) #s(literal 4503599627369617/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y)) (/.f64 #s(approx (* x (/ (sin y) y)) x) z))
(if (<=.f64 (/.f64 (sin.f64 y) y) #s(literal 4503599627369617/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x) (/.f64 #s(approx (* x (/ (sin y) y)) x) z))
(if (<=.f64 y #s(literal 944473296573929/147573952589676412928 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z))) (*.f64 (sin.f64 y) (/.f64 x (*.f64 z y))))
(if (<=.f64 y #s(literal 749999999999999945688905802977242987289481237198023593891341842771664580074072827271145586688 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z))) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))))
(if (<=.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z) #s(literal -4455508415646675/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x))) (if (<=.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z) #s(literal 8949657474523425/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864 binary64)) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))) (/.f64 #s(approx (* x (/ (sin y) y)) x) z)))
(if (<=.f64 y #s(literal 149999999999999991258606410644134081593344 binary64)) (/.f64 #s(approx (* x (/ (sin y) y)) x) z) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))))
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)
Outputs
(if (<=.f64 z #s(literal 2490753968601435/1606938044258990275541962092341162602522202993782792835301376 binary64)) (*.f64 (/.f64 (/.f64 (sin.f64 y) z) (neg.f64 y)) (neg.f64 x)) (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z))
(if (<=.f64 z #s(literal 2490753968601435/1606938044258990275541962092341162602522202993782792835301376 binary64)) (*.f64 (/.f64 (/.f64 (sin.f64 y) z) y) x) (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z))
(if (<=.f64 z #s(literal 2490753968601435/1606938044258990275541962092341162602522202993782792835301376 binary64)) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x) (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z))
(if (<=.f64 (*.f64 x (/.f64 (sin.f64 y) y)) #s(literal -5617791046444737/2808895523222368605827039360607851146278089029597354019897345018089573059460952548948569958162617750330001779372990521213418590137725259726450741103741783193402623334763523207442222181269470220616454421126328215138096104411600982523029892352200425580677351729446660909999175717788745567263052442650378502144 binary64)) (*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y)) (*.f64 (/.f64 (/.f64 (sin.f64 y) y) z) x))
(if (<=.f64 (/.f64 (sin.f64 y) y) #s(literal 4503599627369617/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 y) z) (/.f64 x y)) (/.f64 #s(approx (* x (/ (sin y) y)) x) z))
(if (<=.f64 (/.f64 (sin.f64 y) y) #s(literal 4503599627369617/4503599627370496 binary64)) (*.f64 (/.f64 (sin.f64 y) (*.f64 z y)) x) (/.f64 #s(approx (* x (/ (sin y) y)) x) z))
(if (<=.f64 y #s(literal 944473296573929/147573952589676412928 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z))) (*.f64 (sin.f64 y) (/.f64 x (*.f64 z y))))
(if (<=.f64 y #s(literal 749999999999999945688905802977242987289481237198023593891341842771664580074072827271145586688 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) (*.f64 (fma.f64 (*.f64 #s(literal -1/6 binary64) y) y #s(literal 1 binary64)) (/.f64 x z))) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))))
(if (<=.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z) #s(literal -4455508415646675/8911016831293350036408538292383381493932086928219843614412485386522021810954448020519360959604241015192660760885926576778688876408936402340337229140082449586429677098359892480630613656731648 binary64)) #s(approx (/ (* x (/ (sin y) y)) z) #s(approx (* (+ (* (* y y) -1/6) 1) (/ x z)) (*.f64 (*.f64 (/.f64 (*.f64 y y) z) #s(literal -1/6 binary64)) x))) (if (<=.f64 (/.f64 (*.f64 x (/.f64 (sin.f64 y) y)) z) #s(literal 8949657474523425/447482873726171268819043498963669351417527174565166445772522651598610375083639127489770066653509818366083742331546870626162450949329271510944453531899446556570513661062175189097918769710609043378828750128621019491811414900105274743989981048538660864 binary64)) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))) (/.f64 #s(approx (* x (/ (sin y) y)) x) z)))
(if (<=.f64 y #s(literal 149999999999999991258606410644134081593344 binary64)) (/.f64 #s(approx (* x (/ (sin y) y)) x) z) (*.f64 #s(approx (sin y) y) (/.f64 x (*.f64 z y))))
(/.f64 #s(approx (* x (/ (sin y) y)) x) z)

derivations197.0ms (4.8%)

Memory
20.9MiB live, 154.4MiB allocated; 12ms collecting garbage
Stop Event
fuel
Compiler

Compiled 285 to 73 computations (74.4% saved)

preprocess134.0ms (3.2%)

Memory
-2.6MiB live, 149.3MiB allocated; 29ms collecting garbage
Remove

(negabs x)

(abs y)

Compiler

Compiled 818 to 298 computations (63.6% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...