Details

Time bar (total: 8.5s)

analyze226.0ms (2.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
25%25%74.9%0.1%0%0%0%7
37.5%37.4%62.4%0.1%0%0%0%8
37.5%37.4%62.4%0.1%0%0%0%9
56.3%56.2%43.7%0.1%0%0%0%10
65.6%65.5%34.3%0.1%0%0%0%11
65.6%65.5%34.3%0.1%0%0%0%12
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.9s (34%)

Results
1.2s2097×body1024valid
1.2s5150×body256valid
444.0ms1005×body512valid
3.0msbody2048valid
Bogosity

preprocess15.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)

simplify56.0ms (0.7%)

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)

localize10.0ms (0.1%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 27 to 8 computations (70.4% saved)

series38.0ms (0.5%)

Counts
4 → 80
Calls

24 calls:

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

rewrite80.0ms (0.9%)

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
01150
122650
2296750
Stop Event
node limit
Counts
4 → 143
Calls
Call 1
Inputs
(*.f64 x (sin.f64 y))
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(sin.f64 y)
Outputs
(+.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 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 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.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 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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 x (*.f64 (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))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 (/.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 (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))))))
(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))))))
(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)))))
(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 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 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 1 (*.f64 z (cos.f64 y)) (*.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 (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)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.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 (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 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)) (*.f64 x (sin.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 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.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 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) (*.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)))
(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)))
(+.f64 0 (sin.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 y))) 1)
(-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 y))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 y))) (sin.f64 1)))
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(log.f64 (exp.f64 (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 y))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 2))
(log1p.f64 (expm1.f64 (sin.f64 y)))

simplify198.0ms (2.3%)

Algorithm
egg-herbie
Rules
942×cancel-sign-sub-inv
730×fma-neg
572×distribute-lft-neg-in
570×distribute-rgt-neg-in
548×difference-of-squares
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03764819
18574671
232404671
Stop Event
node limit
Counts
223 → 197
Calls
Call 1
Inputs
(*.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 (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 (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))
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(+.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 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 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.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 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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 x (*.f64 (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))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 (/.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 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 (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))))))
(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))))))
(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)))))
(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 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 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 1 (*.f64 z (cos.f64 y)) (*.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 (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)))
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.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 (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 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)) (*.f64 x (sin.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 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x) (*.f64 z (cos.f64 y)))
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.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 (sqrt.f64 (*.f64 x (sin.f64 y))) (sqrt.f64 (*.f64 x (sin.f64 y))) (*.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)))
(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)))
(+.f64 0 (sin.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 y))) 1)
(-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 y))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 y))) (sin.f64 1)))
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/2)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(log.f64 (exp.f64 (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 y))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 2))
(log1p.f64 (expm1.f64 (sin.f64 y)))
Outputs
(*.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 (fma.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 (fma.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))))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 x (fma.f64 1/120 (pow.f64 y 5) y)))
(*.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 (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 (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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(*.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(*.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
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)) (+.f64 (*.f64 x (fma.f64 -1/6 (pow.f64 y 3) y)) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(*.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(*.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
(*.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))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.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))
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(fma.f64 -1/6 (pow.f64 y 3) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(fma.f64 -1/6 (pow.f64 y 3) (+.f64 (fma.f64 1/120 (pow.f64 y 5) y) (*.f64 -1/5040 (pow.f64 y 7))))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 -1/5040 (pow.f64 y 7) y)))
(+.f64 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 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 x) (sin.f64 y))))) (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 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 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 z) (cos.f64 y))))) (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 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(-.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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 1 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.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 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.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 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.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 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(*.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) 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 (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 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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))))
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) 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 (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 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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) 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 (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 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 x (*.f64 (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 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 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 (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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 (neg.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.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 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) 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 (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 (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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 3)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2) 1/2)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3) 1/3)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(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 z (cos.f64 y)) 3) (pow.f64 (*.f64 x (sin.f64 y)) 3))) -1)
(/.f64 (*.f64 (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) (pow.f64 (*.f64 (cos.f64 y) z) 3)) 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 (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)))
(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)) (fma.f64 x (sin.f64 y) (neg.f64 (*.f64 (cos.f64 y) z))))
(/.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)))
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 2))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(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))
(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))
(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))
(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))
(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))
(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))
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 1) 1))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 1/3))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(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 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 x (sin.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(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 1 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))
(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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (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 (*.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 (*.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 (*.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 (*.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 (*.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 (*.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 (*.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 (*.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))
(+.f64 0 (sin.f64 y))
(sin.f64 y)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y))))) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (sin.f64 y))) 1)
(sin.f64 y)
(-.f64 (*.f64 (sin.f64 (exp.f64 (log1p.f64 y))) (cos.f64 1)) (*.f64 (cos.f64 (exp.f64 (log1p.f64 y))) (sin.f64 1)))
(*.f64 (sin.f64 y) 1)
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(sin.f64 y)
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(sin.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(sin.f64 y)
(pow.f64 (sin.f64 y) 1)
(sin.f64 y)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(sin.f64 y)
(pow.f64 (pow.f64 (sin.f64 y) 2) 1/2)
(sin.f64 y)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(sin.f64 y)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sin.f64 y)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(sin.f64 y)
(log.f64 (exp.f64 (sin.f64 y)))
(sin.f64 y)
(log.f64 (+.f64 1 (expm1.f64 (sin.f64 y))))
(sin.f64 y)
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(sin.f64 y)
(exp.f64 (log.f64 (sin.f64 y)))
(sin.f64 y)
(exp.f64 (*.f64 (log.f64 (sin.f64 y)) 1))
(sin.f64 y)
(exp.f64 (*.f64 (*.f64 (log.f64 (sin.f64 y)) 1) 1))
(sin.f64 y)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sin.f64 y))) 3))
(sin.f64 y)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sin.f64 y))) 1/3))
(sin.f64 y)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sin.f64 y))) 2))
(sin.f64 y)
(log1p.f64 (expm1.f64 (sin.f64 y)))
(sin.f64 y)

localize10.0ms (0.1%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 22 to 7 computations (68.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)))

rewrite100.0ms (1.2%)

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)))))

simplify88.0ms (1%)

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))

eval125.0ms (1.5%)

Compiler

Compiled 5075 to 1646 computations (67.6% saved)

prune133.0ms (1.6%)

Pruning

28 alts after pruning (26 fresh and 2 done)

PrunedKeptTotal
New30726333
Fresh000
Picked011
Done011
Total30728335
Accurracy
100.0%
Counts
335 → 28
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
99.3%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
98.7%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.1%
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) (*.f64 z (cos.f64 y)))
48.9%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
99.4%
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.8%
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
76.6%
(fma.f64 x (sin.f64 y) z)
49.6%
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
56.9%
(/.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))))
55.6%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 x (sin.f64 y))) 2) (*.f64 z (cos.f64 y)))
99.0%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) (*.f64 z (cos.f64 y)))
52.6%
(+.f64 (*.f64 y x) z)
59.7%
(+.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)) (*.f64 z (cos.f64 y)))
52.1%
(+.f64 (*.f64 x (pow.f64 (sqrt.f64 (sin.f64 y)) 2)) (*.f64 z (cos.f64 y)))
86.0%
(+.f64 (*.f64 x (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
50.0%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
98.6%
(+.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.6%
(+.f64 (*.f64 x (sin.f64 y)) z)
99.7%
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
86.5%
(+.f64 (*.f64 x (log.f64 (exp.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
91.7%
(+.f64 (*.f64 x (cbrt.f64 (pow.f64 (sin.f64 y) 3))) (*.f64 z (cos.f64 y)))
51.8%
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
39.9%
(*.f64 (sin.f64 y) x)
61.2%
(*.f64 (cos.f64 y) z)
39.6%
z
Compiler

Compiled 755 to 508 computations (32.7% saved)

localize13.0ms (0.2%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 22 to 7 computations (68.2% saved)

series2.0ms (0%)

Counts
2 → 40
Calls

15 calls:

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

rewrite78.0ms (0.9%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01134
121334
2250634
Stop Event
node limit
Counts
2 → 66
Calls
Call 1
Inputs
(*.f64 (sin.f64 y) x)
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
Outputs
(+.f64 0 (*.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 (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 (sin.f64 y) x))) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 y) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x)))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 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 (*.f64 3 (log.f64 (*.f64 (sin.f64 y) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(exp.f64 (+.f64 (log.f64 (sin.f64 y)) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (log.f64 x)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (sin.f64 y)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (sin.f64 y))))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (sin.f64 y)) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 0 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (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 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(/.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 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))
(pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (exp.f64 (cos.f64 y)) z)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))

simplify132.0ms (1.6%)

Algorithm
egg-herbie
Rules
1886×fma-def
842×fma-neg
760×unswap-sqr
722×distribute-lft-in
708×log-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01972504
14622420
215292388
371032388
Stop Event
node limit
Counts
106 → 111
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)))))
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 (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))
(+.f64 0 (*.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 (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 (sin.f64 y) x))) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 y) x)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x)))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 y) x)) 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 (*.f64 3 (log.f64 (*.f64 (sin.f64 y) x))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(exp.f64 (+.f64 (log.f64 (sin.f64 y)) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (log.f64 x)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (*.f64 (log.f64 x) 1)))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (sin.f64 y)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (sin.f64 y))))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (sin.f64 y)) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(+.f64 0 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 (sin.f64 y) x))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (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 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1)
(*.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(/.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 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))
(/.f64 (-.f64 (pow.f64 (*.f64 (cos.f64 y) z) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))
(pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(sqrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (exp.f64 (cos.f64 y)) z)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3))
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
Outputs
(*.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 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 x (fma.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 y (*.f64 -1/6 (pow.f64 y 3)))))
(*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (fma.f64 1/120 (pow.f64 y 5) 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 x (+.f64 (fma.f64 -1/6 (pow.f64 y 3) (*.f64 -1/5040 (pow.f64 y 7))) (fma.f64 1/120 (pow.f64 y 5) y)))
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 -1/2 (*.f64 y (*.f64 y z)) 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 x (fma.f64 -1/6 (pow.f64 y 3) y) z))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 0 (*.f64 (sin.f64 y) x))
(*.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 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 x (sin.f64 y))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 y) x))) 1)
(*.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 (pow.f64 (*.f64 (sin.f64 y) x) 2) 1/2)
(*.f64 x (sin.f64 y))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(*.f64 x (sin.f64 y))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(*.f64 x (sin.f64 y))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 x (sin.f64 y)))) 2)) (cbrt.f64 (log.f64 (*.f64 x (sin.f64 y)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x)))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 y) x))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 x (sin.f64 y))))) (sqrt.f64 (log.f64 (*.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 x) (sin.f64 y)))
(*.f64 x (sin.f64 y))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))))
(*.f64 x (sin.f64 y))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(*.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 (*.f64 (sin.f64 y) x)) 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 (*.f64 3 (log.f64 (*.f64 (sin.f64 y) x))) 1/3))
(*.f64 x (sin.f64 y))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 2))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (log.f64 (sin.f64 y)) (*.f64 (log.f64 x) 1)))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (log.f64 x)))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 y)) 1) (*.f64 (log.f64 x) 1)))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (log.f64 x) (*.f64 (log.f64 (sin.f64 y)) 1)))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (log.f64 (sin.f64 y))))
(*.f64 x (sin.f64 y))
(exp.f64 (+.f64 (*.f64 (log.f64 x) 1) (*.f64 (log.f64 (sin.f64 y)) 1)))
(*.f64 x (sin.f64 y))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (sin.f64 y) x) (*.f64 (cos.f64 y) z))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (*.f64 (cos.f64 y) z) 1) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.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 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 1 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(*.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.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 (*.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 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 x (sin.f64 y)) 2) (*.f64 (cos.f64 y) (*.f64 z (*.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 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 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (fma.f64 (*.f64 x (sin.f64 y)) (-.f64 (*.f64 x (sin.f64 y)) (*.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 (sin.f64 y) x) 2)) (-.f64 (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))
(/.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 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 1)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 3)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2) 1/2)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3) 1/3)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (exp.f64 1) (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y))))) 2)) (cbrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.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 (sin.f64 y) x (*.f64 (cos.f64 y) z))))) (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))))) (sqrt.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.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 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 2))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(log.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (exp.f64 (cos.f64 y)) z)))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(log.f64 (*.f64 (pow.f64 (exp.f64 (cos.f64 y)) z) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 y) x)))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(cbrt.f64 (pow.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)) 3))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(expm1.f64 (log1p.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 1) 1))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 3))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 1/3))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z)))) 2))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))

localize5.0ms (0.1%)

Compiler

Compiled 14 to 5 computations (64.3% saved)

localize24.0ms (0.3%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(exp.f64 (sin.f64 y))
99.8%
(*.f64 x (log.f64 (exp.f64 (sin.f64 y))))
99.8%
(*.f64 z (cos.f64 y))
93.9%
(log.f64 (exp.f64 (sin.f64 y)))
Compiler

Compiled 38 to 10 computations (73.7% saved)

series1.0ms (0%)

Counts
3 → 40
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(exp.f64 (sin.f64 y))
0.0ms
y
@inf
(exp.f64 (sin.f64 y))
0.0ms
y
@0
(log.f64 (exp.f64 (sin.f64 y)))
0.0ms
y
@-inf
(exp.f64 (sin.f64 y))
0.0ms
y
@0
(*.f64 x (log.f64 (exp.f64 (sin.f64 y))))

rewrite100.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1410×pow1
1280×add-exp-log
1280×log1p-expm1-u
1280×expm1-log1p-u
1246×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
115925
2176825
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(log.f64 (exp.f64 (sin.f64 y)))
(*.f64 x (log.f64 (exp.f64 (sin.f64 y))))
(exp.f64 (sin.f64 y))
Outputs
(+.f64 0 (sin.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(log1p.f64 (expm1.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/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))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (exp.f64 (sin.f64 y))) 1)
(*.f64 (exp.f64 (sin.f64 y)) 1)
(*.f64 1 (exp.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2) (cbrt.f64 (exp.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) (sqrt.f64 (exp.f64 (sin.f64 y))))
(pow.f64 (exp.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 3)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) 2)
(pow.f64 (exp.f64 1) (sin.f64 y))
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 2))
(log.f64 (exp.f64 (exp.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 y))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 y))))

simplify72.0ms (0.8%)

Algorithm
egg-herbie
Rules
1274×fma-def
1102×log-prod
1042×unswap-sqr
538×fma-neg
402×distribute-lft-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01361073
13071049
21131911
35225911
Stop Event
node limit
Counts
89 → 84
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(*.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)
1
(+.f64 1 y)
(+.f64 1 (+.f64 y (*.f64 1/2 (pow.f64 y 2))))
(+.f64 1 (+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (*.f64 1/2 (pow.f64 y 2)))))
(+.f64 0 (sin.f64 y))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(log1p.f64 (expm1.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/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))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (exp.f64 (sin.f64 y))) 1)
(*.f64 (exp.f64 (sin.f64 y)) 1)
(*.f64 1 (exp.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2) (cbrt.f64 (exp.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) (sqrt.f64 (exp.f64 (sin.f64 y))))
(pow.f64 (exp.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 3)
(pow.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) 2)
(pow.f64 (exp.f64 1) (sin.f64 y))
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 2))
(log.f64 (exp.f64 (exp.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 y))))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 y))))
Outputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(fma.f64 -1/6 (pow.f64 y 3) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(fma.f64 -1/6 (pow.f64 y 3) (+.f64 (fma.f64 1/120 (pow.f64 y 5) y) (*.f64 -1/5040 (pow.f64 y 7))))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 -1/5040 (pow.f64 y 7) y)))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(*.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 (pow.f64 y 3) x)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) x)
(+.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 (pow.f64 y 5) x) (fma.f64 y x (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(fma.f64 1/120 (*.f64 (pow.f64 y 5) x) (*.f64 x (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) 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 (pow.f64 y 5) x) (fma.f64 y x (fma.f64 -1/5040 (*.f64 (pow.f64 y 7) x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 x (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 -1/5040 (pow.f64 y 7) y))))
(*.f64 (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)
1
(+.f64 1 y)
(+.f64 y 1)
(+.f64 1 (+.f64 y (*.f64 1/2 (pow.f64 y 2))))
(+.f64 (+.f64 y 1) (*.f64 1/2 (*.f64 y y)))
(+.f64 1 (fma.f64 1/2 (*.f64 y y) y))
(+.f64 y (fma.f64 1/2 (*.f64 y y) 1))
(+.f64 1 (+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (*.f64 1/2 (pow.f64 y 2)))))
(+.f64 (+.f64 y 1) (fma.f64 -1/8 (pow.f64 y 4) (*.f64 1/2 (*.f64 y y))))
(+.f64 y (+.f64 1 (fma.f64 1/2 (*.f64 y y) (*.f64 -1/8 (pow.f64 y 4)))))
(+.f64 (fma.f64 -1/8 (pow.f64 y 4) y) (fma.f64 1/2 (*.f64 y y) 1))
(+.f64 0 (sin.f64 y))
(sin.f64 y)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))
(sin.f64 y)
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))) (log.f64 (sqrt.f64 (exp.f64 (sin.f64 y)))))
(sin.f64 y)
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(sin.f64 y)
(*.f64 (sin.f64 y) 1)
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(sin.f64 y)
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(sin.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(sin.f64 y)
(pow.f64 (sin.f64 y) 1)
(sin.f64 y)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(sin.f64 y)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(sin.f64 y)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sin.f64 y)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(sin.f64 y)
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(sin.f64 y)
(exp.f64 (log.f64 (sin.f64 y)))
(sin.f64 y)
(log1p.f64 (expm1.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(*.f64 (sin.f64 y) x)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(*.f64 (sin.f64 y) x)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(*.f64 (sin.f64 y) x)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(*.f64 (sin.f64 y) x)
(log.f64 (pow.f64 (exp.f64 (sin.f64 y)) x))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(-.f64 (+.f64 1 (exp.f64 (sin.f64 y))) 1)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(*.f64 (exp.f64 (sin.f64 y)) 1)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(*.f64 1 (exp.f64 (sin.f64 y)))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(*.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 2) (cbrt.f64 (exp.f64 (sin.f64 y))))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(*.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) (sqrt.f64 (exp.f64 (sin.f64 y))))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (exp.f64 (sin.f64 y)) 1)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (cbrt.f64 (exp.f64 (sin.f64 y))) 3)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1/3)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (sqrt.f64 (exp.f64 (sin.f64 y))) 2)
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (exp.f64 1) (sin.f64 y))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (exp.f64 (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(sqrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 2))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(log.f64 (exp.f64 (exp.f64 (sin.f64 y))))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(cbrt.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(expm1.f64 (log1p.f64 (exp.f64 (sin.f64 y))))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))
(log1p.f64 (expm1.f64 (exp.f64 (sin.f64 y))))
(+.f64 1 (expm1.f64 (sin.f64 y)))
(+.f64 (exp.f64 (sin.f64 y)) 0)
(exp.f64 (sin.f64 y))

localize17.0ms (0.2%)

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.5%
(cbrt.f64 (*.f64 x (sin.f64 y)))
Compiler

Compiled 43 to 14 computations (67.4% saved)

series57.0ms (0.7%)

Counts
2 → 16
Calls

12 calls:

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

rewrite63.0ms (0.7%)

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))))

simplify60.0ms (0.7%)

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)

localize32.0ms (0.4%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 40 to 14 computations (65% saved)

series5.0ms (0.1%)

Counts
3 → 12
Calls

12 calls:

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

rewrite94.0ms (1.1%)

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
01031
119631
2217331
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 x) (sin.f64 y))
Outputs
(-.f64 (+.f64 1 (cbrt.f64 x)) 1)
(*.f64 (cbrt.f64 x) 1)
(*.f64 1 (cbrt.f64 x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))
(pow.f64 x 1/3)
(pow.f64 (cbrt.f64 x) 1)
(pow.f64 (cbrt.f64 (*.f64 x x)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 x 1/6) 2)
(sqrt.f64 (cbrt.f64 (*.f64 x x)))
(fabs.f64 (cbrt.f64 x))
(log.f64 (exp.f64 (cbrt.f64 x)))
(expm1.f64 (log1p.f64 (cbrt.f64 x)))
(exp.f64 (log.f64 (cbrt.f64 x)))
(log1p.f64 (expm1.f64 (cbrt.f64 x)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x x))) 1)
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 x x)) 1)
(*.f64 1 (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (sqrt.f64 x) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(sqrt.f64 (*.f64 x (cbrt.f64 x)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x x))))
(cbrt.f64 (*.f64 x x))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x x))))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x x))))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 x) (sin.f64 y))) 1)
(pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3))
(cbrt.f64 (*.f64 x (pow.f64 (sin.f64 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) x))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))

simplify55.0ms (0.6%)

Algorithm
egg-herbie
Rules
2136×fma-def
968×distribute-rgt-in
938×distribute-lft-in
906×unswap-sqr
698×associate-+r+
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01231207
12751039
21076877
33597839
Stop Event
node limit
Counts
61 → 78
Calls
Call 1
Inputs
(*.f64 (pow.f64 (*.f64 1 x) 1/3) y)
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))) (*.f64 1/120 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 5)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 7))) (*.f64 1/120 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 5))))))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(-.f64 (+.f64 1 (cbrt.f64 x)) 1)
(*.f64 (cbrt.f64 x) 1)
(*.f64 1 (cbrt.f64 x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 x))
(*.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))
(pow.f64 x 1/3)
(pow.f64 (cbrt.f64 x) 1)
(pow.f64 (cbrt.f64 (*.f64 x x)) 1/2)
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(pow.f64 (pow.f64 x 1/6) 2)
(sqrt.f64 (cbrt.f64 (*.f64 x x)))
(fabs.f64 (cbrt.f64 x))
(log.f64 (exp.f64 (cbrt.f64 x)))
(expm1.f64 (log1p.f64 (cbrt.f64 x)))
(exp.f64 (log.f64 (cbrt.f64 x)))
(log1p.f64 (expm1.f64 (cbrt.f64 x)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x x))) 1)
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(*.f64 (cbrt.f64 (*.f64 x x)) 1)
(*.f64 1 (cbrt.f64 (*.f64 x x)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (sqrt.f64 x) (pow.f64 x 1/6))
(*.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(sqrt.f64 (*.f64 x (cbrt.f64 x)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x x))))
(cbrt.f64 (*.f64 x x))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x x))))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x x))))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 x) (sin.f64 y))) 1)
(pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3))
(cbrt.f64 (*.f64 x (pow.f64 (sin.f64 y) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) x))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
Outputs
(*.f64 (pow.f64 (*.f64 1 x) 1/3) y)
(*.f64 y (cbrt.f64 x))
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))))
(fma.f64 (cbrt.f64 x) y (*.f64 (*.f64 -1/6 (cbrt.f64 x)) (pow.f64 y 3)))
(fma.f64 y (cbrt.f64 x) (*.f64 (pow.f64 y 3) (*.f64 -1/6 (cbrt.f64 x))))
(*.f64 (cbrt.f64 x) (+.f64 y (*.f64 -1/6 (pow.f64 y 3))))
(*.f64 (cbrt.f64 x) (fma.f64 -1/6 (pow.f64 y 3) y))
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))) (*.f64 1/120 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 5)))))
(fma.f64 (cbrt.f64 x) y (fma.f64 -1/6 (*.f64 (pow.f64 y 3) (cbrt.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 y 5) (cbrt.f64 x)))))
(fma.f64 y (cbrt.f64 x) (fma.f64 -1/6 (*.f64 (pow.f64 y 3) (cbrt.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 y 5) (cbrt.f64 x)))))
(fma.f64 y (cbrt.f64 x) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 1/120 (pow.f64 y 5)))))
(*.f64 (cbrt.f64 x) (+.f64 y (fma.f64 1/120 (pow.f64 y 5) (*.f64 -1/6 (pow.f64 y 3)))))
(+.f64 (*.f64 (pow.f64 (*.f64 1 x) 1/3) y) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 3))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 7))) (*.f64 1/120 (*.f64 (pow.f64 (*.f64 1 x) 1/3) (pow.f64 y 5))))))
(fma.f64 (cbrt.f64 x) y (fma.f64 -1/6 (*.f64 (pow.f64 y 3) (cbrt.f64 x)) (fma.f64 -1/5040 (*.f64 (pow.f64 y 7) (cbrt.f64 x)) (*.f64 1/120 (*.f64 (pow.f64 y 5) (cbrt.f64 x))))))
(fma.f64 y (cbrt.f64 x) (fma.f64 -1/6 (*.f64 (pow.f64 y 3) (cbrt.f64 x)) (fma.f64 1/120 (*.f64 (pow.f64 y 5) (cbrt.f64 x)) (*.f64 -1/5040 (*.f64 (pow.f64 y 7) (cbrt.f64 x))))))
(+.f64 (*.f64 (cbrt.f64 x) (+.f64 y (*.f64 -1/6 (pow.f64 y 3)))) (*.f64 (cbrt.f64 x) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (*.f64 -1/5040 (pow.f64 y 7)))))
(*.f64 (cbrt.f64 x) (+.f64 (fma.f64 -1/6 (pow.f64 y 3) y) (fma.f64 1/120 (pow.f64 y 5) (*.f64 -1/5040 (pow.f64 y 7)))))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(*.f64 (pow.f64 (*.f64 1 x) 1/3) (sin.f64 y))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(-.f64 (+.f64 1 (cbrt.f64 x)) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (cbrt.f64 x) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 1 (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (cbrt.f64 (cbrt.f64 x)) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 x 1/6) (pow.f64 x 1/6))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)))
(*.f64 (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))) (fabs.f64 (cbrt.f64 (cbrt.f64 x))))
(*.f64 (cbrt.f64 (cbrt.f64 x)) (sqrt.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x)))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(*.f64 (pow.f64 (sqrt.f64 x) 1/3) (pow.f64 (sqrt.f64 x) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 x)) (cbrt.f64 (sqrt.f64 x)))
(pow.f64 (pow.f64 (sqrt.f64 x) 1/6) 4)
(pow.f64 x 1/3)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (cbrt.f64 x) 1)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (cbrt.f64 (*.f64 x x)) 1/2)
(sqrt.f64 (cbrt.f64 (*.f64 x x)))
(pow.f64 (cbrt.f64 (cbrt.f64 x)) 3)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(pow.f64 (pow.f64 x 1/6) 2)
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(sqrt.f64 (cbrt.f64 (*.f64 x x)))
(fabs.f64 (cbrt.f64 x))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(log.f64 (exp.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(expm1.f64 (log1p.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(exp.f64 (log.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(log1p.f64 (expm1.f64 (cbrt.f64 x)))
(+.f64 1 (-.f64 (cbrt.f64 x) 1))
(+.f64 (cbrt.f64 x) 0)
(cbrt.f64 x)
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 x x))) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 (*.f64 x x)) 1)
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(*.f64 1 (cbrt.f64 (*.f64 x x)))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (*.f64 (cbrt.f64 (cbrt.f64 x)) (cbrt.f64 x)))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (*.f64 x (cbrt.f64 x))))
(*.f64 (sqrt.f64 x) (pow.f64 x 1/6))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (pow.f64 x 1/6) (*.f64 (pow.f64 x 1/6) (cbrt.f64 x)))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(*.f64 (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (cbrt.f64 (cbrt.f64 x)))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(sqrt.f64 (*.f64 x (cbrt.f64 x)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 x x))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(cbrt.f64 (*.f64 x x))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 x x))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 x))))
(*.f64 (cbrt.f64 x) (cbrt.f64 x))
(pow.f64 (cbrt.f64 x) 2)
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 x x))))
(+.f64 1 (-.f64 (cbrt.f64 (*.f64 x x)) 1))
(+.f64 (cbrt.f64 (*.f64 x x)) 0)
(cbrt.f64 (*.f64 x x))
(-.f64 (+.f64 1 (*.f64 (cbrt.f64 x) (sin.f64 y))) 1)
(*.f64 (sin.f64 y) (cbrt.f64 x))
(pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 1)
(*.f64 (sin.f64 y) (cbrt.f64 x))
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 3)
(*.f64 (sin.f64 y) (cbrt.f64 x))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3) 1/3)
(*.f64 (sin.f64 y) (cbrt.f64 x))
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))) 2)
(*.f64 (sin.f64 y) (cbrt.f64 x))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 2))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 x)) (sin.f64 y)))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(cbrt.f64 (pow.f64 (*.f64 (cbrt.f64 x) (sin.f64 y)) 3))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(cbrt.f64 (*.f64 x (pow.f64 (sin.f64 y) 3)))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) x))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(*.f64 (sin.f64 y) (cbrt.f64 x))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 x) (sin.f64 y))))
(*.f64 (sin.f64 y) (cbrt.f64 x))

eval249.0ms (2.9%)

Compiler

Compiled 9070 to 3379 computations (62.7% saved)

prune159.0ms (1.9%)

Pruning

29 alts after pruning (25 fresh and 4 done)

PrunedKeptTotal
New5346540
Fresh21921
Picked101
Done246
Total53929568
Accurracy
100.0%
Counts
568 → 29
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
99.3%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
98.7%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
75.9%
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
48.9%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
99.4%
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.8%
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
76.6%
(fma.f64 x (sin.f64 y) z)
49.6%
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
56.9%
(/.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))))
55.6%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 z (cos.f64 y)))
75.8%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
52.6%
(+.f64 (*.f64 y x) z)
59.7%
(+.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)) (*.f64 z (cos.f64 y)))
52.1%
(+.f64 (*.f64 x (pow.f64 (sqrt.f64 (sin.f64 y)) 2)) (*.f64 z (cos.f64 y)))
86.5%
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) (*.f64 z (cos.f64 y)))
86.0%
(+.f64 (*.f64 x (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
50.0%
(+.f64 (*.f64 x (sin.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
98.6%
(+.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.6%
(+.f64 (*.f64 x (sin.f64 y)) z)
99.7%
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
63.3%
(+.f64 (*.f64 x (log.f64 (exp.f64 (sin.f64 y)))) z)
91.7%
(+.f64 (*.f64 x (cbrt.f64 (pow.f64 (sin.f64 y) 3))) (*.f64 z (cos.f64 y)))
51.8%
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
39.9%
(*.f64 (sin.f64 y) x)
61.2%
(*.f64 (cos.f64 y) z)
39.6%
z
Compiler

Compiled 750 to 508 computations (32.3% saved)

localize16.0ms (0.2%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.8%
(expm1.f64 (sin.f64 y))
99.8%
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))
99.8%
(*.f64 z (cos.f64 y))
99.7%
(log1p.f64 (expm1.f64 (sin.f64 y)))
Compiler

Compiled 38 to 10 computations (73.7% saved)

series1.0ms (0%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
y
@0
(expm1.f64 (sin.f64 y))
0.0ms
y
@0
(log1p.f64 (expm1.f64 (sin.f64 y)))
0.0ms
y
@-inf
(expm1.f64 (sin.f64 y))
0.0ms
y
@inf
(expm1.f64 (sin.f64 y))
0.0ms
y
@0
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))

rewrite96.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1434×pow1
1308×log1p-expm1-u
1306×add-exp-log
1306×expm1-log1p-u
1276×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0925
115625
2178925
Stop Event
node limit
Counts
3 → 45
Calls
Call 1
Inputs
(log1p.f64 (expm1.f64 (sin.f64 y)))
(*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))
Outputs
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(log.f64 (exp.f64 (sin.f64 y)))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/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 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 (exp.f64 (sin.f64 y)) -1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(*.f64 (expm1.f64 (sin.f64 y)) 1)
(*.f64 1 (expm1.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2) (cbrt.f64 (expm1.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) (sqrt.f64 (expm1.f64 (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1) (+.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) (+.f64 1 (*.f64 (exp.f64 (sin.f64 y)) 1))))
(/.f64 (-.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) 1) (+.f64 (exp.f64 (sin.f64 y)) 1))
(pow.f64 (expm1.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 3)
(pow.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 2))
(log.f64 (exp.f64 (expm1.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3))
(exp.f64 (log.f64 (expm1.f64 (sin.f64 y))))
(log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 y))))

simplify64.0ms (0.8%)

Algorithm
egg-herbie
Rules
1038×fma-def
970×log-prod
862×unswap-sqr
836×times-frac
424×exp-prod
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01361091
13181063
211971033
349971033
Stop Event
node limit
Counts
93 → 83
Calls
Call 1
Inputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(*.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)
y
(+.f64 y (*.f64 1/2 (pow.f64 y 2)))
(+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (*.f64 1/2 (pow.f64 y 2))))
(+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (+.f64 (*.f64 1/2 (pow.f64 y 2)) (*.f64 -1/15 (pow.f64 y 5)))))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(*.f64 (sin.f64 y) 1)
(*.f64 1 (sin.f64 y))
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(pow.f64 (sin.f64 y) 1)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(log.f64 (exp.f64 (sin.f64 y)))
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(exp.f64 (log.f64 (sin.f64 y)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/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 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(+.f64 (exp.f64 (sin.f64 y)) -1)
(-.f64 (exp.f64 (sin.f64 y)) 1)
(*.f64 (expm1.f64 (sin.f64 y)) 1)
(*.f64 1 (expm1.f64 (sin.f64 y)))
(*.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2) (cbrt.f64 (expm1.f64 (sin.f64 y))))
(*.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) (sqrt.f64 (expm1.f64 (sin.f64 y))))
(/.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1) (+.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) (+.f64 1 (*.f64 (exp.f64 (sin.f64 y)) 1))))
(/.f64 (-.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) 1) (+.f64 (exp.f64 (sin.f64 y)) 1))
(pow.f64 (expm1.f64 (sin.f64 y)) 1)
(pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 3)
(pow.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3) 1/3)
(pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) 2)
(sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 2))
(log.f64 (exp.f64 (expm1.f64 (sin.f64 y))))
(cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3))
(exp.f64 (log.f64 (expm1.f64 (sin.f64 y))))
(log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 y))))
Outputs
y
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) y)
(fma.f64 -1/6 (pow.f64 y 3) y)
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) y))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) y))
(+.f64 (*.f64 -1/6 (pow.f64 y 3)) (+.f64 (*.f64 1/120 (pow.f64 y 5)) (+.f64 y (*.f64 -1/5040 (pow.f64 y 7)))))
(fma.f64 -1/6 (pow.f64 y 3) (+.f64 (fma.f64 1/120 (pow.f64 y 5) y) (*.f64 -1/5040 (pow.f64 y 7))))
(fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 -1/5040 (pow.f64 y 7) y)))
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(sin.f64 y)
(*.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 (pow.f64 y 3) x)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) y))
(*.f64 (fma.f64 -1/6 (pow.f64 y 3) y) x)
(+.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 (pow.f64 y 5) x) (fma.f64 y x (*.f64 -1/6 (*.f64 (pow.f64 y 3) x))))
(fma.f64 1/120 (*.f64 (pow.f64 y 5) x) (*.f64 x (fma.f64 -1/6 (pow.f64 y 3) y)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) 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 (pow.f64 y 5) x) (fma.f64 y x (fma.f64 -1/5040 (*.f64 (pow.f64 y 7) x) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 x (+.f64 (*.f64 -1/6 (pow.f64 y 3)) (*.f64 -1/5040 (pow.f64 y 7)))) (*.f64 x (fma.f64 1/120 (pow.f64 y 5) y)))
(*.f64 x (fma.f64 -1/6 (pow.f64 y 3) (fma.f64 1/120 (pow.f64 y 5) (fma.f64 -1/5040 (pow.f64 y 7) y))))
(*.f64 (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)
y
(+.f64 y (*.f64 1/2 (pow.f64 y 2)))
(+.f64 y (*.f64 1/2 (*.f64 y y)))
(fma.f64 1/2 (*.f64 y y) y)
(fma.f64 y (*.f64 y 1/2) y)
(+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (*.f64 1/2 (pow.f64 y 2))))
(+.f64 y (fma.f64 -1/8 (pow.f64 y 4) (*.f64 1/2 (*.f64 y y))))
(+.f64 y (fma.f64 1/2 (*.f64 y y) (*.f64 -1/8 (pow.f64 y 4))))
(fma.f64 y (*.f64 y 1/2) (fma.f64 -1/8 (pow.f64 y 4) y))
(+.f64 y (+.f64 (*.f64 -1/8 (pow.f64 y 4)) (+.f64 (*.f64 1/2 (pow.f64 y 2)) (*.f64 -1/15 (pow.f64 y 5)))))
(+.f64 y (fma.f64 -1/8 (pow.f64 y 4) (fma.f64 1/2 (*.f64 y y) (*.f64 (pow.f64 y 5) -1/15))))
(+.f64 y (fma.f64 y (*.f64 y 1/2) (fma.f64 (pow.f64 y 5) -1/15 (*.f64 -1/8 (pow.f64 y 4)))))
(+.f64 (fma.f64 y (*.f64 y 1/2) y) (fma.f64 (pow.f64 y 5) -1/15 (*.f64 -1/8 (pow.f64 y 4))))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(-.f64 (+.f64 1 (sin.f64 y)) 1)
(sin.f64 y)
(*.f64 (sin.f64 y) 1)
(sin.f64 y)
(*.f64 1 (sin.f64 y))
(sin.f64 y)
(*.f64 (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2))
(sin.f64 y)
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (cbrt.f64 (sin.f64 y)))
(sin.f64 y)
(*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 (sin.f64 y)))
(sin.f64 y)
(pow.f64 (sin.f64 y) 1)
(sin.f64 y)
(pow.f64 (cbrt.f64 (sin.f64 y)) 3)
(sin.f64 y)
(pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)
(sin.f64 y)
(pow.f64 (sqrt.f64 (sin.f64 y)) 2)
(sin.f64 y)
(sqrt.f64 (pow.f64 (sin.f64 y) 2))
(sin.f64 y)
(log.f64 (exp.f64 (sin.f64 y)))
(sin.f64 y)
(cbrt.f64 (pow.f64 (sin.f64 y) 3))
(sin.f64 y)
(sin.f64 y)
(expm1.f64 (log1p.f64 (sin.f64 y)))
(sin.f64 y)
(exp.f64 (log.f64 (sin.f64 y)))
(sin.f64 y)
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (sin.f64 y) x)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(*.f64 (sin.f64 y) x)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3) 1/3)
(*.f64 (sin.f64 y) x)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(*.f64 (sin.f64 y) x)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x) 3))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(+.f64 (exp.f64 (sin.f64 y)) -1)
(expm1.f64 (sin.f64 y))
(-.f64 (exp.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(*.f64 (expm1.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(*.f64 1 (expm1.f64 (sin.f64 y)))
(expm1.f64 (sin.f64 y))
(*.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2))
(expm1.f64 (sin.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 2) (cbrt.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))
(*.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) (sqrt.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))
(/.f64 (-.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) 1) (+.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) (+.f64 1 (*.f64 (exp.f64 (sin.f64 y)) 1))))
(/.f64 (+.f64 (pow.f64 (exp.f64 (sin.f64 y)) 3) -1) (fma.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y)) (+.f64 (exp.f64 (sin.f64 y)) 1)))
(/.f64 (+.f64 -1 (pow.f64 (exp.f64 (sin.f64 y)) 3)) (+.f64 (exp.f64 (sin.f64 y)) (+.f64 1 (exp.f64 (*.f64 (sin.f64 y) 2)))))
(/.f64 (expm1.f64 (*.f64 3 (sin.f64 y))) (+.f64 (exp.f64 (sin.f64 y)) (+.f64 1 (pow.f64 (exp.f64 (sin.f64 y)) 2))))
(/.f64 (-.f64 (*.f64 (exp.f64 (sin.f64 y)) (exp.f64 (sin.f64 y))) 1) (+.f64 (exp.f64 (sin.f64 y)) 1))
(expm1.f64 (sin.f64 y))
(pow.f64 (expm1.f64 (sin.f64 y)) 1)
(expm1.f64 (sin.f64 y))
(pow.f64 (cbrt.f64 (expm1.f64 (sin.f64 y))) 3)
(expm1.f64 (sin.f64 y))
(pow.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3) 1/3)
(expm1.f64 (sin.f64 y))
(pow.f64 (sqrt.f64 (expm1.f64 (sin.f64 y))) 2)
(expm1.f64 (sin.f64 y))
(sqrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 2))
(expm1.f64 (sin.f64 y))
(log.f64 (exp.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))
(cbrt.f64 (pow.f64 (expm1.f64 (sin.f64 y)) 3))
(expm1.f64 (sin.f64 y))
(exp.f64 (log.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))
(log1p.f64 (expm1.f64 (expm1.f64 (sin.f64 y))))
(expm1.f64 (sin.f64 y))

localize14.0ms (0.2%)

Local Accuracy

Found 1 expressions with local accuracy:

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

Compiled 11 to 5 computations (54.5% 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)

rewrite68.0ms (0.8%)

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)))

simplify55.0ms (0.6%)

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))

localize12.0ms (0.1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
100.0%
(sin.f64 y)
99.9%
(exp.f64 (sin.f64 y))
99.8%
(*.f64 x (log.f64 (exp.f64 (sin.f64 y))))
93.9%
(log.f64 (exp.f64 (sin.f64 y)))
Compiler

Compiled 29 to 8 computations (72.4% saved)

localize16.0ms (0.2%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.8%
(*.f64 (sin.f64 y) x)
99.8%
(*.f64 z (cos.f64 y))
99.6%
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
87.5%
(sqrt.f64 (*.f64 (sin.f64 y) x))
Compiler

Compiled 43 to 14 computations (67.4% saved)

series15.0ms (0.2%)

Counts
2 → 8
Calls

12 calls:

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

rewrite87.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1574×pow1
1442×add-exp-log
1442×log1p-expm1-u
1442×expm1-log1p-u
1408×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
120126
2203326
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
Outputs
(-.f64 (+.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1/2))
(pow.f64 (*.f64 (sin.f64 y) x) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4))
(*.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 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 (sqrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (sin.f64 y))) (sqrt.f64 x))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))

simplify48.0ms (0.6%)

Algorithm
egg-herbie
Rules
1240×fma-def
950×distribute-rgt-in
928×distribute-lft-in
906×associate-+r+
836×unswap-sqr
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01071030
1220910
2729790
32868790
Stop Event
node limit
Counts
58 → 55
Calls
Call 1
Inputs
(*.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 (+.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(*.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1/2))
(pow.f64 (*.f64 (sin.f64 y) x) 1/2)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 1/3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) 2)
(fabs.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) x))
(*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4))
(*.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 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 (sqrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (sin.f64 y))) (sqrt.f64 x))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
Outputs
(*.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 (+.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x))) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 1 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (pow.f64 (*.f64 (sin.f64 y) x) 1/4))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(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 (sin.f64 y) x)) 2)) (sqrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (*.f64 (sin.f64 y) x) 1/2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) 3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2) 1/3)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) 2)
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(fabs.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3/2))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(+.f64 1 (-.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1))
(+.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 0)
(sqrt.f64 (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.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 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (*.f64 (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/4) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.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 (sin.f64 y)) (*.f64 (sqrt.f64 x) (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x)))
(*.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4)) (pow.f64 (*.f64 (sin.f64 y) x) 1/4))
(*.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 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 (sqrt.f64 (*.f64 (sin.f64 y) x)) (cbrt.f64 (*.f64 (sin.f64 y) x))) (cbrt.f64 (sqrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (sin.f64 y))) (sqrt.f64 x))
(*.f64 (*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (*.f64 (sqrt.f64 (sin.f64 y)) (sqrt.f64 x)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x) 3))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)

localize35.0ms (0.4%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.7%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.7%
(*.f64 (cbrt.f64 z) (cos.f64 y))
99.3%
(pow.f64 (cbrt.f64 z) 2)
99.1%
(cbrt.f64 z)
Compiler

Compiled 40 to 14 computations (65% saved)

series12.0ms (0.1%)

Counts
4 → 39
Calls

21 calls:

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

rewrite78.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1334×log-prod
880×pow-prod-down
722×pow-prod-up
636×pow-exp
514×expm1-udef
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01574
129458
2335654
Stop Event
node limit
Counts
4 → 117
Calls
Call 1
Inputs
(cbrt.f64 z)
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (cbrt.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)))
Outputs
(+.f64 0 (cbrt.f64 z))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z))) (cbrt.f64 (exp.f64 (cbrt.f64 z))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 z))) 1)
(*.f64 (cbrt.f64 z) 1)
(*.f64 1 (cbrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))
(*.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(*.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))
(pow.f64 z 1/3)
(pow.f64 (cbrt.f64 z) 1)
(pow.f64 (pow.f64 (cbrt.f64 z) 2) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)
(pow.f64 (pow.f64 z 3) 1/9)
(pow.f64 (*.f64 z z) 1/6)
(pow.f64 (sqrt.f64 z) 2/3)
(pow.f64 (pow.f64 z 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 z) 2))
(fabs.f64 (cbrt.f64 z))
(log.f64 (exp.f64 (cbrt.f64 z)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 z))))
(expm1.f64 (log1p.f64 (cbrt.f64 z)))
(exp.f64 (log.f64 (cbrt.f64 z)))
(exp.f64 (*.f64 (log.f64 z) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 z))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 z)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 z)))
(+.f64 0 (pow.f64 (cbrt.f64 z) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))) (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2))) 1)
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 z) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 z) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(*.f64 (sqrt.f64 z) (pow.f64 z 1/6))
(*.f64 (pow.f64 z 1/6) (sqrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 5) (cbrt.f64 (cbrt.f64 z)))
(sqrt.f64 (*.f64 z (cbrt.f64 z)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 z) 2))))
(cbrt.f64 (*.f64 z z))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2)))
(exp.f64 (*.f64 2/3 (log.f64 z)))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1))
(exp.f64 (*.f64 (log.f64 z) 2/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 2/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 z))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 z)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 z) 2)))
(+.f64 0 (*.f64 (cbrt.f64 z) (cos.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))) (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 1)
(pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2) 1/2)
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))))
(cbrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 z (pow.f64 (cos.f64 y) 3))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.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)))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(+.f64 (*.f64 (*.f64 z (cos.f64 y)) 1) (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))) (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 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)) 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)
(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 x) (sin.f64 y)) (exp.f64 (*.f64 z (cos.f64 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 z (cos.f64 y)))))
(log.f64 (*.f64 (exp.f64 (*.f64 z (cos.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (sin.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)))))

simplify149.0ms (1.7%)

Algorithm
egg-herbie
Rules
860×distribute-lft-in
814×log-prod
786×exp-prod
766×unswap-sqr
764×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03142906
17002802
222002676
369622676
Stop Event
node limit
Counts
156 → 165
Calls
Call 1
Inputs
(pow.f64 z 1/3)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (pow.f64 z 1/3))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (pow.f64 z 1/3)))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 6))))))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) z)
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) z))) (*.f64 (pow.f64 1 1/3) z)))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) z))) (+.f64 (*.f64 (pow.f64 1 1/3) z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.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 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(+.f64 0 (cbrt.f64 z))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z))) (cbrt.f64 (exp.f64 (cbrt.f64 z))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 z))) 1)
(*.f64 (cbrt.f64 z) 1)
(*.f64 1 (cbrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))
(*.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(*.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))
(pow.f64 z 1/3)
(pow.f64 (cbrt.f64 z) 1)
(pow.f64 (pow.f64 (cbrt.f64 z) 2) 1/2)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)
(pow.f64 (pow.f64 z 3) 1/9)
(pow.f64 (*.f64 z z) 1/6)
(pow.f64 (sqrt.f64 z) 2/3)
(pow.f64 (pow.f64 z 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 z) 2))
(fabs.f64 (cbrt.f64 z))
(log.f64 (exp.f64 (cbrt.f64 z)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 z))))
(expm1.f64 (log1p.f64 (cbrt.f64 z)))
(exp.f64 (log.f64 (cbrt.f64 z)))
(exp.f64 (*.f64 (log.f64 z) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 1))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1/2))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 z))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 z)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 z)))
(+.f64 0 (pow.f64 (cbrt.f64 z) 2))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))) (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2))) 1)
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 z) 2) 1)
(*.f64 1 (pow.f64 (cbrt.f64 z) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(*.f64 (sqrt.f64 z) (pow.f64 z 1/6))
(*.f64 (pow.f64 z 1/6) (sqrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 5) (cbrt.f64 (cbrt.f64 z)))
(sqrt.f64 (*.f64 z (cbrt.f64 z)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 z) 2))))
(cbrt.f64 (*.f64 z z))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2)))
(exp.f64 (*.f64 2/3 (log.f64 z)))
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1))
(exp.f64 (*.f64 (log.f64 z) 2/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 2/3))
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1))
(exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 z))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 z)) 1/3))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 z) 2)))
(+.f64 0 (*.f64 (cbrt.f64 z) (cos.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))) (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 1)
(pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 1)
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3)
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2) 1/2)
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)) 1/3)
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 2)
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))))
(cbrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 z (pow.f64 (cos.f64 y) 3))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.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)))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(+.f64 (*.f64 (*.f64 z (cos.f64 y)) 1) (*.f64 x (sin.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))) (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 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)) 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)
(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 x) (sin.f64 y)) (exp.f64 (*.f64 z (cos.f64 y)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 z (cos.f64 y)))))
(log.f64 (*.f64 (exp.f64 (*.f64 z (cos.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (sin.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)))))
Outputs
(pow.f64 z 1/3)
(cbrt.f64 z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (pow.f64 z 1/3))
(fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z))
(fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 z))) (cbrt.f64 z))
(*.f64 (cbrt.f64 z) (+.f64 (*.f64 -1/2 (*.f64 y y)) 1))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (pow.f64 z 1/3)))
(fma.f64 1/24 (*.f64 (pow.f64 y 4) (cbrt.f64 z)) (fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)))
(fma.f64 1/24 (*.f64 (pow.f64 y 4) (cbrt.f64 z)) (fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 z))) (cbrt.f64 z)))
(+.f64 (cbrt.f64 z) (*.f64 (cbrt.f64 z) (+.f64 (*.f64 -1/2 (*.f64 y y)) (*.f64 1/24 (pow.f64 y 4)))))
(+.f64 (*.f64 1/24 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 4))) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/720 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 6))))))
(fma.f64 1/24 (*.f64 (pow.f64 y 4) (cbrt.f64 z)) (+.f64 (fma.f64 -1/2 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)) (*.f64 -1/720 (*.f64 (pow.f64 y 6) (cbrt.f64 z)))))
(fma.f64 1/24 (*.f64 (pow.f64 y 4) (cbrt.f64 z)) (fma.f64 -1/2 (*.f64 y (*.f64 y (cbrt.f64 z))) (fma.f64 -1/720 (*.f64 (pow.f64 y 6) (cbrt.f64 z)) (cbrt.f64 z))))
(+.f64 (*.f64 (cbrt.f64 z) (+.f64 (*.f64 -1/2 (*.f64 y y)) 1)) (*.f64 (cbrt.f64 z) (+.f64 (*.f64 -1/720 (pow.f64 y 6)) (*.f64 1/24 (pow.f64 y 4)))))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 1 z) 1/3) (cos.f64 y))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 1 1/3) z)
z
(+.f64 (*.f64 y x) (*.f64 (pow.f64 1 1/3) z))
(fma.f64 y x z)
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) z))) (*.f64 (pow.f64 1 1/3) z)))
(fma.f64 y x (+.f64 z (*.f64 -1/2 (*.f64 z (*.f64 y y)))))
(fma.f64 y x (fma.f64 -1/2 (*.f64 z (*.f64 y y)) z))
(+.f64 (*.f64 y x) (+.f64 (*.f64 -1/2 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 2) z))) (+.f64 (*.f64 (pow.f64 1 1/3) z) (*.f64 -1/6 (*.f64 (pow.f64 y 3) x)))))
(fma.f64 y x (+.f64 (*.f64 -1/2 (*.f64 z (*.f64 y y))) (+.f64 z (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))))
(fma.f64 y x (fma.f64 -1/2 (*.f64 z (*.f64 y y)) (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) z)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (cos.f64 y) z)) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.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 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y))) (*.f64 (sin.f64 y) x))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 0 (cbrt.f64 z))
(cbrt.f64 z)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z))) (cbrt.f64 (exp.f64 (cbrt.f64 z))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 z)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 z)))))
(cbrt.f64 z)
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 z))) 1)
(cbrt.f64 z)
(*.f64 (cbrt.f64 z) 1)
(cbrt.f64 z)
(*.f64 1 (cbrt.f64 z))
(cbrt.f64 z)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (cbrt.f64 (cbrt.f64 z)))
(cbrt.f64 z)
(*.f64 (cbrt.f64 (cbrt.f64 z)) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(cbrt.f64 z)
(*.f64 (pow.f64 z 1/6) (pow.f64 z 1/6))
(cbrt.f64 z)
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4)) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2)))
(cbrt.f64 z)
(pow.f64 z 1/3)
(cbrt.f64 z)
(pow.f64 (cbrt.f64 z) 1)
(cbrt.f64 z)
(pow.f64 (pow.f64 (cbrt.f64 z) 2) 1/2)
(cbrt.f64 z)
(pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) 3/2)
(pow.f64 (cbrt.f64 (cbrt.f64 z)) 3)
(cbrt.f64 z)
(pow.f64 (pow.f64 z 3) 1/9)
(*.f64 (pow.f64 (pow.f64 z 3) 1/18) (pow.f64 (pow.f64 z 3) 1/18))
(pow.f64 (*.f64 z z) 1/6)
(cbrt.f64 z)
(pow.f64 (sqrt.f64 z) 2/3)
(cbrt.f64 z)
(pow.f64 (pow.f64 z 1/6) 2)
(cbrt.f64 z)
(sqrt.f64 (pow.f64 (cbrt.f64 z) 2))
(cbrt.f64 z)
(fabs.f64 (cbrt.f64 z))
(cbrt.f64 z)
(log.f64 (exp.f64 (cbrt.f64 z)))
(cbrt.f64 z)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 z))))
(cbrt.f64 z)
(expm1.f64 (log1p.f64 (cbrt.f64 z)))
(cbrt.f64 z)
(exp.f64 (log.f64 (cbrt.f64 z)))
(cbrt.f64 z)
(exp.f64 (*.f64 (log.f64 z) 1/3))
(cbrt.f64 z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 1/3))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 1))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 1))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1/2))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1/2))
(cbrt.f64 z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 z))) 3))
(cbrt.f64 z)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 z)) 2))
(cbrt.f64 z)
(log1p.f64 (expm1.f64 (cbrt.f64 z)))
(cbrt.f64 z)
(+.f64 0 (pow.f64 (cbrt.f64 z) 2))
(pow.f64 (cbrt.f64 z) 2)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))) (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2))))) (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))) (log.f64 (sqrt.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))))
(pow.f64 (cbrt.f64 z) 2)
(-.f64 (exp.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2))) 1)
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (cbrt.f64 z) (cbrt.f64 z))
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (pow.f64 (cbrt.f64 z) 2) 1)
(pow.f64 (cbrt.f64 z) 2)
(*.f64 1 (pow.f64 (cbrt.f64 z) 2))
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4))
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 4) (pow.f64 (cbrt.f64 (cbrt.f64 z)) 2))
(pow.f64 (cbrt.f64 z) 2)
(*.f64 (sqrt.f64 z) (pow.f64 z 1/6))
(*.f64 (pow.f64 z 1/6) (sqrt.f64 z))
(*.f64 (pow.f64 z 1/6) (sqrt.f64 z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 z)) 5) (cbrt.f64 (cbrt.f64 z)))
(pow.f64 (cbrt.f64 z) 2)
(sqrt.f64 (*.f64 z (cbrt.f64 z)))
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 z) 2)))
(pow.f64 (cbrt.f64 z) 2)
(log.f64 (+.f64 1 (expm1.f64 (pow.f64 (cbrt.f64 z) 2))))
(pow.f64 (cbrt.f64 z) 2)
(cbrt.f64 (*.f64 z z))
(pow.f64 (cbrt.f64 z) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 z) 2)))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 2/3 (log.f64 z)))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (log.f64 z) 2/3))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1) 2/3))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 z) 1/3) 2))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 z)) 1) 2))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 (*.f64 2/3 (log.f64 z)) 1) 1))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 1/3 (*.f64 2/3 (log.f64 z))) 3))
(pow.f64 (cbrt.f64 z) 2)
(exp.f64 (*.f64 (*.f64 2 (log.f64 z)) 1/3))
(pow.f64 (cbrt.f64 z) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 z) 2)))
(pow.f64 (cbrt.f64 z) 2)
(+.f64 0 (*.f64 (cbrt.f64 z) (cos.f64 y)))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))) (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 1)
(*.f64 (cos.f64 y) (cbrt.f64 z))
(pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 1)
(*.f64 (cos.f64 y) (cbrt.f64 z))
(pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3)
(*.f64 (cos.f64 y) (cbrt.f64 z))
(pow.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2) 1/2)
(*.f64 (cos.f64 y) (cbrt.f64 z))
(pow.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)) 1/3)
(cbrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)))
(pow.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 2)
(*.f64 (cos.f64 y) (cbrt.f64 z))
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)) 2))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(log.f64 (pow.f64 (exp.f64 (cbrt.f64 z)) (cos.f64 y)))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(cbrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(exp.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(exp.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 1) 1))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 3))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(exp.f64 (*.f64 (log.f64 (*.f64 z (pow.f64 (cos.f64 y) 3))) 1/3))
(cbrt.f64 (*.f64 z (pow.f64 (cos.f64 y) 3)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y)))) 2))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(log1p.f64 (expm1.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))))
(*.f64 (cos.f64 y) (cbrt.f64 z))
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 0 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 (*.f64 z (cos.f64 y)) 1) (*.f64 x (sin.f64 y)))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x)))) (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x)))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y))))))) (log.f64 (cbrt.f64 (exp.f64 (fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))))))
(+.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 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.f64 1 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.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))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(*.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 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.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)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.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 (sin.f64 y) x) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (-.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 (sin.f64 y) x) (-.f64 (*.f64 (sin.f64 y) x) (*.f64 z (cos.f64 y))))))
(/.f64 (+.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3) (pow.f64 (*.f64 (sin.f64 y) x) 3)) (+.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2) (*.f64 (*.f64 z (cos.f64 y)) (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 x))))))
(/.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 (sin.f64 y) x) 2)) (-.f64 (*.f64 z (cos.f64 y)) (*.f64 (sin.f64 y) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (pow.f64 (*.f64 (sin.f64 y) x) 2)) (fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) (neg.f64 x))))
(pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 1)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 3)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2) 1/2)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(pow.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3) 1/3)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(pow.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 2)
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(sqrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 2))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log.f64 (exp.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (exp.f64 (*.f64 z (cos.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y)))) (exp.f64 (*.f64 z (cos.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log.f64 (*.f64 (exp.f64 (*.f64 z (cos.f64 y))) (+.f64 1 (expm1.f64 (*.f64 x (sin.f64 y))))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(cbrt.f64 (pow.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))) 3))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(expm1.f64 (log1p.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))) 1) 1))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 3))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 1/3))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y))))) 2))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))
(log1p.f64 (expm1.f64 (fma.f64 z (cos.f64 y) (*.f64 x (sin.f64 y)))))
(fma.f64 z (cos.f64 y) (*.f64 (sin.f64 y) x))
(fma.f64 (sin.f64 y) x (*.f64 z (cos.f64 y)))

eval202.0ms (2.4%)

Compiler

Compiled 9824 to 4017 computations (59.1% saved)

prune153.0ms (1.8%)

Pruning

30 alts after pruning (23 fresh and 7 done)

PrunedKeptTotal
New59214606
Fresh11920
Picked011
Done268
Total60530635
Accurracy
100.0%
Counts
635 → 30
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.6%
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 (*.f64 z (cos.f64 y))) (*.f64 x (sin.f64 y)))
99.3%
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z) (*.f64 x (sin.f64 y)))
98.1%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3) (*.f64 x (sin.f64 y)))
98.7%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
75.9%
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
48.9%
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
99.4%
(fma.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.8%
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
68.8%
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
76.6%
(fma.f64 x (sin.f64 y) z)
37.9%
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) z)
49.6%
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
29.8%
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
60.1%
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
44.3%
(+.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2) z)
75.8%
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3) z)
76.6%
(+.f64 (*.f64 (sin.f64 y) x) z)
52.6%
(+.f64 (*.f64 y x) z)
48.8%
(+.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)) z)
41.3%
(+.f64 (*.f64 x (pow.f64 (sqrt.f64 (sin.f64 y)) 2)) z)
63.3%
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) z)
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
76.5%
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) z)
63.3%
(+.f64 (*.f64 x (log.f64 (log1p.f64 (expm1.f64 (exp.f64 (sin.f64 y)))))) z)
63.3%
(+.f64 (*.f64 x (log.f64 (exp.f64 (sin.f64 y)))) z)
68.5%
(+.f64 (*.f64 x (cbrt.f64 (pow.f64 (sin.f64 y) 3))) z)
39.9%
(*.f64 (sin.f64 y) x)
61.2%
(*.f64 (cos.f64 y) z)
39.6%
z
Compiler

Compiled 659 to 452 computations (31.4% saved)

localize18.0ms (0.2%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 45 to 17 computations (62.2% saved)

series17.0ms (0.2%)

Counts
3 → 48
Calls

12 calls:

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

rewrite80.0ms (0.9%)

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
01045
119645
2216845
Stop Event
node limit
Counts
3 → 49
Calls
Call 1
Inputs
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(cbrt.f64 (cos.f64 y))
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
Outputs
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.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 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (cbrt.f64 (pow.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)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (pow.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 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) 1)
(*.f64 1 (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 1)
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3) 1/3)
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (sqrt.f64 z)) 2)
(sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4) (*.f64 z z)))
(log.f64 (pow.f64 (exp.f64 z) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 2)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))

simplify67.0ms (0.8%)

Algorithm
egg-herbie
Rules
1390×unswap-sqr
1188×distribute-rgt-in
1152×distribute-lft-in
1010×log-prod
832×fma-def
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01441761
13071729
210851711
346411701
Stop Event
node limit
Counts
97 → 96
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 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)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
z
(+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 2) z)))
(+.f64 z (+.f64 (*.f64 -1/405 (*.f64 (pow.f64 y 6) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 2) z))))
(+.f64 (*.f64 -1/1701 (*.f64 (pow.f64 y 8) z)) (+.f64 z (+.f64 (*.f64 -1/405 (*.f64 (pow.f64 y 6) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 2) z)))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(*.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 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (cbrt.f64 (pow.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)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(*.f64 (pow.f64 (cos.f64 y) 1/6) (*.f64 (pow.f64 (cos.f64 y) 1/6) (cbrt.f64 (cos.f64 y))))
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (pow.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 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(-.f64 (+.f64 1 (cbrt.f64 (cos.f64 y))) 1)
(*.f64 (cbrt.f64 (cos.f64 y)) 1)
(*.f64 1 (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (pow.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 (cbrt.f64 (pow.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 (pow.f64 (cbrt.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 (pow.f64 (cbrt.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 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 1)
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 1)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 3)
(pow.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3) 1/3)
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (sqrt.f64 z)) 2)
(sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4) (*.f64 z z)))
(log.f64 (pow.f64 (exp.f64 z) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 2)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
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)))
(pow.f64 (pow.f64 (cos.f64 y) 2) 1/3)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(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 (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 (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 (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 (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 (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 (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 (cbrt.f64 (cos.f64 y)) 2)
1
(+.f64 1 (*.f64 -1/6 (pow.f64 y 2)))
(+.f64 1 (*.f64 (*.f64 y y) -1/6))
(fma.f64 (*.f64 y y) -1/6 1)
(fma.f64 y (*.f64 y -1/6) 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 (*.f64 y y) -1/6)))
(fma.f64 -1/72 (pow.f64 y 4) (fma.f64 (*.f64 y y) -1/6 1))
(fma.f64 y (*.f64 y -1/6) (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 (*.f64 y y) -1/6))))
(fma.f64 (pow.f64 y 6) -23/6480 (fma.f64 -1/72 (pow.f64 y 4) (fma.f64 (*.f64 y y) -1/6 1)))
(fma.f64 -1/72 (pow.f64 y 4) (fma.f64 (pow.f64 y 6) -23/6480 (fma.f64 (*.f64 y y) -1/6 1)))
(fma.f64 (pow.f64 y 6) -23/6480 (fma.f64 y (*.f64 y -1/6) (fma.f64 -1/72 (pow.f64 y 4) 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))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
z
(+.f64 z (*.f64 -1/3 (*.f64 (pow.f64 y 2) z)))
(+.f64 z (*.f64 -1/3 (*.f64 (*.f64 y y) z)))
(*.f64 (fma.f64 -1/3 (*.f64 y y) 1) z)
(fma.f64 (*.f64 y y) (*.f64 -1/3 z) z)
(+.f64 z (+.f64 (*.f64 -1/405 (*.f64 (pow.f64 y 6) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 2) z))))
(+.f64 z (fma.f64 -1/405 (*.f64 (pow.f64 y 6) z) (*.f64 -1/3 (*.f64 (*.f64 y y) z))))
(+.f64 z (*.f64 z (fma.f64 -1/3 (*.f64 y y) (*.f64 -1/405 (pow.f64 y 6)))))
(fma.f64 z (fma.f64 -1/3 (*.f64 y y) (*.f64 -1/405 (pow.f64 y 6))) z)
(fma.f64 z (fma.f64 -1/405 (pow.f64 y 6) (*.f64 y (*.f64 -1/3 y))) z)
(+.f64 (*.f64 -1/1701 (*.f64 (pow.f64 y 8) z)) (+.f64 z (+.f64 (*.f64 -1/405 (*.f64 (pow.f64 y 6) z)) (*.f64 -1/3 (*.f64 (pow.f64 y 2) z)))))
(fma.f64 -1/1701 (*.f64 (pow.f64 y 8) z) (+.f64 z (fma.f64 -1/405 (*.f64 (pow.f64 y 6) z) (*.f64 -1/3 (*.f64 (*.f64 y y) z)))))
(+.f64 (*.f64 z (fma.f64 -1/3 (*.f64 y y) (*.f64 -1/405 (pow.f64 y 6)))) (fma.f64 -1/1701 (*.f64 (pow.f64 y 8) z) z))
(+.f64 z (*.f64 z (fma.f64 -1/3 (*.f64 y y) (fma.f64 -1/405 (pow.f64 y 6) (*.f64 -1/1701 (pow.f64 y 8))))))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(*.f64 (pow.f64 (*.f64 1 (pow.f64 (cos.f64 y) 2)) 1/3) z)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(-.f64 (+.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) 1)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (cos.f64 y)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 1 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (*.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cbrt.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 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)))
(*.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4)) (pow.f64 (cbrt.f64 (cbrt.f64 (cos.f64 y))) 2))
(*.f64 (sqrt.f64 (cos.f64 y)) (pow.f64 (cos.f64 y) 1/6))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.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))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(*.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))) (cbrt.f64 (cbrt.f64 (cos.f64 y))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(log.f64 (exp.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(expm1.f64 (log1p.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(exp.f64 (*.f64 2 (log.f64 (cbrt.f64 (cos.f64 y)))))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(log1p.f64 (expm1.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(cbrt.f64 (pow.f64 (cos.f64 y) 2))
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
(-.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 (cbrt.f64 (pow.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))) (cbrt.f64 (pow.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 (cbrt.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))
(*.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)))
(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 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) 1/2)
(cbrt.f64 (cos.f64 y))
(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 (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(cbrt.f64 (cos.f64 y))
(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 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 1)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 1)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)) 3)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(pow.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3) 1/3)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (sqrt.f64 z)) 2)
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(sqrt.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 4) (*.f64 z z)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(log.f64 (pow.f64 (exp.f64 z) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z) 3))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 z 3)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 2)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(exp.f64 (log.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) z)))
(*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z)
(*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2))

localize6.0ms (0.1%)

Local Accuracy

Found 2 expressions with local accuracy:

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

Compiled 11 to 5 computations (54.5% saved)

localize30.0ms (0.3%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 24 to 9 computations (62.5% saved)

series9.0ms (0.1%)

Counts
2 → 24
Calls

12 calls:

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

rewrite60.0ms (0.7%)

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
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(cbrt.f64 (*.f64 (cos.f64 y) z))
Outputs
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(*.f64 1 (*.f64 (cos.f64 y) z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z))
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z))
(*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) (sqrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3))
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (cos.f64 y))) (cbrt.f64 z))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (*.f64 (cos.f64 y) z) 1/6)) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(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))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 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)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z))) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z))
(*.f64 (cbrt.f64 z) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))

simplify78.0ms (0.9%)

Algorithm
egg-herbie
Rules
1638×fma-def
770×*-commutative
686×log-prod
574×cube-prod
500×fma-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01921750
15181664
217001590
357641574
Stop Event
node limit
Counts
78 → 85
Calls
Call 1
Inputs
(*.f64 (pow.f64 1 1/3) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (*.f64 (pow.f64 1 1/3) z))
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3)))) (*.f64 1/18 (*.f64 (pow.f64 1 1/3) z)))) (pow.f64 y 4)) (*.f64 (pow.f64 1 1/3) z)))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3))))) (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (pow.f64 y 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3)))) (*.f64 1/18 (*.f64 (pow.f64 1 1/3) z)))) (pow.f64 y 4)) (*.f64 (pow.f64 1 1/3) z))))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(pow.f64 z 1/3)
(+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2)))))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 6) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))))))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(*.f64 1 (*.f64 (cos.f64 y) z))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z))
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z))
(*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) (sqrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3))
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (cos.f64 y))) (cbrt.f64 z))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (*.f64 (cos.f64 y) z) 1/6)) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(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))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 z 3)))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 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)))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z))) 1)
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z))
(*.f64 (cbrt.f64 z) (cbrt.f64 (cos.f64 y)))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 3)
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
Outputs
(*.f64 (pow.f64 1 1/3) z)
z
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (*.f64 (pow.f64 1 1/3) z))
(fma.f64 (*.f64 z -1/2) (*.f64 y y) z)
(+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3)))) (*.f64 1/18 (*.f64 (pow.f64 1 1/3) z)))) (pow.f64 y 4)) (*.f64 (pow.f64 1 1/3) z)))
(fma.f64 (*.f64 z -1/2) (*.f64 y y) (fma.f64 (+.f64 (*.f64 1/3 (*.f64 z -1/24)) (fma.f64 (cbrt.f64 z) (fma.f64 2/3 (*.f64 (*.f64 z -1/24) (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (*.f64 z 1/18))) (pow.f64 y 4) z))
(fma.f64 (*.f64 z -1/2) (*.f64 y y) (fma.f64 (fma.f64 1/3 (*.f64 z -1/24) (fma.f64 (fma.f64 2/3 (*.f64 z (*.f64 -1/24 (cbrt.f64 (/.f64 1 z)))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (cbrt.f64 z) (*.f64 z 1/18))) (pow.f64 y 4) z))
(fma.f64 (fma.f64 (fma.f64 (*.f64 z -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (cbrt.f64 z) (fma.f64 z 1/18 (*.f64 z -1/72))) (pow.f64 y 4) (fma.f64 (*.f64 z -1/2) (*.f64 y y) z))
(+.f64 (*.f64 (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (*.f64 -1/9 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3))))) (*.f64 -1/9 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))))) (pow.f64 y 6)) (+.f64 (*.f64 (+.f64 (*.f64 -1/3 (*.f64 (pow.f64 1 1/3) z)) (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) z))) (pow.f64 y 2)) (+.f64 (*.f64 (+.f64 (*.f64 1/3 (*.f64 (pow.f64 1 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (+.f64 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (+.f64 (*.f64 2/3 (*.f64 (pow.f64 (/.f64 1 z) 1/3) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))) (*.f64 1/36 (pow.f64 (*.f64 1 (pow.f64 z 2)) 1/3)))) (*.f64 1/18 (*.f64 (pow.f64 1 1/3) z)))) (pow.f64 y 4)) (*.f64 (pow.f64 1 1/3) z))))
(fma.f64 (fma.f64 (cbrt.f64 z) (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 z)) (-.f64 (*.f64 z -1/720) (fma.f64 -1/216 z (*.f64 -1/3 (*.f64 z -1/24))))) (*.f64 (*.f64 (*.f64 z -1/24) (cbrt.f64 (/.f64 1 z))) -1/9)) (+.f64 (*.f64 1/3 (-.f64 (*.f64 z -1/720) (fma.f64 -1/216 z (*.f64 -1/3 (*.f64 z -1/24))))) (fma.f64 -1/6 (*.f64 (fma.f64 2/3 (*.f64 (*.f64 z -1/24) (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (cbrt.f64 z)) (*.f64 -1/9 (*.f64 z -1/24))))) (pow.f64 y 6) (fma.f64 (*.f64 z -1/2) (*.f64 y y) (fma.f64 (+.f64 (*.f64 1/3 (*.f64 z -1/24)) (fma.f64 (cbrt.f64 z) (fma.f64 2/3 (*.f64 (*.f64 z -1/24) (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (*.f64 z 1/18))) (pow.f64 y 4) z)))
(fma.f64 (fma.f64 (fma.f64 2/3 (*.f64 (cbrt.f64 (/.f64 1 z)) (-.f64 (*.f64 z 7/2160) (*.f64 z 1/72))) (*.f64 (*.f64 z -1/24) (*.f64 (cbrt.f64 (/.f64 1 z)) -1/9))) (cbrt.f64 z) (fma.f64 1/3 (-.f64 (*.f64 z 7/2160) (*.f64 z 1/72)) (fma.f64 (*.f64 -1/6 (cbrt.f64 z)) (fma.f64 2/3 (*.f64 z (*.f64 -1/24 (cbrt.f64 (/.f64 1 z)))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (*.f64 (*.f64 z -1/24) -1/9)))) (pow.f64 y 6) (fma.f64 (*.f64 z -1/2) (*.f64 y y) (fma.f64 (fma.f64 1/3 (*.f64 z -1/24) (fma.f64 (fma.f64 2/3 (*.f64 z (*.f64 -1/24 (cbrt.f64 (/.f64 1 z)))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (cbrt.f64 z) (*.f64 z 1/18))) (pow.f64 y 4) z)))
(fma.f64 z (*.f64 (*.f64 y y) -1/2) (fma.f64 (fma.f64 (*.f64 (cbrt.f64 (/.f64 1 z)) (+.f64 (*.f64 2/3 (*.f64 z -23/2160)) (*.f64 (*.f64 z -1/24) -1/9))) (cbrt.f64 z) (fma.f64 (fma.f64 (*.f64 z -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (*.f64 -1/6 (cbrt.f64 z)) (fma.f64 1/3 (*.f64 z -23/2160) (*.f64 (*.f64 z -1/24) -1/9)))) (pow.f64 y 6) (fma.f64 (fma.f64 (fma.f64 (*.f64 z -1/24) (*.f64 2/3 (cbrt.f64 (/.f64 1 z))) (*.f64 1/36 (cbrt.f64 (*.f64 z z)))) (cbrt.f64 z) (fma.f64 z 1/18 (*.f64 z -1/72))) (pow.f64 y 4) z)))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 1 1/3) (*.f64 z (cos.f64 y)))
(*.f64 z (cos.f64 y))
(pow.f64 z 1/3)
(cbrt.f64 z)
(+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))))
(+.f64 (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z))) (cbrt.f64 z))
(fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2)))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z z))) (*.f64 (*.f64 z -1/24) (pow.f64 y 4))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z))) (cbrt.f64 z)))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z z))) (*.f64 (*.f64 (pow.f64 y 4) z) -1/24)) (fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)))
(fma.f64 (*.f64 (pow.f64 y 4) (cbrt.f64 (/.f64 1 (*.f64 z z)))) (*.f64 z -1/72) (fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)))
(+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 6) (-.f64 (*.f64 -1/720 z) (+.f64 (*.f64 -1/216 z) (*.f64 -1/3 (-.f64 (*.f64 1/24 z) (*.f64 1/12 z)))))))) (+.f64 (*.f64 1/3 (*.f64 (pow.f64 (/.f64 1 (pow.f64 z 2)) 1/3) (*.f64 (pow.f64 y 4) (-.f64 (*.f64 1/24 z) (*.f64 1/12 z))))) (+.f64 (pow.f64 z 1/3) (*.f64 -1/6 (*.f64 (pow.f64 (*.f64 1 z) 1/3) (pow.f64 y 2))))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z z))) (*.f64 (-.f64 (*.f64 z -1/720) (fma.f64 -1/216 z (*.f64 -1/3 (*.f64 z -1/24)))) (pow.f64 y 6))) (fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z z))) (*.f64 (*.f64 z -1/24) (pow.f64 y 4))) (+.f64 (*.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z))) (cbrt.f64 z))))
(+.f64 (fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)) (*.f64 (*.f64 1/3 (cbrt.f64 (/.f64 1 (*.f64 z z)))) (+.f64 (*.f64 (-.f64 (*.f64 z 7/2160) (*.f64 z 1/72)) (pow.f64 y 6)) (*.f64 (*.f64 (pow.f64 y 4) z) -1/24))))
(fma.f64 1/3 (*.f64 (cbrt.f64 (/.f64 1 (*.f64 z z))) (fma.f64 (*.f64 z -23/2160) (pow.f64 y 6) (*.f64 (*.f64 z -1/24) (pow.f64 y 4)))) (fma.f64 -1/6 (*.f64 (*.f64 y y) (cbrt.f64 z)) (cbrt.f64 z)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(-.f64 (+.f64 1 (*.f64 (cos.f64 y) z)) 1)
(*.f64 z (cos.f64 y))
(*.f64 (cos.f64 y) z)
(*.f64 z (cos.f64 y))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) z) 1)
(*.f64 z (cos.f64 y))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(*.f64 z (cos.f64 y))
(*.f64 1 (*.f64 (cos.f64 y) z))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 z (cos.f64 y))
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 (cbrt.f64 z) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 z)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z)))
(*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) z))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2)))
(*.f64 z (cos.f64 y))
(*.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) z))
(*.f64 z (cos.f64 y))
(*.f64 (sqrt.f64 z) (*.f64 (sqrt.f64 z) (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) (sqrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) 3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(*.f64 (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 3))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) (pow.f64 (cbrt.f64 z) 2)) (cbrt.f64 z))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 z (sqrt.f64 (cos.f64 y))) (sqrt.f64 (cos.f64 y)))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(*.f64 z (cos.f64 y))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (cos.f64 y))) (cbrt.f64 z))
(*.f64 (cbrt.f64 (cos.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (cbrt.f64 z)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 z (cos.f64 y))) 2) (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (pow.f64 (*.f64 (cos.f64 y) z) 1/6)) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(*.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))
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 z 3)))
(*.f64 z (cos.f64 y))
(cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 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))
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z))) 1)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 1 (cbrt.f64 (*.f64 (cos.f64 y) z)))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z))
(*.f64 (cbrt.f64 z) (cbrt.f64 (cos.f64 y)))
(*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z))
(*.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) (pow.f64 (*.f64 (cos.f64 y) z) 1/6))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 (*.f64 z (cos.f64 y)))) (cbrt.f64 (sqrt.f64 (*.f64 z (cos.f64 y)))))
(pow.f64 (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 1/6) 4)
(pow.f64 (*.f64 (cos.f64 y) z) 1/3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 1)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))) 3)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(pow.f64 (pow.f64 (*.f64 (cos.f64 y) z) 1/6) 2)
(cbrt.f64 (*.f64 z (cos.f64 y)))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (cos.f64 y) z))))
(cbrt.f64 (*.f64 z (cos.f64 y)))

localize13.0ms (0.2%)

Local Accuracy

Found 4 expressions with local accuracy:

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

Compiled 34 to 12 computations (64.7% saved)

series4.0ms (0%)

Counts
2 → 16
Calls

12 calls:

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

rewrite100.0ms (1.2%)

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 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
Outputs
(-.f64 (+.f64 1 (cbrt.f64 (*.f64 (sin.f64 y) x))) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (cbrt.f64 (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 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/3))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.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 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) 3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 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))
(*.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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (sin.f64 y))) (cbrt.f64 x))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (pow.f64 (*.f64 (sin.f64 y) x) 1/6)) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))

simplify112.0ms (1.3%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
0115990
1247990
2708990
33083974
Stop Event
node limit
Counts
70 → 60
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 (sin.f64 y) x))) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(*.f64 1 (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (cbrt.f64 (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 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/3))
(pow.f64 (*.f64 (sin.f64 y) x) 1/3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 2)
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (*.f64 (sin.f64 y) x) 1)
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.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 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) 3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 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))
(*.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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (sin.f64 y))) (cbrt.f64 x))
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (pow.f64 (*.f64 (sin.f64 y) x) 1/6)) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 2))
(log.f64 (pow.f64 (exp.f64 x) (sin.f64 y)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 3))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
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 (sin.f64 y) x))) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 1 (cbrt.f64 (*.f64 (sin.f64 y) x)))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(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 (sin.f64 y) x) 1/6) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1/3) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 1/3) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 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 (sin.f64 y) x) 1/3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 1)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 3)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 2)
(cbrt.f64 (*.f64 (sin.f64 y) x))
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(log.f64 (exp.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(exp.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(log1p.f64 (expm1.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(cbrt.f64 (*.f64 (sin.f64 y) x))
(-.f64 (+.f64 1 (*.f64 (sin.f64 y) x)) 1)
(*.f64 (sin.f64 y) x)
(*.f64 (sin.f64 y) x)
(*.f64 x (sin.f64 y))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x)
(*.f64 1 (*.f64 (sin.f64 y) x))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2)))
(*.f64 (sin.f64 y) x)
(*.f64 (cbrt.f64 (sin.f64 y)) (*.f64 (cbrt.f64 x) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 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 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) x))
(*.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 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (*.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 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 x) (*.f64 (sqrt.f64 x) (sin.f64 y)))
(*.f64 (sin.f64 y) x)
(*.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) (sqrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2) 3) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 3) (pow.f64 (pow.f64 (*.f64 (sin.f64 y) x) 1/6) 3))
(*.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 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 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) 1) (cbrt.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))) 2)) (cbrt.f64 (cbrt.f64 (*.f64 (sin.f64 y) x))))
(*.f64 (sin.f64 y) x)
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 2) (cbrt.f64 (sin.f64 y))) (cbrt.f64 x))
(*.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 (sin.f64 y) x)) 2) (pow.f64 (*.f64 (sin.f64 y) x) 1/6)) (pow.f64 (*.f64 (sin.f64 y) x) 1/6))
(*.f64 (sin.f64 y) x)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 y) x) 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 (sin.f64 y) x) 3))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3)))
(*.f64 (sin.f64 y) x)
(cbrt.f64 (*.f64 (pow.f64 x 3) (pow.f64 (sin.f64 y) 3)))
(*.f64 (sin.f64 y) x)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(exp.f64 (log.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 y) x)))
(*.f64 (sin.f64 y) x)

localize13.0ms (0.1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.8%
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
99.5%
(*.f64 (cbrt.f64 x) (sin.f64 y))
99.3%
(pow.f64 (cbrt.f64 x) 2)
99.1%
(cbrt.f64 x)
Compiler

Compiled 31 to 12 computations (61.3% saved)

series15.0ms (0.2%)

Counts
1 → 27
Calls

9 calls:

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

rewrite66.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1114×log-prod
822×prod-exp
710×pow-prod-down
618×pow-prod-up
548×pow-exp
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01333
125517
2288113
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (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)) (cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2)))
(*.f64 (cbrt.f64 (pow.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)
(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 (exp.f64 z) (pow.f64 (exp.f64 x) (sin.f64 y))))
(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)))

simplify65.0ms (0.8%)

Algorithm
egg-herbie
Rules
770×fma-def
680×associate-+r+
652×associate-+l+
590×div-sub
506×fma-neg
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0116919
1286851
2863847
33058847
46092847
Stop Event
node limit
Counts
61 → 56
Calls
Call 1
Inputs
z
z
z
z
(+.f64 z (*.f64 (pow.f64 1 1/3) (*.f64 y x)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 3) x))) (+.f64 z (*.f64 (pow.f64 1 1/3) (*.f64 y x))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 3) x))) (+.f64 z (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 y x)) (*.f64 1/120 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 5) 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)
(+.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 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)) (cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2)))
(*.f64 (cbrt.f64 (pow.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)
(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 (exp.f64 z) (pow.f64 (exp.f64 x) (sin.f64 y))))
(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
z
z
z
(+.f64 z (*.f64 (pow.f64 1 1/3) (*.f64 y x)))
(+.f64 z (*.f64 1 (*.f64 y x)))
(fma.f64 y x z)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 3) x))) (+.f64 z (*.f64 (pow.f64 1 1/3) (*.f64 y x))))
(+.f64 (+.f64 z (*.f64 1 (*.f64 y x))) (*.f64 -1/6 (*.f64 x (pow.f64 y 3))))
(fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) (fma.f64 y x z))
(fma.f64 (pow.f64 y 3) (*.f64 x -1/6) (fma.f64 y x z))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 3) x))) (+.f64 z (+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 y x)) (*.f64 1/120 (*.f64 (pow.f64 1 1/3) (*.f64 (pow.f64 y 5) x))))))
(+.f64 (+.f64 (*.f64 -1/6 (*.f64 x (pow.f64 y 3))) z) (fma.f64 1 (*.f64 y x) (*.f64 1/120 (*.f64 x (pow.f64 y 5)))))
(+.f64 (fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) (fma.f64 y x z)) (*.f64 1/120 (*.f64 x (pow.f64 y 5))))
(fma.f64 -1/6 (*.f64 x (pow.f64 y 3)) (fma.f64 y x (fma.f64 (pow.f64 y 5) (*.f64 x 1/120) z)))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x))
(*.f64 x (sin.f64 y))
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
z
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (pow.f64 1 1/3) (*.f64 (sin.f64 y) x)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 z (*.f64 x (sin.f64 y)))
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 x (sin.f64 y)) z)
(fma.f64 x (sin.f64 y) z)
(+.f64 0 (fma.f64 x (sin.f64 y) z))
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 (*.f64 x (sin.f64 y)) 1) z)
(fma.f64 x (sin.f64 y) 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 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)))))
(fma.f64 x (sin.f64 y) z)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z))) 1)
(fma.f64 x (sin.f64 y) z)
(*.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 x (sin.f64 y) z)
(*.f64 1 (fma.f64 x (sin.f64 y) z))
(fma.f64 x (sin.f64 y) z)
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) (cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2)))
(fma.f64 x (sin.f64 y) z)
(*.f64 (cbrt.f64 (pow.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)
(*.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)
(/.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)) 3) (pow.f64 z 3)) (+.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)) 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)) (-.f64 (*.f64 x (sin.f64 y)) z))))
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 z 3)) (fma.f64 z z (*.f64 x (*.f64 (sin.f64 y) (-.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))
(fma.f64 x (sin.f64 y) z)
(pow.f64 (fma.f64 x (sin.f64 y) z) 1)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z)) 3)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2) 1/2)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3) 1/3)
(fma.f64 x (sin.f64 y) z)
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z)) 2)
(fma.f64 x (sin.f64 y) z)
(sqrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 2))
(fma.f64 x (sin.f64 y) z)
(log.f64 (exp.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 x (sin.f64 y) z))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (exp.f64 z) (pow.f64 (exp.f64 x) (sin.f64 y))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (+.f64 1 (expm1.f64 z)) (pow.f64 (exp.f64 x) (sin.f64 y))))
(fma.f64 x (sin.f64 y) z)
(log.f64 (*.f64 (pow.f64 (exp.f64 x) (sin.f64 y)) (+.f64 1 (expm1.f64 z))))
(fma.f64 x (sin.f64 y) z)
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) z) 3))
(fma.f64 x (sin.f64 y) z)
(expm1.f64 (log1p.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (log.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 x (sin.f64 y) z)) 1) 1))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) z))) 3))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 x (sin.f64 y) z))) 1/3))
(fma.f64 x (sin.f64 y) z)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) z))) 2))
(fma.f64 x (sin.f64 y) z)
(log1p.f64 (expm1.f64 (fma.f64 x (sin.f64 y) z)))
(fma.f64 x (sin.f64 y) z)

eval256.0ms (3%)

Compiler

Compiled 10998 to 5203 computations (52.7% saved)

prune186.0ms (2.2%)

Pruning

33 alts after pruning (26 fresh and 7 done)

PrunedKeptTotal
New65318671
Fresh10818
Picked101
Done4711
Total66833701
Accurracy
100.0%
Counts
701 → 33
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.1%
(fma.f64 (pow.f64 (cbrt.f64 z) 2) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3) (*.f64 x (sin.f64 y)))
99.5%
(fma.f64 (*.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z) (cbrt.f64 (cos.f64 y)) (*.f64 x (sin.f64 y)))
37.9%
(fma.f64 (*.f64 z -1/2) (*.f64 y y) z)
99.8%
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
68.8%
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
58.1%
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
99.8%
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
76.6%
(fma.f64 x (sin.f64 y) z)
60.0%
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z)) 3)
49.6%
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
20.3%
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
29.8%
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
39.2%
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
60.1%
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
76.6%
(+.f64 (*.f64 (sin.f64 y) x) z)
52.6%
(+.f64 (*.f64 y x) z)
63.3%
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) z)
99.8%
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
17.7%
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3) x)
21.2%
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 2) x)
60.1%
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (*.f64 (cos.f64 y) z)))
60.1%
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)))
29.2%
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z))
60.8%
(*.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
26.7%
(*.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y))))) x)
39.9%
(*.f64 (sin.f64 y) x)
39.8%
(*.f64 (log1p.f64 (expm1.f64 (sin.f64 y))) x)
27.2%
(*.f64 (log.f64 (exp.f64 (sin.f64 y))) x)
61.2%
(*.f64 (cos.f64 y) z)
32.2%
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 3)) x)
16.3%
(*.f64 y x)
19.9%
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 z 3)))
39.6%
z
Compiler

Compiled 368 to 262 computations (28.8% saved)

regimes180.0ms (2.1%)

Counts
66 → 1
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 (*.f64 (sin.f64 y) x) z)
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) z)
(fma.f64 (*.f64 z -1/2) (*.f64 y y) z)
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(fma.f64 x (sin.f64 y) z)
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) (*.f64 z (cos.f64 y)))
(*.f64 (log.f64 (exp.f64 (sin.f64 y))) x)
(*.f64 (log1p.f64 (expm1.f64 (sin.f64 y))) x)
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 y) 3)) x)
(*.f64 (pow.f64 (sqrt.f64 (sin.f64 y)) 2) x)
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 3)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3)
(pow.f64 (sqrt.f64 (*.f64 (cos.f64 y) z)) 2)
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2)
(*.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z))
(*.f64 (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3) x)
(+.f64 (*.f64 x (log.f64 (exp.f64 (sin.f64 y)))) z)
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) z)
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
(+.f64 (*.f64 x (cbrt.f64 (pow.f64 (sin.f64 y) 3))) z)
(+.f64 (*.f64 x (pow.f64 (sqrt.f64 (sin.f64 y)) 2)) z)
(+.f64 (pow.f64 (cbrt.f64 (*.f64 x (sin.f64 y))) 3) z)
(+.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 y) x)) 3) z)
(+.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2) z)
(+.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)) z)
(pow.f64 (*.f64 (cbrt.f64 (cos.f64 y)) (cbrt.f64 z)) 3)
(cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 z 3)))
(*.f64 (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y))))) x)
(*.f64 (pow.f64 (cbrt.f64 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)))
(+.f64 (*.f64 x (log.f64 (exp.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (log1p.f64 (expm1.f64 (sin.f64 y)))) (*.f64 z (cos.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 x x)) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(+.f64 (*.f64 x (cbrt.f64 (pow.f64 (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 x (pow.f64 (sqrt.f64 (sin.f64 y)) 2)) (*.f64 z (cos.f64 y)))
(+.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 (sqrt.f64 (*.f64 (sin.f64 y) x)) 2) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (pow.f64 (pow.f64 (sin.f64 y) 3) 1/3)) (*.f64 z (cos.f64 y)))
(+.f64 (*.f64 x (log.f64 (log1p.f64 (expm1.f64 (exp.f64 (sin.f64 y)))))) z)
(*.f64 (*.f64 z (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (cbrt.f64 (cos.f64 y)))
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
(pow.f64 (sqrt.f64 (fma.f64 (sin.f64 y) x (*.f64 (cos.f64 y) z))) 2)
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (sin.f64 y)) z)
(fma.f64 (*.f64 (cos.f64 y) (sqrt.f64 z)) (sqrt.f64 z) (*.f64 x (sin.f64 y)))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 (cos.f64 y) z)) 2) (cbrt.f64 (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 x (*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sin.f64 y)))))) (*.f64 z (cos.f64 y)))
(fma.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.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 z) 2) (*.f64 (cbrt.f64 z) (cos.f64 y)) (*.f64 x (sin.f64 y)))
(/.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))))
(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 (cbrt.f64 (pow.f64 (cos.f64 y) 2)) z) (cbrt.f64 (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 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 (pow.f64 (cbrt.f64 z) 2) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 z) (cos.f64 y))) 3) (*.f64 x (sin.f64 y)))
Outputs
(fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))
Calls

4 calls:

79.0ms
x
29.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
28.0ms
z
28.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 684 to 249 computations (63.6% saved)

regimes95.0ms (1.1%)

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

4 calls:

48.0ms
y
16.0ms
x
13.0ms
(+.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y)))
13.0ms
z
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 208 to 95 computations (54.3% saved)

regimes68.0ms (0.8%)

Counts
12 → 3
Calls
Call 1
Inputs
z
(*.f64 y x)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(+.f64 (*.f64 x (sin.f64 y)) z)
(+.f64 (*.f64 (sin.f64 y) x) z)
(fma.f64 -1/2 (*.f64 z (*.f64 y y)) z)
(fma.f64 (*.f64 z -1/2) (*.f64 y y) z)
(+.f64 (*.f64 x (-.f64 (+.f64 1 (sin.f64 y)) 1)) z)
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 y 2) z)) (+.f64 (*.f64 y x) z))
(fma.f64 x (sin.f64 y) z)
Outputs
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 x (sin.f64 y)) z)
(*.f64 (cos.f64 y) z)
Calls

3 calls:

25.0ms
y
21.0ms
x
19.0ms
z
Results
AccuracySegmentsBranch
87.6%3x
79.4%3y
91.3%3z
Compiler

Compiled 88 to 41 computations (53.4% saved)

bsearch86.0ms (1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
39.0ms
3.6178787925362445e-56
1.8610484882696883e-53
47.0ms
-1.6388137771225763e+64
-3.622714913231848e+58
Results
36.0ms64×body1024valid
36.0ms181×body256valid
11.0ms27×body512valid
Compiler

Compiled 324 to 234 computations (27.8% saved)

regimes88.0ms (1%)

Counts
5 → 7
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 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
(*.f64 (cos.f64 y) z)
(+.f64 (*.f64 y x) z)
(*.f64 (cos.f64 y) z)
(*.f64 (sin.f64 y) x)
Calls

3 calls:

35.0ms
x
30.0ms
z
21.0ms
y
Results
AccuracySegmentsBranch
80.2%7x
78.4%4y
79.5%5z
Compiler

Compiled 32 to 18 computations (43.8% saved)

bsearch204.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
37.0ms
1.1804626684839053e+80
7.324642141538587e+86
30.0ms
2.927721749384667e+43
1.0415254534934518e+45
34.0ms
2.3221848622319727e-67
4.652990994072681e-58
21.0ms
-9.86887314625749e-76
-2.6089291024085914e-76
37.0ms
-2.671720844646119e-22
-1.1180091223547658e-26
45.0ms
-2.80869213187336e+71
-5.758281230054995e+60
Results
85.0ms180×body1024valid
82.0ms503×body256valid
26.0ms85×body512valid
Compiler

Compiled 802 to 589 computations (26.6% saved)

regimes47.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:

20.0ms
x
15.0ms
z
10.0ms
y
Results
AccuracySegmentsBranch
69.6%5x
74.9%3y
70.6%3z
Compiler

Compiled 28 to 16 computations (42.9% saved)

bsearch52.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
2.9025728624495892
328.97124668248284
28.0ms
-37451.512899130284
-0.45788455713350396
Results
49.0ms256×body256valid
Compiler

Compiled 290 to 205 computations (29.3% saved)

regimes11.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:

3.0ms
y
3.0ms
z
3.0ms
x
Results
AccuracySegmentsBranch
52.6%1x
52.6%1y
52.6%1z
Compiler

Compiled 24 to 14 computations (41.7% saved)

regimes26.0ms (0.3%)

Accuracy

Total -26.2b remaining (-72.9%)

Threshold costs -26.2b (-72.9%)

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

3 calls:

13.0ms
z
10.0ms
x
3.0ms
y
Results
AccuracySegmentsBranch
43.8%3x
39.6%1y
43.5%3z
Compiler

Compiled 19 to 13 computations (31.6% saved)

bsearch57.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
3.4132878551903892e+174
4.120792736549519e+181
19.0ms
-1.5097288266432764e+144
-8.562995294615497e+143
Results
23.0ms46×body1024valid
22.0ms142×body256valid
9.0ms20×body512valid
Compiler

Compiled 174 to 130 computations (25.3% saved)

simplify13.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
057332
178332
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 z -191999999999999998132192286920990968277592674086797984137216) (*.f64 (cos.f64 y) z) (if (<=.f64 z 7980144213476589/431359146674410236714672241392314090778194310760649159697657763987456) (+.f64 (*.f64 x (sin.f64 y)) z) (*.f64 (cos.f64 y) z)))
(if (<=.f64 x -14500000000000000336549231337043184364687329746815798346776576) (*.f64 (sin.f64 y) x) (if (<=.f64 x -8014330305721943/174224571863520493293247799005065324265472) (*.f64 (cos.f64 y) z) (if (<=.f64 x -7822218149124427/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (sin.f64 y) x) (if (<=.f64 x 5936606137655371/14134776518227074636666380005943348126619871175004951664972849610340958208) (*.f64 (cos.f64 y) z) (if (<=.f64 x 149999999999999993425001479393549562666811392) (+.f64 (*.f64 y x) z) (if (<=.f64 x 16000000000000000924265758369854347238996274033537026193568669811755397344270793834496) (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))))
(if (<=.f64 y -2476979795053773/4503599627370496) (*.f64 (cos.f64 y) z) (if (<=.f64 y 3) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(+.f64 (*.f64 y x) z)
(if (<=.f64 x -1400000000000000033243605302111547500372121098960155062462850984138332401358828801595448679502516611781084356787376162506110778437846114202812416) (*.f64 y x) (if (<=.f64 x 27000000000000000763486697873906184920251176802492886912422488403180855154225482903600134246031474366908657033261542593400700542675975766344478626446925909727670947836877340672) 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)))
(if (<=.f64 z -191999999999999998132192286920990968277592674086797984137216) (*.f64 (cos.f64 y) z) (if (<=.f64 z 7980144213476589/431359146674410236714672241392314090778194310760649159697657763987456) (+.f64 (*.f64 x (sin.f64 y)) z) (*.f64 (cos.f64 y) z)))
(if (or (<=.f64 z -191999999999999998132192286920990968277592674086797984137216) (not (<=.f64 z 7980144213476589/431359146674410236714672241392314090778194310760649159697657763987456))) (*.f64 z (cos.f64 y)) (+.f64 z (*.f64 x (sin.f64 y))))
(if (<=.f64 x -14500000000000000336549231337043184364687329746815798346776576) (*.f64 (sin.f64 y) x) (if (<=.f64 x -8014330305721943/174224571863520493293247799005065324265472) (*.f64 (cos.f64 y) z) (if (<=.f64 x -7822218149124427/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 (sin.f64 y) x) (if (<=.f64 x 5936606137655371/14134776518227074636666380005943348126619871175004951664972849610340958208) (*.f64 (cos.f64 y) z) (if (<=.f64 x 149999999999999993425001479393549562666811392) (+.f64 (*.f64 y x) z) (if (<=.f64 x 16000000000000000924265758369854347238996274033537026193568669811755397344270793834496) (*.f64 (cos.f64 y) z) (*.f64 (sin.f64 y) x)))))))
(if (<=.f64 x -14500000000000000336549231337043184364687329746815798346776576) (*.f64 x (sin.f64 y)) (if (<=.f64 x -8014330305721943/174224571863520493293247799005065324265472) (*.f64 z (cos.f64 y)) (if (<=.f64 x -7822218149124427/8148143905337944345073782753637512644205873574663745002544561797417525199053346824733589504) (*.f64 x (sin.f64 y)) (if (<=.f64 x 5936606137655371/14134776518227074636666380005943348126619871175004951664972849610340958208) (*.f64 z (cos.f64 y)) (if (<=.f64 x 149999999999999993425001479393549562666811392) (+.f64 z (*.f64 x y)) (if (<=.f64 x 16000000000000000924265758369854347238996274033537026193568669811755397344270793834496) (*.f64 z (cos.f64 y)) (*.f64 x (sin.f64 y))))))))
(if (<=.f64 y -2476979795053773/4503599627370496) (*.f64 (cos.f64 y) z) (if (<=.f64 y 3) (+.f64 (*.f64 y x) z) (*.f64 (cos.f64 y) z)))
(if (or (<=.f64 y -2476979795053773/4503599627370496) (not (<=.f64 y 3))) (*.f64 z (cos.f64 y)) (+.f64 z (*.f64 x y)))
(+.f64 (*.f64 y x) z)
(+.f64 z (*.f64 x y))
(if (<=.f64 x -1400000000000000033243605302111547500372121098960155062462850984138332401358828801595448679502516611781084356787376162506110778437846114202812416) (*.f64 y x) (if (<=.f64 x 27000000000000000763486697873906184920251176802492886912422488403180855154225482903600134246031474366908657033261542593400700542675975766344478626446925909727670947836877340672) z (*.f64 y x)))
(if (<=.f64 x -1400000000000000033243605302111547500372121098960155062462850984138332401358828801595448679502516611781084356787376162506110778437846114202812416) (*.f64 x y) (if (<=.f64 x 27000000000000000763486697873906184920251176802492886912422488403180855154225482903600134246031474366908657033261542593400700542675975766344478626446925909727670947836877340672) z (*.f64 x y)))
z
Compiler

Compiled 152 to 89 computations (41.4% saved)

soundness13.0ms (0.1%)

Rules
fma-def
*-commutative
+-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
11623
21923
Stop Event
saturated
Compiler

Compiled 20 to 9 computations (55% saved)

end57.0ms (0.7%)

Compiler

Compiled 131 to 50 computations (61.8% saved)

Profiling

Loading profile data...