ab-angle->ABCF B

Time bar (total: 2.6s)

start0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated

analyze0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 25 to 14 computations (44% saved)

sample1.3s (49.6%)

Memory
41.5MiB live, 1 635.6MiB allocated
Samples
980.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 777.0ms
ival-sinu: 214.0ms (27.5% of total)
ival-pow2: 180.0ms (23.2% of total)
ival-cosu: 179.0ms (23% of total)
ival-mult: 152.0ms (19.6% of total)
ival-sub: 39.0ms (5% of total)
ival-true: 6.0ms (0.8% of total)
exact: 5.0ms (0.6% of total)
ival-assert: 3.0ms (0.4% of total)
Bogosity

explain196.0ms (7.6%)

Memory
21.4MiB live, 257.5MiB allocated
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
1230-0-(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
1230-0-(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
330-0-(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
150-0-(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
00-0-(pow.f64 b #s(literal 2 binary64))
00-0-(/.f64 angle #s(literal 180 binary64))
00-0-a
00-0-(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
00-0-(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
00-0-#s(literal 180 binary64)
00-0-angle
00-0-(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
00-0-(pow.f64 a #s(literal 2 binary64))
00-0-#s(literal 2 binary64)
00-0-b
00-0-(PI.f64)
Explanations
Click to see full explanations table
OperatorSubexpressionExplanationCount
cos.f64(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))sensitivity1231
sin.f64(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))sensitivity1231
*.f64(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))n*o290
-.f64(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))nan-rescue150
(pow.f64 b #s(literal 2 binary64))overflow64
(pow.f64 a #s(literal 2 binary64))overflow68
*.f64(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))o*u40
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))overflow117
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))overflow117
(pow.f64 b #s(literal 2 binary64))overflow64
(pow.f64 a #s(literal 2 binary64))overflow68
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))underflow5
Confusion
Predicted +Predicted -
+1260
-3199
Precision
0.802547770700637
Recall
1.0
Confusion?
Predicted +Predicted MaybePredicted -
+12600
-31198
Precision?
0.7974683544303798
Recall?
1.0
Freqs
test
numberfreq
099
130
2117
310
Total Confusion?
Predicted +Predicted MaybePredicted -
+100
-000
Precision?
1.0
Recall?
1.0
Samples
79.0ms512×0valid
Compiler

Compiled 288 to 68 computations (76.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 55.0ms
ival-mult: 12.0ms (21.8% of total)
ival-cosu: 12.0ms (21.8% of total)
ival-sinu: 12.0ms (21.8% of total)
ival-pow2: 10.0ms (18.2% of total)
ival-div: 4.0ms (7.3% of total)
ival-pi: 2.0ms (3.6% of total)
ival-sub: 2.0ms (3.6% of total)
exact: 1.0ms (1.8% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)

preprocess3.0ms (0.1%)

Memory
5.4MiB live, 5.4MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Compiler

Compiled 23 to 16 computations (30.4% saved)

eval0.0ms (0%)

Memory
0.1MiB live, 0.1MiB allocated
Compiler

Compiled 0 to 3 computations (-∞% saved)

prune1.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Compiler

Compiled 23 to 16 computations (30.4% saved)

simplify1.0ms (0%)

Memory
1.0MiB live, 1.0MiB allocated
Algorithm
egg-herbie
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
cost-diff0
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

localize51.0ms (2%)

Memory
-20.8MiB live, 57.0MiB allocated
Localize:

Found 4 expressions of interest:

NewMetricScoreProgram
accuracy3.4570126724718526
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
accuracy7.8948069303304464
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Samples
38.0ms256×0valid
Compiler

Compiled 176 to 34 computations (80.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 6.0ms (21.7% of total)
ival-sinu: 6.0ms (21.7% of total)
ival-pow2: 6.0ms (21.7% of total)
ival-cosu: 5.0ms (18.1% of total)
ival-div: 2.0ms (7.2% of total)
ival-pi: 1.0ms (3.6% of total)
ival-sub: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series21.0ms (0.8%)

Memory
-13.2MiB live, 24.7MiB allocated
Counts
6 → 40
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Calls

9 calls:

TimeVariablePointExpression
4.0ms
angle
@0
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
3.0ms
angle
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
3.0ms
a
@0
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
a
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
b
@0
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))

simplify1.0ms (0%)

Memory
1.3MiB live, 1.3MiB allocated
Algorithm
egg-herbie
Counts
40 → 6
Calls
Call 1
Inputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(* 2 (pow b 2))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

rewrite0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Counts
6 → 6
Calls
Call 1
Inputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

eval1.0ms (0.1%)

Memory
2.3MiB live, 2.3MiB allocated
Compiler

Compiled 349 to 41 computations (88.3% saved)

prune4.0ms (0.2%)

Memory
6.6MiB live, 6.6MiB allocated
Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New7512
Fresh000
Picked011
Done000
Total7613
Accuracy
62.3%
Counts
13 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.0%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.8%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.2%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
52.3%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Compiler

Compiled 351 to 242 computations (31.1% saved)

simplify2.0ms (0.1%)

Memory
2.9MiB live, 2.9MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
cost-diff0
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
cost-diff0
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
cost-diff0
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(pow.f64 b #s(literal 2 binary64))
cost-diff0
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
cost-diff0
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(literal 2 binary64)
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

localize75.0ms (2.9%)

Memory
14.2MiB live, 92.3MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy7.8948069303304464
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy62.21804283279172
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy7.8948069303304464
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy62.43267740510884
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy0.3046875
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
accuracy3.4570126724718526
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy46.09754759504071
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
accuracy0.3046875
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
accuracy3.4570126724718526
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
accuracy3.4570126724718526
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
accuracy7.8948069303304464
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Samples
52.0ms256×0valid
Compiler

Compiled 849 to 57 computations (93.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 7.0ms (24.9% of total)
ival-sinu: 6.0ms (21.3% of total)
ival-cosu: 5.0ms (17.8% of total)
ival-pow2: 5.0ms (17.8% of total)
ival-div: 2.0ms (7.1% of total)
ival-pi: 1.0ms (3.6% of total)
ival-sub: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series17.0ms (0.7%)

Memory
-14.7MiB live, 23.9MiB allocated
Counts
18 → 40
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(pow.f64 b #s(literal 2 binary64))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Calls

9 calls:

TimeVariablePointExpression
3.0ms
b
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (cos (* (PI) (/ angle 180))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (* (PI) (/ angle 180)))
2.0ms
b
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (cos (* (PI) (/ angle 180))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (* (PI) (/ angle 180)))
2.0ms
a
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (cos (* (PI) (/ angle 180))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (* (PI) (/ angle 180)))
2.0ms
a
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (cos (* (PI) (/ angle 180))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (* (PI) (/ angle 180)))
2.0ms
angle
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (cos (* (PI) (/ angle 180))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (* (PI) (/ angle 180)))

simplify1.0ms (0%)

Memory
1.9MiB live, 1.9MiB allocated
Algorithm
egg-herbie
Counts
40 → 18
Calls
Call 1
Inputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(* 2 (pow b 2))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(pow b 2)
(pow.f64 b #s(literal 2 binary64))
(+ (* -1 (pow a 2)) (pow b 2))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -2 (pow a 2))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -1 (pow a 2))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(- (pow b 2) (pow a 2))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))

rewrite1.0ms (0%)

Memory
2.2MiB live, 2.2MiB allocated
Counts
18 → 18
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(pow.f64 b #s(literal 2 binary64))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(pow.f64 b #s(literal 2 binary64))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))

eval7.0ms (0.3%)

Memory
11.3MiB live, 11.3MiB allocated
Compiler

Compiled 2 819 to 105 computations (96.3% saved)

prune18.0ms (0.7%)

Memory
-12.2MiB live, 26.5MiB allocated
Pruning

23 alts after pruning (17 fresh and 6 done)

PrunedKeptTotal
New491766
Fresh000
Picked055
Done011
Total492372
Accuracy
65.9%
Counts
72 → 23
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.0%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.8%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.2%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.1%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
27.8%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
52.3%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
34.2%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.9%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
7.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
28.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
Compiler

Compiled 1 967 to 1 013 computations (48.5% saved)

simplify2.0ms (0.1%)

Memory
3.5MiB live, 3.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(/.f64 angle #s(literal 180 binary64))
cost-diff0
(PI.f64)
cost-diff0
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)

localize80.0ms (3.1%)

Memory
12.9MiB live, 93.5MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy44.248386422235406
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy46.09754759504071
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
accuracy7.8948069303304464
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy62.210393682083364
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy7.8948069303304464
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy29.297853980892576
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
accuracy0.0
(/.f64 angle #s(literal 180 binary64))
accuracy0.0
(PI.f64)
accuracy0.3046875
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
accuracy62.158874303629254
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy44.248386422235406
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
Samples
56.0ms256×0valid
Compiler

Compiled 1 207 to 60 computations (95% saved)

Precisions
Click to see histograms. Total time spent on operations: 34.0ms
ival-mult: 13.0ms (37.8% of total)
ival-sinu: 6.0ms (17.5% of total)
ival-cosu: 5.0ms (14.6% of total)
ival-pow2: 5.0ms (14.6% of total)
ival-div: 2.0ms (5.8% of total)
ival-pi: 1.0ms (2.9% of total)
ival-sub: 1.0ms (2.9% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series18.0ms (0.7%)

Memory
-13.8MiB live, 24.8MiB allocated
Counts
21 → 41
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
(* 1/180 (* angle (PI)))
(* 1/180 angle)
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Calls

9 calls:

TimeVariablePointExpression
3.0ms
b
@0
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (PI) (/ angle 180)) (PI) (/ angle 180) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
b
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (PI) (/ angle 180)) (PI) (/ angle 180) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
b
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (PI) (/ angle 180)) (PI) (/ angle 180) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
a
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (PI) (/ angle 180)) (PI) (/ angle 180) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))
2.0ms
a
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (PI) (/ angle 180)) (PI) (/ angle 180) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180))) (sin (* (PI) (/ angle 180))))

simplify1.0ms (0.1%)

Memory
2.0MiB live, 2.0MiB allocated
Algorithm
egg-herbie
Counts
41 → 21
Calls
Call 1
Inputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
(* 1/180 (* angle (PI)))
(* 1/180 angle)
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(cos (* 1/180 (* angle (PI))))
(sin (* 1/180 (* angle (PI))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* 2 (pow b 2))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(pow b 2)
(PI.f64)
(+ (* -1 (pow a 2)) (pow b 2))
(/.f64 angle #s(literal 180 binary64))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(* -2 (pow a 2))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -1 (pow a 2))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(- (pow b 2) (pow a 2))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

rewrite2.0ms (0.1%)

Memory
2.6MiB live, 2.6MiB allocated
Counts
21 → 21
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

eval7.0ms (0.3%)

Memory
12.7MiB live, 12.7MiB allocated
Compiler

Compiled 4 218 to 98 computations (97.7% saved)

prune22.0ms (0.9%)

Memory
-5.8MiB live, 32.8MiB allocated
Pruning

30 alts after pruning (19 fresh and 11 done)

PrunedKeptTotal
New64872
Fresh11112
Picked055
Done066
Total653095
Accuracy
66.3%
Counts
95 → 30
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.0%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.8%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.2%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.1%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
3.1%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
27.8%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
52.3%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
34.2%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
52.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.9%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
7.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
28.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
23.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
24.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
Compiler

Compiled 2 510 to 1 238 computations (50.7% saved)

simplify3.0ms (0.1%)

Memory
4.5MiB live, 4.5MiB allocated
Algorithm
egg-herbie
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(pow.f64 b #s(literal 2 binary64))
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
cost-diff0
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
cost-diff0
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
cost-diff0
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
cost-diff0
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(pow.f64 b #s(literal 2 binary64))
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
cost-diff0
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
cost-diff0
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
cost-diff0
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
cost-diff0
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
cost-diff0
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
(pow.f64 a #s(literal 2 binary64))
a
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
b
#s(literal 2 binary64)
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
#s(literal 2 binary64)
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(PI.f64)
(/.f64 angle #s(literal 180 binary64))
angle
#s(literal 180 binary64)

localize88.0ms (3.4%)

Memory
-10.5MiB live, 135.7MiB allocated
Localize:

Found 20 expressions of interest:

NewMetricScoreProgram
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy24.154030790811216
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy62.210393682083364
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy0.3046875
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
accuracy27.37181816252783
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy29.297853980892576
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
accuracy7.8948069303304464
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy27.049848645940852
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy62.3201446265508
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
accuracy0.0
(pow.f64 b #s(literal 2 binary64))
accuracy19.365537050906102
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
accuracy29.297853980892576
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
accuracy44.04477268936318
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy44.248386422235406
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
accuracy46.09754759504071
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
accuracy46.310807186559394
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
Samples
53.0ms256×0valid
Compiler

Compiled 1 530 to 66 computations (95.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 28.0ms
ival-mult: 6.0ms (21.4% of total)
ival-sinu: 6.0ms (21.4% of total)
ival-cosu: 5.0ms (17.9% of total)
ival-pow2: 5.0ms (17.9% of total)
ival-div: 3.0ms (10.7% of total)
ival-pi: 1.0ms (3.6% of total)
ival-sub: 1.0ms (3.6% of total)
ival-assert: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)

series17.0ms (0.7%)

Memory
29.0MiB live, 29.0MiB allocated
Counts
23 → 40
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(sin (* 1/180 (* angle (PI))))
(cos (* 1/180 (* angle (PI))))
Calls

9 calls:

TimeVariablePointExpression
2.0ms
b
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (- (pow b 2) (pow a 2)) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (PI) (/ angle 180)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (cos (* (PI) (/ angle 180))) (- (pow b 2) (pow a 2)))
2.0ms
b
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (- (pow b 2) (pow a 2)) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (PI) (/ angle 180)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (cos (* (PI) (/ angle 180))) (- (pow b 2) (pow a 2)))
2.0ms
a
@inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (- (pow b 2) (pow a 2)) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (PI) (/ angle 180)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (cos (* (PI) (/ angle 180))) (- (pow b 2) (pow a 2)))
2.0ms
a
@0
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (- (pow b 2) (pow a 2)) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (PI) (/ angle 180)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (cos (* (PI) (/ angle 180))) (- (pow b 2) (pow a 2)))
2.0ms
a
@-inf
((* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (- (pow b 2) (pow a 2)) (pow b 2) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (* (PI) (/ angle 180)) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (- (pow b 2) (pow a 2)) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180))) (cos (* (PI) (/ angle 180))) (- (pow b 2) (pow a 2)))

simplify2.0ms (0.1%)

Memory
2.7MiB live, 2.7MiB allocated
Algorithm
egg-herbie
Counts
40 → 23
Calls
Call 1
Inputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
(* 2 (pow b 2))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
(pow b 2)
(+ (* -1 (pow a 2)) (pow b 2))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(* -2 (pow a 2))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
(* -1 (pow a 2))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(- (pow b 2) (pow a 2))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))) (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2))))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* 2 (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))) (* (pow angle 2) (+ (* 2 (* (pow angle 2) (+ (* -1/881596846080000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/1469328076800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (+ (* -1/4407984230400000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2)))) (* -1/30855889612800000000 (* (pow (PI) 7) (- (pow b 2) (pow a 2))))))))) (* 2 (+ (* 1/22674816000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (+ (* 1/4534963200000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))) (* 1/2267481600000 (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))))))
(* angle (+ (* -1/17496000 (* (pow angle 2) (* (pow (PI) 3) (- (pow b 2) (pow a 2))))) (* 1/90 (* (PI) (- (pow b 2) (pow a 2))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* 1/11337408000000 (* (pow angle 2) (* (pow (PI) 5) (- (pow b 2) (pow a 2)))))))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/17496000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* (pow angle 2) (+ (* -1/15427944806400000000 (* (pow angle 2) (* (pow (PI) 7) (- (pow b 2) (pow a 2))))) (* 1/11337408000000 (* (pow (PI) 5) (- (pow b 2) (pow a 2))))))))))
(* 1/180 (* angle (PI)))
(* angle (+ (* -1/34992000 (* (pow angle 2) (pow (PI) 3))) (* 1/180 (PI))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* 1/22674816000000 (* (pow angle 2) (pow (PI) 5)))))))
(* angle (+ (* 1/180 (PI)) (* (pow angle 2) (+ (* -1/34992000 (pow (PI) 3)) (* (pow angle 2) (+ (* -1/30855889612800000000 (* (pow angle 2) (pow (PI) 7))) (* 1/22674816000000 (pow (PI) 5))))))))
1
(+ 1 (* -1/64800 (* (pow angle 2) (pow (PI) 2))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* 1/25194240000 (* (pow angle 2) (pow (PI) 4))))))
(+ 1 (* (pow angle 2) (+ (* -1/64800 (pow (PI) 2)) (* (pow angle 2) (+ (* -1/24488801280000000 (* (pow angle 2) (pow (PI) 6))) (* 1/25194240000 (pow (PI) 4)))))))
(* 2 (* (cos (* 1/180 (* angle (PI)))) (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2)))))
(* 2 (* (sin (* 1/180 (* angle (PI)))) (- (pow b 2) (pow a 2))))
(sin (* 1/180 (* angle (PI))))
(cos (* 1/180 (* angle (PI))))
Outputs
(* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(+ (* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))) (* 2 (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI))))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(+ (* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI)))))) (* 2 (* (pow b 2) (sin (* 1/180 (* angle (PI)))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* 2 (pow b 2))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
(+ (* -2 (pow a 2)) (* 2 (pow b 2)))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
(pow b 2)
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(+ (* -1 (pow a 2)) (pow b 2))
(pow.f64 b #s(literal 2 binary64))
(* -2 (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* (pow a 2) (+ (* -2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (* 2 (/ (* (pow b 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow a 2)))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* -2 (* (pow a 2) (sin (* 1/180 (* angle (PI))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* (pow a 2) (+ (* -2 (sin (* 1/180 (* angle (PI))))) (* 2 (/ (* (pow b 2) (sin (* 1/180 (* angle (PI))))) (pow a 2)))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(* -2 (pow a 2))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* (pow a 2) (- (* 2 (/ (pow b 2) (pow a 2))) 2))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* -1 (pow a 2))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(* (pow a 2) (- (/ (pow b 2) (pow a 2)) 1))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
(- (pow b 2) (pow a 2))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI)))))) (pow b 2))) (* 2 (* (cos (* 1/180 (* angle (PI)))) (sin (* 1/180 (* angle (PI))))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
(* (pow b 2) (+ (* -2 (/ (* (pow a 2) (sin (* 1/180 (* angle (PI))))) (pow b 2))) (* 2 (sin (* 1/180 (* angle (PI)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(* (pow b 2) (+ 2 (* -2 (/ (pow a 2) (pow b 2)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(* (pow b 2) (+ 1 (* -1 (/ (pow a 2) (pow b 2)))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* 1/90 (* angle (* (PI) (- (pow b 2) (pow a 2)))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(* angle (+ (* 1/90 (* (PI) (- (pow b 2) (pow a 2)))) (* 2 (* (pow angle 2) (+ (* -1/11664000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))) (* -1/34992000 (* (pow (PI) 3) (- (pow b 2) (pow a 2)))))))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))

rewrite2.0ms (0.1%)

Memory
3.1MiB live, 3.1MiB allocated
Counts
23 → 23
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))
(pow.f64 b #s(literal 2 binary64))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))))
#s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
#s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
(cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))

eval11.0ms (0.4%)

Memory
-26.0MiB live, 11.8MiB allocated
Compiler

Compiled 4 061 to 99 computations (97.6% saved)

prune32.0ms (1.2%)

Memory
-2.3MiB live, 42.4MiB allocated
Pruning

34 alts after pruning (18 fresh and 16 done)

PrunedKeptTotal
New52557
Fresh11314
Picked055
Done01111
Total533487
Accuracy
66.3%
Counts
87 → 34
Alt Table
Click to see full alt table
StatusAccuracyProgram
53.6%
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.0%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.8%
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
26.2%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
21.3%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.1%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
3.1%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
27.8%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.9%
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
52.3%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
34.2%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
52.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.9%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
7.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
7.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.5%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
27.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
27.4%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
36.1%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
2.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
28.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
23.8%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
24.0%
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
Compiler

Compiled 3 545 to 977 computations (72.4% saved)

regimes121.0ms (4.7%)

Memory
1.3MiB live, 158.4MiB allocated
Counts
36 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Outputs
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
Calls

10 calls:

15.0ms
a
14.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
14.0ms
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
14.0ms
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
11.0ms
(/.f64 angle #s(literal 180 binary64))
Results
AccuracySegmentsBranch
53.6%1a
57.2%3b
56.5%2angle
56.4%2(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
56.4%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
56.4%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
56.2%2(pow.f64 b #s(literal 2 binary64))
53.6%1(pow.f64 a #s(literal 2 binary64))
56.5%2(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
56.5%2(/.f64 angle #s(literal 180 binary64))
Compiler

Compiled 56 to 62 computations (-10.7% saved)

regimes87.0ms (3.4%)

Memory
9.2MiB live, 121.3MiB allocated
Counts
31 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls

8 calls:

15.0ms
b
13.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
12.0ms
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
9.0ms
(/.f64 angle #s(literal 180 binary64))
9.0ms
angle
Results
AccuracySegmentsBranch
55.4%2b
55.3%2(pow.f64 b #s(literal 2 binary64))
55.3%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
55.3%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
55.0%2(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
54.4%2angle
54.4%2(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
54.4%2(/.f64 angle #s(literal 180 binary64))
Compiler

Compiled 52 to 54 computations (-3.8% saved)

regimes9.0ms (0.4%)

Memory
17.9MiB live, 17.9MiB allocated
Counts
25 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
Calls

1 calls:

8.0ms
b
Results
AccuracySegmentsBranch
55.3%2b
Compiler

Compiled 1 to 3 computations (-200% saved)

regimes111.0ms (4.3%)

Memory
-33.2MiB live, 130.1MiB allocated
Counts
23 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls

10 calls:

24.0ms
b
17.0ms
(/.f64 angle #s(literal 180 binary64))
17.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
7.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
7.0ms
a
Results
AccuracySegmentsBranch
41.8%3angle
41.8%3(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
41.8%3(/.f64 angle #s(literal 180 binary64))
43.6%4(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
41.3%2(pow.f64 a #s(literal 2 binary64))
41.5%3a
45.7%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
45.7%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
42.9%2(pow.f64 b #s(literal 2 binary64))
43.3%3b
Compiler

Compiled 56 to 62 computations (-10.7% saved)

regimes30.0ms (1.2%)

Memory
1.2MiB live, 48.0MiB allocated
Counts
21 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls

4 calls:

10.0ms
b
6.0ms
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
6.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
6.0ms
(pow.f64 b #s(literal 2 binary64))
Results
AccuracySegmentsBranch
34.2%1b
36.2%2(pow.f64 b #s(literal 2 binary64))
41.6%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
41.6%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
Compiler

Compiled 20 to 23 computations (-15% saved)

regimes51.0ms (1.9%)

Memory
5.7MiB live, 82.5MiB allocated
Counts
13 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
Calls

10 calls:

7.0ms
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
7.0ms
(pow.f64 b #s(literal 2 binary64))
4.0ms
(/.f64 angle #s(literal 180 binary64))
4.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
4.0ms
angle
Results
AccuracySegmentsBranch
32.2%3b
31.0%2(pow.f64 b #s(literal 2 binary64))
32.9%3a
35.5%3angle
35.5%3(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
35.5%3(/.f64 angle #s(literal 180 binary64))
35.0%4(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
32.4%2(pow.f64 a #s(literal 2 binary64))
34.7%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
34.7%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
Compiler

Compiled 56 to 62 computations (-10.7% saved)

regimes34.0ms (1.3%)

Memory
21.7MiB live, 60.1MiB allocated
Counts
11 → 2
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
Calls

8 calls:

7.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
4.0ms
(/.f64 angle #s(literal 180 binary64))
4.0ms
angle
4.0ms
a
4.0ms
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Results
AccuracySegmentsBranch
28.0%1a
30.8%2(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
28.0%1(pow.f64 a #s(literal 2 binary64))
28.0%1angle
28.0%1(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
28.0%1(/.f64 angle #s(literal 180 binary64))
31.2%2(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
31.2%2(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
Compiler

Compiled 52 to 54 computations (-3.8% saved)

regimes42.0ms (1.6%)

Memory
-14.1MiB live, 68.1MiB allocated
Counts
10 → 1
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (PI.f64))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (/.f64 angle #s(literal 180 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))))
(*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
Calls

10 calls:

7.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
6.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
4.0ms
angle
4.0ms
(/.f64 angle #s(literal 180 binary64))
4.0ms
a
Results
AccuracySegmentsBranch
24.0%1(pow.f64 a #s(literal 2 binary64))
24.0%1a
24.0%1angle
24.0%1(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
24.0%1(/.f64 angle #s(literal 180 binary64))
24.0%1b
24.0%1(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
24.0%1(pow.f64 b #s(literal 2 binary64))
24.0%1(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
24.0%1(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
Compiler

Compiled 56 to 62 computations (-10.7% saved)

regimes13.0ms (0.5%)

Memory
-12.3MiB live, 27.1MiB allocated
Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Calls

10 calls:

2.0ms
angle
1.0ms
(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
1.0ms
(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
1.0ms
(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
1.0ms
(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
Results
AccuracySegmentsBranch
2.9%1(pow.f64 a #s(literal 2 binary64))
2.9%1a
2.9%1angle
2.9%1(*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))
2.9%1(-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))
2.9%1(pow.f64 b #s(literal 2 binary64))
2.9%1(*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))
2.9%1(/.f64 angle #s(literal 180 binary64))
2.9%1b
2.9%1(*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))
Compiler

Compiled 56 to 62 computations (-10.7% saved)

bsearch30.0ms (1.1%)

Memory
4.8MiB live, 43.5MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
27.0ms
4520.7342388927145
5007996320162001000.0
Samples
21.0ms160×0valid
Compiler

Compiled 694 to 400 computations (42.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 17.0ms
ival-sinu: 5.0ms (29.5% of total)
ival-cosu: 4.0ms (23.6% of total)
ival-pow2: 4.0ms (23.6% of total)
ival-mult: 2.0ms (11.8% of total)
ival-sub: 1.0ms (5.9% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch22.0ms (0.9%)

Memory
29.8MiB live, 29.8MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
20.0ms
2.1135458109882283e+149
1.3491889785889274e+154
Samples
15.0ms128×0valid
Compiler

Compiled 954 to 498 computations (47.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 12.0ms
ival-sinu: 3.0ms (26% of total)
ival-cosu: 3.0ms (26% of total)
ival-mult: 2.0ms (17.3% of total)
ival-pow2: 2.0ms (17.3% of total)
ival-sub: 1.0ms (8.7% of total)
ival-true: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)

bsearch6.0ms (0.2%)

Memory
-36.9MiB live, 5.9MiB allocated
Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
5.0ms
2.1135458109882283e+149
1.3491889785889274e+154
Samples
2.0ms16×0valid
Compiler

Compiled 778 to 434 computations (44.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.0ms
ival-sub: 0.0ms (0% of total)
ival-true: 0.0ms (0% of total)
ival-mult: 0.0ms (0% of total)
ival-sinu: 0.0ms (0% of total)
ival-cosu: 0.0ms (0% of total)
exact: 0.0ms (0% of total)
ival-assert: 0.0ms (0% of total)
ival-pow2: 0.0ms (0% of total)

bsearch0.0ms (0%)

Memory
0.7MiB live, 0.7MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6241175040953019e-221
2.5380308581341483e-199
Compiler

Compiled 26 to 19 computations (26.9% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-5.4435874821771626e+73
-8.698615118563493e+40
Compiler

Compiled 26 to 19 computations (26.9% saved)

bsearch0.0ms (0%)

Memory
0.6MiB live, 0.6MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-5.4435874821771626e+73
-8.698615118563493e+40
Compiler

Compiled 26 to 19 computations (26.9% saved)

bsearch0.0ms (0%)

Memory
0.8MiB live, 0.8MiB allocated
Algorithm
left-value
Steps
TimeLeftRight
0.0ms
-5.4435874821771626e+73
-8.698615118563493e+40
Compiler

Compiled 26 to 19 computations (26.9% saved)

simplify6.0ms (0.2%)

Memory
12.1MiB live, 12.1MiB allocated
Algorithm
egg-herbie
Calls
Call 1
Inputs
(if (<=.f64 (/.f64 angle #s(literal 180 binary64)) #s(literal 5000000000000000000 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))))
(if (<=.f64 b #s(literal 12999999999999999438322098794574906741241322790552194538119357436456535537607035931016983603249767945252974976541954879599487129611252739907155155400785920 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 b #s(literal 12000000000000000741083689728179300860774047506737883413558835600106129882515049101049668142894279387343668476782235654465533253946114566581028258018492416 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal 8139666055761541/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))
Outputs
(if (<=.f64 (/.f64 angle #s(literal 180 binary64)) #s(literal 5000000000000000000 binary64)) (*.f64 (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))))
(if (<=.f64 b #s(literal 12999999999999999438322098794574906741241322790552194538119357436456535537607035931016983603249767945252974976541954879599487129611252739907155155400785920 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) (*.f64 #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 b #s(literal 12000000000000000741083689728179300860774047506737883413558835600106129882515049101049668142894279387343668476782235654465533253946114566581028258018492416 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal 8139666055761541/406983302788077043095694079023514269845261128071039316430435657456301100941017582490321789603976702315852655675868728054558642679084433903830771243428395388555612645234009677640568743036609742720273743660637609984234054445646756670603264 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (*.f64 #s(literal 2 binary64) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 #s(approx (* 2 (- (pow b 2) (pow a 2))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64)))))))
(if (<=.f64 (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))) #s(literal -49999999999999997582409405901396098942598045401506677583603409881825017856 binary64)) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (-.f64 (pow.f64 b #s(literal 2 binary64)) (pow.f64 a #s(literal 2 binary64))))) #s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64))))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) #s(approx (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) #s(approx (- (pow b 2) (pow a 2)) (pow.f64 b #s(literal 2 binary64)))))
#s(approx (* (* (* 2 (- (pow b 2) (pow a 2))) (sin (* (PI) (/ angle 180)))) (cos (* (PI) (/ angle 180)))) (*.f64 (PI.f64) (/.f64 angle #s(literal 180 binary64))))

soundness3.0ms (0.1%)

Memory
5.4MiB live, 5.4MiB allocated
Stop Event
fuel
Compiler

Compiled 858 to 68 computations (92.1% saved)

preprocess49.0ms (1.9%)

Memory
12.3MiB live, 88.5MiB allocated
Compiler

Compiled 1 762 to 168 computations (90.5% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...