Details

Time bar (total: 12.6s)

analyze0.0ms (0%)

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

Compiled 15 to 12 computations (20% saved)

sample2.3s (17.8%)

Results
606.0ms1070×body1024valid
507.0ms2555×body256valid
469.0ms2574×body256infinite
417.0ms1045×body1024infinite
124.0ms515×body512valid
114.0ms495×body512infinite
2.0msbody2048valid
Bogosity

preprocess88.0ms (0.7%)

Algorithm
egg-herbie
Rules
1384×times-frac
1336×fma-def
864×unswap-sqr
632×associate-/r/
620×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
15270
214070
326666
436066
548866
684366
7216166
8478766
9540266
10686266
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify97.0ms (0.8%)

Algorithm
egg-herbie
Rules
1568×unswap-sqr
1404×fma-def
900×fabs-mul
862×associate-/r*
692×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 47 to 25 computations (46.8% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New314
Fresh101
Picked000
Done000
Total415
Accurracy
100.0%
Counts
5 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize135.0ms (1.1%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite38.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
127335
2427735
Stop Event
unsound
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))

simplify65.0ms (0.5%)

Algorithm
egg-herbie
Rules
1156×fma-neg
1114×div-sub
812×cancel-sign-sub-inv
740×fma-def
738×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0981223
12981143
29601143
349691143
Stop Event
node limit
Counts
47 → 47
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/10080 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 7)) (fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 6) 1/720)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fabs.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(log.f64 (pow.f64 1 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(sin.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(sin.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)

eval13.0ms (0.1%)

Compiler

Compiled 698 to 345 computations (50.6% saved)

prune18.0ms (0.1%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New40747
Fresh000
Picked011
Done000
Total40848
Accurracy
100.0%
Counts
48 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
71.0%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
11.9%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
90.9%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
76.1%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.9%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.2%
(sin.f64 re)
Compiler

Compiled 187 to 128 computations (31.6% saved)

localize312.0ms (2.5%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.5%
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
98.5%
(*.f64 (sin.f64 re) (pow.f64 im 6))
96.9%
(*.f64 (sin.f64 re) (pow.f64 im 4))
94.7%
(*.f64 (sin.f64 re) (pow.f64 im 2))
Compiler

Compiled 136 to 86 computations (36.8% saved)

series8.0ms (0.1%)

Counts
4 → 16
Calls

24 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(*.f64 (sin.f64 re) (pow.f64 im 4))
1.0ms
re
@inf
(*.f64 (sin.f64 re) (pow.f64 im 6))
0.0ms
re
@0
(*.f64 (sin.f64 re) (pow.f64 im 6))
0.0ms
re
@inf
(*.f64 (sin.f64 re) (pow.f64 im 4))
0.0ms
re
@inf
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))

rewrite82.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1438×log-prod
894×pow-prod-down
732×pow-prod-up
636×pow-exp
542×expm1-udef
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01774
135074
2384474
Stop Event
node limit
Counts
4 → 95
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 4))
(*.f64 (sin.f64 re) (pow.f64 im 6))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
Outputs
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (*.f64 im (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(pow.f64 (*.f64 (pow.f64 im 6) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (pow.f64 (cbrt.f64 im) 2)) 3)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) im) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 6)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)) 1)
(pow.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (*.f64 (*.f64 im im) (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(pow.f64 (*.f64 (*.f64 (cbrt.f64 im) im) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2)) 3)
(pow.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) im) 2)
(sqrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))))
(cbrt.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(pow.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im)) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))

simplify128.0ms (1%)

Algorithm
egg-herbie
Rules
1956×fma-def
1746×log-prod
1008×unswap-sqr
486×distribute-lft-in
478×distribute-rgt-in
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03033063
17442849
222082527
367352527
Stop Event
node limit
Counts
111 → 171
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(*.f64 re (pow.f64 im 4))
(+.f64 (*.f64 re (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))
(+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(*.f64 re (pow.f64 im 6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (+.f64 (*.f64 re (pow.f64 im 6)) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 6))))))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 3)
(pow.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)) 1/3)
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (*.f64 im (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(pow.f64 (*.f64 (pow.f64 im 6) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (pow.f64 (cbrt.f64 im) 2)) 3)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) (pow.f64 im 6)) 1/3)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) im) 2)
(sqrt.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 6)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)) 1)
(pow.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)) 1/2)
(pow.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)) 1/3)
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (*.f64 (*.f64 im im) (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(pow.f64 (*.f64 (*.f64 (cbrt.f64 im) im) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2)) 3)
(pow.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) im) 2)
(sqrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))))
(cbrt.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(pow.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576) 1/2)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im)) 2)
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (*.f64 im im)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (fma.f64 1/120 (pow.f64 re 5) re)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (*.f64 im im)) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (*.f64 im im)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/5040 (pow.f64 re 7) (*.f64 1/120 (pow.f64 re 5))) (fma.f64 -1/6 (pow.f64 re 3) re)))
(*.f64 re (pow.f64 im 4))
(+.f64 (*.f64 re (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))
(fma.f64 re (pow.f64 im 4) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (pow.f64 im 4) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 re (pow.f64 im 4) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 re (pow.f64 im 4) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (fma.f64 1/120 (pow.f64 re 5) re)))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 4)) (fma.f64 re (pow.f64 im 4) (fma.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) re)))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5))) (fma.f64 -1/5040 (pow.f64 re 7) re)))
(*.f64 re (pow.f64 im 6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6)))
(fma.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6)) (*.f64 re (pow.f64 im 6)))
(*.f64 (pow.f64 im 6) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re))
(*.f64 (pow.f64 im 6) (fma.f64 -1/6 (pow.f64 re 3) re))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6))))
(fma.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6)) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6)) (*.f64 re (pow.f64 im 6))))
(fma.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6)) (*.f64 (pow.f64 im 6) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) re)))
(*.f64 (pow.f64 im 6) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) re) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (+.f64 (*.f64 re (pow.f64 im 6)) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 6))))))
(fma.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6)) (fma.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6)) (fma.f64 re (pow.f64 im 6) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 6))))))
(+.f64 (*.f64 (pow.f64 im 6) (+.f64 (*.f64 -1/5040 (pow.f64 re 7)) re)) (*.f64 (pow.f64 im 6) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (pow.f64 im 6) (+.f64 (fma.f64 -1/6 (pow.f64 re 3) (*.f64 1/120 (pow.f64 re 5))) (fma.f64 -1/5040 (pow.f64 re 7) re)))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 (*.f64 re (pow.f64 im 4)) 1/24)
(*.f64 re (*.f64 (pow.f64 im 4) 1/24))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(fma.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) (*.f64 (*.f64 re (pow.f64 im 4)) 1/24))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 re 1/24) (*.f64 (pow.f64 re 3) -1/144)))
(*.f64 (pow.f64 im 4) (fma.f64 re 1/24 (*.f64 (pow.f64 re 3) -1/144)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(fma.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 re 5) (pow.f64 im 4)) 1/2880)))
(fma.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) -1/144 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 re 1/24) (*.f64 (pow.f64 re 5) 1/2880))))
(*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 3) -1/144) (fma.f64 re 1/24 (*.f64 (pow.f64 re 5) 1/2880))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(fma.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 re 7) (pow.f64 im 4)) -1/120960))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 re 1/24) (*.f64 (pow.f64 re 3) -1/144))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 5) 1/2880) (*.f64 (pow.f64 re 7) -1/120960))))
(*.f64 (pow.f64 im 4) (+.f64 (fma.f64 re 1/24 (*.f64 (pow.f64 re 3) -1/144)) (fma.f64 (pow.f64 re 7) -1/120960 (*.f64 (pow.f64 re 5) 1/2880))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 im) (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 1)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)) 1)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 3)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)))
(fabs.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(pow.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) 2)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 im (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 im 6) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(pow.f64 (*.f64 (pow.f64 (cbrt.f64 im) 2) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (pow.f64 (cbrt.f64 im) 2)) 3)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) (pow.f64 im 6)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) im) 2)
(*.f64 (pow.f64 im 4) (sin.f64 re))
(sqrt.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)))
(fabs.f64 (*.f64 (pow.f64 im 4) (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) 1) 1))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4)))) 3))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3))) 1/3))
(cbrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 3)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))))
(*.f64 (pow.f64 im 4) (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) (pow.f64 im 6)))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))) (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)) 1)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re))) 3)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 im 12)))
(fabs.f64 (*.f64 (pow.f64 im 6) (sin.f64 re)))
(pow.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 im 18)))
(pow.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re))) 2)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 im im) (*.f64 im (sqrt.f64 (sin.f64 re)))) 2)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 (cbrt.f64 im) im) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 im 12) (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3)
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) (pow.f64 im 12)))
(pow.f64 (*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (pow.f64 im 4))) (pow.f64 (cbrt.f64 im) 2)) 3)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(pow.f64 (*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) im) 2)
(*.f64 (pow.f64 im 6) (sin.f64 re))
(sqrt.f64 (*.f64 (pow.f64 im 12) (pow.f64 (sin.f64 re) 2)))
(sqrt.f64 (*.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 im 12)))
(fabs.f64 (*.f64 (pow.f64 im 6) (sin.f64 re)))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im 6)) (sin.f64 re)))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(cbrt.f64 (*.f64 (pow.f64 im 18) (pow.f64 (sin.f64 re) 3)))
(cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) 3) (pow.f64 im 18)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))) 1) 1))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re)))) 3))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (pow.f64 im 6)))) 1/3))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (*.f64 (pow.f64 im 3) (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (pow.f64 im 6))))
(*.f64 (pow.f64 im 6) (sin.f64 re))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)) (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24)))) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1)
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 1)
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 3)
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576) 1/2)
(sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 (pow.f64 (sin.f64 re) 2) 1/576)))
(fabs.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3) 1/3)
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im)) 2)
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(sqrt.f64 (*.f64 (*.f64 (pow.f64 im 8) (pow.f64 (sin.f64 re) 2)) 1/576))
(sqrt.f64 (*.f64 (pow.f64 im 8) (*.f64 (pow.f64 (sin.f64 re) 2) 1/576)))
(fabs.f64 (*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re))))
(log.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im 4)) (sin.f64 re)) 1/24))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)) 3))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))) 1) 1))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 3))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24)))) 1/3))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sqrt.f64 (*.f64 (sin.f64 re) 1/24)) (*.f64 im im))) 2))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))
(*.f64 (pow.f64 im 4) (*.f64 1/24 (sin.f64 re)))

localize42.0ms (0.3%)

Compiler

Compiled 6 to 4 computations (33.3% saved)

localize91.0ms (0.7%)

Compiler

Compiled 11 to 5 computations (54.5% saved)

localize69.0ms (0.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
99.6%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Compiler

Compiled 17 to 11 computations (35.3% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
re
@inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
1.0ms
re
@-inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
0.0ms
re
@0
(pow.f64 (*.f64 (sin.f64 re) -2) -2)

rewrite53.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1490×pow1
1376×add-exp-log
1374×log1p-expm1-u
1374×expm1-log1p-u
1348×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
116717
2190817
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(-.f64 (+.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) 1)
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 1)
(*.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -1) -1/2) (*.f64 (pow.f64 (sin.f64 re) -1) -1/2))
(*.f64 (pow.f64 (sin.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 re) -2)) 1/4))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (sin.f64 re) -2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))

simplify70.0ms (0.6%)

Algorithm
egg-herbie
Rules
1158×associate-*r/
812×associate-*l/
704×distribute-lft-in
692×times-frac
686×distribute-rgt-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
069628
1156624
2421620
31767620
47070594
Stop Event
node limit
Counts
28 → 35
Calls
Call 1
Inputs
(/.f64 1/4 (pow.f64 re 2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) 1)
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 1)
(*.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -1) -1/2) (*.f64 (pow.f64 (sin.f64 re) -1) -1/2))
(*.f64 (pow.f64 (sin.f64 re) -2) 1/4)
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 re) -2)) 1/4))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 3))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (sin.f64 re) -2))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
Outputs
(/.f64 1/4 (pow.f64 re 2))
(/.f64 1/4 (*.f64 re re))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(+.f64 1/12 (fma.f64 (*.f64 re re) 1/60 (/.f64 1/4 (*.f64 re re))))
(+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 1/12))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 1/60 (*.f64 re re) (*.f64 1/378 (pow.f64 re 4)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 1/378 (pow.f64 re 4) (*.f64 (*.f64 re re) 1/60))))
(+.f64 1/12 (fma.f64 re (*.f64 re 1/60) (fma.f64 1/378 (pow.f64 re 4) (/.f64 1/4 (*.f64 re re)))))
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(-.f64 (+.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) 1)
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 1)
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 1 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) -2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -4) 1/16)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(*.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 (sin.f64 re) -2))) (cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4)))
(*.f64 (cbrt.f64 (/.f64 1/4 (pow.f64 (sin.f64 re) 2))) (cbrt.f64 (*.f64 (pow.f64 (sin.f64 re) -4) 1/16)))
(*.f64 (*.f64 (pow.f64 (sin.f64 re) -1) -1/2) (*.f64 (pow.f64 (sin.f64 re) -1) -1/2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 (pow.f64 (sin.f64 re) -2) 1/4)
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(/.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) 2) -2) (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) 2))
(pow.f64 (pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) -2)) -2) 3)
(*.f64 (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2) (pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -2))
(pow.f64 (sqrt.f64 (*.f64 (sin.f64 re) -2)) -4)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) -2) -4))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 (exp.f64 (pow.f64 (sin.f64 re) -2)) 1/4))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(cbrt.f64 (pow.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4) 3))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(exp.f64 (*.f64 -2 (log.f64 (*.f64 (sin.f64 re) -2))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 (sin.f64 re) -2) 1/4)))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/4 (pow.f64 (sin.f64 re) -2))

localize56.0ms (0.4%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Compiler

Compiled 32 to 13 computations (59.4% saved)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@-inf
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0ms
re
@0
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0ms
im
@inf
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
0.0ms
im
@0
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))

rewrite33.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
266×add-sqr-sqrt
254×pow1
254×*-un-lft-identity
250×add-exp-log
248×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01223
125723
2414723
Stop Event
unsound
Counts
1 → 18
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -2 re)
(fma.f64 -2 re re)

simplify58.0ms (0.5%)

Algorithm
egg-herbie
Rules
1716×fma-def
1260×associate-*r*
1182×associate-*l*
1098×distribute-lft-in
894×distribute-rgt-in
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0661244
11481244
23251244
311601244
Stop Event
node limit
Counts
42 → 27
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(/.f64 re -2)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -2)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(log1p.f64 (expm1.f64 re))
(fma.f64 re -2 re)
(fma.f64 -2 re re)
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
re
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(+.f64 re re)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(-.f64 (exp.f64 (log1p.f64 re)) -2)
(+.f64 (exp.f64 (log1p.f64 re)) 2)
(+.f64 2 (exp.f64 (log1p.f64 re)))
(/.f64 re -2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(/.f64 (-.f64 re re) (-.f64 re re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(pow.f64 re -2)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(pow.f64 re 1/3)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(sqrt.f64 re)
(fabs.f64 re)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(log.f64 (exp.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(log.f64 (+.f64 -2 (expm1.f64 re)))
(cbrt.f64 re)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(expm1.f64 (log1p.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(exp.f64 (log.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(exp.f64 (*.f64 (log.f64 re) -2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(log1p.f64 (expm1.f64 re))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(fma.f64 re -2 re)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))
(fma.f64 -2 re re)
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 re))

eval128.0ms (1%)

Compiler

Compiled 6791 to 4378 computations (35.5% saved)

prune80.0ms (0.6%)

Pruning

22 alts after pruning (18 fresh and 4 done)

PrunedKeptTotal
New21716233
Fresh022
Picked011
Done235
Total21922241
Accurracy
100.0%
Counts
241 → 22
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -2 re)
71.0%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
10.0%
(pow.f64 re -2)
5.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.8%
(/.f64 re -2)
10.0%
(/.f64 1/4 (*.f64 re re))
90.9%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
95.1%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
76.1%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.9%
(+.f64 (sin.f64 re) (sin.f64 re))
47.9%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.f64 re re)
20.1%
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
11.8%
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
17.5%
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.2%
(sin.f64 re)
39.5%
(log1p.f64 (expm1.f64 re))
9.1%
(exp.f64 (*.f64 (log.f64 re) -2))
3.9%
(cbrt.f64 re)
27.3%
re
Compiler

Compiled 435 to 296 computations (32% saved)

localize1.4s (11.3%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
98.9%
(*.f64 (sin.f64 re) (pow.f64 im 6))
98.1%
(*.f64 (sin.f64 re) (pow.f64 im 4))
77.6%
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
Compiler

Compiled 174 to 89 computations (48.9% saved)

series100.0ms (0.8%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
41.0ms
im
@0
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
32.0ms
re
@inf
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
13.0ms
re
@-inf
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
12.0ms
im
@inf
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
1.0ms
re
@0
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))

rewrite103.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
978×log-prod
760×exp-prod
696×prod-exp
638×pow-prod-down
520×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01217
123617
2263617
Stop Event
node limit
Counts
1 → 69
Calls
Call 1
Inputs
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
Outputs
(+.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (/.f64 1 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log.f64 (/.f64 1 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))) (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))))
(-.f64 0 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(-.f64 0 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (+.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))) (log.f64 (neg.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(-.f64 (log.f64 (neg.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))) (log.f64 (neg.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) 1)) (log.f64 (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(*.f64 1 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (*.f64 im im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (sin.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (*.f64 im (sqrt.f64 (sin.f64 re))))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 2 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 3 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (*.f64 (sin.f64 re) im) im)
(*.f64 1/3 (*.f64 3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2))
(*.f64 (pow.f64 (*.f64 im (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) 1) im)
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (sqrt.f64 im)) (sqrt.f64 im))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (E.f64) (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))) (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(neg.f64 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(neg.f64 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (sin.f64 re) im))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) im)) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))

simplify82.0ms (0.6%)

Algorithm
egg-herbie
Rules
1486×distribute-lft-in
1484×distribute-rgt-in
1134×associate-+l+
772×distribute-lft-out
614×distribute-rgt-out
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02813293
17353001
224972861
Stop Event
node limit
Counts
93 → 108
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4)))))
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (pow.f64 im 6)) (+.f64 (*.f64 2 (pow.f64 im 6)) (*.f64 6 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 im 8)) (+.f64 (*.f64 -6 (pow.f64 im 8)) (+.f64 (*.f64 24 (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (*.f64 1/24 (pow.f64 im 8)))) (+.f64 (*.f64 -24 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6))) (pow.f64 im 2))) (*.f64 -3 (pow.f64 im 8)))))) (pow.f64 re 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (pow.f64 im 6)) (+.f64 (*.f64 2 (pow.f64 im 6)) (*.f64 6 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4)))))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -360 (pow.f64 (sin.f64 re) 3)) (+.f64 (*.f64 240 (pow.f64 (sin.f64 re) 3)) (*.f64 120 (pow.f64 (sin.f64 re) 3)))) (pow.f64 im 6))) (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -360 (pow.f64 (sin.f64 re) 3)) (+.f64 (*.f64 240 (pow.f64 (sin.f64 re) 3)) (*.f64 120 (pow.f64 (sin.f64 re) 3)))) (pow.f64 im 6))) (+.f64 (*.f64 1/40320 (*.f64 (+.f64 (*.f64 20160 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 -5040 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 1680 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 -6720 (pow.f64 (sin.f64 re) 4)) (*.f64 -10080 (pow.f64 (sin.f64 re) 4)))))) (pow.f64 im 8))) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 0)
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (/.f64 1 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log.f64 (/.f64 1 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))) (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))))
(-.f64 0 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(-.f64 0 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (+.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))) (log.f64 (neg.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(-.f64 (log.f64 (neg.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))) (log.f64 (neg.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) 1)) (log.f64 (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(*.f64 1 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 (*.f64 im im) (sin.f64 re))
(*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (sin.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (*.f64 im (sqrt.f64 (sin.f64 re))))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 2 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 3 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (*.f64 (sin.f64 re) im) im)
(*.f64 1/3 (*.f64 3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2))
(*.f64 (pow.f64 (*.f64 im (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) 1) im)
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (sqrt.f64 im)) (sqrt.f64 im))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (E.f64) (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))) (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(neg.f64 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(neg.f64 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (sin.f64 re) im))))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) im)) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 re (pow.f64 im 2)) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4)))))
(fma.f64 re (*.f64 im im) (*.f64 1/2 (*.f64 (*.f64 re re) (*.f64 0 (pow.f64 im 4)))))
(fma.f64 re (*.f64 im im) (*.f64 re (*.f64 re 0)))
(fma.f64 re (*.f64 im im) 0)
(+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (pow.f64 im 6)) (+.f64 (*.f64 2 (pow.f64 im 6)) (*.f64 6 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4))))))
(fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (fma.f64 -3 (pow.f64 im 6) (fma.f64 2 (pow.f64 im 6) (*.f64 6 (fma.f64 -1/6 (*.f64 im im) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3)) (*.f64 1/2 (*.f64 (*.f64 re re) (*.f64 0 (pow.f64 im 4))))))
(fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (+.f64 (+.f64 (*.f64 (*.f64 im im) -1) (*.f64 (pow.f64 im 6) 1)) (*.f64 (pow.f64 im 6) -1)) (pow.f64 re 3)) (*.f64 re (*.f64 re 0))))
(fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 im 6) (*.f64 im im))) (pow.f64 im 6)) (pow.f64 re 3)) 0))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 im 8)) (+.f64 (*.f64 -6 (pow.f64 im 8)) (+.f64 (*.f64 24 (+.f64 (*.f64 -1/6 (pow.f64 im 4)) (*.f64 1/24 (pow.f64 im 8)))) (+.f64 (*.f64 -24 (*.f64 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6))) (pow.f64 im 2))) (*.f64 -3 (pow.f64 im 8)))))) (pow.f64 re 4))) (+.f64 (*.f64 re (pow.f64 im 2)) (+.f64 (*.f64 1/6 (*.f64 (+.f64 (*.f64 -3 (pow.f64 im 6)) (+.f64 (*.f64 2 (pow.f64 im 6)) (*.f64 6 (+.f64 (*.f64 -1/6 (pow.f64 im 2)) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3))) (*.f64 1/2 (*.f64 (pow.f64 re 2) (+.f64 (*.f64 -1 (pow.f64 im 4)) (pow.f64 im 4)))))))
(fma.f64 1/24 (*.f64 (fma.f64 12 (pow.f64 im 8) (fma.f64 -6 (pow.f64 im 8) (fma.f64 24 (fma.f64 -1/6 (pow.f64 im 4) (*.f64 1/24 (pow.f64 im 8))) (fma.f64 -24 (*.f64 (*.f64 im im) (fma.f64 -1/6 (*.f64 im im) (*.f64 1/6 (pow.f64 im 6)))) (*.f64 -3 (pow.f64 im 8)))))) (pow.f64 re 4)) (fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (fma.f64 -3 (pow.f64 im 6) (fma.f64 2 (pow.f64 im 6) (*.f64 6 (fma.f64 -1/6 (*.f64 im im) (*.f64 1/6 (pow.f64 im 6)))))) (pow.f64 re 3)) (*.f64 1/2 (*.f64 (*.f64 re re) (*.f64 0 (pow.f64 im 4)))))))
(fma.f64 1/24 (*.f64 (+.f64 (fma.f64 24 (fma.f64 1/24 (pow.f64 im 8) (*.f64 (pow.f64 im 4) -1/6)) (fma.f64 -3 (pow.f64 im 8) (*.f64 (fma.f64 (*.f64 im im) -1/6 (*.f64 1/6 (pow.f64 im 6))) (*.f64 (*.f64 im im) -24)))) (*.f64 (pow.f64 im 8) 6)) (pow.f64 re 4)) (fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (+.f64 (+.f64 (*.f64 (*.f64 im im) -1) (*.f64 (pow.f64 im 6) 1)) (*.f64 (pow.f64 im 6) -1)) (pow.f64 re 3)) (*.f64 re (*.f64 re 0)))))
(fma.f64 1/24 (*.f64 (+.f64 (+.f64 (pow.f64 im 8) (*.f64 (pow.f64 im 4) -4)) (+.f64 (fma.f64 -3 (pow.f64 im 8) (*.f64 (*.f64 im im) (*.f64 (fma.f64 (*.f64 im im) -1/6 (*.f64 1/6 (pow.f64 im 6))) -24))) (*.f64 (pow.f64 im 8) 6))) (pow.f64 re 4)) (fma.f64 re (*.f64 im im) (fma.f64 1/6 (*.f64 (+.f64 (*.f64 -1 (+.f64 (pow.f64 im 6) (*.f64 im im))) (pow.f64 im 6)) (pow.f64 re 3)) 0)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -360 (pow.f64 (sin.f64 re) 3)) (+.f64 (*.f64 240 (pow.f64 (sin.f64 re) 3)) (*.f64 120 (pow.f64 (sin.f64 re) 3)))) (pow.f64 im 6))) (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 0)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 -360 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 (sin.f64 re) 3) 360))) (*.f64 im (*.f64 im (sin.f64 re)))))
(fma.f64 im (*.f64 im (sin.f64 re)) (*.f64 (*.f64 (pow.f64 (sin.f64 re) 3) 0) (*.f64 (pow.f64 im 6) 1/720)))
(fma.f64 im (*.f64 im (sin.f64 re)) (*.f64 (pow.f64 im 6) 0))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 12 (pow.f64 (sin.f64 re) 2)) (*.f64 -12 (pow.f64 (sin.f64 re) 2))) (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 (+.f64 (*.f64 -360 (pow.f64 (sin.f64 re) 3)) (+.f64 (*.f64 240 (pow.f64 (sin.f64 re) 3)) (*.f64 120 (pow.f64 (sin.f64 re) 3)))) (pow.f64 im 6))) (+.f64 (*.f64 1/40320 (*.f64 (+.f64 (*.f64 20160 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 -5040 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 1680 (pow.f64 (sin.f64 re) 4)) (+.f64 (*.f64 -6720 (pow.f64 (sin.f64 re) 4)) (*.f64 -10080 (pow.f64 (sin.f64 re) 4)))))) (pow.f64 im 8))) (*.f64 (sin.f64 re) (pow.f64 im 2)))))
(fma.f64 1/24 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 0)) (fma.f64 1/720 (*.f64 (pow.f64 im 6) (fma.f64 -360 (pow.f64 (sin.f64 re) 3) (*.f64 (pow.f64 (sin.f64 re) 3) 360))) (fma.f64 1/40320 (*.f64 (pow.f64 im 8) (fma.f64 20160 (pow.f64 (sin.f64 re) 4) (fma.f64 -5040 (pow.f64 (sin.f64 re) 4) (fma.f64 1680 (pow.f64 (sin.f64 re) 4) (*.f64 (pow.f64 (sin.f64 re) 4) -16800))))) (*.f64 im (*.f64 im (sin.f64 re))))))
(fma.f64 1/720 (*.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 0)) (fma.f64 im (*.f64 im (sin.f64 re)) (*.f64 (+.f64 (*.f64 (pow.f64 (sin.f64 re) 4) -15120) (*.f64 (pow.f64 (sin.f64 re) 4) 15120)) (*.f64 (pow.f64 im 8) 1/40320))))
(fma.f64 0 (pow.f64 im 6) (fma.f64 im (*.f64 im (sin.f64 re)) (*.f64 (*.f64 (pow.f64 (sin.f64 re) 4) 0) (*.f64 (pow.f64 im 8) 1/40320))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 0)
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (/.f64 1 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (neg.f64 (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2) (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log.f64 (/.f64 1 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (neg.f64 (log.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(+.f64 (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))) (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(+.f64 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))) (*.f64 2 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im)))))
(*.f64 im (*.f64 im (sin.f64 re)))
(-.f64 0 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (neg.f64 (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2) (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 0 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (neg.f64 (log.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (neg.f64 (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2) (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)) (log.f64 (+.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (neg.f64 (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2) (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (neg.f64 (log.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(*.f64 im (*.f64 im (sin.f64 re)))
(-.f64 (log.f64 (neg.f64 (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))) (log.f64 (neg.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))))
(-.f64 (log.f64 (+.f64 -1 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)))) (log.f64 (neg.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log.f64 (-.f64 -1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3))) (log.f64 (neg.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1))))
(-.f64 (log.f64 (-.f64 -1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3))) (log.f64 (+.f64 -1 (-.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2)))))
(-.f64 (log.f64 (neg.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))) (log.f64 (neg.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))))
(-.f64 (log.f64 (neg.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2)))) (log.f64 (neg.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log.f64 (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(-.f64 (log.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2) 1)) (log.f64 (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1)))
(-.f64 (log.f64 (neg.f64 (-.f64 1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2)))) (log.f64 (neg.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log.f64 (+.f64 -1 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log.f64 (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(*.f64 1 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 im (*.f64 (sin.f64 re) im))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 im im) (sin.f64 re))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (pow.f64 (cbrt.f64 im) 2) (sin.f64 re)))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(*.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (cbrt.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (cbrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (*.f64 (*.f64 im im) (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 im im) (*.f64 (cbrt.f64 (pow.f64 (sin.f64 re) 2)) (cbrt.f64 (sin.f64 re))))
(*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (*.f64 im (sqrt.f64 (sin.f64 re))))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 (sqrt.f64 (sin.f64 re)) (*.f64 im im)))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 2 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 3 (*.f64 1/3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) im) im)
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 1/3 (*.f64 3 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (sin.f64 re) (*.f64 (cbrt.f64 im) im)) (pow.f64 (cbrt.f64 im) 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (pow.f64 (*.f64 im (cbrt.f64 (sin.f64 re))) 2) (cbrt.f64 (sin.f64 re)))
(*.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (*.f64 im (cbrt.f64 (sin.f64 re))) 2))
(*.f64 (*.f64 (*.f64 im im) (sqrt.f64 (sin.f64 re))) (sqrt.f64 (sin.f64 re)))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) 1) im)
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (pow.f64 (cbrt.f64 im) 2)) (cbrt.f64 im))
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 (*.f64 (*.f64 (sin.f64 re) im) (sqrt.f64 im)) (sqrt.f64 im))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (E.f64) (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(*.f64 im (*.f64 im (sin.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))) 2)) (cbrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))) (sqrt.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re)))))
(neg.f64 (log.f64 (/.f64 (fma.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1) (+.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)))))
(+.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (neg.f64 (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) -1) 1))))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log.f64 (fma.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) (+.f64 -1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))) 1)))
(-.f64 (log1p.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 3)) (log1p.f64 (-.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2) (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(neg.f64 (log.f64 (/.f64 (-.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) (-.f64 1 (pow.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 2)))))
(+.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (neg.f64 (log.f64 (-.f64 1 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re))))))))
(-.f64 (log1p.f64 (neg.f64 (pow.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))) 2))) (log1p.f64 (neg.f64 (expm1.f64 (*.f64 im (*.f64 im (sin.f64 re)))))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(*.f64 im (*.f64 im (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(*.f64 im (*.f64 im (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (*.f64 (fma.f64 2 (log.f64 im) (log.f64 (sin.f64 re))) 1) 1))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 2)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 2)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (*.f64 2 (log.f64 im)) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 (sin.f64 re) im))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (log.f64 (sin.f64 re))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 2) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (log.f64 (sin.f64 re))))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 im)) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) im)) (*.f64 (log.f64 im) 1)))
(*.f64 im (*.f64 im (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 im (*.f64 im (sin.f64 re)))

localize16.0ms (0.1%)

Compiler

Compiled 7 to 4 computations (42.9% saved)

localize24.0ms (0.2%)

Compiler

Compiled 19 to 6 computations (68.4% saved)

localize17.0ms (0.1%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

localize71.0ms (0.6%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
94.3%
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
Compiler

Compiled 34 to 15 computations (55.9% saved)

series2.0ms (0%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
re
@0
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))

rewrite75.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
1148×log-prod
780×pow-prod-down
652×fma-def
548×pow-prod-up
520×pow-exp
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01156
123152
2303152
Stop Event
node limit
Counts
2 → 91
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Outputs
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(*.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (/.f64 1 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) (neg.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) -1)
(pow.f64 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))))
(log.f64 (*.f64 (exp.f64 (sin.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(fma.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1 (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) im (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2 (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) 1) im (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sqrt.f64 im)) (sqrt.f64 im) (sin.f64 re))

simplify108.0ms (0.9%)

Algorithm
egg-herbie
Rules
1552×fma-neg
726×*-commutative
678×distribute-lft-in
656×distribute-rgt-in
576×unswap-sqr
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02655225
16774823
220554667
374724615
Stop Event
node limit
Counts
139 → 144
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6)) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1)
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(*.f64 1 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(*.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (/.f64 1 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))))
(/.f64 1 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) (neg.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)))
(pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2)
(pow.f64 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) -1)
(pow.f64 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))))
(log.f64 (*.f64 (exp.f64 (sin.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (exp.f64 (sin.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(fma.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1 (sin.f64 re))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) im (sin.f64 re))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2 (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) 1) im (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sqrt.f64 im)) (sqrt.f64 im) (sin.f64 re))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 im im)) (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 1/240 (*.f64 (pow.f64 re 5) (*.f64 im im)) (fma.f64 -1/10080 (*.f64 (pow.f64 re 7) (*.f64 im im)) (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 1/2 re)) (+.f64 (*.f64 1/240 (pow.f64 re 5)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)))
(fma.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) re (*.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6)))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (*.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6)))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5))))
(fma.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (*.f64 im im))))))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (*.f64 (pow.f64 re 5) (fma.f64 1/240 (*.f64 im im) 1/120))))
(+.f64 (*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re) (+.f64 (*.f64 (pow.f64 re 3) (-.f64 (*.f64 -1/12 (pow.f64 im 2)) 1/6)) (+.f64 (*.f64 (-.f64 (*.f64 -1/10080 (pow.f64 im 2)) 1/5040) (pow.f64 re 7)) (*.f64 (+.f64 1/120 (*.f64 1/240 (pow.f64 im 2))) (pow.f64 re 5)))))
(fma.f64 (+.f64 1 (*.f64 1/2 (*.f64 im im))) re (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (fma.f64 (fma.f64 -1/10080 (*.f64 im im) -1/5040) (pow.f64 re 7) (*.f64 (pow.f64 re 5) (+.f64 1/120 (*.f64 1/240 (*.f64 im im)))))))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 1/240 (*.f64 im im) 1/120) (*.f64 (pow.f64 re 7) (fma.f64 -1/10080 (*.f64 im im) -1/5040)))))
(fma.f64 re (fma.f64 1/2 (*.f64 im im) 1) (fma.f64 (pow.f64 re 3) (fma.f64 -1/12 (*.f64 im im) -1/6) (fma.f64 (pow.f64 re 5) (fma.f64 1/240 (*.f64 im im) 1/120) (*.f64 (pow.f64 re 7) (fma.f64 im (*.f64 im -1/10080) -1/5040)))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)))))
(*.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) 1/2)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6) 1/3)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)))))
(*.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1) 1))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) 3))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 6)) 1/3))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3) 1/3))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re))))) 2))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (/.f64 (pow.f64 (sin.f64 re) 2) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (/.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(*.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(*.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (/.f64 1 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 1 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))))
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(/.f64 1 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(/.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3)) (fma.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4) (-.f64 (pow.f64 (sin.f64 re) 2) (*.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (neg.f64 (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) (neg.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(/.f64 (neg.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) (neg.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 1)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 3)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2) 1/2)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3) 1/3)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 2)
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (/.f64 (fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (-.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)) (fma.f64 (pow.f64 im 6) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (sin.f64 re) 3))) -1)
(*.f64 (fma.f64 (pow.f64 im 6) (*.f64 1/8 (pow.f64 (sin.f64 re) 3)) (pow.f64 (sin.f64 re) 3)) (/.f64 1 (fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (-.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2))))
(/.f64 (fma.f64 (pow.f64 im 6) (*.f64 (pow.f64 (sin.f64 re) 3) 1/8) (pow.f64 (sin.f64 re) 3)) (fma.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (-.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))) (sin.f64 re)) (pow.f64 (sin.f64 re) 2)))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1))))))
(/.f64 (*.f64 (+.f64 (*.f64 (pow.f64 im 6) 1/8) 1) (pow.f64 (sin.f64 re) 3)) (*.f64 (sin.f64 re) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (*.f64 im im)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1))))))
(pow.f64 (/.f64 (-.f64 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4))) -1)
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (-.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))))
(/.f64 (-.f64 (pow.f64 (sin.f64 re) 2) (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (+.f64 (sin.f64 re) (*.f64 (*.f64 im (*.f64 im (sin.f64 re))) -1/2)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (-.f64 (*.f64 1/2 (*.f64 im im)) 1)))
(/.f64 (-.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4) (pow.f64 (sin.f64 re) 2)) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) -1)))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 2))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (exp.f64 (sin.f64 re)) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(fma.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))) (log1p.f64 (expm1.f64 (sin.f64 re))))
(fma.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))) (sin.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (sin.f64 re))) (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (exp.f64 (*.f64 im im))) (sin.f64 re)) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(log.f64 (*.f64 (pow.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im)) (sin.f64 re)) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(fma.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))) (log1p.f64 (expm1.f64 (sin.f64 re))))
(fma.f64 (sin.f64 re) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) im))) (sin.f64 re))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (exp.f64 (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))) (+.f64 1 (expm1.f64 (sin.f64 re)))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)) 3))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))) 1) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 3))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 1/3))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re)))) 2))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sin.f64 re) 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 im (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im im) (*.f64 1/2 (sin.f64 re)) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1 (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (sin.f64 re) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 im im))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 (*.f64 im (sin.f64 re)) (cbrt.f64 im))) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (sin.f64 re)) (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (sin.f64 re)) 2) (cbrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 4)) (sin.f64 re))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) 2) (*.f64 (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (sin.f64 re)) (sqrt.f64 (sin.f64 re)) (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (*.f64 im im)) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) im (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2 (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 im im))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 (*.f64 im (sin.f64 re)) (cbrt.f64 im))) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 im im) 1/2) (sin.f64 re) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (*.f64 im (cbrt.f64 (*.f64 1/2 (sin.f64 re)))) 2) (cbrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) (sqrt.f64 (*.f64 1/2 (sin.f64 re))) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) 1) im (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (*.f64 1/2 (sin.f64 re)) (cbrt.f64 (*.f64 im im))) (sin.f64 re))
(fma.f64 (*.f64 1/2 (*.f64 (*.f64 im (sin.f64 re)) (cbrt.f64 im))) (cbrt.f64 (*.f64 im im)) (sin.f64 re))
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 (sin.f64 re) (*.f64 1/2 (cbrt.f64 (*.f64 im im)))) (sin.f64 re))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 (sin.f64 re) im)) (sqrt.f64 im)) (sqrt.f64 im) (sin.f64 re))
(fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (sin.f64 re))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))

eval263.0ms (2.1%)

Compiler

Compiled 12814 to 7303 computations (43% saved)

prune75.0ms (0.6%)

Pruning

24 alts after pruning (16 fresh and 8 done)

PrunedKeptTotal
New3795384
Fresh21113
Picked101
Done088
Total38224406
Accurracy
100.0%
Counts
406 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -2 re)
10.0%
(pow.f64 re -2)
5.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.8%
(/.f64 re -2)
10.0%
(/.f64 1/4 (*.f64 re re))
90.9%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im)) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
95.1%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
53.5%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
71.0%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
10.9%
(+.f64 (sin.f64 re) (sin.f64 re))
47.9%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.f64 re re)
20.1%
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
11.8%
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
17.5%
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
76.1%
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
47.9%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
50.2%
(sin.f64 re)
39.5%
(log1p.f64 (expm1.f64 re))
9.1%
(exp.f64 (*.f64 (log.f64 re) -2))
3.9%
(cbrt.f64 re)
27.3%
re
Compiler

Compiled 436 to 304 computations (30.3% saved)

localize381.0ms (3%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.7%
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
99.5%
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
98.5%
(*.f64 (sin.f64 re) (pow.f64 im 6))
96.9%
(*.f64 (sin.f64 re) (pow.f64 im 4))
Compiler

Compiled 136 to 73 computations (46.3% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
0.0ms
im
@inf
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
0.0ms
re
@inf
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
0.0ms
im
@-inf
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
0.0ms
re
@-inf
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))

rewrite59.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1860×pow1
1700×add-exp-log
1700×log1p-expm1-u
1700×expm1-log1p-u
1662×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
119923
2233523
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im))
Outputs
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) (sqrt.f64 1/2)) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 2))
(log.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))

simplify55.0ms (0.4%)

Algorithm
egg-herbie
Rules
1610×associate-*r*
1514×associate-*l*
794×distribute-rgt-in
794×distribute-lft-in
706×associate-+r+
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
062945
1164917
2639881
34302881
Stop Event
node limit
Counts
35 → 30
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3) 1/3)
(pow.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) (sqrt.f64 1/2)) 2)
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 2))
(log.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 (*.f64 re im) 1/2))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(fma.f64 -1/12 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 1/2 re)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5))) (fma.f64 1/2 re (*.f64 -1/10080 (pow.f64 re 7)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(pow.f64 (*.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) (sqrt.f64 1/2)) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(sqrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 2))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(log.f64 (exp.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))

localize42.0ms (0.3%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize37.0ms (0.3%)

Local Accuracy

Found 2 expressions with local accuracy:

NewAccuracyProgram
100.0%
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
94.8%
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Compiler

Compiled 31 to 17 computations (45.2% saved)

series2.0ms (0%)

Counts
2 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
1.0ms
im
@inf
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
0.0ms
re
@inf
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
0.0ms
im
@0
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
0.0ms
re
@-inf
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))

rewrite105.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1030×prod-diff
942×log-prod
776×prod-exp
738×fma-def
654×pow-prod-down
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01044
120936
2265536
Stop Event
node limit
Counts
2 → 121
Calls
Call 1
Inputs
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 1 (*.f64 1/2 (*.f64 im im)))
Outputs
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(+.f64 0 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1)
(/.f64 (+.f64 (pow.f64 re 3) (*.f64 (*.f64 1/8 (pow.f64 im 6)) (pow.f64 re 3))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2) (*.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(/.f64 (*.f64 re (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) re) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 3)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re)))
(log.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(exp.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 2))
(exp.f64 (+.f64 (log.f64 re) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(exp.f64 (+.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (log.f64 re) 1)))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (log.f64 re)))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(fma.f64 re 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 re 1 (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(fma.f64 1 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 1 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(fma.f64 1/2 (*.f64 (*.f64 im im) re) re)
(fma.f64 (*.f64 im im) (*.f64 1/2 re) re)
(fma.f64 (*.f64 1/2 (*.f64 im im)) re re)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) re) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 1/2 im) (*.f64 im re) re)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) 2) (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) re)
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) re)
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (cbrt.f64 re)) 2) (cbrt.f64 re) re)
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re) re)
(fma.f64 (*.f64 re 1/2) (*.f64 im im) re)
(fma.f64 (*.f64 re (*.f64 im im)) 1/2 re)
(fma.f64 (*.f64 re (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 re (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) re)
(fma.f64 (*.f64 re (*.f64 1/2 im)) im re)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1))) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (neg.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (neg.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)) -1)
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1)
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) 1/2) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 (*.f64 1/2 (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) 1)

simplify98.0ms (0.8%)

Algorithm
egg-herbie
Rules
1110×fma-def
1094×log-prod
860×fma-neg
854×unswap-sqr
762×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02843855
16653703
218013629
372383625
Stop Event
node limit
Counts
157 → 159
Calls
Call 1
Inputs
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(+.f64 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(+.f64 0 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1)
(/.f64 (+.f64 (pow.f64 re 3) (*.f64 (*.f64 1/8 (pow.f64 im 6)) (pow.f64 re 3))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2) (*.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(/.f64 (*.f64 re (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) re) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 3)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 2)
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re)))
(log.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re) (+.f64 1 (expm1.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(exp.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 2))
(exp.f64 (+.f64 (log.f64 re) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(exp.f64 (+.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (log.f64 re) 1)))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (log.f64 re)))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(fma.f64 re 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 re 1 (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(fma.f64 1 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 1 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(fma.f64 1/2 (*.f64 (*.f64 im im) re) re)
(fma.f64 (*.f64 im im) (*.f64 1/2 re) re)
(fma.f64 (*.f64 1/2 (*.f64 im im)) re re)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re) re)
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) re) re)
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 1/2 im) (*.f64 im re) re)
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) 2) (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) re)
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) re)
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (cbrt.f64 re)) 2) (cbrt.f64 re) re)
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re) re)
(fma.f64 (*.f64 re 1/2) (*.f64 im im) re)
(fma.f64 (*.f64 re (*.f64 im im)) 1/2 re)
(fma.f64 (*.f64 re (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (*.f64 re (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) re)
(fma.f64 (*.f64 re (*.f64 1/2 im)) im re)
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1))) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2))
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (neg.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(/.f64 (neg.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 3)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2) 1/2)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) 1/3)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)) -1)
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) -1)
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2))
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1))))
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3))
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(exp.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1))) 3))
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1)
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) 1/2) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 (*.f64 1/2 (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) 1)
Outputs
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (+.f64 1 (*.f64 1/2 (pow.f64 im 2))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
1
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 1/2 (pow.f64 im 2))
(*.f64 1/2 (*.f64 im im))
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 1 (*.f64 1/2 (pow.f64 im 2)))
(fma.f64 1/2 (*.f64 im im) 1)
(+.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 0 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (+.f64 (pow.f64 re 3) (*.f64 (*.f64 1/8 (pow.f64 im 6)) (pow.f64 re 3))) (fma.f64 re re (-.f64 (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2) (*.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (pow.f64 re 3)) (fma.f64 re re (-.f64 (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 2) (*.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))))
(/.f64 (*.f64 (pow.f64 re 3) (fma.f64 1/8 (pow.f64 im 6) 1)) (fma.f64 re re (*.f64 (*.f64 im (*.f64 1/2 (*.f64 im re))) (-.f64 (*.f64 im (*.f64 1/2 (*.f64 im re))) re))))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 re re (*.f64 (*.f64 re re) (-.f64 (*.f64 1/4 (pow.f64 im 4)) (*.f64 1/2 (*.f64 im im)))))) (pow.f64 re 3))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 re re (*.f64 (*.f64 re re) (fma.f64 im (*.f64 im -1/2) (*.f64 1/4 (pow.f64 im 4)))))) (pow.f64 re 3))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 2)) (-.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 im (*.f64 1/2 (*.f64 im re))) 2)) (-.f64 re (*.f64 im (*.f64 1/2 (*.f64 im re)))))
(/.f64 (fma.f64 re re (*.f64 (*.f64 re re) (*.f64 (pow.f64 im 4) -1/4))) (*.f64 re (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 (*.f64 re (fma.f64 1/8 (pow.f64 im 6) 1)) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 re (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2))) (fma.f64 1/8 (pow.f64 im 6) 1)))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))) re)
(*.f64 re (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) re))
(*.f64 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1)) re)
(*.f64 re (/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 (*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) re) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(/.f64 re (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2))) (fma.f64 1/8 (pow.f64 im 6) 1)))
(*.f64 (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))) re)
(*.f64 re (/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (/.f64 (+.f64 1 (*.f64 (*.f64 im im) -1/2)) re))
(*.f64 (/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1)) re)
(*.f64 re (/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1)))
(pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 1)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 3)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2) 1/2)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3) 1/3)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(pow.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 2)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(sqrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 2))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (pow.f64 (exp.f64 re) (fma.f64 1/2 (*.f64 im im) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re)))
(+.f64 (log1p.f64 (expm1.f64 re)) (*.f64 re (log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im))))
(fma.f64 re (*.f64 im (log.f64 (sqrt.f64 (exp.f64 im)))) re)
(log.f64 (*.f64 (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re) (+.f64 1 (expm1.f64 re))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 re)) (pow.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im) re)))
(+.f64 (log1p.f64 (expm1.f64 re)) (*.f64 re (log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) im))))
(fma.f64 re (*.f64 im (log.f64 (sqrt.f64 (exp.f64 im)))) re)
(cbrt.f64 (pow.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)) 3))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(expm1.f64 (log1p.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))) 1) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 3))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 1/3))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1)))) 2))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (log.f64 re) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) (*.f64 (log.f64 re) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (log.f64 re)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(exp.f64 (+.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) (*.f64 (log.f64 re) 1)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(log1p.f64 (expm1.f64 (*.f64 re (fma.f64 1/2 (*.f64 im im) 1))))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 re 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 re 1 (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 re (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 re (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1/2 (*.f64 (*.f64 im im) re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re) re)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 re (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) re)
(*.f64 re (fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (cbrt.f64 re) (pow.f64 (cbrt.f64 re) 2) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (cbrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 re) 2) (*.f64 (cbrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 (*.f64 im (sqrt.f64 1/2)) re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (sqrt.f64 re) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 re 1/2) (*.f64 im im)))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) 1) (*.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 1))
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (sqrt.f64 re) (*.f64 (sqrt.f64 re) (*.f64 1/2 (*.f64 im im))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 1/2 im) (*.f64 im re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) 2) (cbrt.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im))) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 1/2)) (sqrt.f64 re)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (pow.f64 (*.f64 (*.f64 im (sqrt.f64 1/2)) (cbrt.f64 re)) 2) (cbrt.f64 re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 (*.f64 1/2 (*.f64 im im)) (sqrt.f64 re)) (sqrt.f64 re) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re 1/2) (*.f64 im im) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (*.f64 im im)) 1/2 re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (cbrt.f64 (*.f64 1/4 (pow.f64 im 4)))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) re)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (*.f64 re (cbrt.f64 (*.f64 1/2 (*.f64 im im)))) re)
(*.f64 re (fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1))
(fma.f64 (*.f64 re (*.f64 im (sqrt.f64 1/2))) (*.f64 im (sqrt.f64 1/2)) re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 (*.f64 re (*.f64 1/2 im)) im re)
(*.f64 re (fma.f64 1/2 (*.f64 im im) 1))
(-.f64 (exp.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1))) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(-.f64 (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (/.f64 (*.f64 1/4 (pow.f64 im 4)) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(*.f64 1 (fma.f64 1/2 (*.f64 im im) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 2) (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))))
(fma.f64 1/2 (*.f64 im im) 1)
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (/.f64 1 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 1 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 1 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (neg.f64 (fma.f64 1/8 (pow.f64 im 6) 1)) (neg.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im))))))
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(/.f64 (neg.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (neg.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im)))))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 1/4 (pow.f64 im 4) -1) (fma.f64 1/2 (*.f64 im im) -1))
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1)) 3)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2) 1/2)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3) 1/3)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2))) 2)
(fma.f64 1/2 (*.f64 im im) 1)
(pow.f64 (/.f64 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 -1/2 (*.f64 im im)))) (fma.f64 1/8 (pow.f64 im 6) 1)) -1)
(*.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (/.f64 1 (+.f64 1 (fma.f64 1/4 (pow.f64 im 4) (*.f64 (*.f64 im im) -1/2)))))
(/.f64 (fma.f64 1/8 (pow.f64 im 6) 1) (fma.f64 1/4 (pow.f64 im 4) (fma.f64 (*.f64 im im) -1/2 1)))
(pow.f64 (/.f64 (+.f64 1 (*.f64 -1/2 (*.f64 im im))) (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) -1)
(/.f64 (+.f64 1 (*.f64 -1/4 (pow.f64 im 4))) (+.f64 1 (*.f64 (*.f64 im im) -1/2)))
(/.f64 (+.f64 1 (*.f64 (pow.f64 im 4) -1/4)) (fma.f64 (*.f64 im im) -1/2 1))
(/.f64 (fma.f64 (pow.f64 im 4) -1/4 1) (fma.f64 (*.f64 im im) -1/2 1))
(sqrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 2))
(fma.f64 1/2 (*.f64 im im) 1)
(log.f64 (exp.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(log.f64 (+.f64 1 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1))))
(fma.f64 1/2 (*.f64 im im) 1)
(cbrt.f64 (pow.f64 (fma.f64 1/2 (*.f64 im im) 1) 3))
(fma.f64 1/2 (*.f64 im im) 1)
(expm1.f64 (log1p.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (*.f64 (*.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im))) 1) 1))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (fma.f64 1/2 (*.f64 im im) 1))) 3))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (*.f64 (*.f64 3 (log1p.f64 (*.f64 1/2 (*.f64 im im)))) 1/3))
(fma.f64 1/2 (*.f64 im im) 1)
(exp.f64 (*.f64 (log.f64 (hypot.f64 1 (*.f64 im (sqrt.f64 1/2)))) 2))
(fma.f64 1/2 (*.f64 im im) 1)
(log1p.f64 (expm1.f64 (fma.f64 1/2 (*.f64 im im) 1)))
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 1 (*.f64 1/2 (*.f64 im im)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 im (*.f64 1/2 im) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 im im) 1/2 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 1/2 (*.f64 im im)) 1 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) (cbrt.f64 (*.f64 1/2 (*.f64 im im))) 1)
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 im im))) (cbrt.f64 (*.f64 1/4 (pow.f64 im 4))) 1)
(fma.f64 (*.f64 (cbrt.f64 im) im) (*.f64 (cbrt.f64 (*.f64 im im)) 1/2) 1)
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (cbrt.f64 (*.f64 im im))) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 1/2 (cbrt.f64 im))) 1)
(fma.f64 (*.f64 im (sqrt.f64 1/2)) (*.f64 im (sqrt.f64 1/2)) 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 1/2 im) im 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 1/2 (*.f64 (cbrt.f64 im) im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (cbrt.f64 (*.f64 im im))) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 1/2 (cbrt.f64 im))) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) 1) im 1)
(fma.f64 1/2 (*.f64 im im) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 (*.f64 im im))) (cbrt.f64 im) 1)
(fma.f64 (*.f64 im (cbrt.f64 im)) (*.f64 1/2 (cbrt.f64 (*.f64 im im))) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (cbrt.f64 im)) (cbrt.f64 (*.f64 im im)) 1)
(fma.f64 (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 1/2 (cbrt.f64 im))) 1)
(fma.f64 (*.f64 (*.f64 1/2 im) (sqrt.f64 im)) (sqrt.f64 im) 1)
(fma.f64 1/2 (*.f64 im im) 1)

localize21.0ms (0.2%)

Compiler

Compiled 8 to 6 computations (25% saved)

localize63.0ms (0.5%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
98.0%
(exp.f64 (*.f64 (log.f64 re) -2))
Compiler

Compiled 16 to 10 computations (37.5% saved)

series2.0ms (0%)

Counts
1 → 12
Calls

3 calls:

TimeVariablePointExpression
1.0ms
re
@-inf
(exp.f64 (*.f64 (log.f64 re) -2))
0.0ms
re
@inf
(exp.f64 (*.f64 (log.f64 re) -2))
0.0ms
re
@0
(exp.f64 (*.f64 (log.f64 re) -2))

rewrite51.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1316×pow1
1206×add-exp-log
1206×log1p-expm1-u
1206×expm1-log1p-u
1174×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
087
11527
216797
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(exp.f64 (*.f64 (log.f64 re) -2))
Outputs
(+.f64 1 (-.f64 (pow.f64 re -2) 1))
(-.f64 (+.f64 1 (pow.f64 re -2)) 1)
(*.f64 (pow.f64 re -2) 1)
(*.f64 1 (pow.f64 re -2))
(*.f64 (cbrt.f64 (pow.f64 re -2)) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (cbrt.f64 (pow.f64 re -4)) (cbrt.f64 (pow.f64 re -2)))
(*.f64 (pow.f64 re -1) (pow.f64 re -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) -2) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (pow.f64 (sqrt.f64 re) -2) (pow.f64 (sqrt.f64 re) -2))
(pow.f64 re -2)
(pow.f64 (pow.f64 re -2) 1)
(pow.f64 (exp.f64 -2) (log.f64 re))
(pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)
(pow.f64 (pow.f64 (pow.f64 re -2) 3) 1/3)
(pow.f64 (pow.f64 re -1) 2)
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 re) -2))) (sqrt.f64 (*.f64 (log.f64 re) -2)))
(pow.f64 (exp.f64 1) (*.f64 (log.f64 re) -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 re) -2)) 2)) (cbrt.f64 (*.f64 (log.f64 re) -2)))
(sqrt.f64 (pow.f64 re -4))
(log.f64 (exp.f64 (pow.f64 re -2)))
(cbrt.f64 (pow.f64 (pow.f64 re -2) 3))
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(log1p.f64 (expm1.f64 (pow.f64 re -2)))

simplify103.0ms (0.8%)

Algorithm
egg-herbie
Rules
770×associate-*r*
706×unswap-sqr
682×associate-*r/
682×associate-*l*
618×associate-/l*
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
061541
1134541
2413361
32645361
46479345
Stop Event
node limit
Counts
35 → 29
Calls
Call 1
Inputs
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (pow.f64 re 2))
(+.f64 1 (-.f64 (pow.f64 re -2) 1))
(-.f64 (+.f64 1 (pow.f64 re -2)) 1)
(*.f64 (pow.f64 re -2) 1)
(*.f64 1 (pow.f64 re -2))
(*.f64 (cbrt.f64 (pow.f64 re -2)) (cbrt.f64 (pow.f64 re -4)))
(*.f64 (cbrt.f64 (pow.f64 re -4)) (cbrt.f64 (pow.f64 re -2)))
(*.f64 (pow.f64 re -1) (pow.f64 re -1))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) -2) (pow.f64 (cbrt.f64 re) -2))
(*.f64 (pow.f64 (sqrt.f64 re) -2) (pow.f64 (sqrt.f64 re) -2))
(pow.f64 re -2)
(pow.f64 (pow.f64 re -2) 1)
(pow.f64 (exp.f64 -2) (log.f64 re))
(pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)
(pow.f64 (pow.f64 (pow.f64 re -2) 3) 1/3)
(pow.f64 (pow.f64 re -1) 2)
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 re) -2))) (sqrt.f64 (*.f64 (log.f64 re) -2)))
(pow.f64 (exp.f64 1) (*.f64 (log.f64 re) -2))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 re) -2)) 2)) (cbrt.f64 (*.f64 (log.f64 re) -2)))
(sqrt.f64 (pow.f64 re -4))
(log.f64 (exp.f64 (pow.f64 re -2)))
(cbrt.f64 (pow.f64 (pow.f64 re -2) 3))
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(log1p.f64 (expm1.f64 (pow.f64 re -2)))
Outputs
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(/.f64 1 (pow.f64 re 2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(+.f64 1 (-.f64 (pow.f64 re -2) 1))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(-.f64 (+.f64 1 (pow.f64 re -2)) 1)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 re -2) 1)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 1 (pow.f64 re -2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (cbrt.f64 (pow.f64 re -2)) (cbrt.f64 (pow.f64 re -4)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (cbrt.f64 (pow.f64 re -4)) (cbrt.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 re -1) (pow.f64 re -1))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 re) 2) -2) (pow.f64 (cbrt.f64 re) -2))
(pow.f64 (pow.f64 (cbrt.f64 re) -2) 3)
(*.f64 (pow.f64 (sqrt.f64 re) -2) (pow.f64 (sqrt.f64 re) -2))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(pow.f64 re -2)
(/.f64 1 (*.f64 re re))
(pow.f64 (pow.f64 re -2) 1)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(pow.f64 (exp.f64 -2) (log.f64 re))
(pow.f64 (cbrt.f64 (pow.f64 re -2)) 3)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(pow.f64 (pow.f64 (pow.f64 re -2) 3) 1/3)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(pow.f64 (pow.f64 re -1) 2)
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 (log.f64 re) -2))) (sqrt.f64 (*.f64 (log.f64 re) -2)))
(pow.f64 (exp.f64 (sqrt.f64 (*.f64 -2 (log.f64 re)))) (sqrt.f64 (*.f64 -2 (log.f64 re))))
(pow.f64 (exp.f64 1) (*.f64 (log.f64 re) -2))
(pow.f64 (E.f64) (*.f64 -2 (log.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 (log.f64 re) -2)) 2)) (cbrt.f64 (*.f64 (log.f64 re) -2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (*.f64 -2 (log.f64 re))) 2)) (cbrt.f64 (*.f64 -2 (log.f64 re))))
(sqrt.f64 (pow.f64 re -4))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(log.f64 (exp.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(cbrt.f64 (pow.f64 (pow.f64 re -2) 3))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(expm1.f64 (log1p.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)
(log1p.f64 (expm1.f64 (pow.f64 re -2)))
(/.f64 1 (*.f64 re re))
(pow.f64 re -2)

eval174.0ms (1.4%)

Compiler

Compiled 8340 to 4970 computations (40.4% saved)

prune80.0ms (0.6%)

Pruning

27 alts after pruning (18 fresh and 9 done)

PrunedKeptTotal
New3419350
Fresh2911
Picked101
Done3912
Total34727374
Accurracy
100.0%
Counts
374 → 27
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -2 re)
17.2%
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
37.8%
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
5.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.8%
(/.f64 re -2)
10.0%
(/.f64 1 (*.f64 re re))
47.9%
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
90.6%
(+.f64 (sin.f64 re) (+.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 1) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
90.9%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im)) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
53.5%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
71.0%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
10.9%
(+.f64 (sin.f64 re) (sin.f64 re))
6.9%
(+.f64 re re)
20.1%
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
11.8%
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
17.5%
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
76.1%
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
24.1%
(*.f64 re (*.f64 1/2 (*.f64 im im)))
47.9%
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
19.0%
(*.f64 im (*.f64 1/2 (*.f64 im re)))
13.6%
(sqrt.f64 (pow.f64 re -4))
50.2%
(sin.f64 re)
39.5%
(log1p.f64 (expm1.f64 re))
3.9%
(cbrt.f64 re)
27.3%
re
Compiler

Compiled 321 to 220 computations (31.5% saved)

regimes103.0ms (0.8%)

Counts
39 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (*.f64 (sin.f64 re) im) im)) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))) 1) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

19.0ms
im
18.0ms
(sin.f64 re)
18.0ms
re
18.0ms
(*.f64 1/2 (sin.f64 re))
13.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 469 to 266 computations (43.3% saved)

regimes279.0ms (2.2%)

Counts
32 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 1/12 (fma.f64 (*.f64 re re) (fma.f64 re (*.f64 re 1/378) 1/60) (/.f64 1/4 (*.f64 re re))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
Calls

3 calls:

125.0ms
(sin.f64 re)
100.0ms
im
44.0ms
re
Results
AccuracySegmentsBranch
87.8%3re
93.8%5im
89.6%5(sin.f64 re)
Compiler

Compiled 264 to 142 computations (46.2% saved)

bsearch116.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
6.794957645316391e+152
5.2157428058045127e+160
32.0ms
2.224455123224787
3559.411861873661
21.0ms
-1.1587043094906435
-0.5411878160934516
29.0ms
-5.4640309630026315e+155
-2.0875526316251772e+154
Results
27.0ms82×body1024infinite
23.0ms142×body256infinite
22.0ms56×body1024valid
21.0ms129×body256valid
7.0ms32×body512infinite
6.0ms23×body512valid
Compiler

Compiled 770 to 566 computations (26.5% saved)

regimes177.0ms (1.4%)

Counts
28 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
Calls

3 calls:

70.0ms
re
63.0ms
im
37.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
87.8%3re
93.8%5im
87.7%3(sin.f64 re)
Compiler

Compiled 210 to 118 computations (43.8% saved)

bsearch153.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
6.794957645316391e+152
5.2157428058045127e+160
32.0ms
2.224455123224787
3559.411861873661
20.0ms
-1.1587043094906435
-0.5411878160934516
68.0ms
-5.4640309630026315e+155
-2.0875526316251772e+154
Results
68.0ms76×body1024infinite
22.0ms142×body256valid
21.0ms150×body256infinite
21.0ms47×body1024valid
9.0ms30×body512infinite
6.0ms19×body512valid
Compiler

Compiled 770 to 566 computations (26.5% saved)

regimes310.0ms (2.4%)

Counts
27 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
Calls

3 calls:

131.0ms
im
102.0ms
(sin.f64 re)
39.0ms
re
Results
AccuracySegmentsBranch
87.8%3re
93.8%5im
87.7%3(sin.f64 re)
Compiler

Compiled 199 to 113 computations (43.2% saved)

bsearch137.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
6.794957645316391e+152
5.2157428058045127e+160
56.0ms
2.224455123224787
3559.411861873661
21.0ms
-1.1587043094906435
-0.5411878160934516
24.0ms
-5.4640309630026315e+155
-2.0875526316251772e+154
Results
44.0ms53×body1024valid
26.0ms63×body1024infinite
23.0ms127×body256valid
22.0ms159×body256infinite
8.0ms34×body512infinite
7.0ms28×body512valid
Compiler

Compiled 744 to 566 computations (23.9% saved)

regimes181.0ms (1.4%)

Counts
26 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
Outputs
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))
Calls

3 calls:

144.0ms
im
17.0ms
(sin.f64 re)
14.0ms
re
Results
AccuracySegmentsBranch
76.1%1re
86.8%5im
76.1%1(sin.f64 re)
Compiler

Compiled 189 to 106 computations (43.9% saved)

bsearch149.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
33.0ms
6.794957645316391e+152
5.2157428058045127e+160
36.0ms
1332591.4541642922
7210028158448.267
41.0ms
-7.789183707015454e+38
-2.3101631888473192e+27
38.0ms
-2.0875526316251772e+154
-5.972245873255201e+152
Results
65.0ms331×body256infinite
52.0ms155×body1024infinite
20.0ms74×body512infinite
Compiler

Compiled 1139 to 890 computations (21.9% saved)

regimes209.0ms (1.7%)

Counts
25 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(/.f64 (-.f64 (*.f64 re re) (pow.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) 2)) (-.f64 re (*.f64 (*.f64 re 1/2) (*.f64 im im))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (pow.f64 re -4))
(exp.f64 (*.f64 (log.f64 re) -2))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 re (exp.f64 (log1p.f64 (*.f64 1/2 (*.f64 im im)))))
Outputs
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(sin.f64 re)
(/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im))))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

3 calls:

98.0ms
(sin.f64 re)
62.0ms
im
44.0ms
re
Results
AccuracySegmentsBranch
61.6%3re
78.1%5im
63.5%5(sin.f64 re)
Compiler

Compiled 180 to 102 computations (43.3% saved)

bsearch135.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
34.0ms
6.794957645316391e+152
5.2157428058045127e+160
34.0ms
1332591.4541642922
7210028158448.267
40.0ms
-7.789183707015454e+38
-2.3101631888473192e+27
27.0ms
-2.0875526316251772e+154
-5.972245873255201e+152
Results
60.0ms160×body1024infinite
48.0ms321×body256infinite
18.0ms79×body512infinite
Compiler

Compiled 992 to 781 computations (21.3% saved)

regimes114.0ms (0.9%)

Counts
17 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
(sin.f64 re)
(pow.f64 re -2)
(fma.f64 re -2 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Outputs
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(sin.f64 re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

3 calls:

49.0ms
(sin.f64 re)
34.0ms
im
27.0ms
re
Results
AccuracySegmentsBranch
61.6%3re
72.8%4im
63.5%5(sin.f64 re)
Compiler

Compiled 108 to 60 computations (44.4% saved)

bsearch112.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
39.0ms
1.0546594196757206e+110
8.89264718350354e+125
35.0ms
2.224455123224787
3559.411861873661
38.0ms
-7.789183707015454e+38
-2.3101631888473192e+27
Results
41.0ms116×body1024infinite
29.0ms207×body256infinite
11.0ms67×body256valid
9.0ms33×body512infinite
6.0ms14×body1024valid
3.0ms11×body512valid
Compiler

Compiled 617 to 445 computations (27.9% saved)

regimes41.0ms (0.3%)

Counts
13 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(cbrt.f64 re)
Outputs
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

2 calls:

23.0ms
im
15.0ms
re
Results
AccuracySegmentsBranch
49.9%2re
50.2%3im
Compiler

Compiled 86 to 46 computations (46.5% saved)

bsearch69.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
1.0546594196757206e+110
8.89264718350354e+125
30.0ms
0.015113432896751381
2.224455123224787
Results
15.0ms33×body1024valid
15.0ms95×body256infinite
14.0ms36×body1024infinite
10.0ms68×body256valid
7.0ms29×body512infinite
3.0ms11×body512valid
Compiler

Compiled 495 to 355 computations (28.3% saved)

regimes30.0ms (0.2%)

Counts
11 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 (*.f64 (*.f64 re 1/2) (*.f64 im im)) re)
Outputs
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))
Calls

2 calls:

20.0ms
im
8.0ms
re
Results
AccuracySegmentsBranch
47.9%1re
49.5%3im
Compiler

Compiled 71 to 38 computations (46.5% saved)

bsearch55.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
5.822178146667929e+142
2.7718810862809636e+144
29.0ms
0.0002497711188039129
0.012719631875587374
Results
14.0ms78×body256valid
11.0ms28×body1024infinite
10.0ms23×body1024valid
10.0ms69×body256infinite
3.0ms15×body512infinite
3.0ms11×body512valid
Compiler

Compiled 327 to 253 computations (22.6% saved)

regimes66.0ms (0.5%)

Counts
9 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(/.f64 re (+.f64 re (-.f64 re re)))
Outputs
(*.f64 re (*.f64 1/2 (*.f64 im im)))
re
(+.f64 1/12 (/.f64 1/4 (*.f64 re re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
Calls

2 calls:

36.0ms
im
28.0ms
re
Results
AccuracySegmentsBranch
39.7%5re
49.3%4im
Compiler

Compiled 53 to 29 computations (45.3% saved)

bsearch89.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
25.0ms
5.822178146667929e+142
2.7718810862809636e+144
30.0ms
0.0002497711188039129
0.012719631875587374
34.0ms
-764.688227708195
-1.1587043094906435
Results
27.0ms67×body1024valid
24.0ms144×body256valid
11.0ms71×body256infinite
9.0ms28×body1024infinite
8.0ms29×body512valid
3.0ms13×body512infinite
Compiler

Compiled 369 to 277 computations (24.9% saved)

regimes41.0ms (0.3%)

Counts
7 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
(*.f64 re (*.f64 1/2 (*.f64 im im)))
Outputs
(*.f64 re (*.f64 1/2 (*.f64 im im)))
re
(*.f64 re (*.f64 1/2 (*.f64 im im)))
Calls

2 calls:

24.0ms
re
14.0ms
im
Results
AccuracySegmentsBranch
39.7%5re
47.7%3im
Compiler

Compiled 39 to 22 computations (43.6% saved)

bsearch64.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
29.0ms
0.0002497711188039129
0.012719631875587374
35.0ms
-764.688227708195
-1.1587043094906435
Results
26.0ms145×body256valid
25.0ms58×body1024valid
10.0ms37×body512valid
Compiler

Compiled 229 to 165 computations (27.9% saved)

regimes43.0ms (0.3%)

Counts
6 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
Outputs
(*.f64 im (*.f64 1/2 (*.f64 im re)))
re
(/.f64 1 (*.f64 re re))
(*.f64 im (*.f64 1/2 (*.f64 im re)))
Calls

2 calls:

22.0ms
re
19.0ms
im
Results
AccuracySegmentsBranch
39.7%5re
44.7%4im
Compiler

Compiled 32 to 18 computations (43.8% saved)

bsearch98.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
36.0ms
7.440071767839857e+187
7.838215421815831e+192
27.0ms
0.0002497711188039129
0.012719631875587374
35.0ms
-764.688227708195
-1.1587043094906435
Results
28.0ms68×body1024valid
25.0ms148×body256valid
17.0ms40×body1024infinite
12.0ms87×body256infinite
6.0ms24×body512valid
5.0ms17×body512infinite
Compiler

Compiled 377 to 275 computations (27.1% saved)

regimes25.0ms (0.2%)

Counts
5 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
(/.f64 1 (*.f64 re re))
Outputs
(/.f64 1 (*.f64 re re))
re
(/.f64 1 (*.f64 re re))
Calls

2 calls:

13.0ms
im
11.0ms
re
Results
AccuracySegmentsBranch
29.9%3re
34.7%3im
Compiler

Compiled 25 to 14 computations (44% saved)

bsearch62.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
32.0ms
0.0002497711188039129
0.012719631875587374
30.0ms
-4.96213638235223e+97
-3.471989925750699e+95
Results
16.0ms31×body1024valid
15.0ms40×body1024infinite
10.0ms69×body256valid
8.0ms56×body256infinite
5.0ms16×body512infinite
4.0ms12×body512valid
Compiler

Compiled 187 to 141 computations (24.6% saved)

regimes96.0ms (0.8%)

Counts
4 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
(/.f64 1/4 (*.f64 re re))
Outputs
(/.f64 1/4 (*.f64 re re))
re
(/.f64 1/4 (*.f64 re re))
Calls

2 calls:

80.0ms
re
14.0ms
im
Results
AccuracySegmentsBranch
29.9%3re
34.7%3im
Compiler

Compiled 20 to 12 computations (40% saved)

bsearch101.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
59.0ms
0.0002497711188039129
0.012719631875587374
41.0ms
-4.96213638235223e+97
-3.471989925750699e+95
Results
45.0ms38×body1024valid
9.0ms62×body256valid
9.0ms64×body256infinite
9.0ms27×body1024infinite
5.0ms21×body512infinite
3.0ms12×body512valid
Compiler

Compiled 187 to 141 computations (24.6% saved)

regimes8.0ms (0.1%)

Accuracy

Total -16.4b remaining (-35.2%)

Threshold costs -16.4b (-35.2%)

Counts
3 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -2)
Outputs
re
Calls

2 calls:

3.0ms
im
3.0ms
re
Results
AccuracySegmentsBranch
27.3%1re
27.3%1im
Compiler

Compiled 15 to 9 computations (40% saved)

simplify60.0ms (0.5%)

Algorithm
egg-herbie
Rules
46×*-commutative
26×+-commutative
22×if-if-or-not
22×if-not
16×not-or
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01331483
11891417
22071381
32251373
42371373
52491373
62531373
72571373
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 5584463537939415/9007199254740992) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 1850000000000000079007802458112) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (if (<=.f64 im 4000000000) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 2349999999999999880042905600) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (if (<=.f64 im 35000000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))))
(if (<=.f64 im 75999999999999997711319302144) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 680) (sin.f64 re) (if (<=.f64 im 700000000000000022560795782057680722244648706143171799029299745623941802616366207652903249301442548464438989202157369619906560) (+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))))))
(if (<=.f64 im 2476979795053773/1125899906842624) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (if (<=.f64 im 45000000000000003400465980614123137445385412371778397312048528722911865666213366496395917237758674920249710464634128957440) (+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 3602879701896397/288230376151711744) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (if (<=.f64 im 400000000000000009498172943460442142963463171131472874989385995468094971816808229027271051286433317651738387653536046430317365267956032629374976) (+.f64 1/12 (/.f64 1/4 (*.f64 re re))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 3602879701896397/288230376151711744) re (if (<=.f64 im 679999999999999964159337239117473025942621438240684448048761028999200667642081852822211265831456208008435144558394189605454315429208283676672000) (+.f64 1/12 (/.f64 1/4 (*.f64 re re))) (*.f64 re (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 3602879701896397/288230376151711744) re (*.f64 re (*.f64 1/2 (*.f64 im im)))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 im (*.f64 1/2 (*.f64 im re))) (if (<=.f64 im 3602879701896397/288230376151711744) re (if (<=.f64 im 84999999999999998871282742315512405902754736366804562972456125378013587196965702392374438902127475065461489496713916436740038334414807506192399597081173541191195732899299431186927515074560) (/.f64 1 (*.f64 re re)) (*.f64 im (*.f64 1/2 (*.f64 im re))))))
(if (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (/.f64 1 (*.f64 re re)) (if (<=.f64 im 3602879701896397/288230376151711744) re (/.f64 1 (*.f64 re re))))
(if (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (/.f64 1/4 (*.f64 re re)) (if (<=.f64 im 3602879701896397/288230376151711744) re (/.f64 1/4 (*.f64 re re))))
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 2476979795053773/4503599627370496) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im 2589569785738035/1125899906842624) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 5584463537939415/9007199254740992) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 2589569785738035/1125899906842624) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 5584463537939415/9007199254740992) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (or (<=.f64 im 2589569785738035/1125899906842624) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(if (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (or (<=.f64 im 5584463537939415/9007199254740992) (not (or (<=.f64 im 2589569785738035/1125899906842624) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))
(if (or (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (not (or (<=.f64 im 5584463537939415/9007199254740992) (not (or (<=.f64 im 2589569785738035/1125899906842624) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (or (<=.f64 im 20999999999999999436189322827560136700085634943499688028406078940651492973786426024400341679766305212802330007134184559762627882364284981668219282278842368) (not (or (<=.f64 im 5584463537939415/9007199254740992) (and (not (<=.f64 im 2589569785738035/1125899906842624)) (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 1850000000000000079007802458112) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (if (<=.f64 im 4000000000) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (<=.f64 im 1850000000000000079007802458112) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (if (or (<=.f64 im 4000000000) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (if (or (<=.f64 im 1850000000000000079007802458112) (not (or (<=.f64 im 4000000000) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1))))
(if (or (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (not (or (<=.f64 im 1850000000000000079007802458112) (not (or (<=.f64 im 4000000000) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(if (or (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (not (or (<=.f64 im 1850000000000000079007802458112) (and (not (<=.f64 im 4000000000)) (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))))) (*.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im im) 1)) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 2349999999999999880042905600) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (if (<=.f64 im 35000000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (/.f64 (*.f64 (-.f64 1 (*.f64 1/4 (pow.f64 im 4))) re) (+.f64 1 (*.f64 -1/2 (*.f64 im im)))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))))
(if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 2349999999999999880042905600) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (if (<=.f64 im 35000000000) (sin.f64 re) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (/.f64 (*.f64 re (-.f64 1 (*.f64 1/4 (pow.f64 im 4)))) (+.f64 1 (*.f64 (*.f64 im im) -1/2))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))))
(if (<=.f64 im 75999999999999997711319302144) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 680) (sin.f64 re) (if (<=.f64 im 700000000000000022560795782057680722244648706143171799029299745623941802616366207652903249301442548464438989202157369619906560) (+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))))))
(if (<=.f64 im 2476979795053773/1125899906842624) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (if (<=.f64 im 45000000000000003400465980614123137445385412371778397312048528722911865666213366496395917237758674920249710464634128957440) (+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (or (<=.f64 im 2476979795053773/1125899906842624) (not (<=.f64 im 45000000000000003400465980614123137445385412371778397312048528722911865666213366496395917237758674920249710464634128957440))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (*.f64 (*.f64 re re) 1/60))))
(if (<=.f64 im 3602879701896397/288230376151711744) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (if (<=.f64 im 400000000000000009498172943460442142963463171131472874989385995468094971816808229027271051286433317651738387653536046430317365267956032629374976) (+.f64 1/12 (/.f64 1/4 (*.f64 re re))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im))))))
(if (or (<=.f64 im 3602879701896397/288230376151711744) (not (<=.f64 im 400000000000000009498172943460442142963463171131472874989385995468094971816808229027271051286433317651738387653536046430317365267956032629374976))) (*.f64 re (+.f64 1 (*.f64 1/2 (*.f64 im im)))) (+.f64 1/12 (/.f64 1/4 (*.f64 re re))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 3602879701896397/288230376151711744) re (if (<=.f64 im 679999999999999964159337239117473025942621438240684448048761028999200667642081852822211265831456208008435144558394189605454315429208283676672000) (+.f64 1/12 (/.f64 1/4 (*.f64 re re))) (*.f64 re (*.f64 1/2 (*.f64 im im))))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 re (*.f64 1/2 (*.f64 im im))) (if (<=.f64 im 3602879701896397/288230376151711744) re (*.f64 re (*.f64 1/2 (*.f64 im im)))))
(if (or (<=.f64 im 6530219459687219/4503599627370496) (not (<=.f64 im 3602879701896397/288230376151711744))) (*.f64 re (*.f64 1/2 (*.f64 im im))) re)
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 im (*.f64 1/2 (*.f64 im re))) (if (<=.f64 im 3602879701896397/288230376151711744) re (if (<=.f64 im 84999999999999998871282742315512405902754736366804562972456125378013587196965702392374438902127475065461489496713916436740038334414807506192399597081173541191195732899299431186927515074560) (/.f64 1 (*.f64 re re)) (*.f64 im (*.f64 1/2 (*.f64 im re))))))
(if (<=.f64 im 6530219459687219/4503599627370496) (*.f64 im (*.f64 1/2 (*.f64 re im))) (if (<=.f64 im 3602879701896397/288230376151711744) re (if (<=.f64 im 84999999999999998871282742315512405902754736366804562972456125378013587196965702392374438902127475065461489496713916436740038334414807506192399597081173541191195732899299431186927515074560) (/.f64 1 (*.f64 re re)) (*.f64 im (*.f64 1/2 (*.f64 re im))))))
(if (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (/.f64 1 (*.f64 re re)) (if (<=.f64 im 3602879701896397/288230376151711744) re (/.f64 1 (*.f64 re re))))
(if (or (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (not (<=.f64 im 3602879701896397/288230376151711744))) (/.f64 1 (*.f64 re re)) re)
(if (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (/.f64 1/4 (*.f64 re re)) (if (<=.f64 im 3602879701896397/288230376151711744) re (/.f64 1/4 (*.f64 re re))))
(if (or (<=.f64 im 370000000000000014891678988235936892881698680145338466830256455397957580374606170969158493143040) (not (<=.f64 im 3602879701896397/288230376151711744))) (/.f64 1/4 (*.f64 re re)) re)
re
Compiler

Compiled 533 to 353 computations (33.8% saved)

soundness1.7s (13.7%)

Rules
1568×unswap-sqr
1552×fma-neg
1552×fma-neg
1552×fma-neg
1404×fma-def
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
0981223
12981143
29601143
349691143
01335
127335
2427735
069628
1156624
2421620
31767620
47070594
01223
125723
2414723
061541
1134541
2413361
32645361
46479345
0981223
12981143
29601143
349691143
02655225
16774823
220554667
374724615
02843855
16653703
218013629
372383625
02843855
16653703
218013629
372383625
069628
1156624
2421620
31767620
47070594
069628
1156624
2421620
31767620
47070594
01044
120936
2265536
02655225
16774823
220554667
374724615
02655225
16774823
220554667
374724615
Stop Event
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
node limit
unsound
node limit
unsound
node limit
node limit
Compiler

Compiled 659 to 417 computations (36.7% saved)

end220.0ms (1.7%)

Compiler

Compiled 1038 to 606 computations (41.6% saved)

Profiling

Loading profile data...