Details

Time bar (total: 9.9s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.2s (21.7%)

Results
922.0ms5205×body256valid
872.0ms1983×body1024valid
347.0ms1063×body512valid
3.0msbody2048valid
Bogosity

preprocess17.0ms (0.2%)

Algorithm
egg-herbie
Rules
32×fma-def
16×*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02492
14192
25392
033
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
Call 2
Inputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 y (sin.f64 x)) (*.f64 z (cos.f64 x)))
(fma.f64 y (sin.f64 x) (*.f64 z (cos.f64 x)))
(+.f64 (*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)))
(fma.f64 z (sin.f64 y) (*.f64 x (cos.f64 y)))
(fma.f64 x (cos.f64 y) (*.f64 (sin.f64 y) z))
(+.f64 (*.f64 x (sin.f64 z)) (*.f64 y (cos.f64 z)))
(fma.f64 x (sin.f64 z) (*.f64 y (cos.f64 z)))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify45.0ms (0.4%)

Algorithm
egg-herbie
Rules
fma-def
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
11623
21923
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))

eval1.0ms (0%)

Compiler

Compiled 20 to 9 computations (55% saved)

prune1.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Accurracy
99.8%
Counts
3 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Compiler

Compiled 23 to 15 computations (34.8% saved)

localize124.0ms (1.3%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
99.8%
(*.f64 x (sin.f64 y))
99.8%
(*.f64 z (cos.f64 y))
Compiler

Compiled 28 to 9 computations (67.9% saved)

series7.0ms (0.1%)

Counts
3 → 76
Calls

21 calls:

TimeVariablePointExpression
1.0ms
z
@0
(*.f64 z (cos.f64 y))
1.0ms
y
@0
(*.f64 x (sin.f64 y))
1.0ms
x
@0
(*.f64 x (sin.f64 y))
0.0ms
y
@0
(*.f64 z (cos.f64 y))
0.0ms
z
@inf
(*.f64 z (cos.f64 y))

rewrite82.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1150×log-prod
798×pow-prod-down
730×fma-def
576×pow-prod-up
538×pow-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01145
122645
2296745
Stop Event
node limit
Counts
3 → 116
Calls
Call 1
Inputs
(*.f64 z (cos.f64 y))
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Outputs
(+.f64 0 (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (cos.f64 y)))) 1)
(pow.f64 (*.f64 z (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 z (cos.f64 y))))
(exp.f64 (log.f64 (*.f64 z (cos.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (cos.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (cos.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (cos.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 z (cos.f64 y))))
(+.f64 0 (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(pow.f64 (*.f64 x (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))) (/.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (exp.f64 z) (cos.f64 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 z (cos.f64 y)) 1 (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sin.f64 y)) 1 (*.f64 z (cos.f64 y)))
(fma.f64 1 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) (sqrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))

simplify87.0ms (0.9%)

Algorithm
egg-herbie
Rules
1048×unswap-sqr
948×cancel-sign-sub-inv
800×difference-of-squares
690×fma-neg
484×distribute-lft-neg-in
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03094488
17324378
226774378
Stop Event
node limit
Counts
192 → 158
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 0 (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (cos.f64 y)))) 1)
(pow.f64 (*.f64 z (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 z (cos.f64 y))))
(exp.f64 (log.f64 (*.f64 z (cos.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (cos.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (cos.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (cos.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 z (cos.f64 y))))
(+.f64 0 (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(pow.f64 (*.f64 x (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))) (/.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) -1)
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (exp.f64 z) (cos.f64 y))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 z (cos.f64 y)) 1 (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sin.f64 y)) 1 (*.f64 z (cos.f64 y)))
(fma.f64 1 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) (sqrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
Outputs
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
(*.f64 (cos.f64 y) z)
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) z)
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) z) (*.f64 1/24 (*.f64 z (pow.f64 y 4))))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 1/24 (*.f64 z (pow.f64 y 4)) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/720 (*.f64 z (pow.f64 y 6)) (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4))))))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 -1/720 (*.f64 z (pow.f64 y 6)) (fma.f64 1/24 (*.f64 z (pow.f64 y 4)) z)))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(fma.f64 y x (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (fma.f64 -1/5040 (*.f64 x (pow.f64 y 7)) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7))))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 y x z))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 y x z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (+.f64 (fma.f64 y x z) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 0 (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))))
(*.f64 (cos.f64 y) z)
(-.f64 (exp.f64 (log1p.f64 (*.f64 z (cos.f64 y)))) 1)
(*.f64 (cos.f64 y) z)
(pow.f64 (*.f64 z (cos.f64 y)) 1)
(*.f64 (cos.f64 y) z)
(pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3)
(*.f64 (cos.f64 y) z)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) 1/2)
(*.f64 (cos.f64 y) z)
(pow.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) 1/3)
(*.f64 (cos.f64 y) z)
(pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2)
(*.f64 (cos.f64 y) z)
(sqrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2))
(*.f64 (cos.f64 y) z)
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))))
(*.f64 (cos.f64 y) z)
(cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3))
(*.f64 (cos.f64 y) z)
(expm1.f64 (log1p.f64 (*.f64 z (cos.f64 y))))
(*.f64 (cos.f64 y) z)
(exp.f64 (log.f64 (*.f64 z (cos.f64 y))))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 1) 1))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 z (cos.f64 y)))) 3))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 z (cos.f64 y)))) 1/3))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 z (cos.f64 y))) 3) 1/3))
(*.f64 (cos.f64 y) z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 z (cos.f64 y)))) 2))
(*.f64 (cos.f64 y) z)
(log1p.f64 (expm1.f64 (*.f64 z (cos.f64 y))))
(*.f64 (cos.f64 y) z)
(+.f64 0 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))))
(*.f64 (sin.f64 y) x)
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
(*.f64 (sin.f64 y) x)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/2)
(*.f64 (sin.f64 y) x)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) 1/3)
(*.f64 (sin.f64 y) x)
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
(*.f64 (sin.f64 y) x)
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(*.f64 (sin.f64 y) x)
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 2))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))) (/.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (/.f64 1 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (*.f64 (cos.f64 y) (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (*.f64 (*.f64 (sin.f64 y) x) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) (neg.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (/.f64 (fma.f64 (*.f64 z (cos.f64 y)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 (cos.f64 y) z)))
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (pow.f64 (exp.f64 z) (cos.f64 y)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (exp.f64 z) (cos.f64 y))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1/3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 z (cos.f64 y)) 1 (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 x (sin.f64 y)) 1 (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 1 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) (sqrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))

localize89.0ms (0.9%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
99.9%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
99.8%
(*.f64 z (cos.f64 y))
Compiler

Compiled 23 to 8 computations (65.2% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
0.0ms
y
@-inf
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
0.0ms
x
@-inf
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
0.0ms
x
@inf
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
0.0ms
x
@0
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))

rewrite63.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1030×log-prod
820×exp-prod
670×prod-exp
650×pow-prod-down
556×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
121323
2250623
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
Outputs
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1)
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))

simplify81.0ms (0.8%)

Algorithm
egg-herbie
Rules
872×fma-neg
802×fma-def
694×associate-+r+
656×associate-+l+
468×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01191884
12841834
29081830
335151788
476461788
Stop Event
node limit
Counts
72 → 62
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1)
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
Outputs
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 y x z))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 y x z))
(fma.f64 y x (fma.f64 z (*.f64 y (*.f64 y -1/2)) z))
(fma.f64 y x (fma.f64 (*.f64 y y) (*.f64 z -1/2) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (+.f64 (fma.f64 y x z) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))))
(fma.f64 -1/2 (*.f64 y (*.f64 y z)) (fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 (pow.f64 y 3) (*.f64 x -1/6) (fma.f64 y x z)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (-.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (*.f64 x (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) (neg.f64 z))))
(/.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 3)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2) 1/2)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3) 1/3)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))))) (sqrt.f64 (log.f64 (fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x)))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (pow.f64 (exp.f64 x) (sin.f64 y))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1) 1))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1/3))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))

eval78.0ms (0.8%)

Compiler

Compiled 3959 to 1243 computations (68.6% saved)

prune108.0ms (1.1%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New23519254
Fresh000
Picked011
Done011
Total23521256
Accurracy
100.0%
Counts
256 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.2%
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
99.4%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
98.6%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.1%
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (cos.f64 y)))
49.8%
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (cos.f64 y)))
53.6%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
48.6%
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
55.4%
(fma.f64 y x z)
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
54.9%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
99.1%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) (*.f64 z (cos.f64 y)))
55.4%
(+.f64 (*.f64 y x) z)
52.4%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
98.5%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3))
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
76.9%
(+.f64 (*.f64 x (sin.f64 y)) z)
76.8%
(+.f64 (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) (*.f64 z (cos.f64 y)))
36.5%
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
39.7%
(*.f64 (sin.f64 y) x)
60.9%
(*.f64 (cos.f64 y) z)
40.1%
z
Compiler

Compiled 563 to 358 computations (36.4% saved)

localize151.0ms (1.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 (cbrt.f64 (cos.f64 y)) z)
99.8%
(*.f64 x (sin.f64 y))
99.7%
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
99.5%
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 44 to 15 computations (65.9% saved)

series11.0ms (0.1%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
y
@-inf
(cbrt.f64 (cos.f64 y))
2.0ms
z
@0
(*.f64 (cbrt.f64 (cos.f64 y)) z)
2.0ms
y
@inf
(cbrt.f64 (cos.f64 y))
1.0ms
y
@-inf
(*.f64 (cbrt.f64 (cos.f64 y)) z)
1.0ms
y
@inf
(*.f64 (cbrt.f64 (cos.f64 y)) z)

rewrite114.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1666×pow1
1526×add-exp-log
1526×log1p-expm1-u
1526×expm1-log1p-u
1488×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
119639
2217039
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(cbrt.f64 (cos.f64 y))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (cos.f64 y)) z)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) 1)
(*.f64 1 (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3))
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3)
(pow.f64 (pow.f64 (cos.f64 y) 1/6) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(fabs.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (exp.f64 (cbrt.f64 (cos.f64 y))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(exp.f64 (log.f64 (cbrt.f64 (cos.f64 y))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1)
(*.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 1)
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 2))
(log.f64 (pow.f64 (exp.f64 z) (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3))
(cbrt.f64 (*.f64 (cos.f64 y) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (cos.f64 y)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))

simplify61.0ms (0.6%)

Algorithm
egg-herbie
Rules
2160×fma-def
848×distribute-rgt-in
804×distribute-lft-in
796×unswap-sqr
736×log-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01411627
13041547
210041521
335771505
Stop Event
node limit
Counts
97 → 101
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2))))
(+.f64 (*.f64 -23/6480 (pow.f64 y 6)) (+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))))
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cos.f64 y) 1/3)
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
z
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z))
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -23/6480 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) 1)
(*.f64 1 (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3))
(pow.f64 (cos.f64 y) 1/3)
(pow.f64 (cbrt.f64 (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3)
(pow.f64 (pow.f64 (cos.f64 y) 1/6) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(fabs.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (exp.f64 (cbrt.f64 (cos.f64 y))))
(expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(exp.f64 (log.f64 (cbrt.f64 (cos.f64 y))))
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 y))))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1)
(*.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 1)
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 2))
(log.f64 (pow.f64 (exp.f64 z) (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3))
(cbrt.f64 (*.f64 (cos.f64 y) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (cos.f64 y)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
Outputs
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/6 (*.f64 y y)))
(fma.f64 -1/6 (*.f64 y y) 1)
(+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2))))
(fma.f64 -1/72 (pow.f64 y 4) (+.f64 1 (*.f64 -1/6 (*.f64 y y))))
(fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -1/6 (*.f64 y y) 1))
(fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1))
(+.f64 (*.f64 -23/6480 (pow.f64 y 6)) (+.f64 (*.f64 -1/72 (pow.f64 y 4)) (+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))))
(fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/72 (pow.f64 y 4) (+.f64 1 (*.f64 -1/6 (*.f64 y y)))))
(fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -1/6 (*.f64 y y) 1)))
(fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/6 (*.f64 y y) 1)))
(fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -23/6480 (pow.f64 y 6) 1)))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (*.f64 (*.f64 y y) -1/3))
(fma.f64 (*.f64 y y) -1/3 1)
(fma.f64 y (*.f64 y -1/3) 1)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (fma.f64 -1/3 (*.f64 y y) (*.f64 (pow.f64 y 6) -1/405)))
(+.f64 1 (fma.f64 (*.f64 y y) -1/3 (*.f64 (pow.f64 y 6) -1/405)))
(fma.f64 (*.f64 y y) -1/3 (fma.f64 (pow.f64 y 6) -1/405 1))
(fma.f64 y (*.f64 y -1/3) (fma.f64 (pow.f64 y 6) -1/405 1))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(+.f64 1 (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 -1/3 (*.f64 y y) (*.f64 (pow.f64 y 6) -1/405))))
(+.f64 1 (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (*.f64 y y) -1/3 (*.f64 (pow.f64 y 6) -1/405))))
(fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (*.f64 y y) -1/3 (fma.f64 (pow.f64 y 6) -1/405 1)))
(fma.f64 y (*.f64 y -1/3) (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 (pow.f64 y 6) -1/405 1)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
z
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z)
(fma.f64 -1/6 (*.f64 (*.f64 y y) z) z)
(*.f64 (fma.f64 -1/6 (*.f64 y y) 1) z)
(fma.f64 -1/6 (*.f64 y (*.f64 y z)) z)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) z) (fma.f64 -1/6 (*.f64 (*.f64 y y) z) z))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) z) (*.f64 (fma.f64 -1/6 (*.f64 y y) 1) z))
(*.f64 z (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1)))
(*.f64 (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) 1)) z)
(+.f64 (*.f64 -1/72 (*.f64 (pow.f64 y 4) z)) (+.f64 (*.f64 -23/6480 (*.f64 (pow.f64 y 6) z)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 y 2) z)) z)))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) z) (fma.f64 -23/6480 (*.f64 (pow.f64 y 6) z) (fma.f64 -1/6 (*.f64 (*.f64 y y) z) z)))
(+.f64 (*.f64 (fma.f64 -1/6 (*.f64 y y) 1) z) (*.f64 z (fma.f64 -23/6480 (pow.f64 y 6) (*.f64 -1/72 (pow.f64 y 4)))))
(fma.f64 -1/72 (*.f64 (pow.f64 y 4) z) (*.f64 z (fma.f64 -23/6480 (pow.f64 y 6) (fma.f64 -1/6 (*.f64 y y) 1))))
(*.f64 z (fma.f64 -1/6 (*.f64 y y) (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 -23/6480 (pow.f64 y 6) 1))))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 1 (cos.f64 y)) 1/3) z)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 y))) 1)
(cbrt.f64 (cos.f64 y))
(*.f64 (cbrt.f64 (cos.f64 y)) 1)
(cbrt.f64 (cos.f64 y))
(*.f64 1 (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (cos.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (cos.f64 y))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(cbrt.f64 (cos.f64 y))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (pow.f64 (cos.f64 y) 1/6))
(cbrt.f64 (cos.f64 y))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))) (fabs.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y)))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (cos.f64 y))
(*.f64 (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3) (pow.f64 (sqrt.f64 (cos.f64 y)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (cos.f64 y))) (cbrt.f64 (sqrt.f64 (cos.f64 y))))
(pow.f64 (pow.f64 (sqrt.f64 (cos.f64 y)) 1/6) 4)
(pow.f64 (cos.f64 y) 1/3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cbrt.f64 (cos.f64 y)) 1)
(cbrt.f64 (cos.f64 y))
(pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1/2)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/6)
(pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3)
(cbrt.f64 (cos.f64 y))
(pow.f64 (pow.f64 (cos.f64 y) 1/6) 2)
(cbrt.f64 (cos.f64 y))
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/6)
(fabs.f64 (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (cos.f64 y))
(log.f64 (exp.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (cos.f64 y))
(expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (cos.f64 y))
(exp.f64 (log.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (cos.f64 y))
(log1p.f64 (expm1.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (cos.f64 y))
(-.f64 (+.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2))) 1)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) 1)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(*.f64 1 (cbrt.f64 (pow.f64 (cos.f64 y) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(log.f64 (exp.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(expm1.f64 (log1p.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(log1p.f64 (expm1.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 1)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 1)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 3)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3) 1/3)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)) 2)
(*.f64 z (cbrt.f64 (cos.f64 y)))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 2))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(log.f64 (pow.f64 (exp.f64 z) (cbrt.f64 (cos.f64 y))))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z) 3))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (*.f64 (cos.f64 y) (pow.f64 z 3)))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (cos.f64 y)))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(*.f64 z (cbrt.f64 (cos.f64 y)))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 (cos.f64 y)) z)))
(*.f64 z (cbrt.f64 (cos.f64 y)))

localize46.0ms (0.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 y x) z)
Compiler

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 9
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@inf
(+.f64 (*.f64 y x) z)
0.0ms
x
@inf
(+.f64 (*.f64 y x) z)
0.0ms
y
@0
(+.f64 (*.f64 y x) z)
0.0ms
x
@-inf
(+.f64 (*.f64 y x) z)
0.0ms
y
@-inf
(+.f64 (*.f64 y x) z)

rewrite94.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1628×pow1
1502×add-exp-log
1502×log1p-expm1-u
1502×expm1-log1p-u
1472×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
11509
220409
Stop Event
node limit
Counts
1 → 35
Calls
Call 1
Inputs
(+.f64 (*.f64 y x) z)
Outputs
(-.f64 (+.f64 1 (fma.f64 y x z)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z))))
(*.f64 (fma.f64 y x z) 1)
(*.f64 1 (fma.f64 y x z))
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))
(pow.f64 (fma.f64 y x z) 1)
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2))
(log.f64 (exp.f64 (fma.f64 y x z)))
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x z)))
(exp.f64 (log.f64 (fma.f64 y x z)))
(log1p.f64 (expm1.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(fma.f64 x y z)
(fma.f64 1 (*.f64 y x) z)
(fma.f64 1 z (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)

simplify56.0ms (0.6%)

Algorithm
egg-herbie
Rules
1364×fma-neg
946×associate-*r*
916×associate-*l*
694×div-sub
640×distribute-lft-neg-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0891034
1217804
2706624
34431624
Stop Event
node limit
Counts
44 → 43
Calls
Call 1
Inputs
z
(*.f64 y x)
(*.f64 y x)
z
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
z
z
(-.f64 (+.f64 1 (fma.f64 y x z)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z))))
(*.f64 (fma.f64 y x z) 1)
(*.f64 1 (fma.f64 y x z))
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z))))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))
(pow.f64 (fma.f64 y x z) 1)
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2))
(log.f64 (exp.f64 (fma.f64 y x z)))
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x z)))
(exp.f64 (log.f64 (fma.f64 y x z)))
(log1p.f64 (expm1.f64 (fma.f64 y x z)))
(fma.f64 y x z)
(fma.f64 x y z)
(fma.f64 1 (*.f64 y x) z)
(fma.f64 1 z (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)
Outputs
z
(*.f64 y x)
(*.f64 y x)
z
(*.f64 y x)
(*.f64 y x)
(*.f64 y x)
z
z
(-.f64 (+.f64 1 (fma.f64 y x z)) 1)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(-.f64 (/.f64 (pow.f64 (*.f64 y x) 2) (fma.f64 y x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 y x (neg.f64 z))))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 (fma.f64 y x z) 1)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 1 (fma.f64 y x z))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 (cbrt.f64 (fma.f64 y x z)) (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x z)) 2) (cbrt.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 (sqrt.f64 (fma.f64 y x z)) (sqrt.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z)))))
(*.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 y x (neg.f64 z))))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z)))))
(/.f64 1 (/.f64 (fma.f64 y x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 x (*.f64 y z)))))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z)) (fma.f64 y x (neg.f64 z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x))))))
(/.f64 (*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) 1) (+.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z (-.f64 z (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 z (-.f64 z (*.f64 y x)) (pow.f64 (*.f64 y x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) z) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 y (*.f64 x (-.f64 (*.f64 y x) z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 z z))) (neg.f64 (fma.f64 y x (neg.f64 z))))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 y x) 2)) (-.f64 z (*.f64 y x)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(pow.f64 (fma.f64 y x z) 1)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(pow.f64 (cbrt.f64 (fma.f64 y x z)) 3)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(pow.f64 (pow.f64 (fma.f64 y x z) 3) 1/3)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(pow.f64 (sqrt.f64 (fma.f64 y x z)) 2)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(sqrt.f64 (pow.f64 (fma.f64 y x z) 2))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(log.f64 (exp.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(cbrt.f64 (pow.f64 (fma.f64 y x z) 3))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(expm1.f64 (log1p.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(exp.f64 (log.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(log1p.f64 (expm1.f64 (fma.f64 y x z)))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 y x z)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 x y z)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 1 (*.f64 y x) z)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 1 z (*.f64 y x))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 y x))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 y x)) 2) (cbrt.f64 (*.f64 y x)) z)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 y x))
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)
(fma.f64 (sqrt.f64 (*.f64 y x)) (sqrt.f64 (*.f64 y x)) z)
(+.f64 1 (-.f64 (fma.f64 y x z) 1))
(+.f64 (fma.f64 y x z) 0)
(fma.f64 y x z)

localize77.0ms (0.8%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (*.f64 x (sin.f64 y)) z)
99.8%
(*.f64 x (sin.f64 y))
Compiler

Compiled 19 to 7 computations (63.2% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
0.0ms
x
@0
(+.f64 (*.f64 x (sin.f64 y)) z)
0.0ms
y
@0
(+.f64 (*.f64 x (sin.f64 y)) z)
0.0ms
y
@inf
(+.f64 (*.f64 x (sin.f64 y)) z)
0.0ms
z
@-inf
(+.f64 (*.f64 x (sin.f64 y)) z)
0.0ms
y
@-inf
(+.f64 (*.f64 x (sin.f64 y)) z)

rewrite85.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1972×pow1
1812×add-exp-log
1812×log1p-expm1-u
1812×expm1-log1p-u
200×add-sqr-sqrt
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0913
118713
2246113
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 x (sin.f64 y)) z)
Outputs
(-.f64 (+.f64 1 (fma.f64 x (sin.f64 y) z)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)

simplify63.0ms (0.6%)

Algorithm
egg-herbie
Rules
1528×fma-neg
1040×associate-*r*
994×associate-*l*
892×div-sub
728×fma-def
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071298
12681240
28551234
352301234
Stop Event
node limit
Counts
72 → 53
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 1 (fma.f64 x (sin.f64 y) z)) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
Outputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (fma.f64 y x z) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z))
(fma.f64 (pow.f64 y 3) (*.f64 x -1/6) (fma.f64 y x z))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (+.f64 (fma.f64 y x z) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(fma.f64 x (fma.f64 1/120 (pow.f64 y 5) y) (fma.f64 x (*.f64 -1/6 (pow.f64 y 3)) z))
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(-.f64 (+.f64 1 (fma.f64 x (sin.f64 y) z)) 1)
(fma.f64 (sin.f64 y) x z)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 (sin.f64 y) x z)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 (sin.f64 y) x z)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(fma.f64 (sin.f64 y) x z)
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(fma.f64 (sin.f64 y) x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 (sin.f64 y) x z)
(/.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(fma.f64 (sin.f64 y) x z)
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y))))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (*.f64 z z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(fma.f64 (sin.f64 y) x z)
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z (-.f64 z (*.f64 x (sin.f64 y)))))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (sin.f64 y) (*.f64 x (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 (sin.f64 y) x z)
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(fma.f64 (sin.f64 y) x z)
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(fma.f64 (sin.f64 y) x z)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(fma.f64 (sin.f64 y) x z)
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(fma.f64 (sin.f64 y) x z)
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(fma.f64 (sin.f64 y) x z)
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sin.f64 y) x z)

localize163.0ms (1.6%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 x (sin.f64 y))
99.8%
(*.f64 z (cos.f64 y))
99.0%
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
86.3%
(cbrt.f64 (*.f64 x (sin.f64 y)))
Compiler

Compiled 44 to 15 computations (65.9% saved)

series21.0ms (0.2%)

Counts
2 → 16
Calls

12 calls:

TimeVariablePointExpression
10.0ms
y
@-inf
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
3.0ms
x
@0
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
1.0ms
y
@inf
(cbrt.f64 (*.f64 x (sin.f64 y)))
1.0ms
y
@-inf
(cbrt.f64 (*.f64 x (sin.f64 y)))
1.0ms
x
@-inf
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)

rewrite60.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1624×pow1
1504×add-exp-log
1504×log1p-expm1-u
1504×expm1-log1p-u
1470×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
120326
2211826
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 x (sin.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3))
(pow.f64 (*.f64 x (sin.f64 y)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(-.f64 (+.f64 1 (*.f64 x (sin.f64 y))) 1)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) 3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (*.f64 x (sin.f64 y)) 1/6)) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))

simplify58.0ms (0.6%)

Algorithm
egg-herbie
Rules
1630×fma-def
1212×unswap-sqr
1062×distribute-rgt-in
1024×log-prod
1008×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0116990
1253990
2726990
33105974
Stop Event
node limit
Counts
70 → 61
Calls
Call 1
Inputs
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3))
(pow.f64 (*.f64 x (sin.f64 y)) 1/3)
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(-.f64 (+.f64 1 (*.f64 x (sin.f64 y))) 1)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) 3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (*.f64 x (sin.f64 y)) 1/6)) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
Outputs
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y)))) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 1 (cbrt.f64 (*.f64 x (sin.f64 y))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x))
(*.f64 (cbrt.f64 x) (cbrt.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3) (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/6) 4)
(pow.f64 (*.f64 x (sin.f64 y)) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 2)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 1 (*.f64 x (sin.f64 y))) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 (sin.f64 y) x)
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) 3) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3) (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) 3))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (pow.f64 (*.f64 x (sin.f64 y)) 1/6)) (pow.f64 (*.f64 x (sin.f64 y)) 1/6))
(*.f64 (sin.f64 y) x)
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(*.f64 (sin.f64 y) x)
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)

localize150.0ms (1.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(sqrt.f64 (sin.f64 y))
99.9%
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
99.9%
(*.f64 z (cos.f64 y))
99.8%
(*.f64 x (sqrt.f64 (sin.f64 y)))
Compiler

Compiled 36 to 10 computations (72.2% saved)

series5.0ms (0.1%)

Counts
3 → 53
Calls

18 calls:

TimeVariablePointExpression
0.0ms
x
@0
(*.f64 x (sqrt.f64 (sin.f64 y)))
0.0ms
y
@0
(*.f64 x (sqrt.f64 (sin.f64 y)))
0.0ms
y
@0
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
0.0ms
y
@inf
(*.f64 x (sqrt.f64 (sin.f64 y)))
0.0ms
y
@-inf
(*.f64 x (sqrt.f64 (sin.f64 y)))

rewrite99.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1238×log-prod
820×pow-prod-down
666×pow-prod-up
592×pow-exp
464×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01365
125351
2298547
Stop Event
node limit
Counts
3 → 87
Calls
Call 1
Inputs
(*.f64 x (sqrt.f64 (sin.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(sqrt.f64 (sin.f64 y))
Outputs
(+.f64 0 (*.f64 x (sqrt.f64 (sin.f64 y))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1)
(pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 3)
(pow.f64 (*.f64 (sin.f64 y) (*.f64 x x)) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 2)
(sqrt.f64 (*.f64 (sin.f64 y) (*.f64 x x)))
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))))
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (exp.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (exp.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (*.f64 (exp.f64 (*.f64 x (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(+.f64 0 (sqrt.f64 (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (sin.f64 y)))) 1)
(*.f64 (sqrt.f64 (sin.f64 y)) 1)
(*.f64 1 (sqrt.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 1/6))
(*.f64 (pow.f64 (sin.f64 y) 1/6) (cbrt.f64 (sin.f64 y)))
(*.f64 (pow.f64 (sin.f64 y) 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (sin.f64 y) 1/2)
(pow.f64 (sqrt.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3/2)
(pow.f64 (pow.f64 (sin.f64 y) 1/6) 3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/4)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)
(pow.f64 (pow.f64 (sin.f64 y) 3/2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 1/4) 2)
(fabs.f64 (sqrt.f64 (sin.f64 y)))
(log.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (sin.f64 y)))))
(cbrt.f64 (pow.f64 (sin.f64 y) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (sin.f64 y))))
(exp.f64 (log.f64 (sqrt.f64 (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 y) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (sin.f64 y))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (sin.f64 y))))

simplify95.0ms (1%)

Algorithm
egg-herbie
Rules
1200×fma-def
998×log-prod
842×unswap-sqr
690×distribute-lft-in
658×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02152650
14652546
214222542
362312542
Stop Event
node limit
Counts
140 → 105
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
z
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 0 (*.f64 x (sqrt.f64 (sin.f64 y))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1)
(pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 3)
(pow.f64 (*.f64 (sin.f64 y) (*.f64 x x)) 1/2)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 2)
(sqrt.f64 (*.f64 (sin.f64 y) (*.f64 x x)))
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))))
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (exp.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (exp.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (*.f64 (exp.f64 (*.f64 x (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(+.f64 0 (sqrt.f64 (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (sin.f64 y)))) 1)
(*.f64 (sqrt.f64 (sin.f64 y)) 1)
(*.f64 1 (sqrt.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 1/6))
(*.f64 (pow.f64 (sin.f64 y) 1/6) (cbrt.f64 (sin.f64 y)))
(*.f64 (pow.f64 (sin.f64 y) 1/4) (pow.f64 (sin.f64 y) 1/4))
(pow.f64 (sin.f64 y) 1/2)
(pow.f64 (sqrt.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3/2)
(pow.f64 (pow.f64 (sin.f64 y) 1/6) 3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/4)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)
(pow.f64 (pow.f64 (sin.f64 y) 3/2) 1/3)
(pow.f64 (pow.f64 (sin.f64 y) 1/4) 2)
(fabs.f64 (sqrt.f64 (sin.f64 y)))
(log.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (sin.f64 y)))))
(cbrt.f64 (pow.f64 (sin.f64 y) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (sin.f64 y))))
(exp.f64 (log.f64 (sqrt.f64 (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 y) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (sin.f64 y))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (sin.f64 y))))
Outputs
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
z
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 0 (*.f64 x (sqrt.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 1)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(pow.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 3)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(pow.f64 (*.f64 (sin.f64 y) (*.f64 x x)) 1/2)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(pow.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3) 1/3)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(pow.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 2)
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(sqrt.f64 (*.f64 (sin.f64 y) (*.f64 x x)))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(log.f64 (pow.f64 (exp.f64 x) (sqrt.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(cbrt.f64 (pow.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) 3))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(expm1.f64 (log1p.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))) 1) 1))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 3))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 1/3))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sqrt.f64 (sin.f64 y))))) 2))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(log1p.f64 (expm1.f64 (*.f64 x (sqrt.f64 (sin.f64 y)))))
(*.f64 (sqrt.f64 (sin.f64 y)) x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2) (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (*.f64 x (*.f64 (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (pow.f64 (*.f64 (cos.f64 y) z) 2)) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z)))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (exp.f64 (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y)))) (exp.f64 (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (*.f64 (exp.f64 (*.f64 x (sin.f64 y))) (+.f64 1 (expm1.f64 (*.f64 z (cos.f64 y))))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3)) 1/3))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(+.f64 0 (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (sin.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))))
(sqrt.f64 (sin.f64 y))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (sin.f64 y)))) 1)
(sqrt.f64 (sin.f64 y))
(*.f64 (sqrt.f64 (sin.f64 y)) 1)
(sqrt.f64 (sin.f64 y))
(*.f64 1 (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 1/6))
(sqrt.f64 (sin.f64 y))
(*.f64 (pow.f64 (sin.f64 y) 1/6) (cbrt.f64 (sin.f64 y)))
(sqrt.f64 (sin.f64 y))
(*.f64 (pow.f64 (sin.f64 y) 1/4) (pow.f64 (sin.f64 y) 1/4))
(sqrt.f64 (sin.f64 y))
(pow.f64 (sin.f64 y) 1/2)
(sqrt.f64 (sin.f64 y))
(pow.f64 (sqrt.f64 (sin.f64 y)) 1)
(sqrt.f64 (sin.f64 y))
(pow.f64 (cbrt.f64 (sin.f64 y)) 3/2)
(sqrt.f64 (sin.f64 y))
(pow.f64 (pow.f64 (sin.f64 y) 1/6) 3)
(sqrt.f64 (sin.f64 y))
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/4)
(sqrt.f64 (sin.f64 y))
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)
(pow.f64 (pow.f64 (sin.f64 y) 3/2) 1/3)
(sqrt.f64 (sin.f64 y))
(pow.f64 (pow.f64 (sin.f64 y) 1/4) 2)
(sqrt.f64 (sin.f64 y))
(fabs.f64 (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (sin.f64 y))
(log.f64 (exp.f64 (sqrt.f64 (sin.f64 y))))
(sqrt.f64 (sin.f64 y))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (sin.f64 y)))))
(sqrt.f64 (sin.f64 y))
(cbrt.f64 (pow.f64 (sin.f64 y) 3/2))
(sqrt.f64 (sin.f64 y))
(expm1.f64 (log1p.f64 (sqrt.f64 (sin.f64 y))))
(sqrt.f64 (sin.f64 y))
(exp.f64 (log.f64 (sqrt.f64 (sin.f64 y))))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1/2))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1/2) 1))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 1) 1))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (pow.f64 (sin.f64 y) 1/6)) 3))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 1/3))
(sqrt.f64 (sin.f64 y))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (sin.f64 y))) 2))
(sqrt.f64 (sin.f64 y))
(log1p.f64 (expm1.f64 (sqrt.f64 (sin.f64 y))))
(sqrt.f64 (sin.f64 y))

eval144.0ms (1.5%)

Compiler

Compiled 10406 to 3681 computations (64.6% saved)

prune115.0ms (1.2%)

Pruning

27 alts after pruning (22 fresh and 5 done)

PrunedKeptTotal
New59214606
Fresh6814
Picked101
Done156
Total60027627
Accurracy
100.0%
Counts
627 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
66.2%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
99.4%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
98.6%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
53.6%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
36.5%
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
99.6%
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
55.4%
(fma.f64 y x z)
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
43.3%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
76.3%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
99.2%
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x)) (*.f64 z (cos.f64 y)))
99.1%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (*.f64 z (cos.f64 y)))
49.8%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) (*.f64 z (cos.f64 y)))
99.2%
(+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))) (*.f64 z (cos.f64 y)))
55.4%
(+.f64 (*.f64 y x) z)
52.4%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
98.5%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3))
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
76.9%
(+.f64 (*.f64 x (sin.f64 y)) z)
55.8%
(+.f64 (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) z)
64.8%
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) (*.f64 z (cos.f64 y)))
27.2%
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
39.7%
(*.f64 (sin.f64 y) x)
60.9%
(*.f64 (cos.f64 y) z)
19.0%
(*.f64 y x)
40.1%
z
Compiler

Compiled 696 to 460 computations (33.9% saved)

localize173.0ms (1.7%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 x (sin.f64 y))
99.6%
(pow.f64 (cos.f64 y) 2)
99.6%
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
99.5%
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 48 to 19 computations (60.4% saved)

series4.0ms (0%)

Counts
2 → 16
Calls

6 calls:

TimeVariablePointExpression
2.0ms
y
@inf
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
2.0ms
y
@-inf
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
1.0ms
y
@0
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
0.0ms
y
@0
(pow.f64 (cos.f64 y) 2)
0.0ms
y
@inf
(pow.f64 (cos.f64 y) 2)

rewrite58.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1284×pow1
1180×add-exp-log
1180×log1p-expm1-u
1180×expm1-log1p-u
1150×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0826
115726
2171126
Stop Event
node limit
Counts
2 → 38
Calls
Call 1
Inputs
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cos.f64 y) 2)
Outputs
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(pow.f64 (cos.f64 y) 2/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 3)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(exp.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
(-.f64 (+.f64 1 (pow.f64 (cos.f64 y) 2)) 1)
(*.f64 (cos.f64 y) (cos.f64 y))
(*.f64 (pow.f64 (cos.f64 y) 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(*.f64 1 (pow.f64 (cos.f64 y) 2))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) (cos.f64 y)))
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y)))
(/.f64 (+.f64 (cos.f64 (+.f64 y y)) (cos.f64 (-.f64 y y))) 2)
(sqrt.f64 (pow.f64 (cos.f64 y) 4))
(log.f64 (exp.f64 (pow.f64 (cos.f64 y) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (cos.f64 y) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 y) 2)))
(exp.f64 (*.f64 2 (log.f64 (cos.f64 y))))
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 y) 2)))

simplify79.0ms (0.8%)

Algorithm
egg-herbie
Rules
1846×fma-def
820×fma-neg
632×distribute-rgt-in
618×distribute-lft-in
582×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01131382
12311204
25971036
323051036
470591036
Stop Event
node limit
Counts
54 → 75
Calls
Call 1
Inputs
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(pow.f64 (cos.f64 y) 2/3)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 3)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(exp.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
(-.f64 (+.f64 1 (pow.f64 (cos.f64 y) 2)) 1)
(*.f64 (cos.f64 y) (cos.f64 y))
(*.f64 (pow.f64 (cos.f64 y) 2) 1)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(*.f64 1 (pow.f64 (cos.f64 y) 2))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) (cos.f64 y)))
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y)))
(/.f64 (+.f64 (cos.f64 (+.f64 y y)) (cos.f64 (-.f64 y y))) 2)
(sqrt.f64 (pow.f64 (cos.f64 y) 4))
(log.f64 (exp.f64 (pow.f64 (cos.f64 y) 2)))
(cbrt.f64 (pow.f64 (pow.f64 (cos.f64 y) 2) 3))
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 y) 2)))
(exp.f64 (*.f64 2 (log.f64 (cos.f64 y))))
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 y) 2)))
Outputs
1
(+.f64 1 (*.f64 -1/3 (pow.f64 y 2)))
(+.f64 1 (*.f64 -1/3 (*.f64 y y)))
(fma.f64 -1/3 (*.f64 y y) 1)
(+.f64 1 (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6))))
(+.f64 1 (fma.f64 -1/3 (*.f64 y y) (*.f64 -1/405 (pow.f64 y 6))))
(fma.f64 -1/3 (*.f64 y y) (fma.f64 -1/405 (pow.f64 y 6) 1))
(+.f64 1 (+.f64 (*.f64 -1/1701 (pow.f64 y 8)) (+.f64 (*.f64 -1/3 (pow.f64 y 2)) (*.f64 -1/405 (pow.f64 y 6)))))
(+.f64 1 (fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 -1/3 (*.f64 y y) (*.f64 -1/405 (pow.f64 y 6)))))
(fma.f64 -1/1701 (pow.f64 y 8) (fma.f64 -1/3 (*.f64 y y) (fma.f64 -1/405 (pow.f64 y 6) 1)))
(fma.f64 -1/3 (*.f64 y y) (fma.f64 -1/405 (pow.f64 y 6) (fma.f64 -1/1701 (pow.f64 y 8) 1)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
1
(+.f64 (*.f64 -1 (pow.f64 y 2)) 1)
(fma.f64 -1 (*.f64 y y) 1)
(-.f64 1 (*.f64 y y))
(neg.f64 (fma.f64 y y -1))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (fma.f64 -1 (*.f64 y y) 1) (*.f64 1/3 (pow.f64 y 4)))
(-.f64 (fma.f64 1/3 (pow.f64 y 4) 1) (*.f64 y y))
(-.f64 (*.f64 1/3 (pow.f64 y 4)) (fma.f64 y y -1))
(+.f64 (*.f64 -1 (pow.f64 y 2)) (+.f64 1 (+.f64 (*.f64 -2/45 (pow.f64 y 6)) (*.f64 1/3 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1 (*.f64 y y) 1) (fma.f64 -2/45 (pow.f64 y 6) (*.f64 1/3 (pow.f64 y 4))))
(+.f64 (-.f64 1 (*.f64 y y)) (fma.f64 (pow.f64 y 6) -2/45 (*.f64 1/3 (pow.f64 y 4))))
(-.f64 (fma.f64 (pow.f64 y 6) -2/45 (fma.f64 1/3 (pow.f64 y 4) 1)) (*.f64 y y))
(-.f64 (fma.f64 (pow.f64 y 6) -2/45 (*.f64 1/3 (pow.f64 y 4))) (fma.f64 y y -1))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (pow.f64 1 1/3) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (pow.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1/3) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(pow.f64 (cos.f64 y) 2/3)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(pow.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 3)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(sqrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(exp.f64 (log.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(+.f64 1 (-.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1))
(+.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 0)
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(+.f64 1/2 (*.f64 1/2 (cos.f64 (*.f64 2 y))))
(+.f64 1/2 (*.f64 1/2 (cos.f64 (+.f64 y y))))
(fma.f64 1/2 (cos.f64 (+.f64 y y)) 1/2)
(-.f64 (+.f64 1 (pow.f64 (cos.f64 y) 2)) 1)
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (cos.f64 y) (cos.f64 y))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (pow.f64 (cos.f64 y) 2) 1)
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(*.f64 1 (pow.f64 (cos.f64 y) 2))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) (cos.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) 1) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)))))
(*.f64 (cbrt.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4))) (*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (pow.f64 (cos.f64 y) 4))))
(*.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 4)) (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (cbrt.f64 (pow.f64 (cos.f64 y) 4)))
(/.f64 (+.f64 (cos.f64 (+.f64 y y)) (cos.f64 (-.f64 y y))) 2)
(/.f64 (+.f64 (cos.f64 (+.f64 y y)) (cos.f64 0)) 2)
(/.f64 (+.f64 1 (cos.f64 (+.f64 y y))) 2)
(sqrt.f64 (pow.f64 (cos.f64 y) 4))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(log.f64 (exp.f64 (pow.f64 (cos.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(cbrt.f64 (pow.f64 (pow.f64 (cos.f64 y) 2) 3))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cos.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(exp.f64 (*.f64 2 (log.f64 (cos.f64 y))))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cos.f64 y) 2)))
(+.f64 1 (-.f64 (pow.f64 (cos.f64 y) 2) 1))
(+.f64 (pow.f64 (cos.f64 y) 2) 0)
(pow.f64 (cos.f64 y) 2)

localize17.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize187.0ms (1.9%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
99.8%
(*.f64 x (sin.f64 y))
99.0%
(pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3)
86.3%
(cbrt.f64 (*.f64 x (sin.f64 y)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series3.0ms (0%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
1.0ms
z
@0
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
0.0ms
x
@inf
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
0.0ms
x
@0
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
0.0ms
y
@0
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
0.0ms
x
@-inf
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)

rewrite73.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1070×log-prod
822×prod-exp
738×pow-prod-down
708×fma-def
568×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01217
125413
2297913
Stop Event
node limit
Counts
1 → 69
Calls
Call 1
Inputs
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
Outputs
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 x (*.f64 (sin.f64 y) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 5/6) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6) z)

simplify69.0ms (0.7%)

Algorithm
egg-herbie
Rules
722×div-sub
690×cancel-sign-sub-inv
594×fma-neg
568×associate-+r+
528×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01762129
14371631
211281631
341191631
Stop Event
node limit
Counts
93 → 81
Calls
Call 1
Inputs
z
z
z
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 x (*.f64 (sin.f64 y) z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 5/6) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6) z)
Outputs
z
z
z
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 x (sin.f64 y)) z)) (/.f64 (*.f64 z z) (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 1 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 x (*.f64 (sin.f64 y) z)))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (-.f64 (*.f64 x (sin.f64 y)) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(pow.f64 (/.f64 (-.f64 (*.f64 x (sin.f64 y)) z) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3)) 1/3))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) z)
(fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (sin.f64 y))) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/6) (pow.f64 (*.f64 x (sin.f64 y)) 5/6) z)
(fma.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (*.f64 (sin.f64 y) x) 5/6) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y))))) 2) (cbrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 x)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (cbrt.f64 x) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (sin.f64 y))) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (pow.f64 (*.f64 x (sin.f64 y)) 1/6) z)
(fma.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (*.f64 (sin.f64 y) x) 5/6) z)

localize65.0ms (0.7%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
99.9%
(sqrt.f64 (sin.f64 y))
99.9%
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
99.8%
(*.f64 x (sqrt.f64 (sin.f64 y)))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series1.0ms (0%)

Counts
1 → 33
Calls

9 calls:

TimeVariablePointExpression
0.0ms
y
@0
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
0.0ms
z
@-inf
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
0.0ms
x
@0
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
0.0ms
z
@0
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
0.0ms
y
@inf
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1018×log-prod
786×exp-prod
742×prod-exp
656×pow-prod-down
562×pow-prod-up
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01131
121417
2250713
Stop Event
node limit
Counts
1 → 36
Calls
Call 1
Inputs
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
Outputs
(+.f64 z (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 0 (fma.f64 x (sin.f64 y) z))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) z)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (sin.f64 y)) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) z)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 z))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))

simplify55.0ms (0.6%)

Algorithm
egg-herbie
Rules
898×associate-*r*
824×associate-*l*
656×associate-+r+
640×associate-+l+
614×log-prod
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01021077
12291043
27061043
343411011
Stop Event
node limit
Counts
69 → 51
Calls
Call 1
Inputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 0 (fma.f64 x (sin.f64 y) z))
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) z)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (sin.f64 y)) z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) z)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (sin.f64 y))))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 z))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
Outputs
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 x (sin.f64 y)) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 0 (fma.f64 x (sin.f64 y) z))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x z)))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x z)))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (-.f64 (*.f64 z z) (*.f64 (*.f64 x (sin.f64 y)) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (fma.f64 (sin.f64 y) x (neg.f64 z))))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (-.f64 (*.f64 x (sin.f64 y)) z))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (-.f64 (*.f64 (sin.f64 y) x) z))
(/.f64 (fma.f64 (sin.f64 y) x z) 1)
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))) 2)) (cbrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x z))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x z))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))) (sqrt.f64 (log.f64 (fma.f64 x (sin.f64 y) z))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x z)))) (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x z))))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (sin.f64 y))))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)

localize94.0ms (1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
99.9%
(*.f64 (cbrt.f64 (cos.f64 y)) z)
99.7%
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
99.5%
(cbrt.f64 (cos.f64 y))
Compiler

Compiled 40 to 14 computations (65% saved)

series5.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
x
@0
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
1.0ms
z
@0
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
1.0ms
y
@-inf
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
0.0ms
y
@0
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
0.0ms
y
@inf
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))

rewrite66.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1246×log-prod
828×pow-prod-down
672×pow-prod-up
592×pow-exp
478×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01443
127523
2314219
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
Outputs
(+.f64 (*.f64 y x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 0 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 y x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))
(pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))

simplify77.0ms (0.8%)

Algorithm
egg-herbie
Rules
1082×fma-def
922×fma-neg
586×log-prod
482×*-commutative
478×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01221440
13101398
210131394
339381356
470111356
Stop Event
node limit
Counts
70 → 59
Calls
Call 1
Inputs
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/6 z) (*.f64 -1/3 z))) z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/6 z) (*.f64 -1/3 z))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/18 z) (*.f64 -1/72 z))) z)))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(+.f64 0 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 y x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))
(pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
Outputs
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/6 z) (*.f64 -1/3 z))) z))
(fma.f64 y x (fma.f64 (*.f64 y y) (*.f64 z -1/2) z))
(fma.f64 z (*.f64 (*.f64 y y) -1/2) (fma.f64 y x z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 (pow.f64 y 2) (+.f64 (*.f64 -1/6 z) (*.f64 -1/3 z))) (+.f64 (*.f64 (pow.f64 y 4) (+.f64 (*.f64 1/18 z) (*.f64 -1/72 z))) z)))
(fma.f64 y x (fma.f64 (*.f64 y y) (*.f64 z -1/2) (fma.f64 (pow.f64 y 4) (*.f64 z 1/24) z)))
(fma.f64 z (*.f64 (*.f64 y y) -1/2) (fma.f64 y x (fma.f64 z (*.f64 (pow.f64 y 4) 1/24) z)))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 y x) (*.f64 (cos.f64 y) z))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 0 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 y x))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 z (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 y x (*.f64 z (cos.f64 y)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 y x))))))
(*.f64 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 y x))))) 3)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 1)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 1 (fma.f64 y x (*.f64 (cos.f64 y) z)))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(*.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 y x) 2) (*.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 y x) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 y x) 3)) (fma.f64 (*.f64 y x) (-.f64 (*.f64 y x) (*.f64 z (cos.f64 y))) (pow.f64 (*.f64 z (cos.f64 y)) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 y x)))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 y x) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 y x)))
(/.f64 (fma.f64 z (cos.f64 y) (*.f64 y x)) 1)
(pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 1)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(pow.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 3)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2) 1/2)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(pow.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3) 1/3)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2)
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(sqrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 2))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log.f64 (exp.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log.f64 (*.f64 (pow.f64 (exp.f64 y) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 y x))) (exp.f64 (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 y x)))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(cbrt.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(expm1.f64 (log1p.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 1) 1))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 3))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)) 3)) 1/3))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z)))) 2))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))
(log1p.f64 (expm1.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))))
(fma.f64 y x (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 y x))

eval176.0ms (1.8%)

Compiler

Compiled 10839 to 4159 computations (61.6% saved)

prune181.0ms (1.8%)

Pruning

28 alts after pruning (21 fresh and 7 done)

PrunedKeptTotal
New65611667
Fresh71017
Picked011
Done369
Total66628694
Accurracy
100.0%
Counts
694 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
76.8%
(fma.f64 (pow.f64 (cos.f64 y) 2/3) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
66.2%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
98.6%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
53.6%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
32.9%
(fma.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)) (sqrt.f64 (sin.f64 y)) z)
99.6%
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) z) (*.f64 x (sin.f64 y)))
55.4%
(fma.f64 y x z)
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
34.0%
(pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2)
76.1%
(+.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) 3) z)
43.3%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
76.3%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
76.3%
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x)) z)
76.3%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) z)
40.2%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) z)
36.5%
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) z)
76.3%
(+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))) z)
55.4%
(+.f64 (*.f64 y x) z)
98.5%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3))
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
76.9%
(+.f64 (*.f64 x (sin.f64 y)) z)
55.8%
(+.f64 (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) z)
43.8%
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) z)
39.7%
(*.f64 (sin.f64 y) x)
60.9%
(*.f64 (cos.f64 y) z)
19.0%
(*.f64 y x)
40.1%
z
Compiler

Compiled 645 to 436 computations (32.4% saved)

localize172.0ms (1.7%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.6%
(pow.f64 (cos.f64 y) 2)
99.6%
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
99.5%
(cbrt.f64 (cos.f64 y))
99.5%
(log1p.f64 (cbrt.f64 (cos.f64 y)))
Compiler

Compiled 61 to 21 computations (65.6% saved)

series48.0ms (0.5%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
35.0ms
y
@inf
(log1p.f64 (cbrt.f64 (cos.f64 y)))
13.0ms
y
@-inf
(log1p.f64 (cbrt.f64 (cos.f64 y)))
1.0ms
y
@0
(log1p.f64 (cbrt.f64 (cos.f64 y)))

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1022×pow1
980×add-sqr-sqrt
938×add-exp-log
938×log1p-expm1-u
938×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
111413
2129713
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(log1p.f64 (cbrt.f64 (cos.f64 y)))
Outputs
(-.f64 (+.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 1)
(*.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2) (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(*.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 3)
(pow.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 2))
(log.f64 (+.f64 (cbrt.f64 (cos.f64 y)) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(exp.f64 (log.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))

simplify94.0ms (1%)

Algorithm
egg-herbie
Rules
998×fma-def
896×log-prod
620×fma-neg
494×*-commutative
482×distribute-rgt-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056415
1112411
2353403
31877403
44117403
55498403
Stop Event
node limit
Counts
27 → 32
Calls
Call 1
Inputs
(log.f64 2)
(+.f64 (log.f64 2) (*.f64 -1/12 (pow.f64 y 2)))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/12 (pow.f64 y 2)) (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (*.f64 -11/4320 (pow.f64 y 6)) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/12 (pow.f64 y 2)) (*.f64 -1/96 (pow.f64 y 4)))))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(-.f64 (+.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 1)
(*.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2) (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(*.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 3)
(pow.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3) 1/3)
(pow.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2)
(sqrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 2))
(log.f64 (+.f64 (cbrt.f64 (cos.f64 y)) 1))
(cbrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3))
(expm1.f64 (log1p.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(exp.f64 (log.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
Outputs
(log.f64 2)
(+.f64 (log.f64 2) (*.f64 -1/12 (pow.f64 y 2)))
(+.f64 (log.f64 2) (*.f64 -1/12 (*.f64 y y)))
(fma.f64 -1/12 (*.f64 y y) (log.f64 2))
(+.f64 (log.f64 2) (+.f64 (*.f64 -1/12 (pow.f64 y 2)) (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (log.f64 2) (fma.f64 -1/12 (*.f64 y y) (*.f64 -1/96 (pow.f64 y 4))))
(+.f64 (fma.f64 -1/12 (*.f64 y y) (log.f64 2)) (*.f64 -1/96 (pow.f64 y 4)))
(fma.f64 -1/12 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) (log.f64 2)))
(fma.f64 (*.f64 y y) (fma.f64 y (*.f64 y -1/96) -1/12) (log.f64 2))
(+.f64 (*.f64 -11/4320 (pow.f64 y 6)) (+.f64 (log.f64 2) (+.f64 (*.f64 -1/12 (pow.f64 y 2)) (*.f64 -1/96 (pow.f64 y 4)))))
(fma.f64 -11/4320 (pow.f64 y 6) (+.f64 (log.f64 2) (fma.f64 -1/12 (*.f64 y y) (*.f64 -1/96 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/12 (*.f64 y y) (*.f64 -1/96 (pow.f64 y 4))) (fma.f64 -11/4320 (pow.f64 y 6) (log.f64 2)))
(fma.f64 -11/4320 (pow.f64 y 6) (fma.f64 -1/12 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) (log.f64 2))))
(fma.f64 -1/12 (*.f64 y y) (fma.f64 -1/96 (pow.f64 y 4) (fma.f64 -11/4320 (pow.f64 y 6) (log.f64 2))))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 1 (pow.f64 (cos.f64 y) 1/3)))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 (pow.f64 (cos.f64 y) 1/3) 1))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(-.f64 (+.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 1)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(*.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(*.f64 1 (log1p.f64 (cbrt.f64 (cos.f64 y))))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2) (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(*.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 1)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(pow.f64 (cbrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 3)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(pow.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3) 1/3)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(pow.f64 (sqrt.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) 2)
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(sqrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 2))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(log.f64 (+.f64 (cbrt.f64 (cos.f64 y)) 1))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (pow.f64 (log1p.f64 (cbrt.f64 (cos.f64 y))) 3))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(expm1.f64 (log1p.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (cbrt.f64 (cos.f64 y)))
(exp.f64 (log.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (cbrt.f64 (cos.f64 y)))

localize45.0ms (0.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 (cos.f64 y) z)
Compiler

Compiled 12 to 6 computations (50% saved)

series1.0ms (0%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
0.0ms
z
@0
(*.f64 (cos.f64 y) z)
0.0ms
y
@0
(*.f64 (cos.f64 y) z)
0.0ms
z
@inf
(*.f64 (cos.f64 y) z)
0.0ms
z
@-inf
(*.f64 (cos.f64 y) z)
0.0ms
y
@inf
(*.f64 (cos.f64 y) z)

rewrite51.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1272×pow1
1156×add-exp-log
1156×log1p-expm1-u
1156×expm1-log1p-u
1128×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
113511
2158111
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 (cos.f64 y) z)
Outputs
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (*.f64 (cos.f64 y) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2))
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) z)))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) z)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) z)))

simplify53.0ms (0.5%)

Algorithm
egg-herbie
Rules
1360×fma-def
1038×log-prod
908×distribute-lft-out
652×distribute-rgt-in
638×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052341
1130333
2415325
32057319
45744319
Stop Event
node limit
Counts
23 → 27
Calls
Call 1
Inputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (*.f64 (cos.f64 y) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2))
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) z)))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) z)))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) z)))
Outputs
z
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) z)
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) z)
(fma.f64 -1/2 (*.f64 y (*.f64 z y)) z)
(*.f64 z (fma.f64 -1/2 (*.f64 y y) 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z))))
(+.f64 (fma.f64 -1/2 (*.f64 z (*.f64 y y)) z) (*.f64 1/24 (*.f64 z (pow.f64 y 4))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 1/24 (*.f64 z (pow.f64 y 4)) z))
(*.f64 z (+.f64 (*.f64 -1/2 (*.f64 y y)) (fma.f64 1/24 (pow.f64 y 4) 1)))
(*.f64 z (fma.f64 -1/2 (*.f64 y y) (fma.f64 1/24 (pow.f64 y 4) 1)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) z)) (+.f64 z (*.f64 1/24 (*.f64 (pow.f64 y 4) z)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/720 (*.f64 z (pow.f64 y 6)) (+.f64 z (*.f64 1/24 (*.f64 z (pow.f64 y 4))))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/720 (*.f64 z (pow.f64 y 6)) (fma.f64 1/24 (*.f64 z (pow.f64 y 4)) z)))
(fma.f64 z (fma.f64 -1/2 (*.f64 y y) (*.f64 -1/720 (pow.f64 y 6))) (*.f64 z (fma.f64 1/24 (pow.f64 y 4) 1)))
(*.f64 z (+.f64 (*.f64 -1/2 (*.f64 y y)) (fma.f64 -1/720 (pow.f64 y 6) (fma.f64 1/24 (pow.f64 y 4) 1))))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(*.f64 z (cos.f64 y))
(pow.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 z (cos.f64 y))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(*.f64 z (cos.f64 y))
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) 1/3)
(*.f64 z (cos.f64 y))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
(*.f64 z (cos.f64 y))
(sqrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2))
(*.f64 z (cos.f64 y))
(log.f64 (pow.f64 (exp.f64 z) (cos.f64 y)))
(*.f64 z (cos.f64 y))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3))
(*.f64 z (cos.f64 y))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))

localize94.0ms (0.9%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
99.9%
(*.f64 x (sin.f64 y))
99.7%
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
95.8%
(sqrt.f64 (*.f64 x (sin.f64 y)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series8.0ms (0.1%)

Counts
3 → 38
Calls

21 calls:

TimeVariablePointExpression
1.0ms
y
@0
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
1.0ms
x
@-inf
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
1.0ms
x
@0
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
1.0ms
x
@0
(sqrt.f64 (*.f64 x (sin.f64 y)))
1.0ms
y
@0
(sqrt.f64 (*.f64 x (sin.f64 y)))

rewrite118.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1780×prod-diff
1042×log-prod
722×pow-prod-down
644×fma-def
548×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01243
125239
2289339
Stop Event
node limit
Counts
3 → 140
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 x (sin.f64 y)))
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2)
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
Outputs
(+.f64 0 (sqrt.f64 (*.f64 x (sin.f64 y))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 1)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1/2))
(pow.f64 (*.f64 x (sin.f64 y)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 x (sin.f64 y)))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(+.f64 0 (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x (sin.f64 y)))) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (fma.f64 x (sin.f64 y) (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 x (sin.f64 y) (neg.f64 z))))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(pow.f64 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)) z)

simplify134.0ms (1.4%)

Algorithm
egg-herbie
Rules
1664×fma-def
1576×fma-neg
990×log-prod
450×*-commutative
422×log-pow
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02953456
16353368
218183300
364363264
Stop Event
node limit
Counts
178 → 169
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
z
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 0 (sqrt.f64 (*.f64 x (sin.f64 y))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 1)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(*.f64 1 (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1/2))
(pow.f64 (*.f64 x (sin.f64 y)) 1/2)
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/4)
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 x (sin.f64 y)))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(+.f64 0 (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x (sin.f64 y)))) 1/2))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (fma.f64 x (sin.f64 y) (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 x (sin.f64 y) (neg.f64 z))))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 1 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(pow.f64 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)) z)
Outputs
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
z
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x z)
(+.f64 0 (sqrt.f64 (*.f64 x (sin.f64 y))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))) (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 1)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 1 (sqrt.f64 (*.f64 x (sin.f64 y))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 x) (sqrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3/2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3/2)
(pow.f64 (*.f64 x (sin.f64 y)) 1/2)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 1)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 3)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) 1/4)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) 2)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(fabs.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/2))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1/2))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 1))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 1))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y))))) 3))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 x (sin.f64 y)))) 1/3))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (*.f64 x (sin.f64 y)))) 2))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(sqrt.f64 (*.f64 (sin.f64 y) x))
(+.f64 0 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(*.f64 (sin.f64 y) x)
(-.f64 (exp.f64 (log1p.f64 (*.f64 x (sin.f64 y)))) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sin.f64 y)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 1 (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 3/4))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2))
(*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 3/4))
(*.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (*.f64 (sin.f64 y) x) 5/6))
(*.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (*.f64 x (*.f64 (sin.f64 y) x))))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (*.f64 (sin.f64 y) (*.f64 x x))))
(sqrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2))
(*.f64 (sin.f64 y) x)
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1) 1))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/2) 2))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) 1) 2))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 x (sin.f64 y)))) 3))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 x (sin.f64 y)))) 1/2))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) 1/3))
(*.f64 (sin.f64 y) x)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 3) 1/3))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 x (sin.f64 y))))
(*.f64 (sin.f64 y) x)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(fma.f64 (sin.f64 y) x z)
(-.f64 (/.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (fma.f64 x (sin.f64 y) (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 (sin.f64 y) x z)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(fma.f64 (sin.f64 y) x z)
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2))
(fma.f64 (sin.f64 y) x z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) (sqrt.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(*.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (/.f64 1 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(/.f64 1 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(/.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2))))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) (neg.f64 (fma.f64 x (sin.f64 y) (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 z (*.f64 x (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(fma.f64 (sin.f64 y) x z)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 (*.f64 (sin.f64 y) x) (fma.f64 (sin.f64 y) x (neg.f64 z)) (*.f64 z z)))
(pow.f64 (/.f64 (fma.f64 x (sin.f64 y) (neg.f64 z)) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(fma.f64 (sin.f64 y) x z)
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 z)))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (+.f64 1 (expm1.f64 z))))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(fma.f64 (sin.f64 y) x z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 (sin.f64 y) x z)
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(fma.f64 (sin.f64 y) x z)
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(fma.f64 (sin.f64 y) x z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(fma.f64 (sin.f64 y) x z)
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sin.f64 y)) 1 z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 z 1 (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 (*.f64 x (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 1 z (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 z) 2) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (cbrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) (pow.f64 (*.f64 x (sin.f64 y)) 3/4) z)
(fma.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 3/4) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (sqrt.f64 x) (pow.f64 (*.f64 (sin.f64 y) (*.f64 x (sin.f64 y))) 1/2) z)
(fma.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sin.f64 y) (*.f64 (sin.f64 y) x))) z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3/4) (pow.f64 (*.f64 x (sin.f64 y)) 1/4) z)
(fma.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 3/4) z)
(fma.f64 (*.f64 x (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 (pow.f64 (*.f64 x (sin.f64 y)) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 x (sin.f64 y)))) z)
(fma.f64 (pow.f64 (*.f64 (sin.f64 y) x) 5/6) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) z)
(fma.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (*.f64 (sin.f64 y) x) 5/6) z)
(fma.f64 (pow.f64 (*.f64 (*.f64 x (sin.f64 y)) x) 1/2) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (sqrt.f64 (*.f64 x (*.f64 (sin.f64 y) x))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (*.f64 (sin.f64 y) (*.f64 x x))) z)

localize247.0ms (2.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) z)
99.5%
(pow.f64 (sin.f64 y) 3)
86.3%
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))
51.8%
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
Compiler

Compiled 45 to 28 computations (37.8% saved)

series17.0ms (0.2%)

Counts
4 → 68
Calls

24 calls:

TimeVariablePointExpression
11.0ms
x
@-inf
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
1.0ms
y
@inf
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))
1.0ms
x
@0
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))
1.0ms
y
@-inf
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))
1.0ms
y
@0
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))

rewrite87.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1678×prod-diff
1222×log-prod
662×fma-def
652×pow-exp
458×expm1-udef
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01356
128052
2331352
Stop Event
node limit
Counts
4 → 149
Calls
Call 1
Inputs
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))
(pow.f64 (sin.f64 y) 3)
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) z)
Outputs
(+.f64 0 (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 0 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3) (pow.f64 (pow.f64 x 3) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 x 3) 3) (pow.f64 (pow.f64 (sin.f64 y) 3) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 2))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(+.f64 0 (pow.f64 (sin.f64 y) 3))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3))) 1)
(*.f64 (sin.f64 y) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (sin.f64 y) 3) 1)
(*.f64 1 (pow.f64 (sin.f64 y) 3))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 2) (sin.f64 y))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 3/2) (pow.f64 (sin.f64 y) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) 3) (sin.f64 y))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 3) (pow.f64 (sqrt.f64 (sin.f64 y)) 3))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) 1) (sin.f64 y))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (sin.f64 y) 6))
(log.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 y) 3))))
(cbrt.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3)))
(exp.f64 (*.f64 3 (log.f64 (sin.f64 y))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 y))) 3/2))
(exp.f64 (*.f64 (*.f64 3 (*.f64 3 (log.f64 (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 3/2) 2))
(log1p.f64 (expm1.f64 (pow.f64 (sin.f64 y) 3)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (fma.f64 (sin.f64 y) x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 (sin.f64 y) x (neg.f64 z))))
(*.f64 (fma.f64 (sin.f64 y) x z) 1)
(*.f64 1 (fma.f64 (sin.f64 y) x z))
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x z)))
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) (sqrt.f64 (fma.f64 (sin.f64 y) x z)))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))))
(/.f64 1 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) (neg.f64 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (-.f64 z (*.f64 (sin.f64 y) x)))
(pow.f64 (fma.f64 (sin.f64 y) x z) 1)
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 3)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) -1)
(pow.f64 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 2))
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3))
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z)))
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (*.f64 (sin.f64 y) x) 1 z)
(fma.f64 z 1 (*.f64 (sin.f64 y) x))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 1 z (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)

simplify96.0ms (1%)

Algorithm
egg-herbie
Rules
562×log-prod
544×exp-prod
502×cancel-sign-sub-inv
436×associate-*l*
430×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03824253
18664073
228553953
Stop Event
node limit
Counts
217 → 225
Calls
Call 1
Inputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 y 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3))))
(+.f64 (*.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3)))))
(+.f64 (*.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3))) (*.f64 -41/3024 (*.f64 (pow.f64 y 9) (pow.f64 x 3))))))
(pow.f64 y 3)
(+.f64 (pow.f64 y 3) (*.f64 -1/2 (pow.f64 y 5)))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (*.f64 13/120 (pow.f64 y 7))))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (+.f64 (*.f64 -41/3024 (pow.f64 y 9)) (*.f64 13/120 (pow.f64 y 7)))))
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(*.f64 (sin.f64 y) x)
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
z
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 z (*.f64 (sin.f64 y) x))
(+.f64 0 (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 0 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3) 1/3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 6))
(log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3) (pow.f64 (pow.f64 x 3) 3)))
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 x 3) 3) (pow.f64 (pow.f64 (sin.f64 y) 3) 3)))
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 2))
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(+.f64 0 (pow.f64 (sin.f64 y) 3))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3))) 1)
(*.f64 (sin.f64 y) (pow.f64 (sin.f64 y) 2))
(*.f64 (pow.f64 (sin.f64 y) 3) 1)
(*.f64 1 (pow.f64 (sin.f64 y) 3))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 2) (sin.f64 y))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(*.f64 (pow.f64 (sin.f64 y) 3/2) (pow.f64 (sin.f64 y) 3/2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) 3) (sin.f64 y))
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 3) (pow.f64 (sqrt.f64 (sin.f64 y)) 3))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) 1) (sin.f64 y))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (sin.f64 y) 6))
(log.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 y) 3))))
(cbrt.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3))
(expm1.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3)))
(exp.f64 (*.f64 3 (log.f64 (sin.f64 y))))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 3))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1) 1))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 y))) 3/2))
(exp.f64 (*.f64 (*.f64 3 (*.f64 3 (log.f64 (sin.f64 y)))) 1/3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 3/2) 2))
(log1p.f64 (expm1.f64 (pow.f64 (sin.f64 y) 3)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z))) 1)
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (fma.f64 (sin.f64 y) x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 (sin.f64 y) x (neg.f64 z))))
(*.f64 (fma.f64 (sin.f64 y) x z) 1)
(*.f64 1 (fma.f64 (sin.f64 y) x z))
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x z)))
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) (sqrt.f64 (fma.f64 (sin.f64 y) x z)))
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(*.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))))
(/.f64 1 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) (neg.f64 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (-.f64 z (*.f64 (sin.f64 y) x)))
(pow.f64 (fma.f64 (sin.f64 y) x z) 1)
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 3)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) 2)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) -1)
(pow.f64 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) -1)
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 2))
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x z)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x z))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (exp.f64 z)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (+.f64 1 (expm1.f64 z))))
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3))
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z)))
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x z)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x z))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (*.f64 (sin.f64 y) x) 1 z)
(fma.f64 z 1 (*.f64 (sin.f64 y) x))
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 1 z (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
Outputs
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))
(fma.f64 y x (*.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
(*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y))
(*.f64 x (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (*.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)))
(*.f64 x (+.f64 (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) (*.f64 1/120 (pow.f64 y 5))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 y 7) x)) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (fma.f64 -1/5040 (*.f64 x (pow.f64 y 7)) (*.f64 (*.f64 -1/6 (pow.f64 y 3)) x))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7))))))
(*.f64 x (+.f64 (+.f64 (*.f64 -1/5040 (pow.f64 y 7)) (*.f64 -1/6 (pow.f64 y 3))) (+.f64 y (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (neg.f64 (cbrt.f64 -1)))
(*.f64 x (*.f64 (sin.f64 y) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (neg.f64 (cbrt.f64 -1)))
(*.f64 x (*.f64 (sin.f64 y) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (neg.f64 (cbrt.f64 -1)))
(*.f64 x (*.f64 (sin.f64 y) (neg.f64 (cbrt.f64 -1))))
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (neg.f64 (cbrt.f64 -1)))
(*.f64 x (*.f64 (sin.f64 y) (neg.f64 (cbrt.f64 -1))))
(*.f64 (pow.f64 y 3) (pow.f64 x 3))
(+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3))))
(fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3))))
(*.f64 (pow.f64 x 3) (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)))
(+.f64 (*.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3)))))
(fma.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3)) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3)))))
(fma.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3)) (*.f64 (pow.f64 x 3) (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3))))
(*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)) (*.f64 (pow.f64 y 7) 13/120)))
(+.f64 (*.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3))) (+.f64 (*.f64 (pow.f64 y 3) (pow.f64 x 3)) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3))) (*.f64 -41/3024 (*.f64 (pow.f64 y 9) (pow.f64 x 3))))))
(fma.f64 13/120 (*.f64 (pow.f64 y 7) (pow.f64 x 3)) (fma.f64 (pow.f64 y 3) (pow.f64 x 3) (fma.f64 -1/2 (*.f64 (pow.f64 y 5) (pow.f64 x 3)) (*.f64 (*.f64 -41/3024 (pow.f64 y 9)) (pow.f64 x 3)))))
(+.f64 (*.f64 (pow.f64 x 3) (fma.f64 (pow.f64 y 5) -1/2 (*.f64 -41/3024 (pow.f64 y 9)))) (*.f64 (pow.f64 x 3) (+.f64 (*.f64 (pow.f64 y 7) 13/120) (pow.f64 y 3))))
(*.f64 (pow.f64 x 3) (+.f64 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)) (fma.f64 (pow.f64 y 7) 13/120 (*.f64 -41/3024 (pow.f64 y 9)))))
(pow.f64 y 3)
(+.f64 (pow.f64 y 3) (*.f64 -1/2 (pow.f64 y 5)))
(+.f64 (pow.f64 y 3) (*.f64 (pow.f64 y 5) -1/2))
(fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (*.f64 13/120 (pow.f64 y 7))))
(+.f64 (pow.f64 y 3) (fma.f64 -1/2 (pow.f64 y 5) (*.f64 (pow.f64 y 7) 13/120)))
(+.f64 (pow.f64 y 3) (fma.f64 (pow.f64 y 5) -1/2 (*.f64 (pow.f64 y 7) 13/120)))
(+.f64 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)) (*.f64 (pow.f64 y 7) 13/120))
(+.f64 (pow.f64 y 3) (+.f64 (*.f64 -1/2 (pow.f64 y 5)) (+.f64 (*.f64 -41/3024 (pow.f64 y 9)) (*.f64 13/120 (pow.f64 y 7)))))
(+.f64 (pow.f64 y 3) (fma.f64 -1/2 (pow.f64 y 5) (fma.f64 -41/3024 (pow.f64 y 9) (*.f64 (pow.f64 y 7) 13/120))))
(+.f64 (pow.f64 y 3) (fma.f64 (pow.f64 y 5) -1/2 (fma.f64 (pow.f64 y 7) 13/120 (*.f64 -41/3024 (pow.f64 y 9)))))
(+.f64 (fma.f64 (pow.f64 y 5) -1/2 (pow.f64 y 3)) (fma.f64 (pow.f64 y 7) 13/120 (*.f64 -41/3024 (pow.f64 y 9))))
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(+.f64 (fma.f64 y x z) (*.f64 (*.f64 -1/6 (pow.f64 y 3)) x))
(fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 y 5) x)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (+.f64 (fma.f64 y x z) (*.f64 (*.f64 -1/6 (pow.f64 y 3)) x)))
(fma.f64 1/120 (*.f64 x (pow.f64 y 5)) (fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(+.f64 (*.f64 x (+.f64 (+.f64 y (*.f64 -1/6 (pow.f64 y 3))) (*.f64 1/120 (pow.f64 y 5)))) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x)))
(neg.f64 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x))
(*.f64 (*.f64 x (sin.f64 y)) (neg.f64 (cbrt.f64 -1)))
(*.f64 x (*.f64 (sin.f64 y) (neg.f64 (cbrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x) z)
(-.f64 z (*.f64 (sin.f64 y) (*.f64 x (cbrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x) z)
(-.f64 z (*.f64 (sin.f64 y) (*.f64 x (cbrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 (cbrt.f64 -1) (*.f64 (sin.f64 y) x))) z)
(fma.f64 -1 (*.f64 (*.f64 (cbrt.f64 -1) (sin.f64 y)) x) z)
(-.f64 z (*.f64 (sin.f64 y) (*.f64 x (cbrt.f64 -1))))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
z
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(+.f64 0 (*.f64 (sin.f64 y) x))
(*.f64 x (sin.f64 y))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)) (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))))
(*.f64 x (sin.f64 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 x (sin.f64 y))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 x (sin.f64 y))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 x (sin.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 x (sin.f64 y))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 x (sin.f64 y))
(*.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (exp.f64 (*.f64 2 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/3))))
(*.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(*.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)))
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x))
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x))
(*.f64 x (sin.f64 y))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(*.f64 x (sin.f64 y))
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 x (sin.f64 y))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(*.f64 x (sin.f64 y))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(*.f64 x (sin.f64 y))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(*.f64 x (sin.f64 y))
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(*.f64 x (sin.f64 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(*.f64 x (sin.f64 y))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1/3))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1/3))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 1))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 1))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(*.f64 x (sin.f64 y))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(+.f64 0 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))) (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1)
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1)
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(pow.f64 (*.f64 (sin.f64 y) x) 3)
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(pow.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3) 1/3)
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 2)
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 6))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(log.f64 (exp.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(cbrt.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3) (pow.f64 (pow.f64 x 3) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(cbrt.f64 (*.f64 (pow.f64 (pow.f64 x 3) 3) (pow.f64 (pow.f64 (sin.f64 y) 3) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(expm1.f64 (log1p.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1) 1))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 3) 1))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) 1/3) 3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 1) 3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))) 1/3))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 2))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(log1p.f64 (expm1.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)))
(pow.f64 (*.f64 x (sin.f64 y)) 3)
(+.f64 0 (pow.f64 (sin.f64 y) 3))
(pow.f64 (sin.f64 y) 3)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))) (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3))) 1)
(pow.f64 (sin.f64 y) 3)
(*.f64 (sin.f64 y) (pow.f64 (sin.f64 y) 2))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (sin.f64 y) 3) 1)
(pow.f64 (sin.f64 y) 3)
(*.f64 1 (pow.f64 (sin.f64 y) 3))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (sin.f64 y) 2) (sin.f64 y))
(pow.f64 (sin.f64 y) 3)
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) (pow.f64 (sin.f64 y) 2)))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (sin.f64 y) 3/2) (pow.f64 (sin.f64 y) 3/2))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) 3) (sin.f64 y))
(pow.f64 (sin.f64 y) 3)
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 3) (pow.f64 (sqrt.f64 (sin.f64 y)) 3))
(pow.f64 (sin.f64 y) 3)
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) 1) (sin.f64 y))
(pow.f64 (sin.f64 y) 3)
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 3)
(*.f64 (*.f64 (pow.f64 (sin.f64 y) 2) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 3)
(sqrt.f64 (pow.f64 (sin.f64 y) 6))
(pow.f64 (sin.f64 y) 3)
(log.f64 (exp.f64 (pow.f64 (sin.f64 y) 3)))
(pow.f64 (sin.f64 y) 3)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (sin.f64 y) 3))))
(pow.f64 (sin.f64 y) 3)
(cbrt.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 3))
(pow.f64 (sin.f64 y) 3)
(expm1.f64 (log1p.f64 (pow.f64 (sin.f64 y) 3)))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 3 (log.f64 (sin.f64 y))))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 3))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1) 1))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 2 (log.f64 (sin.f64 y))) 3/2))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 3 (*.f64 3 (log.f64 (sin.f64 y)))) 1/3))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (sin.f64 y))) 2))
(pow.f64 (sin.f64 y) 3)
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 3/2) 2))
(pow.f64 (sin.f64 y) 3)
(log1p.f64 (expm1.f64 (pow.f64 (sin.f64 y) 3)))
(pow.f64 (sin.f64 y) 3)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z))) 1)
(fma.f64 x (sin.f64 y) z)
(-.f64 (/.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (fma.f64 (sin.f64 y) x (neg.f64 z))) (/.f64 (*.f64 z z) (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(*.f64 (fma.f64 (sin.f64 y) x z) 1)
(fma.f64 x (sin.f64 y) z)
(*.f64 1 (fma.f64 (sin.f64 y) x z))
(fma.f64 x (sin.f64 y) z)
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2))
(fma.f64 x (sin.f64 y) z)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) (sqrt.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (/.f64 1 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(*.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (/.f64 1 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 1 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(/.f64 1 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3)) (fma.f64 z z (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (sin.f64 y) (*.f64 x z)))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) (neg.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) (neg.f64 (fma.f64 (sin.f64 y) x (neg.f64 z))))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(/.f64 (-.f64 (*.f64 z z) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (-.f64 z (*.f64 (sin.f64 y) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(pow.f64 (fma.f64 (sin.f64 y) x z) 1)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z)) 3)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3) 1/3)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z)) 2)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (/.f64 (fma.f64 z (-.f64 z (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 z 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) 1) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z (-.f64 z (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 x (sin.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (neg.f64 z)))))
(pow.f64 (/.f64 (fma.f64 (sin.f64 y) x (neg.f64 z)) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z z))) -1)
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 (sin.f64 y) x (neg.f64 z)))
(/.f64 (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 z z)) (fma.f64 x (sin.f64 y) (neg.f64 z)))
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 2))
(fma.f64 x (sin.f64 y) z)
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x z))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (exp.f64 z)))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (exp.f64 z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 (sin.f64 y)) x)))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(fma.f64 x (sin.f64 y) z)
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x z) 3))
(fma.f64 x (sin.f64 y) z)
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x z)) 1) 1))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x z))) 3))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x z))) 1/3))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x z))) 2))
(fma.f64 x (sin.f64 y) z)
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x z)))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sin.f64 y) x z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (*.f64 (sin.f64 y) x) 1 z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 z 1 (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 1 (*.f64 (sin.f64 y) x) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 1 z (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 z z)) (cbrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 (cbrt.f64 z) (cbrt.f64 (*.f64 z z)) (*.f64 x (sin.f64 y)))
(fma.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (sqrt.f64 z) (sqrt.f64 z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) z)
(fma.f64 (exp.f64 (*.f64 (*.f64 2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (cbrt.f64 (*.f64 (sin.f64 y) x)) z)
(fma.f64 (exp.f64 (*.f64 2 (*.f64 (log.f64 (*.f64 x (sin.f64 y))) 1/3))) (cbrt.f64 (*.f64 x (sin.f64 y))) z)
(fma.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2)) z)
(fma.f64 (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) (exp.f64 (*.f64 (*.f64 3/2 (log.f64 (*.f64 (sin.f64 y) x))) 1/3)) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) z)
(fma.f64 x (sin.f64 y) z)
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) z)
(fma.f64 x (sin.f64 y) z)

localize64.0ms (0.7%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 x (sin.f64 y))
99.9%
(*.f64 (cos.f64 y) (sqrt.f64 z))
99.8%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
Compiler

Compiled 34 to 10 computations (70.6% saved)

series6.0ms (0.1%)

Counts
2 → 37
Calls

15 calls:

TimeVariablePointExpression
1.0ms
z
@-inf
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
1.0ms
z
@inf
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
1.0ms
z
@0
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
1.0ms
y
@inf
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
0.0ms
y
@-inf
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))

rewrite71.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1238×log-prod
822×pow-prod-down
666×pow-prod-up
592×pow-exp
464×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01352
125342
2298538
Stop Event
node limit
Counts
2 → 55
Calls
Call 1
Inputs
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(*.f64 (cos.f64 y) (sqrt.f64 z))
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(+.f64 0 (*.f64 (cos.f64 y) (sqrt.f64 z)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1)
(pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 3)
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 2)
(sqrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))

simplify75.0ms (0.8%)

Algorithm
egg-herbie
Rules
1318×fma-def
660×unswap-sqr
652×log-prod
562×distribute-lft-in
526×distribute-rgt-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01802176
14242084
213372054
352412002
Stop Event
node limit
Counts
92 → 102
Calls
Call 1
Inputs
z
(+.f64 (*.f64 y x) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(sqrt.f64 z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (sqrt.f64 z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (sqrt.f64 z) (*.f64 1/24 (*.f64 (pow.f64 y 4) (sqrt.f64 z)))))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) (sqrt.f64 z))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (sqrt.f64 z) (*.f64 1/24 (*.f64 (pow.f64 y 4) (sqrt.f64 z))))))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 (cos.f64 y) z))))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(+.f64 0 (*.f64 (cos.f64 y) (sqrt.f64 z)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1)
(pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 3)
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)) 1/2)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 2)
(sqrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
Outputs
z
(+.f64 (*.f64 y x) z)
(fma.f64 y x z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 y x z))
(fma.f64 y x (fma.f64 -1/2 (*.f64 y (*.f64 z y)) z))
(fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 y x z))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) (+.f64 z (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (+.f64 (fma.f64 y x z) (*.f64 -1/6 (*.f64 x (pow.f64 y 3)))))
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 y x (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(fma.f64 -1/2 (*.f64 y (*.f64 z y)) (fma.f64 x (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 y x z)))
(fma.f64 z (*.f64 y (*.f64 y -1/2)) (fma.f64 x (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 y x z)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(sqrt.f64 z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (sqrt.f64 z))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (fma.f64 -1/2 (*.f64 y y) 1))
(*.f64 (sqrt.f64 z) (fma.f64 (*.f64 y -1/2) y 1))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (sqrt.f64 z) (*.f64 1/24 (*.f64 (pow.f64 y 4) (sqrt.f64 z)))))
(+.f64 (fma.f64 -1/2 (*.f64 (*.f64 y y) (sqrt.f64 z)) (sqrt.f64 z)) (*.f64 1/24 (*.f64 (sqrt.f64 z) (pow.f64 y 4))))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (sqrt.f64 z)) (fma.f64 1/24 (*.f64 (sqrt.f64 z) (pow.f64 y 4)) (sqrt.f64 z)))
(*.f64 (sqrt.f64 z) (+.f64 (*.f64 y (*.f64 y -1/2)) (fma.f64 1/24 (pow.f64 y 4) 1)))
(+.f64 (*.f64 -1/720 (*.f64 (pow.f64 y 6) (sqrt.f64 z))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) (sqrt.f64 z))) (+.f64 (sqrt.f64 z) (*.f64 1/24 (*.f64 (pow.f64 y 4) (sqrt.f64 z))))))
(fma.f64 -1/720 (*.f64 (sqrt.f64 z) (pow.f64 y 6)) (+.f64 (fma.f64 -1/2 (*.f64 (*.f64 y y) (sqrt.f64 z)) (sqrt.f64 z)) (*.f64 1/24 (*.f64 (sqrt.f64 z) (pow.f64 y 4)))))
(+.f64 (fma.f64 1/24 (*.f64 (sqrt.f64 z) (pow.f64 y 4)) (sqrt.f64 z)) (*.f64 (sqrt.f64 z) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 -1/2 (*.f64 y y)))))
(fma.f64 (sqrt.f64 z) (fma.f64 -1/720 (pow.f64 y 6) (*.f64 y (*.f64 y -1/2))) (*.f64 (sqrt.f64 z) (fma.f64 1/24 (pow.f64 y 4) 1)))
(*.f64 (sqrt.f64 z) (+.f64 (fma.f64 1/24 (pow.f64 y 4) 1) (fma.f64 -1/720 (pow.f64 y 6) (*.f64 y (*.f64 y -1/2)))))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(*.f64 (sqrt.f64 z) (cos.f64 y))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 (cos.f64 y) z))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 0 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(*.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(/.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (*.f64 z (neg.f64 (cos.f64 y)))) (pow.f64 (*.f64 z (cos.f64 y)) 2)))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3)) (fma.f64 (*.f64 x (sin.f64 y)) (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) (neg.f64 z))) (pow.f64 (*.f64 z (cos.f64 y)) 2)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 x (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 x (sin.f64 y)) 2)) (fma.f64 (sin.f64 y) (neg.f64 x) (*.f64 z (cos.f64 y))))
(/.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 1)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 3)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2) 1/2)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3) 1/3)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 2)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 2))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (sin.f64 y)) x) (exp.f64 (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log.f64 (*.f64 (exp.f64 (*.f64 (cos.f64 y) z)) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)) 3))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))) 1) 1))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 3))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 1/3))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z)))) 2))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 (cos.f64 y) z))))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))
(+.f64 0 (*.f64 (cos.f64 y) (sqrt.f64 z)))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1)
(*.f64 (cos.f64 y) (sqrt.f64 z))
(pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 1)
(*.f64 (cos.f64 y) (sqrt.f64 z))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 3)
(*.f64 (cos.f64 y) (sqrt.f64 z))
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)) 1/2)
(sqrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)))
(fabs.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3) 1/3)
(*.f64 (cos.f64 y) (sqrt.f64 z))
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 2)
(*.f64 (cos.f64 y) (sqrt.f64 z))
(sqrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 2)))
(fabs.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))
(log.f64 (pow.f64 (exp.f64 (sqrt.f64 z)) (cos.f64 y)))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(cbrt.f64 (pow.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) 3))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(expm1.f64 (log1p.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))) 1) 1))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 3))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 1/3))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)))) 2))
(*.f64 (cos.f64 y) (sqrt.f64 z))
(log1p.f64 (expm1.f64 (*.f64 (cos.f64 y) (sqrt.f64 z))))
(*.f64 (cos.f64 y) (sqrt.f64 z))

eval276.0ms (2.8%)

Compiler

Compiled 11913 to 5076 computations (57.4% saved)

prune134.0ms (1.4%)

Pruning

29 alts after pruning (18 fresh and 11 done)

PrunedKeptTotal
New7316737
Fresh41216
Picked011
Done11011
Total73629765
Accurracy
100.0%
Counts
765 → 29
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
76.8%
(fma.f64 (pow.f64 (cos.f64 y) 2/3) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
66.2%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
98.6%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
35.3%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x))
53.6%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
32.9%
(fma.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)) (sqrt.f64 (sin.f64 y)) z)
99.5%
(fma.f64 (cbrt.f64 (/.f64 (+.f64 1 (cos.f64 (+.f64 y y))) 2)) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) z) (*.f64 x (sin.f64 y)))
55.4%
(fma.f64 y x z)
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
32.0%
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
59.7%
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
43.2%
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) 2) 2) z)
76.1%
(+.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) 3) z)
43.3%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
76.3%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
76.3%
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x)) z)
76.3%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) z)
40.2%
(+.f64 (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) z)
36.5%
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) z)
55.4%
(+.f64 (*.f64 y x) z)
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
76.9%
(+.f64 (*.f64 x (sin.f64 y)) z)
55.8%
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) z)
43.8%
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) z)
39.7%
(*.f64 (sin.f64 y) x)
60.9%
(*.f64 (cos.f64 y) z)
19.0%
(*.f64 y x)
40.1%
z
Compiler

Compiled 368 to 251 computations (31.8% saved)

regimes114.0ms (1.1%)

Counts
52 → 1
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(fma.f64 y x z)
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) z)
(+.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3)) z)
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) z)
(+.f64 (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) z)
(+.f64 (pow.f64 (*.f64 (cbrt.f64 (sin.f64 y)) (cbrt.f64 x)) 3) z)
(pow.f64 (sqrt.f64 (fma.f64 y x (*.f64 (cos.f64 y) z))) 2)
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) z)
(+.f64 (*.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y))) z)
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 y x))
(+.f64 (cbrt.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 3))
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
(+.f64 (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) z)
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) (*.f64 z (cos.f64 y)))
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
(+.f64 (pow.f64 (pow.f64 (pow.f64 (*.f64 x (sin.f64 y)) 1/4) 2) 2) z)
(+.f64 (*.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(fma.f64 (*.f64 (sin.f64 y) (sqrt.f64 x)) (sqrt.f64 x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x)) z)
(+.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/6)) (sqrt.f64 (sin.f64 y)) z)
(fma.f64 (*.f64 (sin.f64 y) (pow.f64 (cbrt.f64 x) 2)) (cbrt.f64 x) (*.f64 z (cos.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 y x))
(fma.f64 (pow.f64 (cos.f64 y) 2/3) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))) z)
(+.f64 (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x)) (*.f64 z (cos.f64 y)))
(*.f64 (+.f64 (pow.f64 z 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 z (-.f64 z (*.f64 (sin.f64 y) x))))))
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cbrt.f64 x) (*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 2))) (*.f64 z (cos.f64 y)))
(fma.f64 (cbrt.f64 (/.f64 (+.f64 1 (cos.f64 (+.f64 y y))) 2)) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) z) (*.f64 x (sin.f64 y)))
(fma.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (cos.f64 y)))) z) (*.f64 x (sin.f64 y)))
(fma.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 3) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
(*.f64 (+.f64 (pow.f64 (*.f64 (cos.f64 y) z) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (/.f64 1 (fma.f64 (*.f64 (cos.f64 y) z) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 2))))
Outputs
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
Calls

4 calls:

28.0ms
z
25.0ms
x
23.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
23.0ms
y
Results
AccuracySegmentsBranch
99.8%1x
99.8%1y
99.8%1z
99.8%1(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Compiler

Compiled 655 to 227 computations (65.3% saved)

regimes30.0ms (0.3%)

Counts
10 → 1
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(fma.f64 y x z)
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
Outputs
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Calls

4 calls:

8.0ms
x
7.0ms
z
6.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
6.0ms
y
Results
AccuracySegmentsBranch
99.8%1x
99.8%1y
99.8%1z
99.8%1(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
Compiler

Compiled 77 to 37 computations (51.9% saved)

regimes168.0ms (1.7%)

Counts
7 → 3
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(fma.f64 y x z)
(+.f64 (*.f64 x (sin.f64 y)) z)
Outputs
(+.f64 (*.f64 x (sin.f64 y)) z)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 x (sin.f64 y)) z)
Calls

3 calls:

105.0ms
x
38.0ms
y
24.0ms
z
Results
AccuracySegmentsBranch
90.5%3x
86.2%8y
86.5%5z
Compiler

Compiled 42 to 21 computations (50% saved)

bsearch75.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
5.450488124207948e-57
4.668714176891172e-56
52.0ms
-1.785186523579166e-32
-1.0917441654438653e-35
Results
45.0ms148×body256valid
22.0ms54×body1024valid
6.0ms22×body512valid
Compiler

Compiled 270 to 195 computations (27.8% saved)

regimes129.0ms (1.3%)

Counts
6 → 8
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(fma.f64 y x z)
Outputs
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(fma.f64 y x z)
(*.f64 (cos.f64 y) z)
Calls

3 calls:

60.0ms
y
45.0ms
x
22.0ms
z
Results
AccuracySegmentsBranch
81.0%4x
84.9%8y
73.1%5z
Compiler

Compiled 36 to 19 computations (47.2% saved)

bsearch323.0ms (3.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
31.0ms
1.3250192720697089e-17
3080906947.97095
33.0ms
-430353896.9942989
-1.9471002855106665e-11
23.0ms
-2.145947593452314e+46
-2.7697802237173713e+42
26.0ms
-5.500753749183611e+77
-8.46120549621656e+72
90.0ms
-1.5093954955201942e+156
-5.79534828104822e+140
54.0ms
-3.862710989671963e+236
-5.0198659029472635e+234
65.0ms
-4.355455051344974e+274
-1.3420902065581887e+274
Results
116.0ms192×body1024valid
104.0ms608×body256valid
88.0ms160×body512valid
Compiler

Compiled 978 to 711 computations (27.3% saved)

regimes138.0ms (1.4%)

Counts
5 → 8
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
Outputs
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
Calls

3 calls:

67.0ms
y
53.0ms
z
16.0ms
x
Results
AccuracySegmentsBranch
81.0%4x
84.8%8y
73.1%5z
Compiler

Compiled 32 to 18 computations (43.8% saved)

bsearch302.0ms (3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
30.0ms
1.3250192720697089e-17
3080906947.97095
56.0ms
-430353896.9942989
-1.9471002855106665e-11
39.0ms
-2.145947593452314e+46
-2.7697802237173713e+42
28.0ms
-5.500753749183611e+77
-8.46120549621656e+72
49.0ms
-1.5093954955201942e+156
-5.79534828104822e+140
47.0ms
-3.862710989671963e+236
-5.0198659029472635e+234
53.0ms
-4.355455051344974e+274
-1.3420902065581887e+274
Results
137.0ms577×body256valid
97.0ms192×body1024valid
57.0ms191×body512valid
Compiler

Compiled 1000 to 733 computations (26.7% saved)

regimes61.0ms (0.6%)

Counts
4 → 3
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
Outputs
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
Calls

3 calls:

33.0ms
z
16.0ms
y
10.0ms
x
Results
AccuracySegmentsBranch
74.0%3x
77.0%3y
69.5%3z
Compiler

Compiled 28 to 16 computations (42.9% saved)

bsearch133.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
68.0ms
1.3250192720697089e-17
3080906947.97095
65.0ms
-430353896.9942989
-1.9471002855106665e-11
Results
129.0ms352×body256valid
Compiler

Compiled 392 to 277 computations (29.3% saved)

regimes14.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
Outputs
(+.f64 (*.f64 y x) z)
Calls

3 calls:

6.0ms
x
3.0ms
y
3.0ms
z
Results
AccuracySegmentsBranch
55.4%1x
55.4%1y
55.4%1z
Compiler

Compiled 24 to 14 computations (41.7% saved)

regimes41.0ms (0.4%)

Accuracy

Total -28.7b remaining (-86%)

Threshold costs -28.7b (-86%)

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

3 calls:

16.0ms
z
12.0ms
y
11.0ms
x
Results
AccuracySegmentsBranch
47.8%3x
43.9%4y
45.5%5z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch100.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
4.750823864678711e+178
2.1417910798293483e+182
71.0ms
-7.115748474061368e+229
-9.258436271117124e+224
Results
63.0ms63×body1024valid
29.0ms186×body256valid
6.0ms23×body512valid
Compiler

Compiled 222 to 166 computations (25.2% saved)

simplify12.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative
if-if-or-not
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
082501
1102501
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 6846532376016239/441711766194596082395824375185729628956870974218904739530401550323154944) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (<=.f64 y -34999999999999996287277920467615565767186332046218846354819060142019305495806140392987900670108024880337924596205464405531677217360542945433933864969245969568517728814329901217239480862324244533445403444264397220496168022631559485255975761599558516729931481304161583523430400) (*.f64 (cos.f64 y) z) (if (<=.f64 y -65000000000000000631777319364659690365111472534465292975466412564207770211497145502173697532571982002793269936551331639861312395113352172052303040130241677571991519095726346406627287961742295430398442100235934713115680569872804032282624) (*.f64 (sin.f64 y) x) (if (<=.f64 y -18000000000000000644032602308908557337919450837094693705494016309799943666950087541744486980204001094326227921295026628222969793417675517460480) (*.f64 (cos.f64 y) z) (if (<=.f64 y -15000000000000000530143168847754982449937298261985286495552111857354407936) (*.f64 (sin.f64 y) x) (if (<=.f64 y -16499999999999998999451593933365270315945426944) (*.f64 (cos.f64 y) z) (if (<=.f64 y -4196634276768923/2305843009213693952) (*.f64 (sin.f64 y) x) (if (<=.f64 y 3112888062438487/2305843009213693952) (fma.f64 y x z) (*.f64 (cos.f64 y) z))))))))
(if (<=.f64 y -15499999999999999454036969449374469909820444220679635669025844319278781227881144479885316028489735152456515656356610520866787859850868121841181460528308515100877275389097939664874679915184199606626882994814933371313914745441446226618256006102239904569964601796606988426149888) (*.f64 (cos.f64 y) z) (if (<=.f64 y -15000000000000000797490294939894735534050841862867651460035459480565837283438248391892506437023957363538582522718768140944425667707080480809753824463530605815048755596001335270174626025644249846853195675293722100816855395855538707234816) (*.f64 (sin.f64 y) x) (if (<=.f64 y -119999999999999989852562691846812988615222463168737002638517007816288295433419434577143935047059887295641487682906541597573908198807566840496128) (*.f64 (cos.f64 y) z) (if (<=.f64 y -24999999999999999569565318138646464186936911178503974388493780054452788527104) (*.f64 (sin.f64 y) x) (if (<=.f64 y -109999999999999997819273168697414265740460032) (*.f64 (cos.f64 y) z) (if (<=.f64 y -5718490662849961/18446744073709551616) (*.f64 (sin.f64 y) x) (if (<=.f64 y 3602879701896397/288230376151711744) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z))))))))
(if (<=.f64 y -4796153459164483/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 5534023222112865/36893488147419103232) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) z)
(if (<=.f64 x -940000000000000041237273011153538962718266070102351424759969773690308953360556149396872277265972474409083199583435124522722948204240713838193715118233024354109306013742913552318318915373166085066098832345812176424670003724288) (*.f64 y x) (if (<=.f64 x 60000000000000003146287106850377023172842800926578347663396823459908371008522313182925740985327145695932347818501593066976072410081123464910393787763554143630901442360724665925632) z (*.f64 y x)))
z
Outputs
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(if (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (+.f64 (*.f64 x (sin.f64 y)) z) (if (<=.f64 x 6846532376016239/441711766194596082395824375185729628956870974218904739530401550323154944) (*.f64 (cos.f64 y) z) (+.f64 (*.f64 x (sin.f64 y)) z)))
(if (or (<=.f64 x -4676805239458889/2923003274661805836407369665432566039311865085952) (not (<=.f64 x 6846532376016239/441711766194596082395824375185729628956870974218904739530401550323154944))) (+.f64 z (*.f64 x (sin.f64 y))) (*.f64 z (cos.f64 y)))
(if (<=.f64 y -34999999999999996287277920467615565767186332046218846354819060142019305495806140392987900670108024880337924596205464405531677217360542945433933864969245969568517728814329901217239480862324244533445403444264397220496168022631559485255975761599558516729931481304161583523430400) (*.f64 (cos.f64 y) z) (if (<=.f64 y -65000000000000000631777319364659690365111472534465292975466412564207770211497145502173697532571982002793269936551331639861312395113352172052303040130241677571991519095726346406627287961742295430398442100235934713115680569872804032282624) (*.f64 (sin.f64 y) x) (if (<=.f64 y -18000000000000000644032602308908557337919450837094693705494016309799943666950087541744486980204001094326227921295026628222969793417675517460480) (*.f64 (cos.f64 y) z) (if (<=.f64 y -15000000000000000530143168847754982449937298261985286495552111857354407936) (*.f64 (sin.f64 y) x) (if (<=.f64 y -16499999999999998999451593933365270315945426944) (*.f64 (cos.f64 y) z) (if (<=.f64 y -4196634276768923/2305843009213693952) (*.f64 (sin.f64 y) x) (if (<=.f64 y 3112888062438487/2305843009213693952) (fma.f64 y x z) (*.f64 (cos.f64 y) z))))))))
(if (<=.f64 y -34999999999999996287277920467615565767186332046218846354819060142019305495806140392987900670108024880337924596205464405531677217360542945433933864969245969568517728814329901217239480862324244533445403444264397220496168022631559485255975761599558516729931481304161583523430400) (*.f64 z (cos.f64 y)) (if (<=.f64 y -65000000000000000631777319364659690365111472534465292975466412564207770211497145502173697532571982002793269936551331639861312395113352172052303040130241677571991519095726346406627287961742295430398442100235934713115680569872804032282624) (*.f64 x (sin.f64 y)) (if (<=.f64 y -18000000000000000644032602308908557337919450837094693705494016309799943666950087541744486980204001094326227921295026628222969793417675517460480) (*.f64 z (cos.f64 y)) (if (<=.f64 y -15000000000000000530143168847754982449937298261985286495552111857354407936) (*.f64 x (sin.f64 y)) (if (<=.f64 y -16499999999999998999451593933365270315945426944) (*.f64 z (cos.f64 y)) (if (<=.f64 y -4196634276768923/2305843009213693952) (*.f64 x (sin.f64 y)) (if (<=.f64 y 3112888062438487/2305843009213693952) (fma.f64 y x z) (*.f64 z (cos.f64 y)))))))))
(if (<=.f64 y -15499999999999999454036969449374469909820444220679635669025844319278781227881144479885316028489735152456515656356610520866787859850868121841181460528308515100877275389097939664874679915184199606626882994814933371313914745441446226618256006102239904569964601796606988426149888) (*.f64 (cos.f64 y) z) (if (<=.f64 y -15000000000000000797490294939894735534050841862867651460035459480565837283438248391892506437023957363538582522718768140944425667707080480809753824463530605815048755596001335270174626025644249846853195675293722100816855395855538707234816) (*.f64 (sin.f64 y) x) (if (<=.f64 y -119999999999999989852562691846812988615222463168737002638517007816288295433419434577143935047059887295641487682906541597573908198807566840496128) (*.f64 (cos.f64 y) z) (if (<=.f64 y -24999999999999999569565318138646464186936911178503974388493780054452788527104) (*.f64 (sin.f64 y) x) (if (<=.f64 y -109999999999999997819273168697414265740460032) (*.f64 (cos.f64 y) z) (if (<=.f64 y -5718490662849961/18446744073709551616) (*.f64 (sin.f64 y) x) (if (<=.f64 y 3602879701896397/288230376151711744) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z))))))))
(if (<=.f64 y -15499999999999999454036969449374469909820444220679635669025844319278781227881144479885316028489735152456515656356610520866787859850868121841181460528308515100877275389097939664874679915184199606626882994814933371313914745441446226618256006102239904569964601796606988426149888) (*.f64 z (cos.f64 y)) (if (<=.f64 y -15000000000000000797490294939894735534050841862867651460035459480565837283438248391892506437023957363538582522718768140944425667707080480809753824463530605815048755596001335270174626025644249846853195675293722100816855395855538707234816) (*.f64 x (sin.f64 y)) (if (<=.f64 y -119999999999999989852562691846812988615222463168737002638517007816288295433419434577143935047059887295641487682906541597573908198807566840496128) (*.f64 z (cos.f64 y)) (if (<=.f64 y -24999999999999999569565318138646464186936911178503974388493780054452788527104) (*.f64 x (sin.f64 y)) (if (<=.f64 y -109999999999999997819273168697414265740460032) (*.f64 z (cos.f64 y)) (if (<=.f64 y -5718490662849961/18446744073709551616) (*.f64 x (sin.f64 y)) (if (<=.f64 y 3602879701896397/288230376151711744) (+.f64 z (*.f64 x y)) (*.f64 z (cos.f64 y)))))))))
(if (<=.f64 y -4796153459164483/18446744073709551616) (*.f64 (cos.f64 y) z) (if (<=.f64 y 5534023222112865/36893488147419103232) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(if (or (<=.f64 y -4796153459164483/18446744073709551616) (not (<=.f64 y 5534023222112865/36893488147419103232))) (*.f64 z (cos.f64 y)) (+.f64 z (*.f64 x y)))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 x y))
(if (<=.f64 x -940000000000000041237273011153538962718266070102351424759969773690308953360556149396872277265972474409083199583435124522722948204240713838193715118233024354109306013742913552318318915373166085066098832345812176424670003724288) (*.f64 y x) (if (<=.f64 x 60000000000000003146287106850377023172842800926578347663396823459908371008522313182925740985327145695932347818501593066976072410081123464910393787763554143630901442360724665925632) z (*.f64 y x)))
(if (<=.f64 x -940000000000000041237273011153538962718266070102351424759969773690308953360556149396872277265972474409083199583435124522722948204240713838193715118233024354109306013742913552318318915373166085066098832345812176424670003724288) (*.f64 x y) (if (<=.f64 x 60000000000000003146287106850377023172842800926578347663396823459908371008522313182925740985327145695932347818501593066976072410081123464910393787763554143630901442360724665925632) z (*.f64 x y)))
z
Compiler

Compiled 223 to 121 computations (45.7% saved)

soundness127.0ms (1.3%)

Rules
1048×unswap-sqr
948×cancel-sign-sub-inv
800×difference-of-squares
690×fma-neg
484×distribute-lft-neg-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
11623
21923
03094488
17324378
226774378
Stop Event
node limit
saturated
Compiler

Compiled 32 to 15 computations (53.1% saved)

end121.0ms (1.2%)

Compiler

Compiled 422 to 166 computations (60.7% saved)

Profiling

Loading profile data...