Linear.Quaternion:$ctan from linear-1.19.1.3

Time bar (total: 4.6s)

start0.0ms (0%)

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

analyze82.0ms (1.8%)

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

Compiled 10 to 9 computations (10% saved)

sample928.0ms (20%)

Memory
32.7MiB live, 698.2MiB allocated; 238ms collecting garbage
Samples
616.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 426.0ms
ival-cosh: 248.0ms (58.2% of total)
ival-div!: 139.0ms (32.6% of total)
ival-mult!: 37.0ms (8.7% of total)
adjust: 2.0ms (0.5% of total)
Bogosity

preprocess54.0ms (1.2%)

Memory
6.6MiB live, 53.5MiB allocated; 9ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03283
111083
251783
3333383
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.0%
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
Symmetry

(negabs x)

(negabs y)

(negabs z)

Compiler

Compiled 16 to 14 computations (12.5% saved)

series163.0ms (3.5%)

Memory
2.7MiB live, 192.8MiB allocated; 53ms collecting garbage
Counts
7 → 18
Calls
Call 1
Inputs
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (cosh.f64 x) (/.f64 y x))
(cosh.f64 x)
x
(/.f64 y x)
y
z
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/2 binary64) (/.f64 y z))) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/24 binary64) (/.f64 y z))))) (/.f64 y z)) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/24 binary64) y)))))) x))
#s(approx (cosh x) #s(literal 1 binary64))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx x x)
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
#s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)))
#s(approx (cosh x) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx y y)
#s(approx z z)
Calls

9 calls:

TimeVariablePoint
8.0ms
x
inf
5.0ms
x
-inf
2.0ms
y
0
2.0ms
y
-inf
2.0ms
y
inf

rewrite241.0ms (5.2%)

Memory
-34.7MiB live, 198.4MiB allocated; 34ms collecting garbage
Counts
7 → 24
Calls
Call 1
Inputs
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (cosh.f64 x) (/.f64 y x))
(cosh.f64 x)
x
(/.f64 y x)
y
z
Outputs
(*.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) (/.f64 (/.f64 y x) (+.f64 z z)))
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
(*.f64 (neg.f64 (cosh.f64 x)) (/.f64 (/.f64 y x) (neg.f64 z)))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(*.f64 (cosh.f64 x) (/.f64 y x))
(*.f64 (/.f64 y x) (cosh.f64 x))
(*.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) (/.f64 y (+.f64 x x)))
(*.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) (/.f64 (/.f64 y x) #s(literal 2 binary64)))
(*.f64 (neg.f64 (/.f64 y x)) (neg.f64 (cosh.f64 x)))
(*.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 x) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 (neg.f64 x)) #s(literal 2 binary64)) (/.f64 (exp.f64 x) #s(literal 2 binary64)))
(+.f64 (/.f64 (exp.f64 x) #s(literal 2 binary64)) (/.f64 (exp.f64 (neg.f64 x)) #s(literal 2 binary64)))
(/.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 #s(literal 2 binary64)) (cosh.f64 x)) (neg.f64 #s(literal 2 binary64)))
x
(neg.f64 (neg.f64 x))
(/.f64 y x)
(/.f64 (neg.f64 y) (neg.f64 x))
(neg.f64 (neg.f64 (/.f64 y x)))
y
(neg.f64 (neg.f64 y))
z
(neg.f64 (neg.f64 z))

eval4.0ms (0.1%)

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

Compiled 587 to 177 computations (69.8% saved)

prune6.0ms (0.1%)

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

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New271037
Fresh000
Picked011
Done000
Total271138
Accuracy
100.0%
Counts
38 → 11
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.0%
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
85.3%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x)) z)
79.5%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x)) z)
46.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
96.9%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
89.6%
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
77.9%
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
84.0%
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
78.8%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
45.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
86.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
Compiler

Compiled 344 to 255 computations (25.9% saved)

series260.0ms (5.6%)

Memory
17.8MiB live, 244.3MiB allocated; 59ms collecting garbage
Counts
33 → 67
Calls
Call 1
Inputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
#s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))
#s(literal 1/2 binary64)
(/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)
(*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
y
(+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
(exp.f64 x)
x
(/.f64 #s(literal 1 binary64) (exp.f64 x))
#s(literal 1 binary64)
z
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
(/.f64 y (*.f64 x z))
(*.f64 x z)
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(/.f64 y (*.f64 z x))
(*.f64 z x)
(cosh.f64 x)
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
(neg.f64 (/.f64 y x))
(/.f64 y x)
(/.f64 (cosh.f64 x) (neg.f64 z))
(neg.f64 z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z))
(/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)
(*.f64 (pow.f64 x #s(literal 2 binary64)) y)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 y z)
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/2 binary64) (/.f64 y z))) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/24 binary64) (/.f64 y z))))) (/.f64 y z)) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/24 binary64) y)))))) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) x) (*.f64 #s(literal 2 binary64) (/.f64 y x)))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) x) (/.f64 (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) y)) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) x) (/.f64 (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))))) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) x) (/.f64 (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/12 binary64) y)))))) x))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (*.f64 #s(literal 2 binary64) y))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) y)))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))))))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/12 binary64) y)))))))
#s(approx (+ (exp x) (/ 1 (exp x))) #s(literal 2 binary64))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx (exp x) #s(literal 1 binary64))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))))))
#s(approx x x)
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)))))
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))) #s(literal 1 binary64)))))
#s(approx (* x z) (*.f64 x z))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx (neg (/ y x)) (*.f64 #s(literal -1 binary64) (/.f64 y x)))
#s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/24 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) z)))) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) z)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) z)))) (/.f64 #s(literal 1 binary64) z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)))
#s(approx (/ (* (pow x 2) y) z) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))
#s(approx (* (pow x 2) y) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))
#s(approx (pow x 2) (pow.f64 x #s(literal 2 binary64)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
#s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) x) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
#s(approx (exp x) (exp.f64 x))
#s(approx (/ 1 (exp x)) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
#s(approx (cosh x) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx (/ (cosh x) (neg z)) (*.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))) z)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal -1/2 binary64) (/.f64 y z))))))
#s(approx y y)
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))) x))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z))) x)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx z z)
#s(approx (neg z) (*.f64 #s(literal -1 binary64) z))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z)))
Calls

9 calls:

TimeVariablePoint
25.0ms
y
inf
18.0ms
x
inf
15.0ms
z
-inf
10.0ms
x
-inf
10.0ms
y
-inf

rewrite364.0ms (7.8%)

Memory
-30.4MiB live, 324.4MiB allocated; 252ms collecting garbage
Counts
33 → 138
Calls
Call 1
Inputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
#s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))
#s(literal 1/2 binary64)
(/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)
(*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
y
(+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
(exp.f64 x)
x
(/.f64 #s(literal 1 binary64) (exp.f64 x))
#s(literal 1 binary64)
z
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
(/.f64 y (*.f64 x z))
(*.f64 x z)
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(/.f64 y (*.f64 z x))
(*.f64 z x)
(cosh.f64 x)
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
(neg.f64 (/.f64 y x))
(/.f64 y x)
(/.f64 (cosh.f64 x) (neg.f64 z))
(neg.f64 z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
(/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x)
(fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z))
(/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)
(*.f64 (pow.f64 x #s(literal 2 binary64)) y)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
(/.f64 y z)
Outputs
(/.f64 #s(approx (* x y) (*.f64 #s(literal 1/2 binary64) (*.f64 x y))) z)
#s(approx (* x y) (*.f64 #s(literal 1/2 binary64) (*.f64 x y)))
(*.f64 #s(literal 1/2 binary64) (*.f64 x y))
(*.f64 (*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) (*.f64 x y))
(*.f64 (*.f64 x #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))
(*.f64 (*.f64 y #s(literal 1/2 binary64)) x)
#s(literal 1/2 binary64)
(*.f64 x y)
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 (*.f64 x y) x)
(*.f64 #s(literal 1 binary64) (*.f64 x y))
y
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) y)
(+.f64 y y)
(-.f64 y y)
y
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) y)
(+.f64 y y)
(-.f64 y y)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
x
(*.f64 x #s(literal -1 binary64))
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
z
(neg.f64 (neg.f64 z))
#s(approx (/ (* x y) z) (/.f64 y (*.f64 x z)))
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x z)
(*.f64 z x)
(*.f64 (+.f64 z z) x)
(*.f64 (*.f64 x z) #s(literal 1 binary64))
(*.f64 (*.f64 x z) x)
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x z)
(*.f64 z x)
(*.f64 (+.f64 z z) x)
(*.f64 (*.f64 x z) #s(literal 1 binary64))
(*.f64 (*.f64 x z) x)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x y)
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 (*.f64 x y) x)
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 x y)
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 (*.f64 x y) x)
(*.f64 #s(literal 1 binary64) (*.f64 x y))
(*.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) z))
(+.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 #s(literal 1 binary64) z))
(-.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 #s(literal 1 binary64) z))
(/.f64 #s(literal 1 binary64) z)
(/.f64 #s(literal 1 binary64) (neg.f64 z))
(neg.f64 z)
#s(approx (/ (* x y) z) (/.f64 (fma.f64 (*.f64 x #s(literal 1/2 binary64)) y y) (*.f64 x z)))
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 y #s(literal 1/2 binary64))) x (*.f64 y y)) (*.f64 z z)) (/.f64 (fma.f64 (*.f64 x #s(literal 1/2 binary64)) y y) (*.f64 x z)))
(*.f64 (/.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z)))) (/.f64 (fma.f64 (*.f64 x #s(literal 1/2 binary64)) y y) (*.f64 x z)))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) x)))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) x)))
(+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z)))
(*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z))
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 y #s(literal 1/2 binary64))) x (*.f64 y y)) (*.f64 z z)) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)))
(*.f64 (/.f64 (fma.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 y #s(literal 1/2 binary64))) x (*.f64 y y)) (*.f64 z z)) (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))))
(*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (fma.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 y #s(literal 1/2 binary64))) x (*.f64 y y)) (*.f64 z z)))
(*.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (fma.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 y #s(literal 1/2 binary64))) x (*.f64 y y)) (*.f64 z z)))
(*.f64 (*.f64 x y) (/.f64 #s(literal 1 binary64) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x y)
(*.f64 y x)
(*.f64 (*.f64 x y) #s(literal 1 binary64))
(*.f64 (*.f64 x y) x)
(*.f64 #s(literal 1 binary64) (*.f64 x y))
x
(*.f64 x #s(literal -1 binary64))
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal 1 binary64) x)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
(*.f64 (/.f64 #s(literal 1 binary64) z) y)
(*.f64 (/.f64 y z) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (/.f64 y z))
(*.f64 y (/.f64 #s(literal 1 binary64) z))
(+.f64 (/.f64 y z) (/.f64 y z))

eval19.0ms (0.4%)

Memory
0.7MiB live, 46.1MiB allocated; 5ms collecting garbage
Compiler

Compiled 3 783 to 782 computations (79.3% saved)

prune18.0ms (0.4%)

Memory
-18.7MiB live, 30.2MiB allocated; 8ms collecting garbage
Pruning

18 alts after pruning (14 fresh and 4 done)

PrunedKeptTotal
New14410154
Fresh145
Picked235
Done011
Total14718165
Accuracy
100.0%
Counts
165 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.0%
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
85.3%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x)) z)
46.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
35.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
96.9%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
89.6%
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
77.9%
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
46.2%
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
51.0%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
40.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
45.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
65.4%
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
7.7%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) x))))
27.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
27.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
26.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
32.3%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
86.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
Compiler

Compiled 676 to 438 computations (35.2% saved)

series188.0ms (4.1%)

Memory
21.6MiB live, 251.4MiB allocated; 38ms collecting garbage
Counts
27 → 49
Calls
Call 1
Inputs
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(/.f64 (cosh.f64 x) x)
(cosh.f64 x)
x
(/.f64 y z)
y
z
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
(*.f64 (/.f64 x z) y)
(/.f64 x z)
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
(/.f64 y x)
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
(neg.f64 (/.f64 y x))
#s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z))
(/.f64 #s(literal -1 binary64) z)
#s(literal -1 binary64)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
(/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x)
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))
#s(literal 1/2 binary64)
(/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)
(*.f64 (pow.f64 x #s(literal 2 binary64)) y)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
#s(approx (* (/ (cosh x) x) (/ y z)) (/.f64 y (*.f64 x z)))
#s(approx (* (/ (cosh x) x) (/ y z)) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (* (/ (cosh x) x) (/ y z)) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/2 binary64) (/.f64 y z))) (/.f64 y z)) x))
#s(approx (* (/ (cosh x) x) (/ y z)) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/24 binary64) (/.f64 y z))))) (/.f64 y z)) x))
#s(approx (/ (cosh x) x) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))) x))
#s(approx (cosh x) #s(literal 1 binary64))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx x x)
#s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z))
#s(approx (/ x z) (/.f64 x z))
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x))
#s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/24 binary64) y)))))) x))
#s(approx (neg (/ y x)) (*.f64 #s(literal -1 binary64) (/.f64 y x)))
#s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/24 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) z)))) (/.f64 #s(literal 1 binary64) z)))
#s(approx (/ (cosh x) (neg z)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) (-.f64 (*.f64 #s(literal -1/720 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal 1/24 binary64) (/.f64 #s(literal 1 binary64) z)))) (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) z)))) (/.f64 #s(literal 1 binary64) z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)))
#s(approx (* 1/2 (/ (* (pow x 2) y) z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)))
#s(approx (/ (* (pow x 2) y) z) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))
#s(approx (* (pow x 2) y) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))
#s(approx (pow x 2) (pow.f64 x #s(literal 2 binary64)))
#s(approx (* (/ (cosh x) x) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
#s(approx (/ (cosh x) x) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))) x)))
#s(approx (cosh x) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x)))
#s(approx (/ (cosh x) (neg z)) (*.f64 #s(literal -1/2 binary64) (/.f64 (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))) z)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal -1/2 binary64) (/.f64 y z))))))
#s(approx y y)
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))) x))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z))) x)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx z z)
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z)))
Calls

9 calls:

TimeVariablePoint
11.0ms
x
-inf
7.0ms
y
inf
4.0ms
y
-inf
3.0ms
x
inf
3.0ms
z
-inf

rewrite258.0ms (5.6%)

Memory
6.7MiB live, 248.7MiB allocated; 66ms collecting garbage
Counts
27 → 80
Calls
Call 1
Inputs
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(/.f64 (cosh.f64 x) x)
(cosh.f64 x)
x
(/.f64 y z)
y
z
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
(*.f64 (/.f64 x z) y)
(/.f64 x z)
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
(/.f64 y x)
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
(neg.f64 (/.f64 y x))
#s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z))
(/.f64 #s(literal -1 binary64) z)
#s(literal -1 binary64)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
(/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x)
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))
#s(literal 1/2 binary64)
(/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)
(*.f64 (pow.f64 x #s(literal 2 binary64)) y)
(pow.f64 x #s(literal 2 binary64))
#s(literal 2 binary64)
Outputs
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(*.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) (/.f64 (/.f64 y x) (+.f64 z z)))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) z) (/.f64 y x))
(*.f64 (/.f64 (cosh.f64 x) (neg.f64 z)) (neg.f64 (/.f64 y x)))
(*.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 x) (+.f64 x x)))
(*.f64 #s(literal 1 binary64) (/.f64 (cosh.f64 x) x))
(+.f64 (/.f64 (exp.f64 (neg.f64 x)) (+.f64 x x)) (/.f64 (exp.f64 x) (+.f64 x x)))
(+.f64 (/.f64 (exp.f64 x) (+.f64 x x)) (/.f64 (exp.f64 (neg.f64 x)) (+.f64 x x)))
(+.f64 (/.f64 (/.f64 (exp.f64 x) #s(literal 2 binary64)) x) (/.f64 (/.f64 (exp.f64 (neg.f64 x)) #s(literal 2 binary64)) x))
(*.f64 (cosh.f64 x) #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) (cosh.f64 x))
(*.f64 #s(literal 2 binary64) (/.f64 (cosh.f64 x) #s(literal 2 binary64)))
(*.f64 (/.f64 (*.f64 (cosh.f64 x) #s(literal 2 binary64)) #s(literal 0 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (exp.f64 (neg.f64 x)) #s(literal 2 binary64)) (/.f64 (exp.f64 x) #s(literal 2 binary64)))
x
(*.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))
(*.f64 (fabs.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) (fabs.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))
(*.f64 (neg.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) (neg.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))))
(fabs.f64 x)
(/.f64 y z)
(/.f64 (neg.f64 y) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 y z)))
y
(neg.f64 (neg.f64 y))
z
(neg.f64 (neg.f64 z))
#s(approx (* (cosh x) (/ y (* x z))) (/.f64 (*.f64 y x) z))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 (neg.f64 x) (neg.f64 (/.f64 y z)))
(/.f64 x z)
(/.f64 (neg.f64 x) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 x z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (* (cosh x) (/ y x)) (/.f64 y x))
(/.f64 y x)
(/.f64 (neg.f64 y) (neg.f64 x))
(neg.f64 (neg.f64 (/.f64 y x)))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (neg (cosh x)) z) (/.f64 #s(literal -1 binary64) z)))
(/.f64 (neg.f64 y) x)
(/.f64 y (neg.f64 x))
(neg.f64 (/.f64 y x))
#s(approx (/ (neg (cosh x)) z) (/.f64 #s(literal -1 binary64) z))
(/.f64 #s(literal -1 binary64) z)
(/.f64 (neg.f64 #s(literal -1 binary64)) (neg.f64 z))
(neg.f64 (neg.f64 (/.f64 #s(literal -1 binary64) z)))
#s(literal -1 binary64)
(neg.f64 (neg.f64 #s(literal -1 binary64)))
#s(approx (* (cosh x) (/ y (* x z))) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
(/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x)
#s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (*.f64 x x) y) z))
(*.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) x) x) (/.f64 y z))
(*.f64 (*.f64 (*.f64 x x) y) (/.f64 #s(literal 1/2 binary64) z))
(*.f64 (/.f64 (*.f64 (*.f64 x x) y) z) #s(literal 1/2 binary64))
(*.f64 (neg.f64 (*.f64 (*.f64 x x) y)) (/.f64 #s(literal 1/2 binary64) (neg.f64 z)))
#s(literal 1/2 binary64)
(*.f64 (*.f64 x x) (/.f64 y z))
(*.f64 (*.f64 y x) (/.f64 x z))
(*.f64 (/.f64 y z) (*.f64 x x))
(*.f64 (/.f64 (*.f64 y x) z) x)
(*.f64 (*.f64 (/.f64 y z) (neg.f64 x)) (neg.f64 x))
(*.f64 (*.f64 x x) y)
(*.f64 (*.f64 y x) x)
(*.f64 x (*.f64 y x))
(*.f64 y (*.f64 x x))
(*.f64 (neg.f64 (*.f64 y x)) (neg.f64 x))
(*.f64 x x)
(*.f64 (neg.f64 x) (neg.f64 x))
(*.f64 (pow.f64 (neg.f64 x) #s(literal 1 binary64)) (pow.f64 (neg.f64 x) #s(literal 1 binary64)))
(*.f64 (*.f64 x (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64)))) (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))))
(*.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) (*.f64 (pow.f64 x (/.f64 #s(literal 1 binary64) #s(literal 2 binary64))) x))
#s(literal 2 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 2 binary64))
(*.f64 #s(literal 2 binary64) #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 (cosh.f64 (/.f64 (+.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))) (cosh.f64 (/.f64 (-.f64 #s(literal 0 binary64) #s(literal 0 binary64)) #s(literal 2 binary64)))))
(+.f64 #s(literal 1 binary64) #s(literal 1 binary64))

eval30.0ms (0.6%)

Memory
9.9MiB live, 56.0MiB allocated; 4ms collecting garbage
Compiler

Compiled 3 675 to 667 computations (81.9% saved)

prune28.0ms (0.6%)

Memory
-10.5MiB live, 38.6MiB allocated; 12ms collecting garbage
Pruning

19 alts after pruning (11 fresh and 8 done)

PrunedKeptTotal
New1423145
Fresh189
Picked145
Done044
Total14419163
Accuracy
100.0%
Counts
163 → 19
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.0%
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
85.3%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x)) z)
46.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
35.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
96.9%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
89.6%
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
51.0%
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
77.9%
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
46.2%
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
40.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
51.0%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
45.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
65.4%
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
7.7%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) x))))
27.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
27.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
32.3%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
86.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
26.1%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
Compiler

Compiled 652 to 414 computations (36.5% saved)

series239.0ms (5.2%)

Memory
12.8MiB live, 335.6MiB allocated; 58ms collecting garbage
Counts
31 → 66
Calls
Call 1
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z)))
#s(literal 1/2 binary64)
(/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))
(*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
y
(+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
(exp.f64 x)
x
(/.f64 #s(literal 1 binary64) (exp.f64 x))
#s(literal 1 binary64)
(*.f64 x z)
z
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z))
(/.f64 (*.f64 x y) z)
(*.f64 x y)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x)
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z))
(/.f64 y z)
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x)
#s(approx (cosh x) #s(literal 1 binary64))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
(/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x)
#s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z))
(/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)
(*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x))
(*.f64 y #s(literal 1/2 binary64))
(*.f64 x x)
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/2 binary64) (/.f64 y z))) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/24 binary64) (/.f64 y z))))) (/.f64 y z)) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) (* x z)) (*.f64 #s(literal 2 binary64) (/.f64 y (*.f64 x z))))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) (* x z)) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 y z) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) (* x z)) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/12 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)))) x))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) (* x z)) (/.f64 (fma.f64 #s(literal 2 binary64) (/.f64 y z) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (*.f64 #s(literal 1/12 binary64) (/.f64 y z))) (/.f64 y z)))) x))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (*.f64 #s(literal 2 binary64) y))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) y)))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))))))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (fma.f64 #s(literal 2 binary64) y (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/360 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/12 binary64) y)))))))
#s(approx (+ (exp x) (/ 1 (exp x))) #s(literal 2 binary64))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (pow.f64 x #s(literal 2 binary64))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/360 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx (exp x) #s(literal 1 binary64))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) x))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) x)))))
#s(approx (exp x) (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/6 binary64) x)))))))
#s(approx x x)
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) x)))
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal 1/2 binary64) x) #s(literal 1 binary64)))))
#s(approx (/ 1 (exp x)) (+.f64 #s(literal 1 binary64) (*.f64 x (-.f64 (*.f64 x (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -1/6 binary64) x))) #s(literal 1 binary64)))))
#s(approx (* x z) (*.f64 x z))
#s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z))
#s(approx (* x y) (*.f64 x y))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)))
#s(approx (/ (cosh x) x) (/.f64 #s(literal 1 binary64) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))) x))
#s(approx (/ (cosh x) x) (/.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))) x))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64)))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 1/24 binary64) (pow.f64 x #s(literal 2 binary64)))))))
#s(approx (cosh x) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) (+.f64 #s(literal 1/24 binary64) (*.f64 #s(literal 1/720 binary64) (pow.f64 x #s(literal 2 binary64)))))))))
#s(approx (/ (* (* y 1/2) (* x x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z)))
#s(approx (* (* y 1/2) (* x x)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y)))
#s(approx (* x x) (pow.f64 x #s(literal 2 binary64)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
#s(approx (/ (* y (+ (exp x) (/ 1 (exp x)))) (* x z)) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z)))
#s(approx (* y (+ (exp x) (/ 1 (exp x)))) (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx (+ (exp x) (/ 1 (exp x))) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
#s(approx (exp x) (exp.f64 x))
#s(approx (/ 1 (exp x)) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 x y) z)))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (/.f64 y z) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)))))
#s(approx (/ (cosh x) x) (*.f64 #s(literal 1/2 binary64) (/.f64 (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))) x)))
#s(approx (cosh x) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) (/.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) z)) (*.f64 #s(literal -1/2 binary64) (/.f64 y z))))))
#s(approx y y)
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))) x))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 y (fma.f64 #s(literal 1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z) (/.f64 #s(literal 1 binary64) z))))
#s(approx (/ (/ (+ (* (* 1/2 x) (* x y)) y) z) x) (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64))))) (*.f64 x z)))
#s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 y (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 x #s(literal 2 binary64))))) z))
#s(approx (* y 1/2) (*.f64 #s(literal 1/2 binary64) y))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z))) x)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (/.f64 (pow.f64 x #s(literal 2 binary64)) z)) (/.f64 #s(literal 1 binary64) z)))))
#s(approx (/ (/ (+ (* (* 1/2 x) (* x y)) y) z) x) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1 binary64))) (*.f64 x z))))
#s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (*.f64 #s(literal -1 binary64) (/.f64 (*.f64 y (-.f64 (*.f64 #s(literal -1/2 binary64) (pow.f64 x #s(literal 2 binary64))) #s(literal 1 binary64))) z)))
#s(approx z z)
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z)))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z))
#s(approx (/ (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) x) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) (*.f64 x z))))
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal -1 binary64) (/.f64 (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) z)))
Calls

9 calls:

TimeVariablePoint
12.0ms
x
-inf
11.0ms
y
-inf
8.0ms
x
inf
7.0ms
y
0
7.0ms
y
inf

rewrite354.0ms (7.6%)

Memory
10.0MiB live, 332.6MiB allocated; 124ms collecting garbage
Counts
31 → 100
Calls
Call 1
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
(*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z)))
#s(literal 1/2 binary64)
(/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))
(*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x))))
y
(+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))
(exp.f64 x)
x
(/.f64 #s(literal 1 binary64) (exp.f64 x))
#s(literal 1 binary64)
(*.f64 x z)
z
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z))
(/.f64 (*.f64 x y) z)
(*.f64 x y)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x)
#s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z))
(/.f64 y z)
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x)
#s(approx (cosh x) #s(literal 1 binary64))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
(/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x)
#s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z))
(/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)
(*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x))
(*.f64 y #s(literal 1/2 binary64))
(*.f64 x x)
Outputs
#s(approx (/ y (* x z)) (/.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x z)))
(*.f64 (/.f64 #s(literal 1/2 binary64) x) (/.f64 y z))
(*.f64 (/.f64 y x) (/.f64 #s(literal 1/2 binary64) z))
(*.f64 (/.f64 #s(literal 1/2 binary64) z) (/.f64 y x))
(*.f64 (/.f64 y z) (/.f64 #s(literal 1/2 binary64) x))
(*.f64 #s(literal 1/2 binary64) (/.f64 y (*.f64 x z)))
#s(literal 1/2 binary64)
(*.f64 (/.f64 #s(literal 1 binary64) x) (/.f64 y z))
(*.f64 (/.f64 y x) (/.f64 #s(literal 1 binary64) z))
(*.f64 (/.f64 #s(literal 1 binary64) z) (/.f64 y x))
(*.f64 (/.f64 y z) (/.f64 #s(literal 1 binary64) x))
(*.f64 (/.f64 #s(literal 1 binary64) (*.f64 x z)) y)
y
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) y)
(*.f64 y y)
(fabs.f64 y)
y
(*.f64 y #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) y)
(*.f64 y y)
(fabs.f64 y)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
x
(*.f64 x x)
(*.f64 x #s(literal -1 binary64))
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 2 binary64)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) #s(literal 1 binary64))
(fabs.f64 #s(literal 1 binary64))
(*.f64 x z)
(*.f64 z x)
(*.f64 (+.f64 z z) x)
(*.f64 (*.f64 x z) #s(literal 1 binary64))
(*.f64 (neg.f64 z) x)
z
(neg.f64 (neg.f64 z))
#s(approx (/ y (* x z)) #s(approx (/ (* y x) z) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* y x) z) (/.f64 (*.f64 x y) z))
(*.f64 (*.f64 x y) (/.f64 x z))
(*.f64 (/.f64 x z) y)
(*.f64 (/.f64 y z) x)
(*.f64 x (/.f64 y z))
(*.f64 y (/.f64 x z))
(*.f64 x y)
(*.f64 y x)
(*.f64 (*.f64 x y) x)
(*.f64 (*.f64 x y) y)
(*.f64 (*.f64 x y) (*.f64 x y))
#s(approx (/ y (* x z)) (/.f64 #s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 y z)) x))
(/.f64 #s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 y z)) x)
#s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 y z))
(*.f64 (/.f64 #s(literal 1 binary64) z) y)
(*.f64 (/.f64 y z) #s(literal 1 binary64))
(*.f64 (/.f64 y z) y)
(*.f64 #s(literal 1 binary64) (/.f64 y z))
(*.f64 y (/.f64 #s(literal 1 binary64) z))
(*.f64 (/.f64 #s(approx 2 #s(literal 1 binary64)) x) (/.f64 y z))
(/.f64 #s(approx 2 #s(literal 1 binary64)) x)
#s(approx 2 #s(literal 1 binary64))
#s(approx (/ y (* x z)) (/.f64 #s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) x) z)) x))
(/.f64 #s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) x) z)) x)
#s(approx (/ (+ y (* y (* x 1/2))) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) x) z))
(*.f64 (*.f64 x #s(literal 1/2 binary64)) (/.f64 y z))
(*.f64 (*.f64 y #s(literal 1/2 binary64)) (/.f64 x z))
(*.f64 (*.f64 x y) (/.f64 #s(literal 1/2 binary64) z))
(*.f64 (/.f64 x z) (*.f64 y #s(literal 1/2 binary64)))
(*.f64 (/.f64 y z) (*.f64 x #s(literal 1/2 binary64)))
(*.f64 (*.f64 y #s(literal 1/2 binary64)) x)
(*.f64 (*.f64 x #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))
(*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x y))
(*.f64 (*.f64 x y) #s(literal 1/2 binary64))
(*.f64 y #s(literal 1/2 binary64))
(*.f64 #s(literal 1/2 binary64) y)
(*.f64 (*.f64 #s(literal 1 binary64) #s(literal 1/2 binary64)) y)
(*.f64 (*.f64 y #s(literal 1/2 binary64)) #s(literal 1 binary64))
(*.f64 (neg.f64 #s(literal 1/2 binary64)) y)
x
(*.f64 x x)
(*.f64 x #s(literal -1 binary64))
(*.f64 x #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)

eval24.0ms (0.5%)

Memory
32.9MiB live, 77.9MiB allocated; 9ms collecting garbage
Compiler

Compiled 4 570 to 813 computations (82.2% saved)

prune55.0ms (1.2%)

Memory
-30.3MiB live, 32.2MiB allocated; 51ms collecting garbage
Pruning

23 alts after pruning (10 fresh and 13 done)

PrunedKeptTotal
New1635168
Fresh156
Picked055
Done088
Total16423187
Accuracy
100.0%
Counts
187 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
84.0%
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
85.3%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x)) z)
46.2%
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
96.9%
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
89.6%
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
51.0%
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
77.9%
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
46.2%
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
40.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
51.0%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
51.0%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
45.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
65.4%
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
7.7%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) x))))
27.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
27.6%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
32.3%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
86.1%
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
35.9%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
31.8%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
35.2%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
39.6%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
26.1%
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
Compiler

Compiled 480 to 311 computations (35.2% saved)

regimes214.0ms (4.6%)

Memory
-27.2MiB live, 498.6MiB allocated; 34ms collecting garbage
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
2 → 2
3 → 2
5 → 2
6 → 2
14 → 2
18 → 3
19 → 2
20 → 2
25 → 2
26 → 2
29 → 2
Calls
Call 1
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
Call 2
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
Call 3
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
Call 4
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
Call 5
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
Outputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
Call 6
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
Outputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
Call 7
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
Outputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
Call 8
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
Outputs
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
Call 9
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
Outputs
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
Call 10
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
Outputs
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
Call 11
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
Outputs
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
Call 12
Inputs
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 x y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 x z) y))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 y z) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 y (*.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (/.f64 y z)) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 y x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x x) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) x) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) y) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (*.f64 x y) (/.f64 x z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (/.f64 #s(literal 1 binary64) z) (*.f64 x y)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 (/.f64 #s(literal 1 binary64) z) y)) x))
(*.f64 (/.f64 #s(approx (cosh x) #s(literal 1 binary64)) x) (/.f64 y z))
(*.f64 (neg.f64 (/.f64 y x)) #s(approx (/ (cosh x) (neg z)) (/.f64 #s(literal -1 binary64) z)))
#s(approx (/ (* (cosh x) (/ y x)) z) #s(approx (* (/ x z) y) (/.f64 (*.f64 (*.f64 x y) (*.f64 x y)) z)))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 (*.f64 x #s(literal 1/2 binary64)) (*.f64 x y))) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (/ (+ (* (* 1/2 x) (* x y)) y) z) (/.f64 (*.f64 (*.f64 y #s(literal 1/2 binary64)) (*.f64 x x)) z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (+.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (/.f64 y (*.f64 x z))))
(*.f64 (/.f64 y (*.f64 z x)) (cosh.f64 x))
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
(*.f64 (neg.f64 (/.f64 y x)) (/.f64 (cosh.f64 x) (neg.f64 z)))
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 #s(approx (+ (* 1/2 (/ (* (pow x 2) y) z)) (/ y z)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z))) x))
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y))) x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (/.f64 (fma.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 (pow.f64 x #s(literal 2 binary64)) y) z) (/.f64 y z)) x))
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) (*.f64 x z))))
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
(/.f64 #s(approx (* (cosh x) (/ y x)) (/.f64 (+.f64 y (*.f64 (pow.f64 x #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 x #s(literal 2 binary64)) y) (*.f64 #s(literal 1/2 binary64) y)))) x)) z)
#s(approx (/ (* (cosh x) (/ y x)) z) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) (/.f64 (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (*.f64 (fma.f64 (/.f64 (*.f64 #s(literal 1/2 binary64) (*.f64 x y)) z) (*.f64 (fma.f64 x #s(literal 1/2 binary64) #s(literal 1 binary64)) (/.f64 y z)) (/.f64 (*.f64 y y) (*.f64 z z))) x))))
Outputs
(/.f64 #s(approx (* (cosh x) (/ y x)) (*.f64 #s(literal 1/2 binary64) (/.f64 (*.f64 y (+.f64 (exp.f64 x) (/.f64 #s(literal 1 binary64) (exp.f64 x)))) x))) z)
(*.f64 (/.f64 (cosh.f64 x) x) (/.f64 y z))
Calls

45 calls:

13.0ms
x
12.0ms
z
9.0ms
x
8.0ms
x
8.0ms
y
Results
AccuracySegmentsBranch
26.1%1x
26.1%1(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
26.1%1(*.f64 (cosh.f64 x) (/.f64 y x))
26.1%1y
26.1%1z
30.5%2z
29.7%2(*.f64 (cosh.f64 x) (/.f64 y x))
29.7%2(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
27.6%1x
30.5%2y
30.5%2z
31.6%2y
30.8%2(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
30.8%2(*.f64 (cosh.f64 x) (/.f64 y x))
31.6%2x
66.3%2x
55.4%2y
60.5%3(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
64.2%3(*.f64 (cosh.f64 x) (/.f64 y x))
55.4%2z
67.0%2x
79.8%2x
67.9%2y
76.7%3(*.f64 (cosh.f64 x) (/.f64 y x))
76.3%3(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
82.1%3x
79.6%2z
83.8%3(*.f64 (cosh.f64 x) (/.f64 y x))
80.7%2y
90.1%2x
83.8%3(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
94.0%2(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
93.1%2(*.f64 (cosh.f64 x) (/.f64 y x))
94.0%2(*.f64 (cosh.f64 x) (/.f64 y x))
95.4%3x
94.0%2(*.f64 (cosh.f64 x) (/.f64 y x))
94.0%2(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
94.7%2x
92.6%2z
93.6%2y
96.9%1(*.f64 (cosh.f64 x) (/.f64 y x))
96.9%1(/.f64 (*.f64 (cosh.f64 x) (/.f64 y x)) z)
96.9%1x
99.8%2y
96.9%1z
Compiler

Compiled 757 to 350 computations (53.8% saved)

bsearch10.0ms (0.2%)

Memory
23.3MiB live, 23.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
9.0ms
7.865681217217969e+72
1.5463891683430377e+75
Samples
5.0ms112×0valid
Compiler

Compiled 221 to 188 computations (14.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-cosh: 1.0ms (37.5% of total)
ival-div!: 1.0ms (37.5% of total)
adjust: 0.0ms (0% of total)
ival-mult!: 0.0ms (0% of total)

bsearch48.0ms (1%)

Memory
-21.4MiB live, 28.1MiB allocated; 46ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
47.0ms
9.882609924922875e+150
2.0413694677826678e+154
Samples
6.0ms128×0valid
Compiler

Compiled 379 to 277 computations (26.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 3.0ms
ival-cosh: 1.0ms (33.6% of total)
ival-div!: 1.0ms (33.6% of total)
adjust: 0.0ms (0% of total)
ival-mult!: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.890840902315977e+256
8.289182243700988e+258
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch0.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated; 0ms collecting garbage
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.972051710619214e-17
2.4169750951589863e-13
Compiler

Compiled 11 to 13 computations (-18.2% saved)

bsearch4.0ms (0.1%)

Memory
11.4MiB live, 11.4MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
4.0ms
7.16555514380493e+150
9.882609924922875e+150
Samples
2.0ms48×0valid
Compiler

Compiled 101 to 82 computations (18.8% saved)

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

bsearch22.0ms (0.5%)

Memory
2.1MiB live, 51.7MiB allocated; 6ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
7.908849235128703e+77
6.120411220812415e+78
10.0ms
198.03971509983904
11656.675559196241
Samples
13.0ms208×0valid
Compiler

Compiled 539 to 368 computations (31.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0ms
ival-cosh: 3.0ms (56.2% of total)
ival-div!: 2.0ms (37.5% of total)
ival-mult!: 1.0ms (18.7% of total)
adjust: 0.0ms (0% of total)

bsearch15.0ms (0.3%)

Memory
-12.8MiB live, 34.0MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
14.0ms
0.0003838895950554671
198.03971509983904
Samples
7.0ms144×0valid
Compiler

Compiled 317 to 238 computations (24.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 4.0ms
ival-cosh: 2.0ms (49.5% of total)
ival-mult!: 1.0ms (24.8% of total)
ival-div!: 1.0ms (24.8% of total)
adjust: 0.0ms (0% of total)

bsearch1.0ms (0%)

Memory
2.0MiB live, 1.9MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.0003838895950554671
198.03971509983904
Compiler

Compiled 245 to 202 computations (17.6% saved)

bsearch1.0ms (0%)

Memory
2.4MiB live, 2.4MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
1.0ms
0.0003838895950554671
198.03971509983904
Compiler

Compiled 263 to 211 computations (19.8% saved)

bsearch3.0ms (0.1%)

Memory
8.3MiB live, 8.3MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
3.0ms
1.0529608103332239e-89
4.390720711690829e-88
Samples
1.0ms32×0valid
Compiler

Compiled 67 to 57 computations (14.9% saved)

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

bsearch2.0ms (0%)

Memory
4.0MiB live, 4.0MiB allocated; 0ms collecting garbage
Algorithm
binary-search
Stop Event
predicate-same
Steps
TimeLeftRight
1.0ms
1.6376894842954226e-21
5.392039501311353e-20
Samples
1.0ms16×0valid
Compiler

Compiled 45 to 38 computations (15.6% saved)

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

derivations3.0ms (0.1%)

Memory
9.1MiB live, 9.1MiB allocated; 0ms collecting garbage
Stop Event
fuel
Compiler

Compiled 426 to 86 computations (79.8% saved)

preprocess1.0s (21.6%)

Memory
-18.6MiB live, 1 413.5MiB allocated; 449ms collecting garbage
Remove

(negabs z)

(negabs y)

(negabs x)

Compiler

Compiled 3 998 to 1 987 computations (50.3% saved)

end0.0ms (0%)

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

Profiling

Loading profile data...