Data.Number.Erf:$dmerfcx from erf-2.0.0.0

Time bar (total: 2.2s)

start0.0ms (0%)

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

analyze0.0ms (0%)

Memory
0.5MiB live, 0.5MiB allocated; 0ms collecting garbage
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 8 to 7 computations (12.5% saved)

sample720.0ms (32.3%)

Memory
11.7MiB live, 1 073.4MiB allocated; 150ms collecting garbage
Samples
526.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 229.0ms
ival-mult!: 160.0ms (69.9% of total)
ival-exp: 67.0ms (29.3% of total)
adjust: 2.0ms (0.9% of total)
Bogosity

explain100.0ms (4.5%)

Memory
-20.9MiB live, 127.8MiB allocated; 10ms collecting garbage
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
10-0-(exp.f64 (*.f64 y y))
00-0-y
00-0-(*.f64 y y)
00-0-(*.f64 x (exp.f64 (*.f64 y y)))
00-0-x
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
exp.f64(exp.f64 (*.f64 y y))sensitivity10
Confusion
Predicted +Predicted -
+10
-0255
Precision
1.0
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+100
-00255
Precision?
1.0
Recall?
1.0
Freqs
test
numberfreq
0255
11
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
24.0ms512×0valid
Compiler

Compiled 40 to 19 computations (52.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 10.0ms
ival-mult!: 5.0ms (51.1% of total)
ival-exp: 4.0ms (40.9% of total)
adjust: 0.0ms (0% of total)

preprocess26.0ms (1.2%)

Memory
37.0MiB live, 37.0MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01638
15838
217138
341138
4126738
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 x (exp.f64 (*.f64 y y)))
Symmetry

(abs y)

(negabs x)

Compiler

Compiled 12 to 10 computations (16.7% saved)

series16.0ms (0.7%)

Memory
-29.9MiB live, 17.2MiB allocated; 2ms collecting garbage
Counts
5 → 13
Calls
Call 1
Inputs
(*.f64 x (exp.f64 (*.f64 y y)))
x
(exp.f64 (*.f64 y y))
(*.f64 y y)
y
Outputs
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (exp (* y y)) #s(hole binary64 1))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (exp (* y y)) #s(hole binary64 (exp (pow y 2))))
Calls

6 calls:

TimeVariablePointExpression
12.0ms
x
@-inf
((* x (exp (* y y))) x (exp (* y y)) (* y y) y)
1.0ms
x
@inf
((* x (exp (* y y))) x (exp (* y y)) (* y y) y)
1.0ms
y
@inf
((* x (exp (* y y))) x (exp (* y y)) (* y y) y)
1.0ms
x
@0
((* x (exp (* y y))) x (exp (* y y)) (* y y) y)
1.0ms
y
@0
((* x (exp (* y y))) x (exp (* y y)) (* y y) y)

rewrite104.0ms (4.7%)

Memory
17.5MiB live, 159.5MiB allocated; 11ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
052182
055182
1300178
02855166
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
18 → 65
Calls
Call 1
Inputs
(*.f64 x (exp.f64 (*.f64 y y)))
x
(exp.f64 (*.f64 y y))
(*.f64 y y)
y
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (exp (* y y)) #s(hole binary64 1))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (exp (* y y)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (exp (* y y)) #s(hole binary64 (exp (pow y 2))))
Outputs
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 x (sinh.f64 (*.f64 y y))))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 y y)) x))
(+.f64 (*.f64 x (cosh.f64 (*.f64 y y))) (*.f64 x (sinh.f64 (*.f64 y y))))
x
(*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 (neg.f64 y)) (neg.f64 y))
(pow.f64 (exp.f64 (fabs.f64 y)) (fabs.f64 y))
(pow.f64 (exp.f64 y) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))) (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))) (-.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 y y)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 y y)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))) (*.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))))
(exp.f64 (*.f64 (log.f64 (exp.f64 y)) y))
(exp.f64 (*.f64 y y))
(+.f64 (sinh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)))
(+.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))
(*.f64 (*.f64 (neg.f64 y) #s(literal 1 binary64)) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 y) #s(literal 1 binary64)) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 y #s(literal 1 binary64)) (*.f64 y #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (*.f64 #s(literal 1 binary64) (fabs.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) y) (*.f64 #s(literal 1 binary64) y))
(*.f64 (*.f64 #s(literal 1 binary64) y) y)
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 y (*.f64 y #s(literal 1 binary64)))
(*.f64 y y)
(pow.f64 (exp.f64 (log.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (*.f64 y y)) #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 y y) #s(literal 2 binary64)) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (fma.f64 (log.f64 y) #s(literal 2 binary64) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 y) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
y
#s(approx (* x (exp (* y y))) (*.f64 (pow.f64 (exp.f64 y) y) x))
#s(approx x x)
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y y) x) x) (*.f64 y y) x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (exp (* y y)) #s(literal 1 binary64))
#s(approx (exp (* y y)) (fma.f64 y y #s(literal 1 binary64)))
#s(approx (exp (* y y)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (exp (* y y)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
#s(approx (* y y) (*.f64 y y))
#s(approx y y)
#s(approx (exp (* y y)) (pow.f64 (exp.f64 y) y))

eval9.0ms (0.4%)

Memory
-16.5MiB live, 24.4MiB allocated; 5ms collecting garbage
Compiler

Compiled 688 to 222 computations (67.7% saved)

prune2.0ms (0.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New57461
Fresh000
Picked101
Done000
Total58462
Accuracy
100.0%
Counts
62 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
100.0%
(*.f64 (pow.f64 (exp.f64 y) y) x)
81.9%
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
53.4%
#s(approx (* x (exp (* y y))) x)
Compiler

Compiled 39 to 26 computations (33.3% saved)

series182.0ms (8.1%)

Memory
54.8MiB live, 223.2MiB allocated; 67ms collecting garbage
Counts
13 → 51
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
x
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
(fma.f64 (*.f64 y y) x x)
(*.f64 y y)
y
(*.f64 (pow.f64 (exp.f64 y) y) x)
(pow.f64 (exp.f64 y) y)
(exp.f64 y)
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(cosh.f64 (*.f64 y y))
(*.f64 (sinh.f64 (*.f64 y y)) x)
(sinh.f64 (*.f64 y y))
Outputs
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (* x (+ (* 1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2))))) (* 1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* 1/2 (* x (- (exp (pow y 2)) (/ 1 (exp (pow y 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2))))) (* -1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2))))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 x))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (exp y) y) #s(hole binary64 1))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 x))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (cosh (* y y)) #s(hole binary64 1))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* 1/2 (pow y 4)))))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* (pow y 4) (+ 1/2 (* 1/24 (pow y 4)))))))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* (pow y 4) (+ 1/2 (* (pow y 4) (+ 1/24 (* 1/720 (pow y 4)))))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* 1/6 (* x (pow y 4)))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* (pow y 4) (+ (* 1/120 (* x (pow y 4))) (* 1/6 x)))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* (pow y 4) (+ (* 1/6 x) (* (pow y 4) (+ (* 1/5040 (* x (pow y 4))) (* 1/120 x)))))))))
#s(approx (sinh (* y y)) #s(hole binary64 (pow y 2)))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* 1/6 (pow y 4))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* (pow y 4) (+ 1/6 (* 1/120 (pow y 4))))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* (pow y 4) (+ 1/6 (* (pow y 4) (+ 1/120 (* 1/5040 (pow y 4))))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (exp y) y) #s(hole binary64 (exp (pow y 2))))
#s(approx (exp y) #s(hole binary64 (exp y)))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ (* 1/2 (* x (+ (exp (pow y 2)) (/ 1 (exp (pow y 2)))))) (* 1/2 (* x (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))))
#s(approx (cosh (* y y)) #s(hole binary64 (* 1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* 1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))
Calls

6 calls:

TimeVariablePointExpression
115.0ms
x
@0
((* x (exp (* y y))) x (* x (exp (* y y))) (+ (* (* y y) x) x) (* y y) y (* (pow (exp y) y) x) (pow (exp y) y) (exp y) (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) (cosh (* y y)) (* (sinh (* y y)) x) (sinh (* y y)))
38.0ms
x
@inf
((* x (exp (* y y))) x (* x (exp (* y y))) (+ (* (* y y) x) x) (* y y) y (* (pow (exp y) y) x) (pow (exp y) y) (exp y) (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) (cosh (* y y)) (* (sinh (* y y)) x) (sinh (* y y)))
20.0ms
x
@-inf
((* x (exp (* y y))) x (* x (exp (* y y))) (+ (* (* y y) x) x) (* y y) y (* (pow (exp y) y) x) (pow (exp y) y) (exp y) (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) (cosh (* y y)) (* (sinh (* y y)) x) (sinh (* y y)))
3.0ms
y
@inf
((* x (exp (* y y))) x (* x (exp (* y y))) (+ (* (* y y) x) x) (* y y) y (* (pow (exp y) y) x) (pow (exp y) y) (exp y) (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) (cosh (* y y)) (* (sinh (* y y)) x) (sinh (* y y)))
2.0ms
y
@0
((* x (exp (* y y))) x (* x (exp (* y y))) (+ (* (* y y) x) x) (* y y) y (* (pow (exp y) y) x) (pow (exp y) y) (exp y) (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) (cosh (* y y)) (* (sinh (* y y)) x) (sinh (* y y)))

rewrite220.0ms (9.9%)

Memory
-14.4MiB live, 230.9MiB allocated; 77ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0196967
0210895
11144857
08455809
Stop Event
iter-limit
node-limit
iter-limit
Counts
64 → 187
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
x
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
(fma.f64 (*.f64 y y) x x)
(*.f64 y y)
y
(*.f64 (pow.f64 (exp.f64 y) y) x)
(pow.f64 (exp.f64 y) y)
(exp.f64 y)
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(cosh.f64 (*.f64 y y))
(*.f64 (sinh.f64 (*.f64 y y)) x)
(sinh.f64 (*.f64 y y))
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx x #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (* x (+ (* 1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2))))) (* 1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* 1/2 (* x (- (exp (pow y 2)) (/ 1 (exp (pow y 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (* -1 (* x (+ (* -1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2))))) (* -1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2))))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 x))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (exp y) y) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (exp y) y) #s(hole binary64 1))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (exp y) y) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 x))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (cosh (* y y)) #s(hole binary64 1))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* 1/2 (pow y 4)))))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* (pow y 4) (+ 1/2 (* 1/24 (pow y 4)))))))
#s(approx (cosh (* y y)) #s(hole binary64 (+ 1 (* (pow y 4) (+ 1/2 (* (pow y 4) (+ 1/24 (* 1/720 (pow y 4)))))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* 1/6 (* x (pow y 4)))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* (pow y 4) (+ (* 1/120 (* x (pow y 4))) (* 1/6 x)))))))
#s(approx (* (sinh (* y y)) x) #s(hole binary64 (* (pow y 2) (+ x (* (pow y 4) (+ (* 1/6 x) (* (pow y 4) (+ (* 1/5040 (* x (pow y 4))) (* 1/120 x)))))))))
#s(approx (sinh (* y y)) #s(hole binary64 (pow y 2)))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* 1/6 (pow y 4))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* (pow y 4) (+ 1/6 (* 1/120 (pow y 4))))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* (pow y 2) (+ 1 (* (pow y 4) (+ 1/6 (* (pow y 4) (+ 1/120 (* 1/5040 (pow y 4))))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (exp y) y) #s(hole binary64 (exp (pow y 2))))
#s(approx (exp y) #s(hole binary64 (exp y)))
#s(approx (+ (* (cosh (* y y)) x) (* (sinh (* y y)) x)) #s(hole binary64 (+ (* 1/2 (* x (+ (exp (pow y 2)) (/ 1 (exp (pow y 2)))))) (* 1/2 (* x (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))))
#s(approx (cosh (* y y)) #s(hole binary64 (* 1/2 (+ (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))
#s(approx (sinh (* y y)) #s(hole binary64 (* 1/2 (- (exp (pow y 2)) (/ 1 (exp (pow y 2)))))))
Outputs
#s(approx (* (pow (exp y) y) x) x)
x
#s(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
(*.f64 (fma.f64 y y #s(literal 1 binary64)) x)
(*.f64 x (fma.f64 y y #s(literal 1 binary64)))
(/.f64 (-.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) (*.f64 y y)) #s(literal 3 binary64))) (fma.f64 x x (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (*.f64 (neg.f64 x) (*.f64 y y))))))
(/.f64 (neg.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 2 binary64)))) (neg.f64 (-.f64 x (*.f64 (*.f64 y y) x))))
(/.f64 (neg.f64 (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 (neg.f64 x) x))) (neg.f64 (-.f64 (*.f64 (*.f64 y y) x) x)))
(/.f64 (neg.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)))) (neg.f64 (fma.f64 x x (*.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 (*.f64 y y) x) x)))))
(/.f64 (neg.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 3 binary64)))) (neg.f64 (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x))))))
(/.f64 (-.f64 (*.f64 x x) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 2 binary64))) (-.f64 x (*.f64 (*.f64 y y) x)))
(/.f64 (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 (neg.f64 x) x)) (-.f64 (*.f64 (*.f64 y y) x) x))
(/.f64 (+.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64))) (fma.f64 x x (*.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 (*.f64 y y) x) x))))
(/.f64 (fma.f64 (pow.f64 x #s(literal 3 binary64)) (pow.f64 y #s(literal 6 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x)))))
(fma.f64 (*.f64 y y) x x)
(fma.f64 y (*.f64 y x) x)
(fma.f64 x (*.f64 y y) x)
(-.f64 (/.f64 (*.f64 x x) (-.f64 x (*.f64 (*.f64 y y) x))) (/.f64 (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 2 binary64)) (-.f64 x (*.f64 (*.f64 y y) x))))
(-.f64 (/.f64 (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 2 binary64)) (-.f64 (*.f64 (*.f64 y y) x) x)) (/.f64 (*.f64 x x) (-.f64 (*.f64 (*.f64 y y) x) x)))
(-.f64 x (*.f64 (*.f64 (neg.f64 y) y) x))
(-.f64 x (*.f64 (neg.f64 y) (*.f64 y x)))
(-.f64 x (*.f64 (neg.f64 x) (*.f64 y y)))
(+.f64 (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 x x (*.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 (*.f64 y y) x) x)))) (/.f64 (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)) (fma.f64 x x (*.f64 (*.f64 (*.f64 y y) x) (-.f64 (*.f64 (*.f64 y y) x) x)))))
(+.f64 (/.f64 (pow.f64 (*.f64 (*.f64 y y) x) #s(literal 3 binary64)) (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x))))) (/.f64 (pow.f64 x #s(literal 3 binary64)) (fma.f64 (*.f64 x x) (pow.f64 y #s(literal 4 binary64)) (*.f64 x (-.f64 x (*.f64 (*.f64 y y) x))))))
(+.f64 (*.f64 (*.f64 y y) x) x)
(+.f64 x (*.f64 (neg.f64 (neg.f64 x)) (*.f64 y y)))
(+.f64 x (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (*.f64 #s(literal 1 binary64) (fabs.f64 y)))
(*.f64 (*.f64 (neg.f64 y) #s(literal 1 binary64)) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 y) #s(literal 1 binary64)) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 y y)
(pow.f64 (exp.f64 (log.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 y) #s(literal 2 binary64))))
(exp.f64 (fma.f64 (log.f64 y) #s(literal 2 binary64) #s(literal 0 binary64)))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
y
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 x (-.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 (neg.f64 y) y))))
(*.f64 x (+.f64 (sinh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))))
(*.f64 x (pow.f64 (exp.f64 y) y))
(/.f64 (-.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y))))) (neg.f64 (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))))
(/.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))))
(fma.f64 (sinh.f64 (*.f64 y y)) x (*.f64 (cosh.f64 (*.f64 y y)) x))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(fma.f64 x (sinh.f64 (*.f64 y y)) (*.f64 (cosh.f64 (*.f64 y y)) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 (sinh.f64 (*.f64 y y)) x))
(-.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))) (/.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))))
(-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 (cosh.f64 (*.f64 y y))) x))
(-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 x) (cosh.f64 (*.f64 y y))))
(-.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 y y))))
(-.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x))
(+.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))) (/.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))))
(+.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 y y)) x))
(*.f64 (neg.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))) (neg.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))) (fabs.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))))
(*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 (fabs.f64 y)) (fabs.f64 y))
(pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 (neg.f64 y)) (neg.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (exp.f64 y) (*.f64 #s(literal 2 binary64) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 y) (+.f64 (/.f64 y #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 y) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))) (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))) (pow.f64 (exp.f64 y) (neg.f64 y)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 y y)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 y y)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))) (*.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))))
(/.f64 (fma.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))) #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y))))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y)) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)))) #s(literal 2 binary64))
(exp.f64 (*.f64 y y))
(+.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))
(/.f64 (-.f64 (*.f64 (cosh.f64 y) (cosh.f64 y)) (*.f64 (sinh.f64 y) (sinh.f64 y))) (-.f64 (cosh.f64 y) (sinh.f64 y)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 y) #s(literal 3 binary64)) (pow.f64 (sinh.f64 y) #s(literal 3 binary64))) (fma.f64 (cosh.f64 y) (cosh.f64 y) (-.f64 (*.f64 (sinh.f64 y) (sinh.f64 y)) (*.f64 (cosh.f64 y) (sinh.f64 y)))))
(exp.f64 y)
(+.f64 (cosh.f64 y) (sinh.f64 y))
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 x (-.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 (neg.f64 y) y))))
(*.f64 x (+.f64 (sinh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))))
(*.f64 x (pow.f64 (exp.f64 y) y))
(/.f64 (-.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64))) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))
(/.f64 (-.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x)))))
(/.f64 (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (-.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))))
(/.f64 (neg.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y))))) (neg.f64 (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))))
(/.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)))) (neg.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))))
(/.f64 (*.f64 (*.f64 (pow.f64 (exp.f64 y) y) x) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y))))
(/.f64 (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64))) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x)))))
(fma.f64 (sinh.f64 (*.f64 y y)) x (*.f64 (cosh.f64 (*.f64 y y)) x))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(fma.f64 x (sinh.f64 (*.f64 y y)) (*.f64 (cosh.f64 (*.f64 y y)) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 (sinh.f64 (*.f64 y y)) x))
(-.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))) (/.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 x (pow.f64 (exp.f64 y) (neg.f64 y)))))
(-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 (cosh.f64 (*.f64 y y))) x))
(-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 x) (cosh.f64 (*.f64 y y))))
(-.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 x) (sinh.f64 (*.f64 y y))))
(-.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 (neg.f64 y) y)) x))
(+.f64 (/.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))) (/.f64 (pow.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) #s(literal 3 binary64)) (+.f64 (pow.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) #s(literal 2 binary64)) (*.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))))))
(+.f64 (*.f64 (sinh.f64 (*.f64 y y)) x) (*.f64 (cosh.f64 (*.f64 y y)) x))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (neg.f64 (sinh.f64 (*.f64 (neg.f64 y) y))) x))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 y y)) x))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y)))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))) #s(literal 2 binary64))
(cosh.f64 (*.f64 (neg.f64 y) y))
(cosh.f64 (*.f64 y y))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) (neg.f64 y)) #s(literal 2 binary64)) (/.f64 (pow.f64 (exp.f64 y) y) #s(literal 2 binary64)))
(+.f64 (/.f64 (pow.f64 (exp.f64 y) y) #s(literal 2 binary64)) (/.f64 (pow.f64 (exp.f64 y) (neg.f64 y)) #s(literal 2 binary64)))
(*.f64 (sinh.f64 (*.f64 y y)) x)
(*.f64 x (sinh.f64 (*.f64 y y)))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y))) #s(literal 2 binary64))
(sinh.f64 (*.f64 y y))
(-.f64 (/.f64 (pow.f64 (exp.f64 y) y) #s(literal 2 binary64)) (/.f64 (pow.f64 (exp.f64 y) (neg.f64 y)) #s(literal 2 binary64)))
#s(approx (* (pow (exp y) y) x) (*.f64 (pow.f64 (exp.f64 y) y) x))
#s(approx x x)
#s(approx (+ (* (* y y) x) x) (fma.f64 (*.f64 y y) x x))
#s(approx (* (pow (exp y) y) x) (*.f64 (pow.f64 (exp.f64 y) y) x))
#s(approx (* (pow (exp y) y) x) (*.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)) (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))))) x))
#s(approx (* (sinh (* y y)) x) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)))))
#s(approx (+ (* (* y y) x) x) (*.f64 (neg.f64 x) (fma.f64 (neg.f64 y) y #s(literal -1 binary64))))
#s(approx (* (pow (exp y) y) x) (*.f64 (*.f64 #s(literal 1/2 binary64) (fma.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)) (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))))) x))
#s(approx (* (pow (exp y) y) x) x)
#s(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal 1/2 binary64) x) (*.f64 y y) x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (+ (* (* y y) x) x) x)
#s(approx (+ (* (* y y) x) x) (fma.f64 (*.f64 y y) x x))
#s(approx (* y y) (*.f64 y y))
#s(approx y y)
#s(approx (* (pow (exp y) y) x) x)
#s(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal 1/2 binary64) x) (*.f64 y y) x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (pow (exp y) y) #s(literal 1 binary64))
#s(approx (pow (exp y) y) (fma.f64 y y #s(literal 1 binary64)))
#s(approx (pow (exp y) y) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 y y) #s(literal 1 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (pow (exp y) y) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1/2 binary64)) (*.f64 y y) #s(literal 1 binary64)) (*.f64 y y) #s(literal 1 binary64)))
#s(approx (exp y) #s(literal 1 binary64))
#s(approx (exp y) (-.f64 y #s(literal -1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 #s(literal 1/2 binary64) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) y #s(literal 1/2 binary64)) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (* (pow (exp y) y) x) x)
#s(approx (* (pow (exp y) y) x) (fma.f64 (*.f64 y y) x x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (*.f64 (*.f64 y y) x) #s(literal 1/2 binary64) x) (*.f64 y y) x))
#s(approx (* (pow (exp y) y) x) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (cosh (* y y)) #s(literal 1 binary64))
#s(approx (cosh (* y y)) (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64) #s(literal 1 binary64)))
#s(approx (cosh (* y y)) (fma.f64 (fma.f64 #s(literal 1/24 binary64) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1 binary64)))
#s(approx (cosh (* y y)) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/720 binary64) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/24 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1 binary64)))
#s(approx (* (sinh (* y y)) x) (*.f64 (*.f64 y y) x))
#s(approx (* (sinh (* y y)) x) (*.f64 (fma.f64 (*.f64 (pow.f64 y #s(literal 4 binary64)) x) #s(literal 1/6 binary64) x) (*.f64 y y)))
#s(approx (* (sinh (* y y)) x) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 #s(literal 1/6 binary64) x)) (pow.f64 y #s(literal 4 binary64)) x) (*.f64 y y)))
#s(approx (* (sinh (* y y)) x) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (*.f64 (pow.f64 y #s(literal 4 binary64)) x) (*.f64 #s(literal 1/120 binary64) x)) (pow.f64 y #s(literal 4 binary64)) (*.f64 #s(literal 1/6 binary64) x)) (pow.f64 y #s(literal 4 binary64)) x) (*.f64 y y)))
#s(approx (sinh (* y y)) (*.f64 y y))
#s(approx (sinh (* y y)) (*.f64 (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/6 binary64) #s(literal 1 binary64)) (*.f64 y y)))
#s(approx (sinh (* y y)) (*.f64 (fma.f64 (fma.f64 #s(literal 1/120 binary64) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/6 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 y y)))
#s(approx (sinh (* y y)) (*.f64 (fma.f64 (fma.f64 (fma.f64 #s(literal 1/5040 binary64) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/120 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1/6 binary64)) (pow.f64 y #s(literal 4 binary64)) #s(literal 1 binary64)) (*.f64 y y)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (+.f64 (/.f64 x (*.f64 y y)) x) (*.f64 y y)))
#s(approx (pow (exp y) y) (pow.f64 (exp.f64 y) y))
#s(approx (exp y) (exp.f64 y))
#s(approx (* (pow (exp y) y) x) (*.f64 (*.f64 #s(literal 1/2 binary64) x) (fma.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y)) (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))))))
#s(approx (cosh (* y y)) (*.f64 (*.f64 #s(literal 2 binary64) (cosh.f64 (*.f64 y y))) #s(literal 1/2 binary64)))
#s(approx (sinh (* y y)) (*.f64 (*.f64 #s(literal 2 binary64) (sinh.f64 (*.f64 y y))) #s(literal 1/2 binary64)))

eval37.0ms (1.7%)

Memory
-10.9MiB live, 44.1MiB allocated; 10ms collecting garbage
Compiler

Compiled 3 650 to 665 computations (81.8% saved)

prune5.0ms (0.2%)

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

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New1952197
Fresh000
Picked044
Done000
Total1956201
Accuracy
100.0%
Counts
201 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
100.0%
(*.f64 (pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) x)
100.0%
(*.f64 (pow.f64 (exp.f64 y) y) x)
81.9%
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
32.8%
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
53.4%
#s(approx (* x (exp (* y y))) x)
Compiler

Compiled 70 to 45 computations (35.7% saved)

series47.0ms (2.1%)

Memory
5.7MiB live, 95.0MiB allocated; 10ms collecting garbage
Counts
12 → 36
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) x)
(*.f64 y y)
y
x
(*.f64 (pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) x)
(pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64)))
(*.f64 (exp.f64 y) (exp.f64 y))
(exp.f64 y)
(/.f64 y #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (* y y) x) #s(hole binary64 (* x (pow y 2))))
#s(approx x #s(hole binary64 x))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (* x (exp (* 1/2 (* y (log (pow (exp y) 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 x))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 1))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 1))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* 2 y))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* y (+ 2 (* 2 y))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* y (+ 2 (* y (+ 2 (* 4/3 y))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (/ y 2) #s(hole binary64 (* 1/2 y)))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (exp (* 1/2 (* y (log (pow (exp y) 2)))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (pow (exp y) 2)))
#s(approx (exp y) #s(hole binary64 (exp y)))
Calls

6 calls:

TimeVariablePointExpression
22.0ms
x
@0
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y y) x) (* y y) y x (* (pow (* (exp y) (exp y)) (/ y 2)) x) (pow (* (exp y) (exp y)) (/ y 2)) (* (exp y) (exp y)) (exp y) (/ y 2) 2)
11.0ms
x
@inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y y) x) (* y y) y x (* (pow (* (exp y) (exp y)) (/ y 2)) x) (pow (* (exp y) (exp y)) (/ y 2)) (* (exp y) (exp y)) (exp y) (/ y 2) 2)
8.0ms
x
@-inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y y) x) (* y y) y x (* (pow (* (exp y) (exp y)) (/ y 2)) x) (pow (* (exp y) (exp y)) (/ y 2)) (* (exp y) (exp y)) (exp y) (/ y 2) 2)
2.0ms
y
@inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y y) x) (* y y) y x (* (pow (* (exp y) (exp y)) (/ y 2)) x) (pow (* (exp y) (exp y)) (/ y 2)) (* (exp y) (exp y)) (exp y) (/ y 2) 2)
2.0ms
y
@-inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y y) x) (* y y) y x (* (pow (* (exp y) (exp y)) (/ y 2)) x) (pow (* (exp y) (exp y)) (/ y 2)) (* (exp y) (exp y)) (exp y) (/ y 2) 2)

rewrite149.0ms (6.7%)

Memory
-9.1MiB live, 184.6MiB allocated; 15ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0126603
0135567
1684527
05956487
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
48 → 142
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 y y) x)
(*.f64 y y)
y
x
(*.f64 (pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) x)
(pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64)))
(*.f64 (exp.f64 y) (exp.f64 y))
(exp.f64 y)
(/.f64 y #s(literal 2 binary64))
#s(literal 2 binary64)
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (* y y) x) #s(hole binary64 (* x (pow y 2))))
#s(approx x #s(hole binary64 x))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (* x (exp (* 1/2 (* y (log (pow (exp y) 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* y y) #s(hole binary64 (pow y 2)))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 x))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (* (exp y) (exp y)) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 1))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 1))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* 2 y))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* y (+ 2 (* 2 y))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (+ 1 (* y (+ 2 (* y (+ 2 (* 4/3 y))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (/ y 2) #s(hole binary64 (* 1/2 y)))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(hole binary64 (exp (* 1/2 (* y (log (pow (exp y) 2)))))))
#s(approx (* (exp y) (exp y)) #s(hole binary64 (pow (exp y) 2)))
#s(approx (exp y) #s(hole binary64 (exp y)))
Outputs
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x))
(*.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 x (fabs.f64 y)) (fabs.f64 y))
(*.f64 (*.f64 y x) y)
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) x))
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 x (*.f64 y y))
(*.f64 (*.f64 (neg.f64 y) #s(literal 1 binary64)) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 (fabs.f64 y) #s(literal 1 binary64)) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (*.f64 #s(literal 1 binary64) (neg.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (*.f64 #s(literal 1 binary64) (fabs.f64 y)))
(*.f64 (*.f64 #s(literal 1 binary64) (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 (neg.f64 y)) (neg.f64 (neg.f64 y)))
(*.f64 (neg.f64 (fabs.f64 y)) (neg.f64 (fabs.f64 y)))
(*.f64 (fabs.f64 (fabs.f64 y)) (fabs.f64 (fabs.f64 y)))
(*.f64 (exp.f64 (log.f64 y)) (exp.f64 (log.f64 y)))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) #s(literal 1 binary64)))
(*.f64 (neg.f64 y) (neg.f64 y))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) #s(literal 1 binary64)))
(*.f64 (fabs.f64 y) (fabs.f64 y))
(*.f64 (*.f64 #s(literal 2 binary64) y) (/.f64 y #s(literal 2 binary64)))
(*.f64 (/.f64 y #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) y))
(*.f64 #s(literal 1 binary64) (*.f64 y y))
(*.f64 (*.f64 y y) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 y (/.f64 y #s(literal 2 binary64))))
(*.f64 y y)
(pow.f64 (exp.f64 (log.f64 y)) #s(literal 2 binary64))
(pow.f64 (neg.f64 y) #s(literal 2 binary64))
(pow.f64 (fabs.f64 y) #s(literal 2 binary64))
(pow.f64 (*.f64 y y) #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) y) (neg.f64 y)) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 #s(literal 2 binary64) y) y) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 y) y))
(fabs.f64 (*.f64 y y))
(exp.f64 (fma.f64 (log.f64 y) #s(literal 2 binary64) #s(literal 0 binary64)))
(exp.f64 (+.f64 #s(literal 0 binary64) (*.f64 (log.f64 y) #s(literal 2 binary64))))
(exp.f64 (*.f64 (log.f64 y) #s(literal 2 binary64)))
(+.f64 (cosh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))) (sinh.f64 (*.f64 (log.f64 y) #s(literal 2 binary64))))
y
x
(*.f64 (*.f64 x (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))) (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))))
(*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) (*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) x))
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 x (sinh.f64 (*.f64 y y))))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 y y)) x))
(+.f64 (*.f64 x (cosh.f64 (*.f64 y y))) (*.f64 x (sinh.f64 (*.f64 y y))))
(*.f64 (neg.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))) (neg.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))))
(*.f64 (fabs.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))) (fabs.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64)))))
(*.f64 (pow.f64 (neg.f64 (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) (pow.f64 (neg.f64 (exp.f64 y)) (/.f64 y #s(literal 2 binary64))))
(*.f64 (pow.f64 (fabs.f64 (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) (pow.f64 (fabs.f64 (exp.f64 y)) (/.f64 y #s(literal 2 binary64))))
(*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 (fabs.f64 y)) (fabs.f64 y))
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (pow.f64 (exp.f64 y) #s(literal 2 binary64))) (/.f64 y #s(literal 4 binary64)))
(pow.f64 (exp.f64 (neg.f64 y)) (neg.f64 y))
(pow.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (+.f64 (/.f64 y #s(literal 4 binary64)) (/.f64 y #s(literal 4 binary64))))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 y #s(literal 4 binary64))))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 y) (+.f64 (/.f64 y #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 y) (*.f64 #s(literal 2 binary64) (/.f64 y #s(literal 2 binary64))))
(pow.f64 (exp.f64 y) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))) (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))) (-.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 y y)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 y y)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))) (*.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))))
(exp.f64 (*.f64 y y))
(+.f64 (sinh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)))
(+.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))
(*.f64 (neg.f64 (neg.f64 (exp.f64 y))) (neg.f64 (neg.f64 (exp.f64 y))))
(*.f64 (neg.f64 (fabs.f64 (exp.f64 y))) (neg.f64 (fabs.f64 (exp.f64 y))))
(*.f64 (fabs.f64 (fabs.f64 (exp.f64 y))) (fabs.f64 (fabs.f64 (exp.f64 y))))
(*.f64 (neg.f64 (exp.f64 y)) (neg.f64 (exp.f64 y)))
(*.f64 (fabs.f64 (exp.f64 y)) (fabs.f64 (exp.f64 y)))
(*.f64 (exp.f64 y) (exp.f64 y))
(pow.f64 (exp.f64 #s(literal 2 binary64)) y)
(pow.f64 (neg.f64 (exp.f64 y)) #s(literal 2 binary64))
(pow.f64 (fabs.f64 (exp.f64 y)) #s(literal 2 binary64))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (exp.f64 y) #s(literal 2 binary64))
(neg.f64 (*.f64 (neg.f64 (exp.f64 y)) (exp.f64 y)))
(neg.f64 (*.f64 (exp.f64 y) (neg.f64 (exp.f64 y))))
(fma.f64 (cosh.f64 y) (exp.f64 y) (*.f64 (sinh.f64 y) (exp.f64 y)))
(fma.f64 (exp.f64 y) (cosh.f64 y) (*.f64 (exp.f64 y) (sinh.f64 y)))
(fabs.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)))
(exp.f64 (*.f64 #s(literal 2 binary64) y))
(+.f64 (*.f64 (cosh.f64 y) (exp.f64 y)) (*.f64 (sinh.f64 y) (exp.f64 y)))
(+.f64 (*.f64 (exp.f64 y) (cosh.f64 y)) (*.f64 (exp.f64 y) (sinh.f64 y)))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) y)) (sinh.f64 (*.f64 #s(literal 2 binary64) y)))
(*.f64 (pow.f64 (exp.f64 y) #s(literal 1/2 binary64)) (pow.f64 (exp.f64 y) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 y) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 y) (cosh.f64 y)) (*.f64 (sinh.f64 y) (sinh.f64 y))) (-.f64 (cosh.f64 y) (sinh.f64 y)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 y) #s(literal 3 binary64)) (pow.f64 (sinh.f64 y) #s(literal 3 binary64))) (fma.f64 (cosh.f64 y) (cosh.f64 y) (-.f64 (*.f64 (sinh.f64 y) (sinh.f64 y)) (*.f64 (cosh.f64 y) (sinh.f64 y)))))
(exp.f64 y)
(+.f64 (sinh.f64 y) (cosh.f64 y))
(+.f64 (cosh.f64 y) (sinh.f64 y))
(/.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64))
(/.f64 (neg.f64 y) #s(literal -2 binary64))
(/.f64 y #s(literal 2 binary64))
(neg.f64 (/.f64 (neg.f64 y) #s(literal 2 binary64)))
(neg.f64 (/.f64 y #s(literal -2 binary64)))
#s(literal 2 binary64)
#s(approx (* x (exp (* y y))) (*.f64 (pow.f64 (exp.f64 y) y) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* (* y y) x) (*.f64 (*.f64 y y) x))
#s(approx x x)
#s(approx (* x (exp (* y y))) (*.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) y) (*.f64 #s(literal 2 binary64) y)) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (neg.f64 x) (fma.f64 (neg.f64 y) y #s(literal -1 binary64))))
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y y) x) x) (*.f64 y y) x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (+ (* (* y y) x) x) x)
#s(approx (+ (* (* y y) x) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* y y) (*.f64 y y))
#s(approx y y)
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y y) x) x) (*.f64 y y) x))
#s(approx (* x (exp (* y y))) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y y) x) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) #s(literal 1 binary64))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) (fma.f64 y y #s(literal 1 binary64)))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
#s(approx (* (exp y) (exp y)) #s(literal 1 binary64))
#s(approx (* (exp y) (exp y)) (fma.f64 #s(literal 2 binary64) y #s(literal 1 binary64)))
#s(approx (* (exp y) (exp y)) (fma.f64 (fma.f64 #s(literal 2 binary64) y #s(literal 2 binary64)) y #s(literal 1 binary64)))
#s(approx (* (exp y) (exp y)) (fma.f64 (fma.f64 (fma.f64 #s(literal 4/3 binary64) y #s(literal 2 binary64)) y #s(literal 2 binary64)) y #s(literal 1 binary64)))
#s(approx (exp y) #s(literal 1 binary64))
#s(approx (exp y) (-.f64 y #s(literal -1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 #s(literal 1/2 binary64) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) y #s(literal 1/2 binary64)) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (/ y 2) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 y y)) x) y) y))
#s(approx (pow (* (exp y) (exp y)) (/ y 2)) (pow.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) y) (*.f64 #s(literal 2 binary64) y)))
#s(approx (* (exp y) (exp y)) (pow.f64 (exp.f64 y) #s(literal 2 binary64)))
#s(approx (exp y) (exp.f64 y))

eval16.0ms (0.7%)

Memory
-19.7MiB live, 26.7MiB allocated; 3ms collecting garbage
Compiler

Compiled 2 498 to 563 computations (77.5% saved)

prune4.0ms (0.2%)

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

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1352137
Fresh000
Picked112
Done044
Total1367143
Accuracy
100.0%
Counts
143 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
100.0%
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
100.0%
(*.f64 (pow.f64 (exp.f64 y) y) x)
81.9%
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
32.8%
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
27.0%
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
53.4%
#s(approx (* x (exp (* y y))) x)
Compiler

Compiled 89 to 56 computations (37.1% saved)

series60.0ms (2.7%)

Memory
10.1MiB live, 61.1MiB allocated; 5ms collecting garbage
Counts
12 → 36
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y x) y)
(*.f64 y x)
y
x
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 y) #s(literal 2 binary64))
(exp.f64 y)
#s(literal 2 binary64)
(/.f64 y #s(literal 2 binary64))
Outputs
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (* y x) y) #s(hole binary64 (* x (pow y 2))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (* x (exp (* 1/2 (* y (log (pow (exp y) 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 1))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (pow (exp y) 2) #s(hole binary64 1))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* 2 y))))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* y (+ 2 (* 2 y))))))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* y (+ 2 (* y (+ 2 (* 4/3 y))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (/ y 2) #s(hole binary64 (* 1/2 y)))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (exp (* 1/2 (* y (log (pow (exp y) 2)))))))
#s(approx (pow (exp y) 2) #s(hole binary64 (pow (exp y) 2)))
#s(approx (exp y) #s(hole binary64 (exp y)))
Calls

6 calls:

TimeVariablePointExpression
36.0ms
x
@inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y x) y) (* y x) y x (* (pow (pow (exp y) 2) (/ y 2)) x) (pow (pow (exp y) 2) (/ y 2)) (pow (exp y) 2) (exp y) 2 (/ y 2))
10.0ms
x
@0
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y x) y) (* y x) y x (* (pow (pow (exp y) 2) (/ y 2)) x) (pow (pow (exp y) 2) (/ y 2)) (pow (exp y) 2) (exp y) 2 (/ y 2))
9.0ms
x
@-inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y x) y) (* y x) y x (* (pow (pow (exp y) 2) (/ y 2)) x) (pow (pow (exp y) 2) (/ y 2)) (pow (exp y) 2) (exp y) 2 (/ y 2))
2.0ms
y
@-inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y x) y) (* y x) y x (* (pow (pow (exp y) 2) (/ y 2)) x) (pow (pow (exp y) 2) (/ y 2)) (pow (exp y) 2) (exp y) 2 (/ y 2))
1.0ms
y
@inf
((* x (exp (* y y))) (+ (* (* y y) x) x) (* (* y x) y) (* y x) y x (* (pow (pow (exp y) 2) (/ y 2)) x) (pow (pow (exp y) 2) (/ y 2)) (pow (exp y) 2) (exp y) 2 (/ y 2))

rewrite186.0ms (8.3%)

Memory
-7.6MiB live, 130.7MiB allocated; 8ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0128585
0136567
1678527
05939487
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
48 → 100
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 y x) y)
(*.f64 y x)
y
x
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 y) #s(literal 2 binary64))
(exp.f64 y)
#s(literal 2 binary64)
(/.f64 y #s(literal 2 binary64))
#s(approx (* x (exp (* y y))) #s(hole binary64 (* x (exp (pow y 2)))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (+ 1 (pow y 2)))))
#s(approx (* (* y x) y) #s(hole binary64 (* x (pow y 2))))
#s(approx (* y x) #s(hole binary64 (* x y)))
#s(approx x #s(hole binary64 x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (* x (exp (* 1/2 (* y (log (pow (exp y) 2))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* -1 (* x (- (* -1 (pow y 2)) 1)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 x))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* x (exp (* y y))) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 x))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx y #s(hole binary64 y))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* x (pow y 2)))))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* 1/2 (* x (pow y 2))))))))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(hole binary64 (+ x (* (pow y 2) (+ x (* (pow y 2) (+ (* 1/6 (* x (pow y 2))) (* 1/2 x))))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 1))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (pow y 2))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* 1/2 (pow y 2)))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (+ 1 (* (pow y 2) (+ 1 (* (pow y 2) (+ 1/2 (* 1/6 (pow y 2)))))))))
#s(approx (pow (exp y) 2) #s(hole binary64 1))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* 2 y))))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* y (+ 2 (* 2 y))))))
#s(approx (pow (exp y) 2) #s(hole binary64 (+ 1 (* y (+ 2 (* y (+ 2 (* 4/3 y))))))))
#s(approx (exp y) #s(hole binary64 1))
#s(approx (exp y) #s(hole binary64 (+ 1 y)))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* 1/2 y))))))
#s(approx (exp y) #s(hole binary64 (+ 1 (* y (+ 1 (* y (+ 1/2 (* 1/6 y))))))))
#s(approx (/ y 2) #s(hole binary64 (* 1/2 y)))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* x (pow y 2))))
#s(approx (+ (* (* y y) x) x) #s(hole binary64 (* (pow y 2) (+ x (/ x (pow y 2))))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(hole binary64 (exp (* 1/2 (* y (log (pow (exp y) 2)))))))
#s(approx (pow (exp y) 2) #s(hole binary64 (pow (exp y) 2)))
#s(approx (exp y) #s(hole binary64 (exp y)))
Outputs
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y))
(*.f64 (*.f64 x (neg.f64 y)) (neg.f64 y))
(*.f64 (*.f64 x (fabs.f64 y)) (fabs.f64 y))
(*.f64 (neg.f64 y) (*.f64 (neg.f64 y) x))
(*.f64 (fabs.f64 y) (*.f64 (fabs.f64 y) x))
(*.f64 (*.f64 y x) y)
(*.f64 (*.f64 y y) x)
(*.f64 y (*.f64 y x))
(*.f64 x (*.f64 y y))
(*.f64 y x)
(*.f64 x y)
y
x
(*.f64 (*.f64 x (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64)))) (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))) (*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))) x))
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 x (pow.f64 (exp.f64 y) y))
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
(fma.f64 x (cosh.f64 (*.f64 y y)) (*.f64 x (sinh.f64 (*.f64 y y))))
(+.f64 (*.f64 (cosh.f64 (*.f64 y y)) x) (*.f64 (sinh.f64 (*.f64 y y)) x))
(+.f64 (*.f64 x (cosh.f64 (*.f64 y y))) (*.f64 x (sinh.f64 (*.f64 y y))))
(*.f64 (neg.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64)))) (neg.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64)))))
(*.f64 (fabs.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64)))) (fabs.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64)))))
(*.f64 (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))) (pow.f64 (exp.f64 y) (/.f64 y #s(literal 2 binary64))))
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))) (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))))
(pow.f64 (exp.f64 (fabs.f64 y)) (fabs.f64 y))
(pow.f64 (*.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (pow.f64 (exp.f64 y) #s(literal 2 binary64))) (/.f64 y #s(literal 4 binary64)))
(pow.f64 (exp.f64 (neg.f64 y)) (neg.f64 y))
(pow.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 4 binary64))) #s(literal 2 binary64))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (+.f64 (/.f64 y #s(literal 4 binary64)) (/.f64 y #s(literal 4 binary64))))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (*.f64 #s(literal 2 binary64) (/.f64 y #s(literal 4 binary64))))
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 y) y)
(/.f64 (-.f64 (*.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y))) (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))) (-.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))
(/.f64 (+.f64 (pow.f64 (cosh.f64 (*.f64 y y)) #s(literal 3 binary64)) (pow.f64 (sinh.f64 (*.f64 y y)) #s(literal 3 binary64))) (fma.f64 (cosh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)) (-.f64 (*.f64 (sinh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))) (*.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y))))))
(exp.f64 (*.f64 y y))
(+.f64 (sinh.f64 (*.f64 y y)) (cosh.f64 (*.f64 y y)))
(+.f64 (cosh.f64 (*.f64 y y)) (sinh.f64 (*.f64 y y)))
(*.f64 (neg.f64 (exp.f64 y)) (neg.f64 (exp.f64 y)))
(*.f64 (fabs.f64 (exp.f64 y)) (fabs.f64 (exp.f64 y)))
(*.f64 (exp.f64 y) (exp.f64 y))
(pow.f64 (exp.f64 #s(literal 2 binary64)) y)
(pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) #s(literal 1 binary64))
(pow.f64 (exp.f64 y) #s(literal 2 binary64))
(fma.f64 (cosh.f64 y) (exp.f64 y) (*.f64 (sinh.f64 y) (exp.f64 y)))
(fma.f64 (exp.f64 y) (cosh.f64 y) (*.f64 (exp.f64 y) (sinh.f64 y)))
(exp.f64 (*.f64 #s(literal 2 binary64) y))
(+.f64 (*.f64 (cosh.f64 y) (exp.f64 y)) (*.f64 (sinh.f64 y) (exp.f64 y)))
(+.f64 (*.f64 (exp.f64 y) (cosh.f64 y)) (*.f64 (exp.f64 y) (sinh.f64 y)))
(+.f64 (cosh.f64 (*.f64 #s(literal 2 binary64) y)) (sinh.f64 (*.f64 #s(literal 2 binary64) y)))
(*.f64 (pow.f64 (exp.f64 y) #s(literal 1/2 binary64)) (pow.f64 (exp.f64 y) #s(literal 1/2 binary64)))
(pow.f64 (exp.f64 y) #s(literal 1 binary64))
(/.f64 (-.f64 (*.f64 (cosh.f64 y) (cosh.f64 y)) (*.f64 (sinh.f64 y) (sinh.f64 y))) (-.f64 (cosh.f64 y) (sinh.f64 y)))
(/.f64 (+.f64 (pow.f64 (cosh.f64 y) #s(literal 3 binary64)) (pow.f64 (sinh.f64 y) #s(literal 3 binary64))) (fma.f64 (cosh.f64 y) (cosh.f64 y) (-.f64 (*.f64 (sinh.f64 y) (sinh.f64 y)) (*.f64 (cosh.f64 y) (sinh.f64 y)))))
(exp.f64 y)
(+.f64 (sinh.f64 y) (cosh.f64 y))
(+.f64 (cosh.f64 y) (sinh.f64 y))
#s(literal 2 binary64)
(/.f64 (neg.f64 (neg.f64 y)) #s(literal 2 binary64))
(/.f64 (neg.f64 y) #s(literal -2 binary64))
(/.f64 y #s(literal 2 binary64))
(neg.f64 (/.f64 (neg.f64 y) #s(literal 2 binary64)))
(neg.f64 (/.f64 y #s(literal -2 binary64)))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (*.f64 (pow.f64 (exp.f64 y) y) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* (* y x) y) (*.f64 (*.f64 y x) y))
#s(approx (* y x) (*.f64 y x))
#s(approx x x)
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (*.f64 (pow.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) y) (*.f64 #s(literal 2 binary64) y)) x))
#s(approx (+ (* (* y y) x) x) (*.f64 (neg.f64 x) (fma.f64 (neg.f64 y) y #s(literal -1 binary64))))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) x)
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y x) y) x) (*.f64 y y) x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y x) y) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (+ (* (* y y) x) x) x)
#s(approx (+ (* (* y y) x) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx y y)
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) x)
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (*.f64 (fma.f64 y y #s(literal 1 binary64)) x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (fma.f64 (fma.f64 #s(literal 1/2 binary64) (*.f64 (*.f64 y x) y) x) (*.f64 y y) x))
#s(approx (* (pow (pow (exp y) 2) (/ y 2)) x) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) (*.f64 (*.f64 y x) y) (*.f64 #s(literal 1/2 binary64) x)) (*.f64 y y) x) (*.f64 y y) x))
#s(approx (pow (pow (exp y) 2) (/ y 2)) #s(literal 1 binary64))
#s(approx (pow (pow (exp y) 2) (/ y 2)) (fma.f64 y y #s(literal 1 binary64)))
#s(approx (pow (pow (exp y) 2) (/ y 2)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) #s(literal 1/2 binary64) #s(literal 1 binary64))))
#s(approx (pow (pow (exp y) 2) (/ y 2)) (fma.f64 y y (fma.f64 (pow.f64 y #s(literal 4 binary64)) (fma.f64 #s(literal 1/6 binary64) (*.f64 y y) #s(literal 1/2 binary64)) #s(literal 1 binary64))))
#s(approx (pow (exp y) 2) #s(literal 1 binary64))
#s(approx (pow (exp y) 2) (fma.f64 #s(literal 2 binary64) y #s(literal 1 binary64)))
#s(approx (pow (exp y) 2) (fma.f64 (fma.f64 #s(literal 2 binary64) y #s(literal 2 binary64)) y #s(literal 1 binary64)))
#s(approx (pow (exp y) 2) (fma.f64 (fma.f64 (fma.f64 #s(literal 4/3 binary64) y #s(literal 2 binary64)) y #s(literal 2 binary64)) y #s(literal 1 binary64)))
#s(approx (exp y) #s(literal 1 binary64))
#s(approx (exp y) (-.f64 y #s(literal -1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 #s(literal 1/2 binary64) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (exp y) (fma.f64 (fma.f64 (fma.f64 #s(literal 1/6 binary64) y #s(literal 1/2 binary64)) y #s(literal 1 binary64)) y #s(literal 1 binary64)))
#s(approx (/ y 2) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y))
#s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 (+.f64 (/.f64 x (*.f64 y y)) x) y) y))
#s(approx (pow (pow (exp y) 2) (/ y 2)) (pow.f64 (pow.f64 (exp.f64 #s(literal 1/2 binary64)) y) (*.f64 #s(literal 2 binary64) y)))
#s(approx (pow (exp y) 2) (pow.f64 (exp.f64 y) #s(literal 2 binary64)))
#s(approx (exp y) (exp.f64 y))

eval9.0ms (0.4%)

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

Compiled 1 436 to 350 computations (75.6% saved)

prune39.0ms (1.7%)

Memory
-32.7MiB live, 15.6MiB allocated; 40ms collecting garbage
Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New84084
Fresh000
Picked022
Done055
Total84791
Accuracy
100.0%
Counts
91 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
100.0%
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
100.0%
(*.f64 (pow.f64 (exp.f64 y) y) x)
81.9%
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
32.8%
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
27.0%
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
53.4%
#s(approx (* x (exp (* y y))) x)
Compiler

Compiled 195 to 91 computations (53.3% saved)

regimes17.0ms (0.7%)

Memory
-5.8MiB live, 44.6MiB allocated; 4ms collecting garbage
Counts
9 → 1
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 (pow.f64 (exp.f64 y) y) x)
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
(*.f64 (pow.f64 (*.f64 (exp.f64 y) (exp.f64 y)) (/.f64 y #s(literal 2 binary64))) x)
(fma.f64 (cosh.f64 (*.f64 y y)) x (*.f64 (sinh.f64 (*.f64 y y)) x))
Outputs
(*.f64 (pow.f64 (pow.f64 (exp.f64 y) #s(literal 2 binary64)) (/.f64 y #s(literal 2 binary64))) x)
Calls

5 calls:

5.0ms
(*.f64 y y)
3.0ms
y
3.0ms
x
3.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
2.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1(*.f64 y y)
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1x
100.0%1y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

regimes11.0ms (0.5%)

Memory
28.1MiB live, 28.1MiB allocated; 0ms collecting garbage
Counts
6 → 1
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
(*.f64 x (exp.f64 (*.f64 y y)))
(*.f64 (pow.f64 (exp.f64 y) y) x)
Outputs
(*.f64 (pow.f64 (exp.f64 y) y) x)
Calls

5 calls:

2.0ms
y
2.0ms
x
2.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
2.0ms
(*.f64 y y)
2.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1(*.f64 y y)
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1x
100.0%1y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

regimes12.0ms (0.5%)

Memory
-22.6MiB live, 23.9MiB allocated; 2ms collecting garbage
Counts
5 → 1
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
(*.f64 x (exp.f64 (*.f64 y y)))
Outputs
(*.f64 x (exp.f64 (*.f64 y y)))
Calls

5 calls:

4.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
2.0ms
x
2.0ms
y
2.0ms
(*.f64 y y)
2.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
100.0%1(*.f64 y y)
100.0%1(exp.f64 (*.f64 y y))
100.0%1(*.f64 x (exp.f64 (*.f64 y y)))
100.0%1x
100.0%1y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

regimes8.0ms (0.4%)

Memory
21.9MiB live, 21.9MiB allocated; 0ms collecting garbage
Counts
4 → 1
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
Outputs
#s(approx (* x (exp (* y y))) (fma.f64 (*.f64 y y) x x))
Calls

5 calls:

2.0ms
x
2.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
2.0ms
y
1.0ms
(*.f64 y y)
1.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
81.9%1(*.f64 y y)
81.9%1(exp.f64 (*.f64 y y))
81.9%1(*.f64 x (exp.f64 (*.f64 y y)))
81.9%1x
81.9%1y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

regimes8.0ms (0.4%)

Memory
-27.8MiB live, 19.4MiB allocated; 2ms collecting garbage
Counts
3 → 2
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
Outputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y y) x)))
Calls

5 calls:

2.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
1.0ms
y
1.0ms
x
1.0ms
(*.f64 y y)
1.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
81.7%2(exp.f64 (*.f64 y y))
81.7%2(*.f64 x (exp.f64 (*.f64 y y)))
53.4%1x
81.7%2(*.f64 y y)
81.7%2y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

regimes5.0ms (0.2%)

Memory
13.4MiB live, 13.4MiB allocated; 0ms collecting garbage
Counts
2 → 2
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
Outputs
#s(approx (* x (exp (* y y))) x)
#s(approx (* x (exp (* y y))) #s(approx (+ (* (* y y) x) x) (*.f64 (*.f64 y x) y)))
Calls

4 calls:

1.0ms
y
1.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
1.0ms
(*.f64 y y)
1.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
75.8%2(*.f64 x (exp.f64 (*.f64 y y)))
75.8%2(*.f64 y y)
75.8%2(exp.f64 (*.f64 y y))
75.8%2y
Compiler

Compiled 14 to 14 computations (0% saved)

regimes5.0ms (0.2%)

Memory
14.2MiB live, 14.2MiB allocated; 0ms collecting garbage
Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* x (exp (* y y))) x)
Outputs
#s(approx (* x (exp (* y y))) x)
Calls

5 calls:

1.0ms
y
1.0ms
x
1.0ms
(*.f64 x (exp.f64 (*.f64 y y)))
1.0ms
(*.f64 y y)
1.0ms
(exp.f64 (*.f64 y y))
Results
AccuracySegmentsBranch
53.4%1x
53.4%1(*.f64 x (exp.f64 (*.f64 y y)))
53.4%1(*.f64 y y)
53.4%1(exp.f64 (*.f64 y y))
53.4%1y
Compiler

Compiled 15 to 16 computations (-6.7% saved)

bsearch12.0ms (0.5%)

Memory
-31.6MiB live, 17.3MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
11.0ms
0.6828357226752894
11.408093638089126
Samples
7.0ms112×0valid
Compiler

Compiled 205 to 143 computations (30.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-exp: 1.0ms (41.1% of total)
ival-mult!: 1.0ms (41.1% of total)
adjust: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
1.5MiB live, 1.5MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
0.0ms
0.6828357226752894
11.408093638089126
Compiler

Compiled 205 to 143 computations (30.2% saved)

derivations132.0ms (5.9%)

Memory
36.1MiB live, 177.7MiB allocated; 5ms collecting garbage
Stop Event
done
Compiler

Compiled 107 to 32 computations (70.1% saved)

preprocess89.0ms (4%)

Memory
7.5MiB live, 195.6MiB allocated; 14ms collecting garbage
Remove

(negabs x)

(abs y)

Compiler

Compiled 782 to 382 computations (51.2% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...